Author: Daniel Scherzer (DanielEScherzer)
Date: 2026-03-12T12:14:43-07:00
Commit:
https://github.com/php/web-php/commit/5bee7281a9cc70858bc794cd301752bd56e8fe4b
Raw diff:
https://github.com/php/web-php/commit/5bee7281a9cc70858bc794cd301752bd56e8fe4b.diff
Announce PHP 8.5.4
Changed paths:
A archive/entries/2026-03-12-2.xml
A releases/8_5_4.php
M ChangeLog-8.php
M archive/archive.xml
M include/release-qa.php
M include/releases.inc
M include/version.inc
Diff:
diff --git a/ChangeLog-8.php b/ChangeLog-8.php
index 74ee4b6262..0d8a93a6f0 100644
--- a/ChangeLog-8.php
+++ b/ChangeLog-8.php
@@ -9,6 +9,61 @@
<a id="PHP_8_5"></a>
+<section class="version" id="8.5.4"><!-- {{{ 8.5.4 -->
+<h3>Version 8.5.4</h3>
+<b><?php release_date('12-Mar-2026'); ?></b>
+<ul><li>Core:
+<ul>
+ <li>Fixed bug <?php githubissuel('php/php-src', 21029); ?> (zend_mm_heap
corrupted on Aarch64, LTO builds).</li>
+ <li>Fixed bug <?php githubissuel('php/php-src', 21059); ?> (Segfault when
preloading constant AST closure).</li>
+ <li>Fixed bug <?php githubissuel('php/php-src', 21072); ?> (Crash on (unset)
cast in constant expression).</li>
+ <li>Fix deprecation now showing when accessing null key of an array with
JIT.</li>
+ <li>Fixed bug <?php githubissuel('php/php-src', 20657); ?> (Assertion
failure in zend_lazy_object_get_info triggered by
setRawValueWithoutLazyInitialization() and newLazyGhost()).</li>
+ <li>Fixed bug <?php githubissuel('php/php-src', 20504); ?> (Assertion
failure in zend_get_property_guard when accessing properties on Reflection
LazyProxy via isset()).</li>
+ <li>Fixed OSS-Fuzz #478009707 (Borked assign-op/inc/dec on untyped hooked
property backing value).</li>
+ <li>Fixed bug <?php githubissuel('php/php-src', 21215); ?> (Build fails with
-std=).</li>
+ <li>Fixed bug <?php githubissuel('php/php-src', 13674); ?> (Build system
installs libtool wrappers when using slibtool).</li>
+</ul></li>
+<li>Curl:
+<ul>
+ <li>Don't truncate length.</li>
+</ul></li>
+<li>Date:
+<ul>
+ <li>Fixed bug <?php githubissuel('php/php-src', 20936); ?>
(DatePeriod::__set_state() cannot handle null start).</li>
+ <li>Fix timezone offset with seconds losing precision.</li>
+</ul></li>
+<li>DOM:
+<ul>
+ <li>Fixed bug <?php githubissuel('php/php-src', 21077); ?> (Accessing
Dom\Node::baseURI can throw TypeError).</li>
+ <li>Fixed bug <?php githubissuel('php/php-src', 21097); ?> (Accessing
Dom\Node properties can can throw TypeError).</li>
+</ul></li>
+<li>LDAP:
+<ul>
+ <li>Fixed bug <?php githubissuel('php/php-src', 21262); ?> (ldap_modify()
too strict controls argument validation makes it impossible to unset
attribute).</li>
+</ul></li>
+<li>MBString:
+<ul>
+ <li>Fixed bug <?php githubissuel('php/php-src', 21223); ?>;
mb_guess_encoding no longer crashes when passed huge list of candidate
encodings (with 200,000+ entries).</li>
+</ul></li>
+<li>Opcache:
+<ul>
+ <li>Fixed bug <?php githubissuel('php/php-src', 20718); ?> ("Insufficient
shared memory" when using JIT on Solaris).</li>
+ <li>Fixed bug <?php githubissuel('php/php-src', 21227); ?> (Borked SCCP of
array containing partial object).</li>
+</ul></li>
+<li>OpenSSL:
+<ul>
+ <li>Fix a bunch of leaks and error propagation.</li>
+</ul></li>
+<li>Windows:
+<ul>
+ <li>Fixed compilation with clang (missing intrin.h include).</li>
+</ul></li>
+</ul>
+<!-- }}} --></section>
+
+
+
<section class="version" id="8.5.3"><!-- {{{ 8.5.3 -->
<h3>Version 8.5.3</h3>
<b><?php release_date('12-Feb-2026'); ?></b>
diff --git a/archive/archive.xml b/archive/archive.xml
index 0a99184d9d..5482b79e40 100644
--- a/archive/archive.xml
+++ b/archive/archive.xml
@@ -9,6 +9,7 @@
<uri>http://php.net/contact</uri>
<email>[email protected]</email>
</author>
+ <xi:include href="entries/2026-03-12-2.xml"/>
<xi:include href="entries/2026-03-12-1.xml"/>
<xi:include href="entries/2026-02-12-2.xml"/>
<xi:include href="entries/2026-02-12-1.xml"/>
diff --git a/archive/entries/2026-03-12-2.xml b/archive/entries/2026-03-12-2.xml
new file mode 100644
index 0000000000..cf60086038
--- /dev/null
+++ b/archive/entries/2026-03-12-2.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<entry xmlns="http://www.w3.org/2005/Atom">
+ <title>PHP 8.5.4 Released!</title>
+ <id>https://www.php.net/archive/2026.php#2026-03-12-2</id>
+ <published>2026-03-12T19:11:52+00:00</published>
+ <updated>2026-03-12T19:11:52+00:00</updated>
+ <link href="https://www.php.net/index.php#2026-03-12-2" rel="alternate"
type="text/html"/>
+ <link href="https://www.php.net/archive/2026.php#2026-03-12-2" rel="via"
type="text/html"/>
+ <category term="releases" label="New PHP release"/>
+ <category term="frontpage" label="PHP.net frontpage news"/>
+ <content type="xhtml">
+ <div xmlns="http://www.w3.org/1999/xhtml"><p>The PHP development team
announces the immediate availability of PHP 8.5.4. This is a bug fix
release.</p>
+
+<p>All PHP 8.5 users are encouraged to upgrade to this version.</p>
+
+<p>For source downloads of PHP 8.5.4 please visit our <a
href="https://www.php.net/downloads.php">downloads page</a>,
+Windows source and binaries can also be found <a
href="https://www.php.net/downloads.php?os=windows&version=8.5">there</a>.
+The list of changes is recorded in the <a
href="https://www.php.net/ChangeLog-8.php#8.5.4">ChangeLog</a>.
+</p> </div>
+ </content>
+</entry>
diff --git a/include/release-qa.php b/include/release-qa.php
index 90841022c8..64f20e4949 100644
--- a/include/release-qa.php
+++ b/include/release-qa.php
@@ -88,10 +88,10 @@
'active' => true,
'release' => [
'type' => 'RC',
- 'number' => 1,
- 'sha256_bz2' =>
'75e8dc8e6c44ba3448ab3ce7b1b49b8e9d383b4aa3aa9c3c0f8d76a2101f98f1',
- 'sha256_gz' =>
'33681975c07c5f135c350663b842bf90872eb4b1b7261d6b8b3df019985e0d36',
- 'sha256_xz' =>
'1919770134558df7eda8e439304cb8107cffe86e7d794f6ead60b6be8424a98b',
+ 'number' => 0,
+ 'sha256_bz2' => '',
+ 'sha256_gz' => '',
+ 'sha256_xz' => '',
'date' => '26 Feb 2026',
'baseurl' => 'https://downloads.php.net/~daniels/',
],
diff --git a/include/releases.inc b/include/releases.inc
index f729df67e6..2b74cc6c08 100644
--- a/include/releases.inc
+++ b/include/releases.inc
@@ -2,6 +2,42 @@
$OLDRELEASES = array (
8 =>
array (
+ '8.5.3' =>
+ array (
+ 'announcement' =>
+ array (
+ 'English' => '/releases/8_5_3.php',
+ ),
+ 'tags' =>
+ array (
+ ),
+ 'date' => '12 Feb 2026',
+ 'source' =>
+ array (
+ 0 =>
+ array (
+ 'filename' => 'php-8.5.3.tar.gz',
+ 'name' => 'PHP 8.5.3 (tar.gz)',
+ 'sha256' =>
'402654d99b4beda602d4daec4f1cd39aafdacf5923e3e947da87392826660146',
+ 'date' => '12 Feb 2026',
+ ),
+ 1 =>
+ array (
+ 'filename' => 'php-8.5.3.tar.bz2',
+ 'name' => 'PHP 8.5.3 (tar.bz2)',
+ 'sha256' =>
'fc5ecabc183ceb64d9fca3dcd387bd29b2b67448326af998fde003124916823b',
+ 'date' => '12 Feb 2026',
+ ),
+ 2 =>
+ array (
+ 'filename' => 'php-8.5.3.tar.xz',
+ 'name' => 'PHP 8.5.3 (tar.xz)',
+ 'sha256' =>
'ce65725b8af07356b69a6046d21487040b11f2acfde786de38b2bfb712c36eb9',
+ 'date' => '12 Feb 2026',
+ ),
+ ),
+ 'museum' => false,
+ ),
'8.4.18' =>
array (
'announcement' =>
diff --git a/include/version.inc b/include/version.inc
index 6146198740..832f9b7cc2 100644
--- a/include/version.inc
+++ b/include/version.inc
@@ -20,15 +20,15 @@ $RELEASES = (function () {
/* PHP 8.5 Release */
$data['8.5'] = [
- 'version' => '8.5.3',
- 'date' => '12 Feb 2026',
+ 'version' => '8.5.4',
+ 'date' => '12 Mar 2026',
'tags' => [], // Set to ['security'] for security releases.
'sha256' => [
// WARNING: Order of SHA256 entries here is DIFFERENT from the
// order in the manifest
- 'tar.gz' =>
'402654d99b4beda602d4daec4f1cd39aafdacf5923e3e947da87392826660146',
- 'tar.bz2' =>
'fc5ecabc183ceb64d9fca3dcd387bd29b2b67448326af998fde003124916823b',
- 'tar.xz' =>
'ce65725b8af07356b69a6046d21487040b11f2acfde786de38b2bfb712c36eb9',
+ 'tar.gz' =>
'4fef7f44eff3c18e329504cb0d3eb30b41cf54e2db05cb4ebe8b78fc37d38ce1',
+ 'tar.bz2' =>
'2ac929a29a6b7ef4b8acec981a417b91bdf7f548f597df665cc56ab9ea95fc75',
+ 'tar.xz' =>
'c1569f1f543f6b025c583cdc0e730e5c5833c603618613f1aa8e75d1524b8c91',
]
];
diff --git a/releases/8_5_4.php b/releases/8_5_4.php
new file mode 100644
index 0000000000..37742318f7
--- /dev/null
+++ b/releases/8_5_4.php
@@ -0,0 +1,16 @@
+<?php
+$_SERVER['BASE_PAGE'] = 'releases/8_5_4.php';
+include_once __DIR__ . '/../include/prepend.inc';
+site_header('PHP 8.5.4 Release Announcement');
+?>
+<h1>PHP 8.5.4 Release Announcement</h1>
+
+<p>The PHP development team announces the immediate availability of PHP 8.5.4.
This is a bug fix release.</p>
+
+<p>All PHP 8.5 users are encouraged to upgrade to this version.</p>
+
+<p>For source downloads of PHP 8.5.4 please visit our <a
href="https://www.php.net/downloads.php">downloads page</a>,
+Windows source and binaries can also be found <a
href="https://www.php.net/downloads.php?os=windows&version=8.5">there</a>.
+The list of changes is recorded in the <a
href="https://www.php.net/ChangeLog-8.php#8.5.4">ChangeLog</a>.
+</p>
+<?php site_footer();