PHP 8.5.1, 8.4.16, 8.2.20, and 8.1.34 released
The PHP development team has been busy, releasing not one but five new updates to the popular programming language: PHP 8.5.1, 8.4.16, 8.2.30, 8.1.34, and just yesterday, PHP 8.3.29.
Security has been a big focus lately, particularly with some serious bugs fixed. For example, the Curl team resolved an annoying problem that prevented builds and tests from completing successfully in PHP 8.4.16 (thanks to contributors like nielsdos, ilutov, and Jakub Zelenka for tackling it). Then there's Opcache, a complex bug involving use-after-free specifically within zend_jit_status() was fixed with the help of Florian Engelhardt.
PDO also saw significant work, fixing a nasty flaw that allowed null dereferencing during quoting. That could've caused major trouble if overlooked.
Beyond security fixes, other notable changes include core updates. They synced up all those boost.context files to match release 1.86.0; it's the little things sometimes!
bz2 got attention too. The team addressed some assertion failures that led to crashes when using stream filter parameters with this function.
DOM handling improved as well by fixing memory leaks in specific edge cases related to XPath callbacks.
Fibers had a fix for ASAN stack overflows caused by small fiber.stack_size values, which is good news for stability.
The Intl component saw some action too. There was a bug affecting Spoofchecker::setRestrictionLevel() that generated confusing error messages about missing constants, which is fixed now.
Lexbor, the library used for iconv and related stuff, got two important fixes: one with URL handling (using withPath() or withQuery()) and another concerning memory corruption from malformed URLs.
LibXML updates addressed some deprecations, mainly around input buffer and parser handling; it might not be headline news, but it keeps everything working smoothly for developers relying on newer standards.
MySQL had a fix related to IPv6 addresses that caused regression breaks. Another important one for database work.
Opcache got another round of fixes focused on opcache.file_cache, tackling what sounded like a long-standing issue affecting some users.
Phar saw action too, addressing bugs involving file entries and streams, definitely welcome changes since phar functionality can be crucial in certain scenarios.
On the lower level, PHPDBG needed attention for ZPP-type violations in functions like phpdbg_get_executable() and phpdbg_end_oplog(). Stability patches are always necessary, even here.
SPL isn't immune either. There was a serious bug during deserialization affecting SplFixedArray that's been resolved.
Standard library stuff saw some updates too, fixing memory leaks (like with array_diff() custom checks) and preventing stack overflows in http_build_query for deep structures, tackling the root causes of those pesky errors.
And then there are those other areas: URI parsing and XML handling generally got attention. And finally, Zip was addressed, fixing crashes during property existence tests inside zip files and clarifying return values from zip_fread().
Release php-8.5.1
Tag for php-8.5.1
Release php-8.4.16
Tag for php-8.4.16
Release php-8.2.30
Tag for php-8.2.30
Release php-8.1.34
Tag for php-8.1.34
