PHP 8.5.1 RC2 released
Volker Dusch has rolled out the second release candidate for PHP 8.5.1, bringing a mix of core tweaks and bug fixes across many extensions.
This latest release brings several changes focused on stability and resolving issues across PHP core itself and various extensions. Inside PHP, they've updated all the boost.context files to sync with version 1.86.0. They also patched some subtle problems:
- There was a hiccup when named arguments overlapped with variadic parameters.
- An attribute configuration issue cropped up on macOS.
- And there was that pesky use-after-destroy error, which could pop up during stream closing operations in userland code.
Then turning to extensions: The Bz2 extension now handles assertion failures more gracefully; previously, these would crash the system, especially when dealing with stream filter objects. DOM got some memory leak fixes cleaned up, particularly around tricky XPath callback situations, and those helper functions for query selection no longer force everything into lowercase anymore. Also fixed a missing null-byte check in C14NFile().
Fibers saw an ASAN stack overflow issue resolved when the fiber.stack_size ini setting was set too low. The Intl extension's Spoofchecker now provides a better warning if you're trying to use constants it doesn't have. Lexbor sorted out some URL handling bugs that could strip hosts or cause crashes on malformed input.
Meanwhile, LibXML got updates so its deprecations won't trip up newer versions. MySQLnd fixed a regression where wrapping IPv6 addresses in brackets broke connections. Opcache has now properly handled an issue with the file cache that occurred when the interned string buffer ran out of space. PDO respects those FETCH_CLASSTYPE constructor arguments just like it should.
Phar has seen some improvements too: it now correctly handles __halt_compiler() stubs even if they're case-insensitive, fixes what was happening with the fflush() return value, and avoids a couple of assertion failures related to out-of-bounds seeks. PHPDBG sorted out its executable handling type errors. SPL fixed how SplFixedArray deals with deserialization mishaps.
The standard library saw some wins as well: memory leaks in array_diff() are gone, stack overflows from http_build_query on deeply nested structures were avoided, and an information leak issue has been cleared up.
The fix also extends to XML, where the default handler now correctly handles special characters within attributes. And the Zip extension avoids crashes during property checks while properly handling custom return sizes for zip_fread(). Zlib also smoothed over some assertion failures caused by stream filter objects.
Finally, the URI extension stops throwing that ValueError when it encounters a null byte. Overall, these updates help make PHP 8.5.1 smoother and more dependable in its everyday operation.
Release php-8.5.1RC2 · php/php-src
Tag for php-8.5.1RC2
