Author: Saki Takamachi (SakiTakamachi)
Date: 2026-06-05T07:17:50+09:00
Commit:
https://github.com/php/web-php/commit/13c77df93e0c64d500ea15c9985eb3ac7abd9aeb
Raw diff:
https://github.com/php/web-php/commit/13c77df93e0c64d500ea15c9985eb3ac7abd9aeb.diff
Announce PHP 8.4.22
Changed paths:
A archive/entries/2026-06-04-2.xml
A releases/8_4_22.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 1ddd088546..f88a150721 100644
--- a/ChangeLog-8.php
+++ b/ChangeLog-8.php
@@ -1030,6 +1030,47 @@
<a id="PHP_8_4"></a>
+<section class="version" id="8.4.22"><!-- {{{ 8.4.22 -->
+<h3>Version 8.4.22</h3>
+<b><?php release_date('04-Jun-2026'); ?></b>
+<ul><li>Date:
+<ul>
+ <li>Fixed bug <?php githubissuel('php/php-src', 18422); ?> (int overflow in
php_date_llabs).</li>
+</ul></li>
+<li>Intl:
+<ul>
+ <li>Fix incorrect argument positions in out-of-bounds errors for
IntlCalendar::set(), IntlCalendar::setDate(), IntlCalendar::setDateTime(), and
IntlGregorianCalendar date/time construction.</li>
+ <li>Expose Spoofchecker restriction-level APIs on all supported ICU
versions.</li>
+ <li>Fix SpoofChecker::setAllowedChars() and IntlDateFormatter::__construct()
to report PHP constant names instead of ICU constant names in user-visible
error messages.</li>
+</ul></li>
+<li>MySQLnd:
+<ul>
+ <li>Fix persistent free of non-persistent connect_attr key (David
Carlier).</li>
+</ul></li>
+<li>Opcache:
+<ul>
+ <li>Fixed tracing JIT crash when a VM interrupt is handled during an
observed user function call.</li>
+ <li>Fixed bug <?php githubissuel('php/php-src', 22004); ?> (Assertion
failure at ext/opcache/jit/zend_jit_trace.c).</li>
+</ul></li>
+<li>OpenSSL:
+<ul>
+ <li>Fix compatibility issues with OpenSSL 4.0.</li>
+</ul></li>
+<li>SPL:
+<ul>
+ <li>Fix SplFixedArray::setSize leak when destructor grows during clear.</li>
+ <li>Fixed bug <?php githubissuel('php/php-src', 21933); ?> (use after free
of self-freeing MultipleIterator children).</li>
+</ul></li>
+<li>Standard:
+<ul>
+ <li>Fixed bug <?php githubissuel('php/php-src', 21689); ?>
(version_compare() incorrectly handles versions ending with a dot).</li>
+ <li>Fixed ip2long() leading zeros handling inconsistency on AIX.</li>
+</ul></li>
+</ul>
+<!-- }}} --></section>
+
+
+
<section class="version" id="8.4.21"><!-- {{{ 8.4.21 -->
<h3>Version 8.4.21</h3>
<b><?php release_date('07-May-2026'); ?></b>
diff --git a/archive/archive.xml b/archive/archive.xml
index 80d9ee6eaa..8285a883b6 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-06-04-2.xml"/>
<xi:include href="entries/2026-06-04-1.xml"/>
<xi:include href="entries/2026-06-01-1.xml"/>
<xi:include href="entries/2026-05-11-1.xml"/>
diff --git a/archive/entries/2026-06-04-2.xml b/archive/entries/2026-06-04-2.xml
new file mode 100644
index 0000000000..87db599bd3
--- /dev/null
+++ b/archive/entries/2026-06-04-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.22 Released!</title>
+ <id>https://www.php.net/archive/2026.php#2026-06-04-2</id>
+ <published>2026-06-04T22:14:47+00:00</published>
+ <updated>2026-06-04T22:14:47+00:00</updated>
+ <link href="https://www.php.net/index.php#2026-06-04-2" rel="alternate"
type="text/html"/>
+ <link href="https://www.php.net/archive/2026.php#2026-06-04-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.22. 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.22 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.4">there</a>.
+The list of changes is recorded in the <a
href="https://www.php.net/ChangeLog-8.php#8.4.22">ChangeLog</a>.
+</p> </div>
+ </content>
+</entry>
diff --git a/include/release-qa.php b/include/release-qa.php
index bd330b5fd6..542b4f794d 100644
--- a/include/release-qa.php
+++ b/include/release-qa.php
@@ -75,12 +75,12 @@
'active' => true,
'release' => [
'type' => 'RC',
- 'number' => 1,
- 'sha256_bz2' =>
'7d36abec8664850c5bc81691a349b3d1fdb888f8598c6d0230342fe8a4a6f2d4',
- 'sha256_gz' =>
'34ad40683315db9cf76f2d8f79eb06f4363e76e76bc88f489a64c9512af38c43',
- 'sha256_xz' =>
'f68e7270cc4460b9816bdf647dfe9fc8e8b6e385e77299ac7b8d6f17f75d3098',
+ 'number' => 0,
+ 'sha256_bz2' => '',
+ 'sha256_gz' => '',
+ 'sha256_xz' => '',
'date' => '21 May 2026',
- 'baseurl' => 'https://downloads.php.net/~saki/',
+ 'baseurl' => 'https://downloads.php.net/',
],
],
diff --git a/include/releases.inc b/include/releases.inc
index 342540a042..ea262decd9 100644
--- a/include/releases.inc
+++ b/include/releases.inc
@@ -2,6 +2,43 @@
$OLDRELEASES = array (
8 =>
array (
+ '8.4.21' =>
+ array (
+ 'announcement' =>
+ array (
+ 'English' => '/releases/8_4_21.php',
+ ),
+ 'tags' =>
+ array (
+ 0 => 'security',
+ ),
+ 'date' => '07 May 2026',
+ 'source' =>
+ array (
+ 0 =>
+ array (
+ 'filename' => 'php-8.4.21.tar.gz',
+ 'name' => 'PHP 8.4.21 (tar.gz)',
+ 'sha256' =>
'db96ee0a8e5ee7b73a4913a2aeddc162ba2ef16cd34b9347b5b9a6150e1f8e48',
+ 'date' => '07 May 2026',
+ ),
+ 1 =>
+ array (
+ 'filename' => 'php-8.4.21.tar.bz2',
+ 'name' => 'PHP 8.4.21 (tar.bz2)',
+ 'sha256' =>
'5e0bd287f3be35bf57c211b010527ae5e10a88170f96e64d336044eb5faef430',
+ 'date' => '07 May 2026',
+ ),
+ 2 =>
+ array (
+ 'filename' => 'php-8.4.21.tar.xz',
+ 'name' => 'PHP 8.4.21 (tar.xz)',
+ 'sha256' =>
'7cf5d8ab12c3b2016875bcfaec71bef1ef0b07bed6148f2c447577074431f984',
+ 'date' => '07 May 2026',
+ ),
+ ),
+ 'museum' => false,
+ ),
'8.5.6' =>
array (
'announcement' =>
diff --git a/include/version.inc b/include/version.inc
index 7da6810991..511f8e9536 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.21',
- 'date' => '07 May 2026',
- 'tags' => ['security'], // Set to ['security'] for security releases.
+ 'version' => '8.4.22',
+ 'date' => '04 Jun 2026',
+ 'tags' => [], // Set to ['security'] for security releases.
'sha256' => [
- 'tar.gz' =>
'db96ee0a8e5ee7b73a4913a2aeddc162ba2ef16cd34b9347b5b9a6150e1f8e48',
- 'tar.bz2' =>
'5e0bd287f3be35bf57c211b010527ae5e10a88170f96e64d336044eb5faef430',
- 'tar.xz' =>
'7cf5d8ab12c3b2016875bcfaec71bef1ef0b07bed6148f2c447577074431f984',
+ 'tar.gz' =>
'a012c2c9724baf214a70b41b40a7e130906b8855e54268afa5bc4ae17bc9d823',
+ 'tar.bz2' =>
'4b16e7e2c384ce25e07d28eb949855c4b4fe0d1b7b9ec9c8eebd05d0cfa9c532',
+ 'tar.xz' =>
'696c0f6ad92e94c59059c1eb6e300842b8d050934226efcdf00f2a413cb083cf',
]
];
diff --git a/releases/8_4_22.php b/releases/8_4_22.php
new file mode 100644
index 0000000000..04e9746ce7
--- /dev/null
+++ b/releases/8_4_22.php
@@ -0,0 +1,16 @@
+<?php
+$_SERVER['BASE_PAGE'] = 'releases/8_4_22.php';
+include_once __DIR__ . '/../include/prepend.inc';
+site_header('PHP 8.4.22 Release Announcement');
+?>
+<h1>PHP 8.4.22 Release Announcement</h1>
+
+<p>The PHP development team announces the immediate availability of PHP
8.4.22. 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.22 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.4">there</a>.
+The list of changes is recorded in the <a
href="https://www.php.net/ChangeLog-8.php#8.4.22">ChangeLog</a>.
+</p>
+<?php site_footer();