[web-php] master: Announce PHP 8.4.20

From: Date: Thu, 09 Apr 2026 15:26:55 +0000
Subject: [web-php] master: Announce PHP 8.4.20
Groups: php.webmaster 
Request: Send a blank email to php-webmaster+get-33656@lists.php.net to get a copy of this message
Author: Saki Takamachi (SakiTakamachi) Date: 2026-04-10T00:26:45+09:00 Commit: https://github.com/php/web-php/commit/72d8ab85eacab078209836c588669c4f0234bdfe Raw diff: https://github.com/php/web-php/commit/72d8ab85eacab078209836c588669c4f0234bdfe.diff Announce PHP 8.4.20 Changed paths: A archive/entries/2026-04-09-2.xml A releases/8_4_20.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 cbc4bb6655..d72df2792e 100644 --- a/ChangeLog-8.php +++ b/ChangeLog-8.php @@ -877,6 +877,79 @@ <a id="PHP_8_4"></a> +<section class="version" id="8.4.20"><!-- {{{ 8.4.20 --> +<h3>Version 8.4.20</h3> +<b><?php release_date('09-Apr-2026'); ?></b> +<ul><li>Bz2: +<ul> + <li>Fix truncation of total output size causing erroneous errors.</li> +</ul></li> +<li>Core: +<ul> + <li>Fixed bugs <?php githubissuel('php/php-src', 20875); ?>, <?php githubissuel('php/php-src', 20873); ?>, <?php githubissuel('php/php-src', 20854); ?> (Propagate IN_GET guard in get_property_ptr_ptr for lazy proxies).</li> +</ul></li> +<li>DOM: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 21486); ?> (Dom\HTMLDocument parser mangles xml:space and xml:lang attributes).</li> +</ul></li> +<li>FFI: +<ul> + <li>Fixed resource leak in FFI::cdef() onsymbol resolution failure.</li> +</ul></li> +<li>GD: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 21431); ?> (phpinfo() to display libJPEG 10.0 support).</li> +</ul></li> +<li>Opcache: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 20838); ?> (JIT compiler produces wrong arithmetic results).</li> + <li>Fixed bug <?php githubissuel('php/php-src', 21267); ?> (JIT tracing: infinite loop on FETCH_OBJ_R with IS_UNDEF property in polymorphic context).</li> + <li>Fixed bug <?php githubissuel('php/php-src', 21395); ?> (uaf in jit).</li> +</ul></li> +<li>OpenSSL: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 21083); ?> (Skip private_key_bits validation for EC/curve-based keys).</li> + <li>Fix missing error propagation for BIO_printf() calls.</li> +</ul></li> +<li>PCRE: +<ul> + <li>Fixed re-entrancy issue on php_pcre_match_impl, php_pcre_replace_impl, php_pcre_split_impl, and php_pcre_grep_impl.</li> +</ul></li> +<li>PGSQL: +<ul> + <li>Fixed preprocessor silently guarding PGSQL_SUPPRESS_TIMESTAMPS support due to a typo.</li> +</ul></li> +<li>SNMP: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 21336); ?> (SNMP::setSecurity() undefined behavior with NULL arguments).</li> +</ul></li> +<li>SOAP: +<ul> + <li>Fixed Set-Cookie parsing bug wrong offset while scanning attributes.</li> +</ul></li> +<li>SPL: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 21454); ?> (missing write lock validation in SplHeap).</li> +</ul></li> +<li>Standard: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 20906); ?> (Assertion failure when messing up output buffers).</li> + <li>Fixed bug <?php githubissuel('php/php-src', 20627); ?> (Cannot identify some avif images with getimagesize).</li> +</ul></li> +<li>Sysvshm: +<ul> + <li>Fix memory leak in shm_get_var() when variable is corrupted.</li> +</ul></li> +<li>XSL: +<ul> + <li>Fix <?php githubissuel('php/php-src', 21357); ?> (XSLTProcessor works with DOMDocument, but fails with Dom\XMLDocument).</li> + <li>Fixed bug <?php githubissuel('php/php-src', 21496); ?> (UAF in dom_objects_free_storage).</li> +</ul></li> +</ul> +<!-- }}} --></section> + + + <section class="version" id="8.4.19"><!-- {{{ 8.4.19 --> <h3>Version 8.4.19</h3> <b><?php release_date('12-Mar-2026'); ?></b> diff --git a/archive/archive.xml b/archive/archive.xml index aa3e2beae4..703155ce0c 100644 --- a/archive/archive.xml +++ b/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-04-09-2.xml"/> <xi:include href="entries/2026-04-09-1.xml"/> <xi:include href="entries/2026-03-12-2.xml"/> <xi:include href="entries/2026-03-12-1.xml"/> diff --git a/archive/entries/2026-04-09-2.xml b/archive/entries/2026-04-09-2.xml new file mode 100644 index 0000000000..832b834cf9 --- /dev/null +++ b/archive/entries/2026-04-09-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.20 Released!</title> + <id>https://www.php.net/archive/2026.php#2026-04-09-2</id> + <published>2026-04-09T15:24:28+00:00</published> + <updated>2026-04-09T15:24:28+00:00</updated> + <link href="https://www.php.net/index.php#2026-04-09-2" rel="alternate" type="text/html"/> + <link href="https://www.php.net/archive/2026.php#2026-04-09-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.20. 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.20 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.20">ChangeLog</a>. +</p> </div> + </content> +</entry> diff --git a/include/release-qa.php b/include/release-qa.php index 79cc541b94..0b36900b0e 100644 --- a/include/release-qa.php +++ b/include/release-qa.php @@ -75,12 +75,12 @@ 'active' => true, 'release' => [ 'type' => 'RC', - 'number' => 1, - 'sha256_bz2' => '25f64085c22a48d6941acf38ec9e4c8f046d6f9f2285b7fdf49a9f3cd8217741', - 'sha256_gz' => 'd12ac12d1745ba1d5b7a0bd9005adf1ab2fe2ca97132eea5b8a45163998554cd', - 'sha256_xz' => 'a0108bc5432499cbdd9c64bcb2cb3715ff2cec23bb768c2fb6ed0c433e9ff933', + 'number' => 0, + 'sha256_bz2' => '', + 'sha256_gz' => '', + 'sha256_xz' => '', 'date' => '26 Mar 2026', - 'baseurl' => 'https://downloads.php.net/~saki/', + 'baseurl' => 'https://downloads.php.net/', ], ], diff --git a/include/releases.inc b/include/releases.inc index 4e9e21ad66..686bb833b6 100644 --- a/include/releases.inc +++ b/include/releases.inc @@ -2,6 +2,42 @@ $OLDRELEASES = array ( 8 => array ( + '8.4.19' => + array ( + 'announcement' => + array ( + 'English' => '/releases/8_4_19.php', + ), + 'tags' => + array ( + ), + 'date' => '12 Mar 2026', + 'source' => + array ( + 0 => + array ( + 'filename' => 'php-8.4.19.tar.gz', + 'name' => 'PHP 8.4.19 (tar.gz)', + 'sha256' => '9e862435ffb533dc5b0eb486170a74e5f7c8095e8eb8819a2ff5aad430292a18', + 'date' => '12 Mar 2026', + ), + 1 => + array ( + 'filename' => 'php-8.4.19.tar.bz2', + 'name' => 'PHP 8.4.19 (tar.bz2)', + 'sha256' => 'bceb7798ed37b442fe523ae7ef345ccc2231db0b022d30735c2e378d3254a0d4', + 'date' => '12 Mar 2026', + ), + 2 => + array ( + 'filename' => 'php-8.4.19.tar.xz', + 'name' => 'PHP 8.4.19 (tar.xz)', + 'sha256' => '11f7164ab26d356c31f94d3d69cc0e0707d5d2d6494a221aaeae307c08eaaa1c', + 'date' => '12 Mar 2026', + ), + ), + 'museum' => false, + ), '8.5.4' => array ( 'announcement' => diff --git a/include/version.inc b/include/version.inc index 917edf9d7d..3cb148d06d 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.19', - 'date' => '12 Mar 2026', + 'version' => '8.4.20', + 'date' => '09 Apr 2026', 'tags' => [], // Set to ['security'] for security releases. 'sha256' => [ - 'tar.gz' => '9e862435ffb533dc5b0eb486170a74e5f7c8095e8eb8819a2ff5aad430292a18', - 'tar.bz2' => 'bceb7798ed37b442fe523ae7ef345ccc2231db0b022d30735c2e378d3254a0d4', - 'tar.xz' => '11f7164ab26d356c31f94d3d69cc0e0707d5d2d6494a221aaeae307c08eaaa1c', + 'tar.gz' => 'a2def5d534d57c6a0236f2265de7537608af871900a4f7955eff463e9e38247d', + 'tar.bz2' => 'ce25d2610a5f9522ac8f53fbb7b8280b5c021991e9bd9137068c9c629d9ffb56', + 'tar.xz' => 'e454c6f7c89a42f41ebb06dc5c3578e8c8b5f1a3f0da6675665affab04e221f7', ] ]; diff --git a/releases/8_4_20.php b/releases/8_4_20.php new file mode 100644 index 0000000000..d684a68c78 --- /dev/null +++ b/releases/8_4_20.php @@ -0,0 +1,16 @@ +<?php +$_SERVER['BASE_PAGE'] = 'releases/8_4_20.php'; +include_once __DIR__ . '/../include/prepend.inc'; +site_header('PHP 8.4.20 Release Announcement'); +?> +<h1>PHP 8.4.20 Release Announcement</h1> + +<p>The PHP development team announces the immediate availability of PHP 8.4.20. 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.20 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.20">ChangeLog</a>. +</p> +<?php site_footer();

« previous php.webmaster (#33656) next »