[web-php] master: Announce PHP 8.4.24

From: Date: Thu, 30 Jul 2026 14:58:11 +0000
Subject: [web-php] master: Announce PHP 8.4.24
Groups: php.webmaster 
Request: Send a blank email to php-webmaster+get-33915@lists.php.net to get a copy of this message
Author: Eric Mann (ericmann) Date: 2026-07-30T07:57:54-07:00 Commit: https://github.com/php/web-php/commit/6f3f21b0ce4bbc6dde75135300ffae5aba0fedf8 Raw diff: https://github.com/php/web-php/commit/6f3f21b0ce4bbc6dde75135300ffae5aba0fedf8.diff Announce PHP 8.4.24 Changed paths: A archive/entries/2026-07-30-5.xml A releases/8_4_24.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 42a72e5885..1b439c407c 100644 --- a/ChangeLog-8.php +++ b/ChangeLog-8.php @@ -1236,6 +1236,118 @@ <a id="PHP_8_4"></a> +<section class="version" id="8.4.24"><!-- {{{ 8.4.24 --> +<h3>Version 8.4.24</h3> +<b><?php release_date('30-Jul-2026'); ?></b> +<ul><li>BCMath: +<ul> + <li>Fixed <?php githubsecurityl('php/php-src', 'x692-q9x7-8c3f'); ?> (Out-of-bounds write in bccomp()). (CVE-2026-17544)</li> +</ul></li> +<li>Calendar: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 22602); ?> (gregoriantojd() and juliantojd() integer overflow with INT_MAX year).</li> +</ul></li> +<li>Date: +<ul> + <li>Update timelib to 2022.17.</li> + <li>Fixed bug <?php githubissuel('php/php-src', 19803); ?> (Parsing a string with a single white space does create an error).</li> + <li>Fixed Unix timestamps in February of the year 0 are misparsed with @-notation.</li> + <li>Fixed bug <?php githubissuel('php/php-src', 11310); ?> (__debugInfo does nothing on userland classes extending Date classes).</li> +</ul></li> +<li>DBA: +<ul> + <li>Fixed OOB read on malformed length field in dba flatfile handler.</li> +</ul></li> +<li>DOM: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 22570); ?> (Stack overflow when serializing a deeply nested Dom\XMLDocument).</li> +</ul></li> +<li>Exif: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 11020); ?> (exif_read_data() emits a spurious "Illegal IFD size" warning when an IFD is not followed by a next-IFD offset).</li> +</ul></li> +<li>GD: +<ul> + <li>Upgrade libgd. (CVE-2026-9672)</li> +</ul></li> +<li>Hash: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 18173); ?> (ext/hash relies on implementation-defined malloc alignment).</li> +</ul></li> +<li>Intl: +<ul> + <li>Fixed Locale::lookup() and locale_lookup() to return NULL instead of the fallback locale when a language tag cannot be canonicalized.</li> + <li>Fixed memory leaks when calling Collator::__construct() or Spoofchecker::__construct() twice.</li> + <li>Fixed IntlChar methods leaving stale global error state after successful calls.</li> +</ul></li> +<li>ODBC: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 22668); ?> (Heap buffer over-read when a column value exceeds the driver-reported display size).</li> +</ul></li> +<li>OpenSSL: +<ul> + <li>Fixed timeout for supplemental read at end of a blocking stream in SSL stream wrapper.</li> +</ul></li> +<li>PDO_ODBC: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 20726); ?> (Crash with ODBC connection pooling when the DSN carries no credentials).</li> + <li>Fixed bug <?php githubissuel('php/php-src', 22667); ?> (Heap buffer over-read when a column value exceeds the driver-reported display size).</li> + <li>Fixed bug <?php githubissuel('php/php-src', 22666); ?> (Heap buffer overflow when an output parameter value is longer than the declared maxlen).</li> + <li>Fixed bug <?php githubissuel('php/php-src', 22665); ?> (Out-of-bounds write when the ODBC driver reports a diagnostic message length beyond the error buffer).</li> +</ul></li> +<li>PGSQL: +<ul> + <li>Fixed <?php githubsecurityl('php/php-src', '7qpv-r5mr-78m4'); ?> (SQL injection via E'...' backslash breakout). (CVE-2026-17543)</li> +</ul></li> +<li>Phar: +<ul> + <li>Fixed inconsistent handling of the magic ".phar" directory. Paths such as "/.phar" remain protected, while non-magic paths that merely start with ".phar" are handled consistently across file and directory creation, copying, ArrayAccess, stream lookup, directory iteration and extraction.</li> + <li>Fixed <?php githubsecurityl('php/php-src', 'vc5h-9ppw-p5f3'); ?> (Crash via recursive symlinks). (CVE-2026-7260)</li> +</ul></li> +<li>PHPDBG: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 17387); ?> (Trivial crash in phpdbg lexer).</li> + <li>Fixed fleaked lowercased lookup keys in phpdbg_resolve_opline_break.</li> + <li>Fixed off-by-one in phpdbg_safe_class_lookup() causing class lookups to always fail during phpdbg's signal-safe interruption path.</li> +</ul></li> +<li>Reflection: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 22324); ?> (Ignore leading namespace separator in ReflectionParameter::__construct()).</li> + <li>Fixed bug <?php githubissuel('php/php-src', 22441); ?> (ReflectionClass::hasProperty() and getProperty() ignore dynamic properties shadowing a private parent property).</li> + <li>Fixed bug <?php githubissuel('php/php-src', 22658); ?> (ReflectionConstant::__toString() with a string value with null bytes truncates output).</li> + <li>Fixed bug <?php githubissuel('php/php-src', 22681); ?> (Reflection*::__toString() truncates on null bytes).</li> +</ul></li> +<li>Session: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 21314); ?> (Different session garbage collector behavior between PHP 8.3 and PHP 8.5).</li> +</ul></li> +<li>SPL: +<ul> + <li>Fix class_parents for classes with leading slash in non-autoload mode.</li> + <li>Ignore leading back-slash in class_parents(), class_implements(), and class_uses().</li> + <li>Fixed bug <?php githubissuel('php/php-src', 16217); ?> (SplFileObject::fputcsv() on an uninitialized object segfaults).</li> +</ul></li> +<li>Standard: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 22360); ?> (convert.base64-encode corruption on incremental flush).</li> + <li>Fixed bug <?php githubissuel('php/php-src', 22395); ?> (base_convert() outputs at most 64 characters).</li> + <li>Fixed integer overflow in getimagesize() and getimagesizefromstring() when parsing an IFF chunk with a size of INT_MAX.</li> + <li>Fixed bug <?php githubissuel('php/php-src', 22678); ?> (Use-after-free in array_multisort() when the comparator mutates the array being sorted).</li> +</ul></li> +<li>Streams: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 22617); ?> (persistent stream keys truncated at null bytes, causing distinct abstract unix domain sockets to share a resource).</li> +</ul></li> +<li>Zip: +<ul> + <li>Fixed bug <?php githubissuel('php/php-src', 22649); ?> (ZipArchive::setCommentName() and setCommentIndex() could crash after overwriting an entry and resetting its inherited unchanged comment).</li> + <li>Fixed bug <?php githubissuel('php/php-src', 21705); ?> (ZipArchive::getFromIndex() ignores ZipArchive::FL_UNCHANGED for deleted entries).</li> +</ul></li> +</ul> +<!-- }}} --></section> + + + <section class="version" id="8.4.23"><!-- {{{ 8.4.23 --> <h3>Version 8.4.23</h3> <b><?php release_date('03-Jul-2026'); ?></b> diff --git a/archive/archive.xml b/archive/archive.xml index c1c27837bc..68b70ac5b9 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-07-30-5.xml"/> <xi:include href="entries/2026-07-30-4.xml"/> <xi:include href="entries/2026-07-30-3.xml"/> <xi:include href="entries/2026-07-30-2.xml"/> diff --git a/archive/entries/2026-07-30-5.xml b/archive/entries/2026-07-30-5.xml new file mode 100644 index 0000000000..5d571ac51e --- /dev/null +++ b/archive/entries/2026-07-30-5.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<entry xmlns="http://www.w3.org/2005/Atom"> + <title>PHP 8.4.24 Released!</title> + <id>https://www.php.net/archive/2026.php#2026-07-30-5</id> + <published>2026-07-30T14:55:16+00:00</published> + <updated>2026-07-30T14:55:16+00:00</updated> + <link href="https://www.php.net/index.php#2026-07-30-5" rel="alternate" type="text/html"/> + <link href="https://www.php.net/archive/2026.php#2026-07-30-5" 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.24. This is a security release.</p> + +<p>All PHP 8.4 users are encouraged to upgrade to this version.</p> + +<p>For source downloads of PHP 8.4.24 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.24">ChangeLog</a>. +</p> </div> + </content> +</entry> diff --git a/include/release-qa.php b/include/release-qa.php index 959d00fa11..59f16e0f08 100644 --- a/include/release-qa.php +++ b/include/release-qa.php @@ -75,12 +75,12 @@ 'active' => true, 'release' => [ 'type' => 'RC', - 'number' => 1, - 'sha256_bz2' => '69884d0668993a12b161882576295708de46a2f6b56374a1b161c94afe652d7e', - 'sha256_gz' => '0cc5b8c97adbd854222695f3e45667d3b2dd3b9fa1d0f4c9cb0c965a0e291d48', - 'sha256_xz' => '39fcc5625ca453232cc46601029ed48b09efe9ea5c76575f365027fbd7b72e8b', + 'number' => 0, + 'sha256_bz2' => '', + 'sha256_gz' => '', + 'sha256_xz' => '', 'date' => '16 July 2026', - 'baseurl' => 'https://downloads.php.net/~saki/', + 'baseurl' => 'https://downloads.php.net/', ], ], diff --git a/include/releases.inc b/include/releases.inc index 518db784ce..11149c0341 100644 --- a/include/releases.inc +++ b/include/releases.inc @@ -2,6 +2,43 @@ $OLDRELEASES = array ( 8 => array ( + '8.4.23' => + array ( + 'announcement' => + array ( + 'English' => '/releases/8_4_23.php', + ), + 'tags' => + array ( + 0 => 'security', + ), + 'date' => '02 Jul 2026', + 'source' => + array ( + 0 => + array ( + 'filename' => 'php-8.4.23.tar.gz', + 'name' => 'PHP 8.4.23 (tar.gz)', + 'sha256' => 'f43b69572cabfb91c023356f3ce197c782d8a255bc084c1a6af58c0e86cf7573', + 'date' => '02 Jul 2026', + ), + 1 => + array ( + 'filename' => 'php-8.4.23.tar.bz2', + 'name' => 'PHP 8.4.23 (tar.bz2)', + 'sha256' => 'c142c063b10cff68d072766e3ffbfb3654a089b938668b0830356437ee95e0fa', + 'date' => '02 Jul 2026', + ), + 2 => + array ( + 'filename' => 'php-8.4.23.tar.xz', + 'name' => 'PHP 8.4.23 (tar.xz)', + 'sha256' => '1ab9f52008414e43bb2427ffa288eff2a4de39e1a830f957e800ba368d887a72', + 'date' => '02 Jul 2026', + ), + ), + 'museum' => false, + ), '8.3.32' => array ( 'announcement' => diff --git a/include/version.inc b/include/version.inc index a1e34c7d6f..d7f0acd87a 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.23', - 'date' => '02 Jul 2026', + 'version' => '8.4.24', + 'date' => '30 Jul 2026', 'tags' => ['security'], // Set to ['security'] for security releases. 'sha256' => [ - 'tar.gz' => 'f43b69572cabfb91c023356f3ce197c782d8a255bc084c1a6af58c0e86cf7573', - 'tar.bz2' => 'c142c063b10cff68d072766e3ffbfb3654a089b938668b0830356437ee95e0fa', - 'tar.xz' => '1ab9f52008414e43bb2427ffa288eff2a4de39e1a830f957e800ba368d887a72', + 'tar.gz' => 'd5fe6a1d7633e70645dc757461eeb7b764ff6a04d0487f076dd56f1f9d8059db', + 'tar.bz2' => '286890447588510df110ede9e9ce09f1eb4f9856630b47fdc40ece70e20373cf', + 'tar.xz' => 'e127be09a8506f4327c5cfa78a614b00d210714484ec215ce0011b4a03c00731', ] ]; diff --git a/releases/8_4_24.php b/releases/8_4_24.php new file mode 100644 index 0000000000..3d0890e713 --- /dev/null +++ b/releases/8_4_24.php @@ -0,0 +1,16 @@ +<?php +$_SERVER['BASE_PAGE'] = 'releases/8_4_24.php'; +include_once __DIR__ . '/../include/prepend.inc'; +site_header('PHP 8.4.24 Release Announcement', ['cache' => true, 'cache_control' => 30 * 60]); +?> +<h1>PHP 8.4.24 Release Announcement</h1> + +<p>The PHP development team announces the immediate availability of PHP 8.4.24. This is a security release.</p> + +<p>All PHP 8.4 users are encouraged to upgrade to this version.</p> + +<p>For source downloads of PHP 8.4.24 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.24">ChangeLog</a>. +</p> +<?php site_footer();

« previous php.webmaster (#33915) next »