PHP Release Notes
19 release notes curated from 1 source by the Releasebot Team. Last updated: Aug 28, 2026
- Aug 27, 2026
- Date parsed from source:Aug 27, 2026
- First seen by Releasebot:Aug 28, 2026
Version 8.5.10
PHP releases a broad maintenance update with security-minded bug fixes and crash, stack overflow, leak, and use-after-free repairs across Core, DOM, JIT, OpenSSL, mbstring, PDO, Reflection, Sessions, Streams, SQLite, and XSL.
Core
- Fixed bug GH-22782 (Const expr FCC crashes under preloading).
- Fixed bug GH-23088 (Stack overflow when comparing deeply nested arrays).
Date
- Fixed leak on double DatePeriod::__construct() call.
DOM
- Fixed bug GH-23116 (Stack overflow when normalizing a deeply nested DOMDocument).
- Fixed bug GH-23117 (Stack overflow when normalizing a deeply nested Dom\XMLDocument).
- Fixed bug GH-22825 (DOMElement::setAttribute() fails silently when the DTD declares a default value for the attribute).
- Fixed bug GH-23120 (Stack overflow when comparing deeply nested DOM nodes with DOMNode::isEqualNode()).
Exif
- Fixed exif_read_data() allocating a HEIF meta box larger than the file it came from.
Intl
- Fixed IntlListFormatter::__construct() leaving stale global error state after successful calls.
Opcache
- Fixed GH-22693 (DT_TEXTREL in JIT-generated TLS access on x86_64).
- Fixed bug GH-22763 (JIT fails to clear ZREG_TYPE_ONLY after setting reg).
- Fixed bug GH-22857 (Function JIT emits wrong code for FETCH_OBJ_FUNC_ARG on a property hook getter, losing register-held variables).
- Fixed bug GH-22916 (Preserve parent regs in zend_jit_deoptimizer_start()).
OpenSSL
- Fix missing error check on invalid alpn protocols.
MBString
- Fixed bug GH-22779 (mb_strrpos() returns the wrong position for a negative offset in a non-UTF-8 encoding).
- Fixed bug GH-21036 (mb_ereg_search_getregs() crashes after mb_eregi() invalidates the regex cache).
PCRE
- Fixed bug GH-21134 (Crash with \C + UTF-8). Using \C in UTF-8 patterns is now forbidden.
PDO_ODBC
- Fixed bug GH-23016 (NULL values in long columns come back as garbage binary strings).
PDO_PGSQL
- Fixed several lazy fetch (PDO::ATTR_PREFETCH => 0) defects: an infinite loop when cleaning up a fetch left in a COPY, a use-after-free when a statement with emulated or disabled prepares is destroyed, a connection left busy for the next fetch, and rows delivered from a result another statement took over.
Reflection
- Fixed bug GH-22905 (Reflection exception messages truncate on null bytes).
- Fixed ReflectionProperty::isLazy() and skipLazyInitialization() using the parent slot when a child class hooks an inherited property.
- Fixed segfault in ReflectionMethod::createFromMethodName() on an uninstantiable subclass.
Session
- Fix corruption in mod_mm.
- Fixed bug GH-23043 (broken session id code can cause zend_mm_heap corrupted).
SimpleXML
- Fixed integer element offsets that cannot resolve aliasing an existing element.
- Fixed segfault when comparing uninitialized SimpleXMLElement instances.
Sockets
- Fixed socket_set_option() validation error messages for UDP_SEGMENT and SO_LINGER options.
- Fixed various memory related issues in ext/sockets.
SQLite
- Fix leak when trying to close db if blob stream is still open.
Standard
- Fixed bug GH-23111 (Stack overflow in array_walk_recursive() with deeply nested arrays).
- Fixed bug GH-23113 (Stack overflow in array_replace_recursive() with deeply nested arrays).
- Fixed bug GH-23115 (Stack overflow in compact() with deeply nested arrays).
Streams
- Fixed bug GH-15836 (Use-after-free when a user stream filter accesses $this->stream during the close flush).
XSL
- Fixed use-after-free when a DOMDocument subclass __clone() retains the stylesheet copy made by XSLTProcessor::importStylesheet().
- Jul 30, 2026
- Date parsed from source:Jul 30, 2026
- First seen by Releasebot:Aug 2, 2026
Version 8.4.24
PHP ships security and stability fixes across BCMath, Calendar, Date, DBA, DOM, GD, Intl, ODBC, OpenSSL, PDO_ODBC, PGSQL, Phar and PHPDBG, including vulnerability fixes, overflow and crash repairs, and improved parsing behavior.
BCMath
- Fixed GHSA-x692-q9x7-8c3f (Out-of-bounds write in bccomp()). (CVE-2026-17544)
Calendar
- Fixed bug GH-22602 (gregoriantojd() and juliantojd() integer overflow with INT_MAX year).
Date
- Update timelib to 2022.17.
- Fixed bug GH-19803 (Parsing a string with a single white space does create an error).
- Fixed Unix timestamps in February of the year 0 are misparsed with @-notation.
- Fixed bug GH-11310 (__debugInfo does nothing on userland classes extending Date classes).
DBA
- Fixed OOB read on malformed length field in dba flatfile handler.
DOM
- Fixed bug GH-22570 (Stack overflow when serializing a deeply nested Dom\XMLDocument).
Exif
- Fixed bug GH-11020 (exif_read_data() emits a spurious "Illegal IFD size" warning when an IFD is not followed by a next-IFD offset).
GD
- Upgrade libgd. (CVE-2026-9672)
Hash
- Fixed bug GH-18173 (ext/hash relies on implementation-defined malloc alignment).
Intl
- Fixed Locale::lookup() and locale_lookup() to return NULL instead of the fallback locale when a language tag cannot be canonicalized.
- Fixed memory leaks when calling Collator::__construct() or Spoofchecker::__construct() twice.
- Fixed IntlChar methods leaving stale global error state after successful calls.
ODBC
- Fixed bug GH-22668 (Heap buffer over-read when a column value exceeds the driver-reported display size).
OpenSSL
- Fixed timeout for supplemental read at end of a blocking stream in SSL stream wrapper.
PDO_ODBC
- Fixed bug GH-20726 (Crash with ODBC connection pooling when the DSN carries no credentials).
- Fixed bug GH-22667 (Heap buffer over-read when a column value exceeds the driver-reported display size).
- Fixed bug GH-22666 (Heap buffer overflow when an output parameter value is longer than the declared maxlen).
PGSQL
- Fixed GHSA-7qpv-r5mr-78m4 (SQL injection via E'...' backslash breakout). (CVE-2026-17543)
Phar
- Fixed inconsistent handling of the magic ".phar" directory. Paths such as "/.phar" remain protected, while non-magic paths that merely start with ".phar" are handled consistently across file and directory creation, copying, ArrayAccess, stream lookup, directory iteration and extraction.
- Fixed GHSA-vc5h-9ppw-p5f3 (Crash via recursive symlinks). (CVE-2026-7260)
PHPDBG
- Fixed bug GH-17387 (Trivial crash in phpdbg lexer).
All of your release notes in one feed
Join Releasebot and get updates from PHP and hundreds of other software products.
- Jul 30, 2026
- Date parsed from source:Jul 30, 2026
- First seen by Releasebot:Jul 31, 2026
- Modified by Releasebot:Sep 3, 2026
Version 8.5.9
PHP fixes a broad set of security issues, crashes, memory bugs, and edge cases across core, database, date, DOM, Intl, opcache, Phar, Reflection, SPL, URI, Zip, and more, delivering a more stable and secure release.
Core
- Fixed bug GH-22290 (AST pretty printing does not correctly handle strings containing NUL).
- Fixed bug GH-22206 (missing return in global register detection).
- Lock unmodified readonly properties for modification after clone-with.
BCMath
- Fixed GHSA-x692-q9x7-8c3f (Out-of-bounds write in bccomp()). (CVE-2026-17544)
Calendar
- Fixed bug GH-22602 (gregoriantojd() and juliantojd() integer overflow with INT_MAX year).
Date
- Update timelib to 2022.17.
- Fixed bug GH-19803 (Parsing a string with a single white space does create an error).
- Fixed Unix timestamps in February of the year 0 are misparsed with @-notation.
- Fixed bug GH-11310 (__debugInfo does nothing on userland classes extending Date classes).
DBA
- Fixed OOB read on malformed length field in dba flatfile handler.
DOM
- Fixed bug GH-22570 (Stack overflow when serializing a deeply nested Dom\XMLDocument).
- Fixed getElementsByClassName() item() returning the wrong element on random access.
Exif
- Fixed bug GH-11020 (exif_read_data() emits a spurious "Illegal IFD size" warning when an IFD is not followed by a next-IFD offset).
GD
- Upgrade libgd. (CVE-2026-9672)
Hash
- Fixed bug GH-18173 (ext/hash relies on implementation-defined malloc alignment).
ODBC
- Fixed bug GH-22668 (Heap buffer over-read when a column value exceeds the driver-reported display size).
Opcache
- Fixed bug GH-22158 (Tracing JIT dispatches the observer begin handler through the wrong run_time_cache slot on megamorphic calls).
- Fixed bug GH-22443 (Tracing JIT SIGSEGV on megamorphic dynamic calls from an undereferenced run_time_cache map_ptr offset).
- Fixed bug GH-21770 (Infinite recursion in property hook getter in opcache preloaded trait).
OpenSSL
- Fixed timeout for supplemental read at end of a blocking stream in SSL stream wrapper.
Intl
- Fixed Locale::lookup() and locale_lookup() to return NULL instead of the fallback locale when a language tag cannot be canonicalized.
- Fixed memory leaks when calling Collator::__construct() or Spoofchecker::__construct() twice.
- Fixed memory leak when calling IntlListFormatter::__construct() twice.
- Fixed IntlChar methods leaving stale global error state after successful calls.
PDO_ODBC
- Fixed bug GH-20726 (Crash with ODBC connection pooling when the DSN carries no credentials).
- Fixed bug GH-22667 (Heap buffer over-read when a column value exceeds the driver-reported display size).
- Fixed bug GH-22666 (Heap buffer overflow when an output parameter value is longer than the declared maxlen).
- Fixed bug GH-22665 (Out-of-bounds write when the ODBC driver reports a diagnostic message length beyond the error buffer).
PGSQL
- Fixed GHSA-7qpv-r5mr-78m4 (SQL injection via E'...' backslash breakout). (CVE-2026-17543)
Phar
- Fixed inconsistent handling of the magic ".phar" directory. Paths such as "/.phar" remain protected, while non-magic paths that merely start with ".phar" are handled consistently across file and directory creation, copying, ArrayAccess, stream lookup, directory iteration and extraction.
- Fixed GHSA-vc5h-9ppw-p5f3 (Crash via recursive symlinks). (CVE-2026-7260)
PHPDBG
- Fixed bug GH-17387 (Trivial crash in phpdbg lexer).
- Fixed fleaked lowercased lookup keys in phpdbg_resolve_opline_break.
- Fixed off-by-one in phpdbg_safe_class_lookup() causing class lookups to always fail during phpdbg's signal-safe interruption path.
Reflection
- Fixed bug GH-22324 (Ignore leading namespace separator in ReflectionParameter::__construct()).
- Fixed bug GH-22441 (ReflectionClass::hasProperty() and getProperty() ignore dynamic properties shadowing a private parent property).
- Fixed bug GH-22658 (ReflectionConstant::__toString() with a string value with null bytes truncates output).
- Fixed bug GH-22683 (Reflection(Class)Constant::__toString() should not warn on NAN conversions).
- Fixed bug GH-22681 (Reflection*::__toString() truncates on null bytes).
Session
- Fixed bug GH-21314 (Different session garbage collector behavior between PHP 8.3 and PHP 8.5).
SPL
- Fix class_parents for classes with leading slash in non-autoload mode.
- Ignore leading back-slash in class_parents(), class_implements(), and class_uses().
- Fixed bug GH-16217 (SplFileObject::fputcsv() on an uninitialized object segfaults).
Standard
- Fixed bug GH-22395 (base_convert() outputs at most 64 characters).
- Fixed bug GH-22678 (Use-after-free in array_multisort() when the comparator mutates the array being sorted).
URI
- Fixed behavior of Uri\WhatWg\Url wither methods with regards to empty opaque hosts.
- Fixed bug GH-22628 (Percent-encoding of caret in WHATWG URL paths is not performed).
- Fixed bug GH-22629 (WHATWG Validation error incorrect with empty host and non-empty userinfo).
Zip
- Fixed bug GH-22649 (ZipArchive::setCommentName() and setCommentIndex() could crash after overwriting an entry and resetting its inherited unchanged comment).
- Fixed bug GH-21705 (ZipArchive::getFromIndex() ignores ZipArchive::FL_UNCHANGED for deleted entries).
- Jul 3, 2026
- Date parsed from source:Jul 3, 2026
- First seen by Releasebot:Aug 2, 2026
Version 8.4.23
PHP fixes a broad set of core, extension, and security issues, improving stability, correctness, and memory safety across Date, DOM, Intl, OpenSSL, Opcache, Phar, and Standard features.
Core
- Fixed bug GH-22280 (Incorrect compile error for goto to label preceding try/finally block).
BCMath
- Fixed issues with oversized allocations and signed overflow in bcround() and BcMath\Number::round().
Date
- Fix incorrect recurrence check of DatePeriod::createFromISO8601String().
DOM
- Fix GH-22219 (Dom\XMLDocument::schemaValidate fails to resolve xs:QName with prefix from imported schema).
Exif
- Read correct value for single and double tags.
GD
- Fixed bug GH-22121 (Double free in gdImageSetStyle() after overflow-triggered early return).
Intl
- Fix incorrect argument positions for uninitialized calendar arguments in IntlCalendar::equals(), ::before(), ::after(), and ::isEquivalentTo(), and for invalid start/end arguments in transliterator_transliterate().
- Fixed IntlTimeZone::getDisplayName() to synchronize object error state for invalid display types.
- Fixed Spoofchecker restriction-level APIs to only be exposed with ICU 53 and later.
mysqli
- Fix stmt->query leak in mysqli_execute_query() validation errors.
Opcache
- Fixed bug GH-20469 (Unsafe inheritance cache replay with reentrant autoloading).
- Fixed tracing JIT crash when a VM interrupt is handled during an observed user function call.
OpenSSL
- Fix a bunch of memory leaks and crashes on edge cases.
PDO_Firebird
- Fixed GHSA-w476-322c-wpvm (SQL injection via NUL bytes in quoted strings). (CVE-2025-14179)
Phar
- Restore is_link handler in phar_intercept_functions_shutdown.
- Fixed bug GH-21797 (phar: NULL dereference in Phar::webPhar() when SCRIPT_NAME is absent from SAPI environment).
- Fix memory leak in Phar::offsetGet().
Random
- Fixed bug GH-21731 (Random\Engine\Xoshiro256StarStar::__unserialize() accepts all-zero state).
SOAP
- Fixed bug GH-21314 (Different session garbage collector behavior between PHP 8.3 and PHP 8.5).
SPL
- Fix class_parents for classes with leading slash in non-autoload mode.
- Ignore leading back-slash in class_parents(), class_implements(), and class_uses().
Standard
- Fixed bug GH-22360 (convert.base64-encode corruption on incremental flush).
- Fixed bug GH-22395 (base_convert() outputs at most 64 characters).
- Fixed bug GH-22678 (Use-after-free in array_multisort() when the comparator mutates the array being sorted).
- Jul 2, 2026
- Date parsed from source:Jul 2, 2026
- First seen by Releasebot:Jul 4, 2026
- Modified by Releasebot:Aug 7, 2026
Version 8.5.8
PHP ships a maintenance release packed with stability and security fixes across Core, OpenSSL, SOAP, Opcache, GD, Intl, Phar, Sqlite, Zip and Zlib. It improves error handling, prevents crashes and memory leaks, and patches a memory corruption issue in openssl_encrypt.
Core
- Fixed bug GH-22280 (Incorrect compile error for goto to label preceding try/finally block).
- Fixed bug GH-22112 (Assertion when error handler throws during NaN to bool/string coercion).
BCMath
- Fixed issues with oversized allocations and signed overflow in bcround() and BcMath\Number::round().
Date
- Fix incorrect recurrence check of DatePeriod::createFromISO8601String().
Exif
- Read correct value for single and double tags.
GD
- Fixed bug GH-22121 (Double free in gdImageSetStyle() after overflow-triggered early return).
Intl
- Fix incorrect argument positions for invalid start/end arguments in transliterator_transliterate().
- Fixed IntlTimeZone::getDisplayName() to synchronize object error state for invalid display types.
Lexbor
- Merge patch c3a6847.
Opcache
- Fixed bug GH-22265 (Another tailcall vm_interrupt bug).
- Fixed bug GH-20469 (Unsafe inheritance cache replay with reentrant autoloading).
- Fixed bug GH-21972 (Corrupted variable type when a typed by-value return contains a reference wrapper).
OpenSSL
- Fixed bug GH-22187 (Memory corruption (zend_mm_heap corrupted) in openssl_encrypt with AES-WRAP-PAD). (CVE-2026-14355)
Phar
- Fixed a bypass of the magic ".phar" directory protection in Phar::addEmptyDir() for paths starting with "/.phar", while allowing non-magic directory names that merely share the ".phar" prefix.
Reflection
- Preserve class-name case in ReflectionClass::getProperty() error messages and autoloading.
SOAP
- Fixed bug GH-22218 (SoapServer::handle() crash on $_SERVER not being an array).
- Fixed bug GH-22285 (Soap server requires the raw input to be passed to $server->handle).
Sqlite
- Fix error checks for column retrieval.
URI
- Add LEXBOR_STATIC to CFLAGS_URI on Windows so ext/uri does not see LXB_API as __declspec(dllimport) when linked statically into PHP.
- Clean error logs before each Uri\WhatWg\Url wither call so that errors from previous wither calls are not returned the next time a UrlValidationError is thrown.
Zip
- Fixed error-related memory leaks.
Zlib
- Fixed memory leak if deflate initialization fails and there is a dict.
- Fixed memory leak in inflate_add().
Similar to PHP with recent updates:
- Perplexity release notes30 release notes · Latest Aug 24, 2026
- Slack release notes242 release notes · Latest Sep 1, 2026
- Canva release notes41 release notes · Latest Jun 24, 2026
- Shopify release notes596 release notes · Latest Sep 4, 2026
- Notion release notes179 release notes · Latest Sep 2, 2026
- Postman release notes299 release notes · Latest Sep 2, 2026
- Jun 4, 2026
- Date parsed from source:Jun 4, 2026
- First seen by Releasebot:Aug 2, 2026
Version 8.4.22
PHP fixes bugs across core, Intl, MySQLnd, Opcache, OpenSSL, SPL, and Standard, improving date handling, error messages, JIT stability, OpenSSL 4.0 compatibility, memory safety, and version parsing.
Date
- Fixed bug GH-18422 (int overflow in php_date_llabs).
Intl
- Fix incorrect argument positions in out-of-bounds errors for IntlCalendar::set(), IntlCalendar::setDate(), IntlCalendar::setDateTime(), and IntlGregorianCalendar date/time construction.
- Expose Spoofchecker restriction-level APIs on all supported ICU versions.
- Fix SpoofChecker::setAllowedChars() and IntlDateFormatter::__construct() to report PHP constant names instead of ICU constant names in user-visible error messages.
MySQLnd
- Fix persistent free of non-persistent connect_attr key (David Carlier).
Opcache
- Fixed tracing JIT crash when a VM interrupt is handled during an observed user function call.
- Fixed bug GH-22004 (Assertion failure at ext/opcache/jit/zend_jit_trace.c).
OpenSSL
- Fix compatibility issues with OpenSSL 4.0.
SPL
- Fix SplFixedArray::setSize leak when destructor grows during clear.
- Fixed bug GH-21933 (use after free of self-freeing MultipleIterator children).
Standard
- Fixed bug GH-21689 (version_compare() incorrectly handles versions ending with a dot).
- Fixed ip2long leading zeros handling inconsistency on AIX.
- Jun 4, 2026
- Date parsed from source:Jun 4, 2026
- First seen by Releasebot:Jun 4, 2026
Version 8.5.7
PHP fixes several bugs and security issues across CLI, Date, DOM, Opcache, OpenSSL, Standard, and URI, including crash, overflow, and CVE-related fixes plus better OpenSSL 4.0 compatibility.
CLI
- Fixed bug GH-21901 (Stale getopt() optional value).
Date
- Fixed bug GH-18422 (int overflow in php_date_llabs).
DOM
- Fixed bug GH-22077 (UAF in custom XPath function).
Opcache
- Fixed tracing JIT crash when a VM interrupt is handled during an observed user function call.
- Fixed bug GH-21746 (Segfault with tracing JIT).
- Fixed bug GH-22004 (Assertion failure at ext/opcache/jit/zend_jit_trace.c).
- Fixed tailcall VM crash when a VM interrupt is handled from a VM helper.
OpenSSL
- Fix compatibility issues with OpenSSL 4.0.
Standard
- Fixed bug GH-21689 (version_compare() incorrectly handles versions ending with a dot).
URI
- Fixed CVE-2026-44927 (In uriparser before 1.0.2, there is pointer difference truncation to int in various places). (CVE-2026-44927)
- Fixed CVE-2026-44928 (In uriparser before 1.0.2, the function family EqualsUri can misclassify two unequal URIs as equal). (CVE-2026-44928)
- May 7, 2026
- Date parsed from source:May 7, 2026
- First seen by Releasebot:May 9, 2026
- Modified by Releasebot:Aug 7, 2026
Version 8.5.6
PHP fixes a wide set of security issues, crashes, memory leaks, and JIT and runtime bugs across Core, DOM, FPM, MBString, SOAP, Streams, and more, while also adding Windows support for brotli and zstd in Curl and upgrading Lexbor.
Core
- Fixed bug GH-19983 (GC assertion failure with fibers, generators and destructors).
- Fixed ZEND_API mismatch on zend_ce_closure forward decl for Windows+Clang.
- Fixed bug GH-21504 (Incorrect RC-handling for ZEND_EXT_STMT op1).
- Fixed bug GH-21478 (Forward property operations to real instance for initialized lazy proxies).
- Fixed bug GH-21605 (Missing addref for Countable::count()).
- Fixed bug GH-21699 (Assertion failure in shutdown_executor when resolving self::/parent::/static:: callables if the error handler throws).
- Fixed bug GH-21603 (Missing addref for __unset).
- Fixed bug GH-21760 (Trait with class constant name conflict against enum case causes SEGV).
CLI
- Fixed bug GH-21754 (
--rfcommand line option with a method triggers ext/reflection deprecation warnings).
Curl
- Add support for brotli and zstd on Windows.
DOM
- Fixed GHSA-4jhr-8w89-j733 and GH-21566 (Dom\XMLDocument::C14N() emits duplicate xmlns declarations after setAttributeNS()). (CVE-2026-7263)
FPM
- Fixed GHSA-7qg2-v9fj-4mwv (XSS within status endpoint). (CVE-2026-6735)
Iconv
- Fixed bug GH-17399 (iconv memory leak on bailout).
Lexbor
- Upgrade to lexbor v2.7.0.
MBString
- Fixed GHSA-wm6j-2649-pv75 (Null pointer dereference in php_mb_check_encoding() via mb_ereg_search_init()). (CVE-2026-7259)
- Fixed GHSA-74r9-qxhc-fx53 (Out-of-bounds access in mbfl_name2encoding_ex()). (CVE-2026-6104)
Opcache
- Fixed bug GH-21158 (JIT: Assertion jit->ra[var].flags & (1<<0) failed in zend_jit_use_reg).
- Fixed bug GH-21593 (Borked function JIT JMPNZ smart branch).
- Fixed bug GH-21460 (COND optimization regression).
- Fixed bug GH-21395 (uaf in jit).
OpenSSL
- Fixed bug GH-18986 (OpenSSL backend: incorrect RAND_{load,write}_file() return value check).
PDO_Firebird
- Fixed GHSA-w476-322c-wpvm (SQL injection via NUL bytes in quoted strings). (CVE-2025-14179)
PDO_PGSQL
- Fixed bug GH-21683 (pdo_pgsql throws with ATTR_PREFETCH=0 on empty result set).
Phar
- Restore is_link handler in phar_intercept_functions_shutdown.
- Fixed bug GH-21797 (phar: NULL dereference in Phar::webPhar() when SCRIPT_NAME is absent from SAPI environment).
- Fix memory leak in Phar::offsetGet().
- Fix memory leak in phar_add_file().
- Fixed bug GH-21799 (phar: propagate phar_stream_flush return value from phar_stream_close).
Random
- Fixed bug GH-21731 (Random\Engine\Xoshiro256StarStar::__unserialize() accepts all-zero state).
Session
- Fixed memory leak when session GC callback return a refcounted value.
SOAP
- Fixed GHSA-85c2-q967-79q5 (Stale SOAP_GLOBAL(ref_map) pointer with Apache Map). (CVE-2026-6722)
- Fixed GHSA-m33r-qmcv-p97q (Use-after-free after header parsing failure with SOAP_PERSISTENCE_SESSION). (CVE-2026-7261)
- Fixed GHSA-hmxp-6pc4-f3vv (Broken Apache map value NULL check). (CVE-2026-7262)
SPL
- Fixed bug GH-21499 (RecursiveArrayIterator getChildren UAF after parent free).
- Fix concurrent iteration and deletion issues in SplObjectStorage.
Sqlite3
- Fixed wrong free list comparator pointer type.
Standard
- Fixed bug GHSA-96wq-48vp-hh57 (Signed integer overflow of char array offset). (CVE-2026-7568)
- Fixed bug GHSA-m8rr-4c36-8gq4 (Consistently pass unsigned char to ctype.h functions). (CVE-2026-7258)
Streams
- Fixed bug GH-21468 (Segfault in file_get_contents w/ a https URL and a proxy set). (CVE-2026-12184)
URI
- Fixed CVE-2026-42371 (uriparser before 1.0.1 has numeric truncation in text range comparison). (CVE-2026-42371)
- Apr 9, 2026
- Date parsed from source:Apr 9, 2026
- First seen by Releasebot:Apr 20, 2026
- Modified by Releasebot:Aug 7, 2026
Version 8.5.5
PHP releases a maintenance update with broad bug fixes across Core, Opcache, DOM, OpenSSL, PDO, Phar, SOAP, SPL, and more. It improves JIT stability, closes a PDO_Firebird SQL injection issue, and fixes several memory and parsing problems.
Core
- Fixed bug GH-20672 (Incorrect property_info sizing for locally shadowed trait properties).
- Fixed bugs GH-20875, GH-20873, GH-20854 (Propagate IN_GET guard in get_property_ptr_ptr for lazy proxies).
Bz2
- Fix truncation of total output size causing erroneous errors.
DOM
- Fixed bug GH-21486 (Dom\HTMLDocument parser mangles xml:space and xml:lang attributes).
FFI
- Fixed resource leak in FFI::cdef() onsymbol resolution failure.
GD
- Fixed bug GH-21431 (phpinfo() to display libJPEG 10.0 support).
Opcache
- Fixed bug GH-21052 (Preloaded constant erroneously propagated to file-cached script).
- Fixed bug GH-20838 (JIT compiler produces wrong arithmetic results).
- Fixed bug GH-21267 (JIT tracing: infinite loop on FETCH_OBJ_R with IS_UNDEF property in polymorphic context).
- Fixed bug GH-21395 (uaf in jit).
OpenSSL
- Fixed bug GH-21083 (Skip private_key_bits validation for EC/curve-based keys).
- Fix missing error propagation for BIO_printf() calls.
PDO_Firebird
- Fixed GHSA-w476-322c-wpvm (SQL injection via NUL bytes in quoted strings). (CVE-2025-14179)
PDO_PGSQL
- Fixed bug GH-21683 (pdo_pgsql throws with ATTR_PREFETCH=0 on empty result set).
Phar
- Fixed bug GH-21333 (use after free when unlinking entries during iteration of a compressed phar).
SNMP
- Fixed bug GH-21336 (SNMP::setSecurity() undefined behavior with NULL arguments).
SOAP
- Fixed Set-Cookie parsing bug wrong offset while scanning attributes.
SPL
- Fixed bug GH-21454 (missing write lock validation in SplHeap).
Standard
- Fixed bug #74357 (lchown fails to change ownership of symlink with ZTS) (Jakub Zelenka)
- Fixed bug GH-20843 (var_dump() crash with nested objects) (David Carlier)
- Mar 12, 2026
- Date parsed from source:Mar 12, 2026
- First seen by Releasebot:Mar 20, 2026
- Modified by Releasebot:Aug 7, 2026
Version 8.5.4
PHP fixes a broad set of crash, type, build, and memory issues across Core, Date, DOM, LDAP, MBString, Opcache, OpenSSL, Curl, and Windows. The release improves stability for JIT, lazy objects, timezone handling, and edge cases in several extensions.
Core
- Fixed bug GH-21029 (zend_mm_heap corrupted on Aarch64, LTO builds).
- Fixed bug GH-21059 (Segfault when preloading constant AST closure).
- Fixed bug GH-21072 (Crash on (unset) cast in constant expression).
- Fix deprecation now showing when accessing null key of an array with JIT.
- Fixed bug GH-20657 (Assertion failure in zend_lazy_object_get_info triggered by setRawValueWithoutLazyInitialization() and newLazyGhost()).
- Fixed bug GH-20504 (Assertion failure in zend_get_property_guard when accessing properties on Reflection LazyProxy via isset()).
- Fixed bug OSS-Fuzz #478009707 (Borked assign-op/inc/dec on untyped hooked property backing value).
- Fixed bug GH-21215 (Build fails with -std=).
- Fixed bug GH-13674 (Build system installs libtool wrappers when using slibtool).
Curl
- Don't truncate length.
Date
- Fixed bug GH-20936 (DatePeriod::__set_state() cannot handle null start).
- Fix timezone offset with seconds losing precision.
DOM
- Fixed bug GH-21077 (Accessing Dom\Node::baseURI can throw TypeError).
- Fixed bug GH-21097 (Accessing Dom\Node properties can can throw TypeError).
LDAP
- Fixed bug GH-21262 (ldap_modify() too strict controls argument validation makes it impossible to unset attribute).
MBString
- Fixed bug GH-21223; mb_guess_encoding no longer crashes when passed huge list of candidate encodings (with 200,000+ entries).
Opcache
- Fixed bug GH-20718 ("Insufficient shared memory" when using JIT on Solaris).
- Fixed bug GH-21227 (Borked SCCP of array containing partial object).
OpenSSL
- Fix a bunch of memory leaks and crashes on edge cases.
Windows
- Fixed compilation with clang (missing intrin.h include).
- Feb 12, 2026
- Date parsed from source:Feb 12, 2026
- First seen by Releasebot:Feb 14, 2026
Version 8.5.3
This release ships a broad set of bug fixes across core components including DOM MbString Opcache OpenSSL Phar PGSQL Readline SPL and Standard. It focuses on stability memory safety and compatibility, addressing crashes leaks and edge case bugs.
Core
- Fixed bug GH-20806 (preserve_none feature compatiblity with LTO).
- Fixed bug GH-20767 (build failure with musttail/preserve_none feature on macOs).
- Fixed bug GH-20837 (NULL dereference when calling ob_start() in shutdown function triggered by bailout in php_output_lock_error()).
- Fix OSS-Fuzz #471533782 (Infinite loop in GC destructor fiber).
- Fix OSS-Fuzz #472563272 (Borked block_pass JMP[N]Z optimization).
- Fixed bug GH-20914 (Internal enums can be cloned and compared).
- Fix OSS-Fuzz #474613951 (Leaked parent property default value).
- Fixed bug GH-20895 (ReflectionProperty does not return the PHPDoc of a property if it contains an attribute with a Closure).
- Fixed bug GH-20766 (Use-after-free in FE_FREE with GC interaction).
- Fix OSS-Fuzz #471486164 (Broken by-ref assignment to uninitialized hooked backing value).
- Fix OSS-Fuzz #438780145 (Nested finally with repeated return type check may uaf).
- Fixed bug GH-20905 (Lazy proxy bailing __clone assertion).
- Fixed bug GH-20479 (Hooked object properties overflow).
Date
- Update timelib to 2022.16.
DOM
- Fixed GH-21041 (Dom\HTMLDocument corrupts closing tags within scripts).
MbString
- Fixed bug GH-20833 (mb_str_pad() divide by zero if padding string is invalid in the encoding).
- Fixed bug GH-20836 (Stack overflow in mb_convert_variables with recursive array references).
Opcache
- Fixed bug GH-20818 (Segfault in Tracing JIT with object reference).
OpenSSL
- Fix memory leaks when sk_X509_new_null() fails.
- Fix crash when in openssl_x509_parse() when i2s_ASN1_INTEGER() fails.
- Fix crash in openssl_x509_parse() when X509_NAME_oneline() fails.
Phar
- Fixed bug GH-20882 (buildFromIterator breaks with missing base directory).
PGSQL
- Fixed INSERT/UPDATE queries building with PQescapeIdentifier() and possible UB.
Readline
- Fixed bug GH-18139 (Memory leak when overriding some settings via readline_info()).
SPL
- Fixed bug GH-20856 (heap-use-after-free in SplDoublyLinkedList iterator when modifying during iteration).
Standard
- Fixed bug #74357 (lchown fails to change ownership of symlink with ZTS) (Jakub Zelenka)
- Fixed bug GH-20843 (var_dump() crash with nested objects) (David Carlier)
- Jan 15, 2026
- Date parsed from source:Jan 15, 2026
- First seen by Releasebot:Jan 16, 2026
- Modified by Releasebot:Aug 2, 2026
Version 8.5.2
PHP fixes a broad set of crashes, memory issues, and parsing bugs across Core, DOM, EXIF, Intl, LDAP, Lexbor, Mbstring, PCNTL, Phar, PDO_ODBC, PGSQL, SOAP, and Standard, including a SQL injection fix and several stability improvements.
Core
- Fix OSS-Fuzz #465488618 (Wrong assumptions when dumping function signature with dynamic class const lookup default argument).
- Fixed bug GH-20695 (Assertion failure in normalize_value() when parsing malformed INI input via parse_ini_string()).
- Fixed bug GH-20714 (Uncatchable exception thrown in generator).
- Fixed bug GH-20352 (UAF in php_output_handler_free via re-entrant ob_start() during error deactivation).
- Fixed bug GH-20745 ("Casting out of range floats to int" applies to strings).
DOM
- Fixed bug GH-20722 (Null pointer dereference in DOM namespace node cloning via clone on malformed objects).
- Fixed bug GH-20444 (Dom\XMLDocument::C14N() seems broken compared to DOMDocument::C14N()).
EXIF
- Fixed bug GH-20631 (Integer underflow in exif HEIF parsing when pos.size < 2).
Intl
- Fix leak in umsg_format_helper().
LDAP
- Fixed bug GH-18529 (ldap_set_options memory leak).
Lexbor
- Fixed bug GH-20668 (\Uri\WhatWg\Url::withHost() crashes (SEGV) for URLs using the file: scheme).
Mbstring
- Fixed bug GH-20674 (mb_decode_mimeheader does not handle separator).
PCNTL
- Fixed bug with pcntl_getcpuaffinity() on solaris regarding invalid process ids handling.
Phar
- Fixed bug GH-20732 (Phar::LoadPhar undefined behavior when reading fails).
- Fix SplFileInfo::openFile() in write mode.
- Fixed bug #74154 (Phar extractTo creates empty files).
PDO_ODBC
- Fixed bug GH-20726 (Crash with ODBC connection pooling when the DSN carries no credentials).
- Fixed bug GH-22667 (Heap buffer over-read when a column value exceeds the driver-reported display size).
PGSQL
- Fixed bug GHSA-7qpv-r5mr-78m4 (SQL injection via E'...' backslash breakout). (CVE-2026-17543)
SOAP
- Fixed bug GH-22218 (SoapServer::handle() crash on $_SERVER not being an array).
- Fixed bug GH-22285 (Soap server requires the raw input to be passed to $server->handle).
Standard
- Fixed bug GH-22395 (base_convert() outputs at most 64 characters).
- Fixed bug GH-22678 (Use-after-free in array_multisort() when the comparator mutates the array being sorted).
- Dec 18, 2025
- Date parsed from source:Dec 18, 2025
- First seen by Releasebot:Dec 20, 2025
- Modified by Releasebot:Jul 4, 2026
Version 8.5.1
PHP releases Core updates with synced boost.context files and a wide range of bug fixes across opcache, JIT, CGI, arrays, properties, and error handling, improving stability and compatibility.
Core
- Sync all boost.context files with release 1.86.0.
- Fixed bug GH-20435 (SensitiveParameter doesn't work for named argument passing to variadic parameter).
- Fixed hard_timeout with --enable-zend-max-execution-timers.
- Fixed bug GH-19792 (SCCP causes UAF for return value if both warning and exception are triggered).
- Fixed bug GH-19839 (Incorrect HASH_FLAG_HAS_EMPTY_IND flag on userland array).
- Fixed bug GH-20177 (Accessing overridden private property in get_object_vars() triggers assertion error).
- Fixed bug GH-19823 (register_argc_argv deprecation emitted twice when using OPcache).
- Fixed bug GH-19480 (error_log php.ini cannot be unset when open_basedir is configured).
- Fixed bug GH-19934 (CGI with auto_globals_jit=0 causes uouv).
- Fixed bug GH-19613 (Stale array iterator pointer).
- Fixed bug GH-19679 (zend_ssa_range_widening may fail to converge).
- Fixed bug GH-19681 (PHP_EXPAND_PATH broken with bash 5.3.0).
- Fixed bug GH-18850 (Repeated inclusion of file with __halt_compiler() triggers "Constant already defined" warning).
- Fixed bug GH-19476 (pipe operator fails to correctly handle returning by reference).
- Fixed bug GH-19081 (Wrong lineno in property error with constructor property promotion).
- Fixed bug GH-17959 (Relax missing trait fatal error to error exception).
- Fixed bug GH-18033 (NULL-ptr dereference when using register_tick_function in destructor).
- Fixed bug GH-19388 (Broken opcache.huge_code_pages).
- Fixed bug GH-19301 (opcache build failure).
- Fixed bug GH-20081 (access to uninitialized vars in preload_load()).
- Fixed bug GH-20121 (JIT broken in ZTS builds on MacOS 15).
- Fixed bug GH-19875 (JIT 1205 segfault on large file compiled in subprocess).
- Fixed bug GH-19984 (Double-free of EG(errors)/persistent_script->warnings on persist of already persisted file).
- Fixed bug GH-19889 (race condition in zend_runtime_jit(), zend_jit_hot_func()).
- Dec 18, 2025
- Date parsed from source:Dec 18, 2025
- First seen by Releasebot:Dec 20, 2025
- Modified by Releasebot:Dec 26, 2025
Version 8.4.16
Unified release notes announce broad fixes across Core and libraries, boosting stability, security, and performance. From PHP core to XML, the update tackles crashes, leaks, and edge cases, delivering a polished, more reliable platform.
Core
- Sync all boost.context files with release 1.86.0.
- Fixed bug GH-20435 (SensitiveParameter doesn't work for named argument passing to variadic parameter).
- Fixed bug GH-20286 (use-after-destroy during userland stream_close()).
Bz2
- Fix assertion failures resulting in crashes with stream filter object parameters.
Date
- Fix crashes when trying to instantiate uninstantiable classes via date static constructors.
DOM
- Fix memory leak when edge case is hit when registering xpath callback.
- Fixed bug GH-20395 (querySelector and querySelectorAll requires elements in $selectors to be lowercase).
- Fix missing NUL byte check on C14NFile().
Fibers
- Fixed bug GH-20483 (ASAN stack overflow with fiber.stack_size INI small value).
FTP
- Fixed bug GH-20601 (ftp_connect overflow on timeout).
GD
- Fixed bug GH-20511 (imagegammacorrect out of range input/output values).
- Fixed bug GH-20602 (imagescale overflow with large height values).
Intl
- Fixed bug GH-20426 (Spoofchecker::setRestrictionLevel() error message suggests missing constants).
LibXML
- Fix some deprecations on newer libxml versions regarding input buffer/parser handling.
MbString
- Fixed bug GH-20491 (SLES15 compile error with mbstring oniguruma).
- Fixed bug GH-20492 (mbstring compile warning due to non-strings).
MySQLnd
- Fixed bug GH-20528 (Regression breaks mysql connexion using an IPv6 address enclosed in square brackets).
Opcache
- Fixed bug GH-20329 (opcache.file_cache broken with full interned string buffer).
PDO
- Fixed bug GHSA-8xr5-qppj-gvwj (PDO quoting result null deref). (CVE-2025-14180)
Phar
- Fixed bug GH-20442 (Phar does not respect case-insensitiveness of __halt_compiler() when reading stub).
- Fix broken return value of fflush() for phar file entries.
- Fix assertion failure when fseeking a phar file out of bounds.
PHPDBG
- Fixed ZPP type violation in phpdbg_get_executable() and phpdbg_end_oplog().
SPL
- Fixed bug GH-20614 (SplFixedArray incorrectly handles references in deserialization).
Standard
- Fix memory leak in array_diff() with custom type checks.
- Fixed bug GH-20583 (Stack overflow in http_build_query via deep structures).
- Fixed GHSA-www2-q4fc-65wf (Null byte termination in dns_get_record()).
- Fixed GHSA-h96m-rvf9-jgm2 (Heap buffer overflow in array_merge()). (CVE-2025-14178)
- Fixed GHSA-3237-qqm7-mfv7 (Information Leak of Memory in getimagesize). (CVE-2025-14177)
Tidy
- Fixed bug GH-20374 (PHP with tidy and custom-tags).
XML
- Fixed bug GH-20439 (xml_set_default_handler() does not properly handle special characters in attributes when passing data to callback).
Zip
- Fix crash in property existence test.
- Don't truncate return value of zip_fread() with user sizes.
Zlib
- Fix assertion failures resulting in crashes with stream filter object parameters.
- Dec 18, 2025
- Date parsed from source:Dec 18, 2025
- First seen by Releasebot:Oct 24, 2025
- Modified by Releasebot:Jan 1, 2026
Version 8.4.14
A broad patch set with synchronized files and wide bug fixes across Core, CLI, Curl, Date, DOM, GD, MySQLnd, Opcache and Phar. Highlights include stability fixes for variadic parameter handling, memory leaks, and JIT race conditions, plus build and test hardening.
Core
- Sync all boost.context files with release 1.86.0.
- Fixed bug GH-20435 (SensitiveParameter doesn't work for named argument passing to variadic parameter).
- Fixed hard_timeout with --enable-zend-max-execution-timers.
- Fixed bug GH-19792 (SCCP causes UAF for return value if both warning and exception are triggered).
- Fixed bug GH-19653 (Closure named argument unpacking between temporary closures can cause a crash).
- Fixed bug GH-19839 (Incorrect HASH_FLAG_HAS_EMPTY_IND flag on userland array).
- Fixed bug GH-19480 (error_log php.ini cannot be unset when open_basedir is configured).
- Fixed bug GH-20002 (Broken build on *BSD with MSAN).
CLI
- Fix useless "Failed to poll event" error logs due to EAGAIN in CLI server with PHP_CLI_SERVER_WORKERS.
Curl
- Fix cloning of CURLOPT_POSTFIELDS when using the clone operator instead of the curl_copy_handle() function to clone a CurlHandle.
- Fix curl build and test failures with version 8.16.
Date
- Fixed GH-17159: "P" format for ::createFromFormat swallows string literals.
DOM
- Fix macro name clash on macOS.
- Fixed bug GH-20022 (docker-php-ext-install DOM failed).
GD
- Fixed GH-19955 (imagefttext() memory leak).
MySQLnd
- Fixed bug #67563 (mysqli compiled with mysqlnd does not take ipv6 adress as parameter).
Opcache
- Fixed bug GH-19669 (assertion failure in zend_jit_trace_type_to_info_ex).
- Fixed bug GH-19831 (function JIT may not deref property value).
- Fixed bug GH-19889 (race condition in zend_runtime_jit(), zend_jit_hot_func()).
Phar
- Fix memory leak and invalid continuation afte...
Curated by the Releasebot team
Releasebot is an aggregator of official release notes from hundreds of software vendors and thousands of sources.
Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.