[web-php] master: Announce PHP 8.4.25

From: Date: Thu, 27 Aug 2026 15:02:59 +0000
Subject: [web-php] master: Announce PHP 8.4.25
Groups: php.webmaster 
Request: Send a blank email to php-webmaster+get-33970@lists.php.net to get a copy of this message
Author: Calvin Buckley (NattyNarwhal) Date: 2026-08-27T12:02:00-03:00 Commit: https://github.com/php/web-php/commit/0f359aec46d9e5515fd38657ccc675e95a19cfb0 Raw diff: https://github.com/php/web-php/commit/0f359aec46d9e5515fd38657ccc675e95a19cfb0.diff Announce PHP 8.4.25 Changed paths: A public/archive/entries/2026-08-27-2.xml A public/releases/8_4_25.php M include/release-qa.php M include/releases.inc M include/version.inc M public/ChangeLog-8.php M public/archive/archive.xml Diff: diff --git a/include/release-qa.php b/include/release-qa.php index 6e10df1fb3..6f54276fef 100644 --- a/include/release-qa.php +++ b/include/release-qa.php @@ -75,12 +75,12 @@ 'active' => true, 'release' => [ 'type' => 'RC', - 'number' => 1, - 'sha256_bz2' => 'bca85bc4cda00e409835dcec133474743cf99090fcbacdf674ae70bbc5d7c6dc', - 'sha256_gz' => '0d1b8936e67bae406f20691a4225b398baaa31a1dbdeea5959a553a26c9f5f86', - 'sha256_xz' => '666d849f376b20f21dad94c14a0c5faa1649e3c77de50330b05d7967ee5b2441', + 'number' => 0, + 'sha256_bz2' => '', + 'sha256_gz' => '', + 'sha256_xz' => '', 'date' => '13 August 2026', - 'baseurl' => 'https://downloads.php.net/~calvinb/', + 'baseurl' => 'https://downloads.php.net/', ], ], diff --git a/include/releases.inc b/include/releases.inc index 11149c0341..c3d61541ce 100644 --- a/include/releases.inc +++ b/include/releases.inc @@ -2,6 +2,43 @@ $OLDRELEASES = array ( 8 => array ( + '8.4.24' => + array ( + 'announcement' => + array ( + 'English' => '/releases/8_4_24.php', + ), + 'tags' => + array ( + 0 => 'security', + ), + 'date' => '30 Jul 2026', + 'source' => + array ( + 0 => + array ( + 'filename' => 'php-8.4.24.tar.gz', + 'name' => 'PHP 8.4.24 (tar.gz)', + 'sha256' => 'd5fe6a1d7633e70645dc757461eeb7b764ff6a04d0487f076dd56f1f9d8059db', + 'date' => '30 Jul 2026', + ), + 1 => + array ( + 'filename' => 'php-8.4.24.tar.bz2', + 'name' => 'PHP 8.4.24 (tar.bz2)', + 'sha256' => '286890447588510df110ede9e9ce09f1eb4f9856630b47fdc40ece70e20373cf', + 'date' => '30 Jul 2026', + ), + 2 => + array ( + 'filename' => 'php-8.4.24.tar.xz', + 'name' => 'PHP 8.4.24 (tar.xz)', + 'sha256' => 'e127be09a8506f4327c5cfa78a614b00d210714484ec215ce0011b4a03c00731', + 'date' => '30 Jul 2026', + ), + ), + 'museum' => false, + ), '8.4.23' => array ( 'announcement' => diff --git a/include/version.inc b/include/version.inc index d7f0acd87a..2a25d50219 100644 --- a/include/version.inc +++ b/include/version.inc @@ -34,13 +34,13 @@ $RELEASES = (function () { /* PHP 8.4 Release */ $data['8.4'] = [ - 'version' => '8.4.24', - 'date' => '30 Jul 2026', - 'tags' => ['security'], // Set to ['security'] for security releases. + 'version' => '8.4.25', + 'date' => '27 Aug 2026', + 'tags' => [''], // Set to ['security'] for security releases. 'sha256' => [ - 'tar.gz' => 'd5fe6a1d7633e70645dc757461eeb7b764ff6a04d0487f076dd56f1f9d8059db', - 'tar.bz2' => '286890447588510df110ede9e9ce09f1eb4f9856630b47fdc40ece70e20373cf', - 'tar.xz' => 'e127be09a8506f4327c5cfa78a614b00d210714484ec215ce0011b4a03c00731', + 'tar.gz' => '5cde1da976b728fa09e6b549a4c8afcd0c180337028dacf34f73b11be50253db', + 'tar.bz2' => '952ccc1785266b958f4a1dcfc580e08eabbb79f44222d1eff192bcd98d91f6e3', + 'tar.xz' => 'dc1ad8b4109898d9db49744450403874858c23efc685b1032a50bd1e83906848', ] ]; diff --git a/public/ChangeLog-8.php b/public/ChangeLog-8.php index f8600dd3af..917c945264 100644 --- a/public/ChangeLog-8.php +++ b/public/ChangeLog-8.php @@ -1236,6 +1236,99 @@ <a id="PHP_8_4"></a> +<section class="version" id="8.4.25"><!-- {{{ 8.4.25 --> +<h3>Version 8.4.25</h3> +<b><?php release_date('27-Aug-2026'); ?></b> +<ul><li>Core: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 23088); ?> (Stack overflow when comparing deeply nested arrays).</li> +</ul></li> +<li>Date: +<ul> + <li>Fixed leak on double DatePeriod::__construct() call.</li> +</ul></li> +<li>DOM: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 23116); ?> (Stack overflow when normalizing a deeply nested DOMDocument).</li> + <li>Fixed bug <?php githubissuel('php/php-src', 23117); ?> (Stack overflow when normalizing a deeply nested Dom\XMLDocument).</li> + <li>Fixed bug <?php githubissuel('php/php-src', 22825); ?> (DOMElement::setAttribute() fails silently when the DTD declares a default value for the attribute).</li> + <li>Fixed bug <?php githubissuel('php/php-src', 22447); ?> (UAF at dom_objects_free_storage when setting an attribute node that collides by local name with a namespaced attribute).</li> + <li>Fixed bug <?php githubissuel('php/php-src', 23120); ?> (Stack overflow when comparing deeply nested DOM nodes with DOMNode::isEqualNode()).</li> +</ul></li> +<li>LibXML: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 22752); ?> (Build failure with libxml 2.15).</li> +</ul></li> +<li>MBString: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 22779); ?> (mb_strrpos() returns the wrong position for a negative offset in a non-UTF-8 encoding).</li> + <li>Fixed bug <?php githubissuel('php/php-src', 21036); ?> (mb_ereg_search_getregs() crashes after mb_eregi() invalidates the regex cache).</li> +</ul></li> +<li>Opcache: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 22857); ?> (Function JIT emits wrong code for FETCH_OBJ_FUNC_ARG on a property hook getter, losing register-held variables).</li> + <li>Fixed bug <?php githubissuel('php/php-src', 22916); ?> (Preserve parent regs in zend_jit_deoptimizer_start()).</li> +</ul></li> +<li>OpenSSL: +<ul> + <li>Fix missing error check on invalid alpn protocols.</li> +</ul></li> +<li>PCRE: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 21134); ?> (Crash with \C + UTF-8). Using \C in UTF-8 patterns is now forbidden.</li> +</ul></li> +<li>Reflection: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 22905); ?> (Reflection exception messages truncate on null bytes).</li> + <li>Fixed ReflectionProperty::isLazy() and skipLazyInitialization() using the parent slot when a child class hooks an inherited property.</li> + <li>Fixed segfault in ReflectionMethod::createFromMethodName() on an uninstantiable subclass.</li> +</ul></li> +<li>Session: +<ul> + <li>Fix corruption in mod_mm.</li> + <li>Fixed bug <?php githubissuel('php/php-src', 23043); ?> (broken session id code can cause zend_mm_heap corrupted).</li> +</ul></li> +<li>SimpleXML: +<ul> + <li>Fixed integer element offsets that cannot resolve aliasing an existing element.</li> + <li>Fixed segfault when comparing uninitialized SimpleXMLElement instances.</li> +</ul></li> +<li>Sockets: +<ul> + <li>Fixed various memory related issues in ext/sockets.</li> +</ul></li> +<li>SQLite: +<ul> + <li>Fix leak when trying to close db if blob stream is still open.</li> +</ul></li> +<li>Standard: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 23111); ?> (Stack overflow in array_walk_recursive() with deeply nested arrays).</li> + <li>Fixed bug <?php githubissuel('php/php-src', 23113); ?> (Stack overflow in array_replace_recursive() with deeply nested arrays).</li> + <li>Fixed bug <?php githubissuel('php/php-src', 23115); ?> (Stack overflow in compact() with deeply nested arrays).</li> + <li>Fixed stack overflow in count() with COUNT_RECURSIVE and deeply nested arrays.</li> +</ul></li> +<li>Streams: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 15836); ?> (Use-after-free when a user stream filter accesses $this-&gt;stream during the close flush).</li> +</ul></li> +<li>Sysvshm: +<ul> + <li>Fixed out-of-bounds write when shm_attach() opens an existing segment with a size larger than the segment actually is.</li> +</ul></li> +<li>XSL: +<ul> + <li>Fixed use-after-free when a DOMDocument subclass __clone() retains the stylesheet copy made by XSLTProcessor::importStylesheet().</li> +</ul></li> +<li>Zip: +<ul> + <li>Fixed ZipArchive::addGlob() and ZipArchive::addPattern() ignoring their default options when no options array is given.</li> +</ul></li> +</ul> +<!-- }}} --></section> + + + <section class="version" id="8.4.24"><!-- {{{ 8.4.24 --> <h3>Version 8.4.24</h3> <b><?php release_date('30-Jul-2026'); ?></b> diff --git a/public/archive/archive.xml b/public/archive/archive.xml index 9160be85ca..1cb30883fd 100644 --- a/public/archive/archive.xml +++ b/public/archive/archive.xml @@ -9,6 +9,7 @@ <uri>http://php.net/contact</uri> <email>php-webmaster@lists.php.net</email> </author> + <xi:include href="entries/2026-08-27-2.xml"/> <xi:include href="entries/2026-08-27-1.xml"/> <xi:include href="entries/2026-08-25-1.xml"/> <xi:include href="entries/2026-08-18-1.xml"/> diff --git a/public/archive/entries/2026-08-27-2.xml b/public/archive/entries/2026-08-27-2.xml new file mode 100644 index 0000000000..d9a39824ec --- /dev/null +++ b/public/archive/entries/2026-08-27-2.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<entry xmlns="http://www.w3.org/2005/Atom"> + <title>PHP 8.4.25 Released!</title> + <id>https://www.php.net/archive/2026.php#2026-08-27-2</id> + <published>2026-08-27T14:59:19+00:00</published> + <updated>2026-08-27T14:59:19+00:00</updated> + <link href="https://www.php.net/index.php#2026-08-27-2" rel="alternate" type="text/html"/> + <link href="https://www.php.net/archive/2026.php#2026-08-27-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.4.25. This is a bug fix release.</p> + +<p>All PHP 8.4 users are encouraged to upgrade to this version.</p> + +<p>For source downloads of PHP 8.4.25 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&amp;version=8.4">there</a>. +The list of changes is recorded in the <a href="https://www.php.net/ChangeLog-8.php#8.4.25">ChangeLog</a>. +</p> </div> + </content> +</entry> diff --git a/public/releases/8_4_25.php b/public/releases/8_4_25.php new file mode 100644 index 0000000000..0ca2dfe364 --- /dev/null +++ b/public/releases/8_4_25.php @@ -0,0 +1,16 @@ +<?php +$_SERVER['BASE_PAGE'] = 'releases/8_4_25.php'; +require_once __DIR__ . '/../../include/prepend.inc'; +site_header('PHP 8.4.25 Release Announcement', ['cache' => true, 'cache_control' => 30 * 60]); +?> +<h1>PHP 8.4.25 Release Announcement</h1> + +<p>The PHP development team announces the immediate availability of PHP 8.4.25. This is a bug fix release.</p> + +<p>All PHP 8.4 users are encouraged to upgrade to this version.</p> + +<p>For source downloads of PHP 8.4.25 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&amp;version=8.4">there</a>. +The list of changes is recorded in the <a href="https://www.php.net/ChangeLog-8.php#8.4.25">ChangeLog</a>. +</p> +<?php site_footer();

« previous php.webmaster (#33970) next »