ZendPHP April 2025 Releases
Community changes
PHP version 8.4.6 changes
-
BCMath
- Fixed pointer subtraction for scale.
-
Core
- Fixed property hook backing value access in multi-level inheritance.
- Fixed accidentally inherited default value in overridden virtual properties.
- Fixed bug GH-17376: Broken JIT polymorphism for property hooks added to child class.
- Fixed bug GH-17913:
ReflectionFunction::isDeprecated()returns incorrect results for closures created from magic__call(). - Fixed bug GH-17941: Stack-use-after-return with lazy objects and hooks.
- Fixed bug GH-17988: Incorrect handling of hooked props without get hook in
get_object_vars(). - Fixed bug GH-17998: Skipped lazy object initialization on primed
SIMPLE_WRITEcache. - Fixed bug GH-17998: Assignment to backing value in set hook of lazy proxy calls hook again.
- Fixed bug GH-17961: use-after-free during
dl()'ed module class destruction. - Fixed bug GH-15367:
dl()of module with aliased class crashes in shutdown. - Fixed OSS-Fuzz #403308724.
- Fixed bug GH-13193 again: Significant performance degradation in
foreach.
-
DBA
- Fixed assertion violation when opening the same file with
dba_openmultiple times.
- Fixed assertion violation when opening the same file with
-
DOM
- Fixed bug GH-17991: Assertion failure
dom_attr_value_write. - Fix weird unpack behaviour in DOM.
- Fixed bug GH-18090: DOM: SVG attributes and tag names are being lowercased.
- Fix xinclude destruction of live attributes.
- Fixed bug GH-17991: Assertion failure
-
Fuzzer
- Fixed bug GH-18081: Memory leaks in error paths of fuzzer SAPI.
-
GD
- Fixed bug GH-17984: calls with arguments as array with references.
-
LDAP
- Fixed bug GH-18015: Error messages for
ldap_mod_replaceare confusing.
- Fixed bug GH-18015: Error messages for
-
Mbstring
- Fixed bug GH-17989:
mb_output_handlercrash with unsethttp_output_conv_mimetypes.
- Fixed bug GH-17989:
-
Opcache
- Fixed bug GH-15834: Segfault with hook "simple get" cache slot and minimal JIT.
- Fixed bug GH-17966: Symfony JIT 1205 assertion failure.
- Fixed bug GH-18037: SEGV
Zend/zend_execute.c. - Fixed bug GH-18050:
IN_ARRAYoptimization in DFA pass is broken. - Fixed bug GH-18113: stack-buffer-overflow
ext/opcache/jit/ir/ir_sccp.c. - Fixed bug GH-18112:
NULLaccess with preloading and INI option. - Fixed bug GH-18107: Opcache CFG jmp optimization with try-finally breaks the exception table.
-
PDO
- Fix memory leak when destroying
PDORow.
- Fix memory leak when destroying
-
PGSQL
- Fixed bug GH-18148:
pg_copy_from()regression with explicit\nterminator due to wrong offset check.
- Fixed bug GH-18148:
-
Standard
- Fix memory leaks in
array_any()/array_all().
- Fix memory leaks in
-
SOAP
- Fixed bug #66049: Typemap can break parsing in
parse_packet_soapleading to a segfault.
- Fixed bug #66049: Typemap can break parsing in
-
SPL
- Fixed bug GH-18018: RC1 data returned from
offsetGetcauses UAF inArrayObject.
- Fixed bug GH-18018: RC1 data returned from
-
Treewide
- Fixed bug GH-17736: Assertion failure
zend_reference_destroy().
- Fixed bug GH-17736: Assertion failure
-
Windows
- Fixed bug GH-17836:
zend_vm_gen.phpshouldn't break on Windows line endings.
- Fixed bug GH-17836:
PHP version 8.3.20 changes
-
Core
- Fixed bug GH-17961: use-after-free during
dl()'ed module class destruction. - Fixed bug GH-15367:
dl()of module with aliased class crashes in shutdown. - Fixed bug GH-13193 again: Significant performance degradation in
foreach.
- Fixed bug GH-17961: use-after-free during
-
DOM
- Fix weird unpack behaviour in DOM.
- Fix xinclude destruction of live attributes.
-
Embed
- Fixed bug GH-8533: Unable to link dynamic libphp on Mac.
-
Fuzzer
- Fixed bug GH-18081: Memory leaks in error paths of fuzzer SAPI.
-
GD
- Fixed bug GH-17984: calls with arguments as array with references.
-
Intl
- Fix
locale_composeandlocale_lookupto work with their array argument with values as references. - Fix
dateformat_formatwhen the time is an array of references. - Fix
UConverter::transcodewith substitutes as references.
- Fix
-
Mbstring
- Fixed bug GH-17989:
mb_output_handlercrash with unsethttp_output_conv_mimetypes.
- Fixed bug GH-17989:
-
Opcache
- Fixed bug GH-18112:
NULLaccess with preloading and INI option. - Fixed bug GH-18107: Opcache CFG jmp optimization with try-finally breaks the exception table.
- Fixed bug GH-18112:
-
PDO
- Fix memory leak when destroying
PDORow.
- Fix memory leak when destroying
-
SOAP
- Fixed bug #66049: Typemap can break parsing in
parse_packet_soapleading to a segfault.
- Fixed bug #66049: Typemap can break parsing in
-
SPL
- Fixed bug GH-18018: RC1 data returned from
offsetGetcauses UAF inArrayObject.
- Fixed bug GH-18018: RC1 data returned from
-
Treewide
- Fixed bug GH-17736: Assertion failure
zend_reference_destroy().
- Fixed bug GH-17736: Assertion failure
-
Windows
- Fixed bug GH-17836:
zend_vm_gen.phpshouldn't break on Windows line endings.
- Fixed bug GH-17836: