Skip to content

Commit 72d8ab8

Browse files
committed
Announce PHP 8.4.20
1 parent 6afabe6 commit 72d8ab8

File tree

7 files changed

+157
-10
lines changed

7 files changed

+157
-10
lines changed

ChangeLog-8.php

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -877,6 +877,79 @@
877877

878878
<a id="PHP_8_4"></a>
879879

880+
<section class="version" id="8.4.20"><!-- {{{ 8.4.20 -->
881+
<h3>Version 8.4.20</h3>
882+
<b><?php release_date('09-Apr-2026'); ?></b>
883+
<ul><li>Bz2:
884+
<ul>
885+
<li>Fix truncation of total output size causing erroneous errors.</li>
886+
</ul></li>
887+
<li>Core:
888+
<ul>
889+
<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>
890+
</ul></li>
891+
<li>DOM:
892+
<ul>
893+
<li>Fixed bug <?php githubissuel('php/php-src', 21486); ?> (Dom\HTMLDocument parser mangles xml:space and xml:lang attributes).</li>
894+
</ul></li>
895+
<li>FFI:
896+
<ul>
897+
<li>Fixed resource leak in FFI::cdef() onsymbol resolution failure.</li>
898+
</ul></li>
899+
<li>GD:
900+
<ul>
901+
<li>Fixed bug <?php githubissuel('php/php-src', 21431); ?> (phpinfo() to display libJPEG 10.0 support).</li>
902+
</ul></li>
903+
<li>Opcache:
904+
<ul>
905+
<li>Fixed bug <?php githubissuel('php/php-src', 20838); ?> (JIT compiler produces wrong arithmetic results).</li>
906+
<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>
907+
<li>Fixed bug <?php githubissuel('php/php-src', 21395); ?> (uaf in jit).</li>
908+
</ul></li>
909+
<li>OpenSSL:
910+
<ul>
911+
<li>Fixed bug <?php githubissuel('php/php-src', 21083); ?> (Skip private_key_bits validation for EC/curve-based keys).</li>
912+
<li>Fix missing error propagation for BIO_printf() calls.</li>
913+
</ul></li>
914+
<li>PCRE:
915+
<ul>
916+
<li>Fixed re-entrancy issue on php_pcre_match_impl, php_pcre_replace_impl, php_pcre_split_impl, and php_pcre_grep_impl.</li>
917+
</ul></li>
918+
<li>PGSQL:
919+
<ul>
920+
<li>Fixed preprocessor silently guarding PGSQL_SUPPRESS_TIMESTAMPS support due to a typo.</li>
921+
</ul></li>
922+
<li>SNMP:
923+
<ul>
924+
<li>Fixed bug <?php githubissuel('php/php-src', 21336); ?> (SNMP::setSecurity() undefined behavior with NULL arguments).</li>
925+
</ul></li>
926+
<li>SOAP:
927+
<ul>
928+
<li>Fixed Set-Cookie parsing bug wrong offset while scanning attributes.</li>
929+
</ul></li>
930+
<li>SPL:
931+
<ul>
932+
<li>Fixed bug <?php githubissuel('php/php-src', 21454); ?> (missing write lock validation in SplHeap).</li>
933+
</ul></li>
934+
<li>Standard:
935+
<ul>
936+
<li>Fixed bug <?php githubissuel('php/php-src', 20906); ?> (Assertion failure when messing up output buffers).</li>
937+
<li>Fixed bug <?php githubissuel('php/php-src', 20627); ?> (Cannot identify some avif images with getimagesize).</li>
938+
</ul></li>
939+
<li>Sysvshm:
940+
<ul>
941+
<li>Fix memory leak in shm_get_var() when variable is corrupted.</li>
942+
</ul></li>
943+
<li>XSL:
944+
<ul>
945+
<li>Fix <?php githubissuel('php/php-src', 21357); ?> (XSLTProcessor works with DOMDocument, but fails with Dom\XMLDocument).</li>
946+
<li>Fixed bug <?php githubissuel('php/php-src', 21496); ?> (UAF in dom_objects_free_storage).</li>
947+
</ul></li>
948+
</ul>
949+
<!-- }}} --></section>
950+
951+
952+
880953
<section class="version" id="8.4.19"><!-- {{{ 8.4.19 -->
881954
<h3>Version 8.4.19</h3>
882955
<b><?php release_date('12-Mar-2026'); ?></b>

archive/archive.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
<uri>http://php.net/contact</uri>
1010
<email>php-webmaster@lists.php.net</email>
1111
</author>
12+
<xi:include href="entries/2026-04-09-2.xml"/>
1213
<xi:include href="entries/2026-04-09-1.xml"/>
1314
<xi:include href="entries/2026-03-12-2.xml"/>
1415
<xi:include href="entries/2026-03-12-1.xml"/>

archive/entries/2026-04-09-2.xml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<entry xmlns="http://www.w3.org/2005/Atom">
3+
<title>PHP 8.4.20 Released!</title>
4+
<id>https://www.php.net/archive/2026.php#2026-04-09-2</id>
5+
<published>2026-04-09T15:24:28+00:00</published>
6+
<updated>2026-04-09T15:24:28+00:00</updated>
7+
<link href="https://www.php.net/index.php#2026-04-09-2" rel="alternate" type="text/html"/>
8+
<link href="https://www.php.net/archive/2026.php#2026-04-09-2" rel="via" type="text/html"/>
9+
<category term="releases" label="New PHP release"/>
10+
<category term="frontpage" label="PHP.net frontpage news"/>
11+
<content type="xhtml">
12+
<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>
13+
14+
<p>All PHP 8.4 users are encouraged to upgrade to this version.</p>
15+
16+
<p>For source downloads of PHP 8.4.20 please visit our <a href="https://www.php.net/downloads.php">downloads page</a>,
17+
Windows source and binaries can also be found <a href="https://www.php.net/downloads.php?os=windows&amp;version=8.4">there</a>.
18+
The list of changes is recorded in the <a href="https://www.php.net/ChangeLog-8.php#8.4.20">ChangeLog</a>.
19+
</p> </div>
20+
</content>
21+
</entry>

include/release-qa.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,12 @@
7575
'active' => true,
7676
'release' => [
7777
'type' => 'RC',
78-
'number' => 1,
79-
'sha256_bz2' => '25f64085c22a48d6941acf38ec9e4c8f046d6f9f2285b7fdf49a9f3cd8217741',
80-
'sha256_gz' => 'd12ac12d1745ba1d5b7a0bd9005adf1ab2fe2ca97132eea5b8a45163998554cd',
81-
'sha256_xz' => 'a0108bc5432499cbdd9c64bcb2cb3715ff2cec23bb768c2fb6ed0c433e9ff933',
78+
'number' => 0,
79+
'sha256_bz2' => '',
80+
'sha256_gz' => '',
81+
'sha256_xz' => '',
8282
'date' => '26 Mar 2026',
83-
'baseurl' => 'https://downloads.php.net/~saki/',
83+
'baseurl' => 'https://downloads.php.net/',
8484
],
8585
],
8686

include/releases.inc

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,42 @@
22
$OLDRELEASES = array (
33
8 =>
44
array (
5+
'8.4.19' =>
6+
array (
7+
'announcement' =>
8+
array (
9+
'English' => '/releases/8_4_19.php',
10+
),
11+
'tags' =>
12+
array (
13+
),
14+
'date' => '12 Mar 2026',
15+
'source' =>
16+
array (
17+
0 =>
18+
array (
19+
'filename' => 'php-8.4.19.tar.gz',
20+
'name' => 'PHP 8.4.19 (tar.gz)',
21+
'sha256' => '9e862435ffb533dc5b0eb486170a74e5f7c8095e8eb8819a2ff5aad430292a18',
22+
'date' => '12 Mar 2026',
23+
),
24+
1 =>
25+
array (
26+
'filename' => 'php-8.4.19.tar.bz2',
27+
'name' => 'PHP 8.4.19 (tar.bz2)',
28+
'sha256' => 'bceb7798ed37b442fe523ae7ef345ccc2231db0b022d30735c2e378d3254a0d4',
29+
'date' => '12 Mar 2026',
30+
),
31+
2 =>
32+
array (
33+
'filename' => 'php-8.4.19.tar.xz',
34+
'name' => 'PHP 8.4.19 (tar.xz)',
35+
'sha256' => '11f7164ab26d356c31f94d3d69cc0e0707d5d2d6494a221aaeae307c08eaaa1c',
36+
'date' => '12 Mar 2026',
37+
),
38+
),
39+
'museum' => false,
40+
),
541
'8.5.4' =>
642
array (
743
'announcement' =>

include/version.inc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,13 @@ $RELEASES = (function () {
3434

3535
/* PHP 8.4 Release */
3636
$data['8.4'] = [
37-
'version' => '8.4.19',
38-
'date' => '12 Mar 2026',
37+
'version' => '8.4.20',
38+
'date' => '09 Apr 2026',
3939
'tags' => [], // Set to ['security'] for security releases.
4040
'sha256' => [
41-
'tar.gz' => '9e862435ffb533dc5b0eb486170a74e5f7c8095e8eb8819a2ff5aad430292a18',
42-
'tar.bz2' => 'bceb7798ed37b442fe523ae7ef345ccc2231db0b022d30735c2e378d3254a0d4',
43-
'tar.xz' => '11f7164ab26d356c31f94d3d69cc0e0707d5d2d6494a221aaeae307c08eaaa1c',
41+
'tar.gz' => 'a2def5d534d57c6a0236f2265de7537608af871900a4f7955eff463e9e38247d',
42+
'tar.bz2' => 'ce25d2610a5f9522ac8f53fbb7b8280b5c021991e9bd9137068c9c629d9ffb56',
43+
'tar.xz' => 'e454c6f7c89a42f41ebb06dc5c3578e8c8b5f1a3f0da6675665affab04e221f7',
4444
]
4545
];
4646

releases/8_4_20.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?php
2+
$_SERVER['BASE_PAGE'] = 'releases/8_4_20.php';
3+
include_once __DIR__ . '/../include/prepend.inc';
4+
site_header('PHP 8.4.20 Release Announcement');
5+
?>
6+
<h1>PHP 8.4.20 Release Announcement</h1>
7+
8+
<p>The PHP development team announces the immediate availability of PHP 8.4.20. This is a bug fix release.</p>
9+
10+
<p>All PHP 8.4 users are encouraged to upgrade to this version.</p>
11+
12+
<p>For source downloads of PHP 8.4.20 please visit our <a href="https://www.php.net/downloads.php">downloads page</a>,
13+
Windows source and binaries can also be found <a href="https://www.php.net/downloads.php?os=windows&amp;version=8.4">there</a>.
14+
The list of changes is recorded in the <a href="https://www.php.net/ChangeLog-8.php#8.4.20">ChangeLog</a>.
15+
</p>
16+
<?php site_footer();

0 commit comments

Comments
 (0)