PHP 8.5.0 Release Candidate 1 released
The PHP Group has made significant progress with the development of PHP 8.5.0, releasing its first release candidate. As a popular general-purpose scripting language particularly suited for web development, this new version is expected to bring numerous improvements and bug fixes.
The changelog highlights several key enhancements across various components of the PHP framework. In the core module, important problems have been fixed, including issues with skipping readonly property checks in object_properties_load(), the phasing out of the __sleep() and __wakeup() magic methods, and mistakes with hard_timeout and wrong flag settings on userland arrays.
Notably, warnings now emit when casting floats that cannot be represented as integers and when casting Not-A-Number (NAN) values to other types. This is part of a broader effort to improve PHP's error handling and provide more informative feedback to developers.
In the Bzip2 module, a bug has been fixed in bzopen() stream mode validation, ensuring that this critical functionality works as expected.
The Curl module has also seen improvements, with a modification implemented for cloning CURLOPT_POSTFIELDS when using the clone operator instead of curl_copy_handle(). This change enhances the flexibility and usability of PHP's Curl implementation.
Date-related functions have undergone significant changes. The 'P' format in ::createFromFormat now correctly handles string literals, addressing an existing issue (GH-17159). Moreover, the __wakeup() magic method has been deprecated in favor of the __unserialize() method across various date and time classes.
In Exif, several hardening fixes have been applied to HEIF parsing, making this module more robust. Additionally, crashes have been fixed, and OSS-Fuzz issues related to zero-size boxes and infinite loops have been addressed.
PHP's FastCGI Process Manager (FPM) has also received attention, with a fix implemented for an issue where post_max_size evaluations occurred too late in the php-fpm process (GH-8157).
In Iconv, the ICONV_CONST preprocessor has been extended to support illumos/Solaris platforms.
The Opcache module has seen improvements, including fixes for assertion failures and function JIT issues.
OpenSSL-related build issues have been addressed when using the --with-openssl-legacy-provider flag. This change enhances PHP's compatibility with various operating systems and configurations.
In mbstring, Unicode data tables have been updated to version 17.0, ensuring that this module stays current with the latest standards and requirements.
The Reflection module has also seen changes, with the finality of ReflectionConstant removed, making it more flexible for developers.
Several SAPI-related bugs have been fixed, including an issue where http_response_code() did not override the status code generated by header(). This change enhances PHP's ability to handle HTTP responses correctly.
In Standard, passing strings that are not one byte long to ord() is now deprecated. Furthermore, memory leaks in var_dump() and debug_zval_dump() have been fixed (GH-19801).
The URI module has seen a range of enhancements, including fixes for invalid URL exceptions, the addition of a new UriError exception, and improvements to internal API handling.
Lastly, several Windows-specific bugs have been addressed, ensuring that PHP runs smoothly on this operating system.
The next release candidate is planned for October 9th, 2025.
Release php-8.5.0RC1 · php/php-src
Tag for php-8.5.0RC1
