PHP 8.5.0 Release Candidate 1 (RC1) packages have been released by Ondřej Surý for Debian GNU/Linux versions 11 LTS, 12, and 13. The upcoming version includes various improvements, such as fixes for important bugs, better error handling, and enhanced functionality in modules like Curl, Exif, and Opcache. Additionally, several date and time functions have been updated to correctly handle string literals and other issues.
PHP 8.5.0 RC1 Debian packages released
Ondřej Surý released PHP 8.5.0 Release Candidate 1 (RC1) packages for Debian GNU/Linux versions 11 (Bullseye) LTS, 12 (Bookworm), and 13 (Trixie). The upcoming version will make many improvements to different parts of the PHP framework.
The new version fixes important bugs, like the ones that caused object_properties_load() to skip readonly property checks, the removal of the __sleep() and __wakeup() magic methods, and the wrong flag and hard_timeout settings on userland arrays. This makes PHP more stable and reliable as a whole.
People have also talked about how PHP handles errors. When developers try to cast floats that can't be represented as integers or Not-A-Number (NAN) values to other types, they will now get warnings. This change is meant to give developers more useful feedback so they can find possible problems early on.
Another big improvement is that a bug in the Bzip2 module's bzopen() stream mode validation has been fixed. This makes sure that this important feature works as it should.
The Curl module has also changed. A change was made to make it easier to clone CURLOPT_POSTFIELDS when using the clone operator instead of curl_copy_handle(). This makes PHP's Curl implementation more flexible and easier to use.
There have been big changes to functions that handle dates. The "P" format increateFromFormat now correctly handles string literals, fixing a problem that was already there (GH-17159). Additionally, the __unserialize() method has taken the place of the __wakeup() magic method in several date and time classes.
There have also been improvements to the Exif module, including several fixes to make HEIF parsing more secure. By fixing crashes and OSS-Fuzz problems with zero-size boxes and infinite loops, these changes make the module stronger.
People have been talking about PHP's FastCGI Process Manager (FPM) because a bug was fixed that caused post_max_size evaluations to happen too late in the php-fpm process (GH-8157).
The Iconv module has been updated, and the ICONV_CONST preprocessor now works on illumos/Solaris platforms as well.
The Opcache module has also been improved, with fixes for assertion failures and function JIT problems. The goal of this change is to make PHP run faster and more reliably.
When you use the --with-openssl-legacy-provider flag, problems with building OpenSSL have been fixed. This enhances PHP's compatibility with various operating systems and configurations.
The mbstring module has also been updated, and the Unicode data tables are now at version 17.0. This makes sure that this module stays up-to-date with the most recent rules and standards.
There have been changes to the Reflection module, and the finality of ReflectionConstant has been taken out. This provides developers more options when using PHP's reflection features.
Some bugs related to SAPI have been fixed, such as one where http_response_code() didn't replace the status code that header() made. This change makes PHP better at handling HTTP responses.
To add the repository to your Debian installation:
#!/bin/bash # To add this repository please do:
if [ "$(whoami)" != "root" ]; then
SUDO=sudo
fi
${SUDO} apt-get -y install apt-transport-https lsb-release ca-certificates curl
${SUDO} wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
${SUDO} sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
${SUDO} apt-get update
For further details, please refer to the deb.sury.org website. A dedicated bug tracker for the packages can be accessed here.
