January 2025Community changesPHP version 8.4.3 changesBcMathFixed bug GH-17049: Correctly compare 0 and -0Fixed bug GH-17061: Number::round() does not remove trailing zerosFixed bug GH-17064: Correctly round rounding mode with zero edge caseFixed bug GH-17275: Fixed the calculation logic of dividend scaleCoreFixed bug OSS-Fuzz #382922236: Duplicate dynamic properties in hooked object iterator properties tableFixed unstable get_iterator pointer for hooked classes in shm on WindowsFixed bug GH-17106: ZEND_MATCH_ERROR misoptimizationFixed bug GH-17162: zend_array_try_init() with dtor can cause engine UAFFixed bug GH-17101: AST->string does not reproduce constructor property promotion correctlyFixed bug GH-17200: Incorrect dynamic prop offset in hooked prop iteratorFixed bug GH-17216: Trampoline crash on errorDBASkip test if inifile is disabledDOMFixed bug GH-17145: DOM memory leakFixed bug GH-17201: Dom\TokenList issues with interned string replaceFixed bug GH-17224: UAF in importNodeEmbedMake build command for program using embed portableFFIFixed bug #79075: FFI header parser chokes on commentsFix memory leak on ZEND_FFI_TYPE_CHAR conversion failureFixed bug GH-16013 and bug #80857: Big endian issuesFileinfoFixed bug GH-17039: PHP 8.4: Incorrect MIME content typeFPMFixed bug GH-13437: FPM: ERROR: scoreboard: failed to lock (already locked)Fixed bug GH-17112: Macro redefinitionsFixed bug GH-17208: bug64539-status-json-encoding.phpt fail on 32-bitsGDFixed bug GH-16255: Unexpected nan value in ext/gd/libgd/gd_filter.cPorted fix for libgd bug 276: Sometimes pixels are missing when storing images as BMPsGettextFixed bug GH-17202: Segmentation fault ext/gettext/gettext.c bindtextdomain()IconvFixed bug GH-17047: UAF on iconv filter failureLDAPFixed bug GH-17280: ldap_search() fails when $attributes array has holesLibXMLFixed bug GH-17223: Memory leak in libxml encoding handlingMBStringFixed bug GH-17112: Macro redefinitionsOpcacheopcache_get_configuration() properly reports jit_prof_thresholdFixed bug GH-17140: Assertion failure in JIT trace exit with ZEND_FETCH_DIM_FUNC_ARGFixed bug GH-17151: Incorrect RC inference of op1 of FETCH_OBJ and INIT_METHOD_CALLFixed bug GH-17246: GC during SCCP causes segfaultFixed bug GH-17257: UBSAN warning in ext/opcache/jit/zend_jit_vm_helpers.cPCNTLFix memory leak in cleanup code of pcntl_exec() when a non-stringable value is encountered past the first entryPgSqlFixed bug GH-17158: pg_fetch_result shows incorrect ArgumentCountError message when called with 1 argumentFixed further ArgumentCountError for calls with flexible number of argumentsPharFixed bug GH-17137: Segmentation fault ext/phar/phar.cSimpleXMLFixed bug GH-17040: SimpleXML's unset can break DOM objectsFixed bug GH-17153: SimpleXML crash when using autovivification on documentSocketsFixed bug GH-16276: socket_strerror overflow handling with INT_MINFixed overflow on SO_LINGER values setting, strengthening values check on SO_SNDTIMEO/SO_RCVTIMEO for socket_set_option()SPLFixed bug GH-17198: SplFixedArray assertion failure with get_object_varsFixed bug GH-17225: NULL deref in spl_directory.cStreamsFixed bug GH-17037: UAF in user filter when adding existing filter name due to incorrect error handlingFixed bug GH-16810: overflow on fopen HTTP wrapper timeout valueFixed bug GH-17067: glob:// wrapper doesn't cater to CWD for ZTS buildsWindowsHardened proc_open() against cmd.exe hijackingXMLFixed bug GH-1718: unreachable program point in zend_hashPHP version 8.3.16 changesCoreFixed bug GH-17106: ZEND_MATCH_ERROR misoptimizationFixed bug GH-17162: zend_array_try_init() with dtor can cause engine UAFFixed bug GH-17101: AST->string does not reproduce constructor property promotion correctlyFixed bug GH-17211: observer segfault on function loaded with dl()Fixed bug GH-17216: Trampoline crash on errorDateFixed bug GH-14709: DatePeriod::__construct() overflow on recurrencesDBASkip test if inifile is disabledDOMFixed bug GH-17224: UAF in importNodeEmbedMake build command for program using embed portableFFIFixed bug #79075: FFI header parser chokes on commentsFix memory leak on ZEND_FFI_TYPE_CHAR conversion failureFixed bug GH-16013 and bug #80857: Big endian issuesFilterFixed bug GH-16944: Fix filtering special IPv4 and IPv6 ranges, by using information from RFC 6890FPMFixed bug GH-13437: FPM: ERROR: scoreboard: failed to lock (already locked)Fixed bug GH-17112: Macro redefinitionsFixed bug GH-17208: bug64539-status-json-encoding.phpt fail on 32-bitsGDFixed bug GH-16255: Unexpected nan value in ext/gd/libgd/gd_filter.cPorted fix for libgd bug 276: Sometimes pixels are missing when storing images as BMPsGettextFixed bug GH-17202: Segmentation fault ext/gettext/gettext.c bindtextdomain()IconvFixed bug GH-17047: UAF on iconv filter failureLDAPFixed bug GH-17280: ldap_search() fails when $attributes array has holesLibXMLFixed bug GH-17223: Memory leak in libxml encoding handlingMBStringFixed bug GH-17112: Macro redefinitionsOpcacheopcache_get_configuration() properly reports jit_prof_thresholdFixed bug GH-17246: GC during SCCP causes segfaultPCNTLFix memory leak in cleanup code of pcntl_exec() when a non-stringable value is encountered past the first entryPgSqlFixed bug GH-17158: pg_fetch_result shows incorrect ArgumentCountError message when called with 1 argumentFixed further ArgumentCountError for calls with flexible number of argumentsPharFixed bug GH-17137: Segmentation fault ext/phar/phar.cSimpleXMLFixed bug GH-17040: SimpleXML's unset can break DOM objectsFixed bug GH-17153: SimpleXML crash when using autovivification on documentSocketsFixed bug GH-16276: socket_strerror overflow handling with INT_MINFixed overflow on SO_LINGER values setting, strengthening values check on SO_SNDTIMEO/SO_RCVTIMEO for socket_set_option()SPLFixed bug GH-17225: NULL deref in spl_directory.cStreamsFixed bug GH-17037: UAF in user filter when adding existing filter name due to incorrect error handlingFixed bug GH-16810: overflow on fopen HTTP wrapper timeout valueFixed bug GH-17067: glob:// wrapper doesn't cater to CWD for ZTS buildsWindowsHardened proc_open() against cmd.exe hijackingXMLFixed bug GH-1718: unreachable program point in zend_hash