Software 43948 Published by

The PHP development team has released a release candidate (RC) for PHP 8.4.16, which includes various bug fixes and enhancements to improve stability and reliability. The updates address issues with core functionality, including handling sensitive parameters and stream closures, as well as specific problems with several extensions such as Bz2, date, DOM, FTP, GD, Intl, LibXML, MbString, Opcache, Phar, SPL, PHPDBG, Standard, Tidy, XML, Zip, and Zlib. The fixes aim to prevent unexpected issues, smooth out user experiences, and maintain compatibility with expected behavior. 



PHP 8.4.16 RC1 released

The PHP development team has released a release candidate for PHP 8.4.16 for testing.

Digging into some key changes, there have been a few updates related to core PHP functionality. Syncs with boost.context (version 1.86.0) addressed potential differences from previous builds, ensuring things work as expected now. Alongside this, two specific bugs needed fixing: one involved handling sensitive parameters with named arguments, and the other was about avoiding an error when a stream is closed improperly ('use-after-destroy'). These fixes are all part of efforts to make PHP more stable for everyone.

This work isn't just core stuff; several important extensions have seen action too. The Bz2 extension got some attention, specifically tackling assertion failures that could happen due to crashes involving its 'stream filter' object parameters. Hopefully, this update adds a bit more reliability and prevents unexpected issues down the line, smoothing things out for users.

Looking at other areas, the date extension has received treatment as well. Developers might recall problems with instantiating certain types using static constructors, particularly if those classes are inherently uninstantiable, which has been addressed now. Similarly, the DOM extension was updated to address a memory leak issue tied to how XPath callbacks were registered in specific edge cases.

Fibers also benefited from this RC process. A bug involving an ASAN stack overflow (caused by a small fiber.stack_size setting) has been resolved. This change means using fibers should feel more stable, especially under certain analysis conditions or for those intentionally tweaking the configuration.

Improvements were also made to the FTP extension, particularly in handling timeout values more safely to prevent overflows, contributing to its increased robustness.

Beyond these, several other extensions have had issues ironed out:

  • GD: Fixes were made for potential problems with imagegammacorrect and imagescale.
  • Intl: One specific issue related to error messages from spoofchecker was addressed.

These changes help maintain compatibility and ensure expected behavior. Elsewhere, the LibXML extension received various deprecation fixes, aligning it better with future library versions. For MbString, adjustments were made to resolve some compile-time snags on particular operating systems or configurations.

Moving on to performance and caching: Opcache got a tune-up related to its file_cache handling and managing full interned string buffers, which likely is helping things run smoother internally. The Phar extension also saw two issues resolved concerning __halt_compiler() reading stubs (making it less case-sensitive) and assertion failures during specific seek operations.

Finally, let's mention some minor cleanups across the board in other areas like SPL, PHPDBG, Standard, Tidy, XML, Zip, and Zlib. These small fixes help fill out the details, ensuring things work right under various conditions, from handling certain types of file data correctly to preventing crashes during specific checks.

Release php-8.4.16RC1 · php/php-src

Tag for php-8.4.16RC1

Release php-8.4.16RC1 · php/php-src