[PHP-WEBMASTER] [web-php] master: Announce PHP 8.4.15

[email protected] (Calvin Buckley)
Newsgroups php.webmaster
Message-ID <[email protected]>
Author: Calvin Buckley (NattyNarwhal)
Date: 2025-11-20T09:51:33-04:00

Commit: https://github.com/php/web-php/commit/1997486a90abb974808a5a42bcb35016a030c4aa
Raw diff: https://github.com/php/web-php/commit/1997486a90abb974808a5a42bcb35016a030c4aa.diff

Announce PHP 8.4.15

Changed paths:
  A  archive/entries/2025-11-20-2.xml
  A  releases/8_4_15.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 dd9bd20301..075068b6b8 100644
--- a/ChangeLog-8.php
+++ b/ChangeLog-8.php
@@ -9,6 +9,113 @@
 
 <a id="PHP_8_4"></a>
 
+<section class="version" id="8.4.15"><!-- {{{ 8.4.15 -->
+<h3>Version 8.4.15</h3>
+<b><?php release_date('20-Nov-2025'); ?></b>
+<ul><li>Core:
+<ul>
+  <li>Fixed bug <?php githubissuel('php/php-src', 19934); ?> (CGI with auto_globals_jit=0 causes uouv).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 20073); ?> (Assertion failure in WeakMap offset operations on reference).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 20085); ?> (Assertion failure when combining lazy object get_properties exception with foreach loop).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 19844); ?> (Don't bail when closing resources on shutdown).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 20177); ?> (Accessing overridden private property in get_object_vars() triggers assertion error).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 20270); ?> (Broken parent hook call with named arguments).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 20183); ?> (Stale EG(opline_before_exception) pointer through eval).</li>
+</ul></li>
+<li>DOM:
+<ul>
+  <li>Partially fixed bug <?php githubissuel('php/php-src', 16317); ?> (DOM classes do not allow __debugInfo() overrides to work).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 20281); ?> (\Dom\Document::getElementById() is inconsistent after nodes are removed).</li>
+</ul></li>
+<li>Exif:
+<ul>
+  <li>Fix possible memory leak when tag is empty.</li>
+</ul></li>
+<li>FPM:
+<ul>
+  <li>Fixed bug <?php githubissuel('php/php-src', 19974); ?> (fpm_status_export_to_zval segfault for parallel execution).</li>
+</ul></li>
+<li>FTP:
+<ul>
+  <li>Fixed bug <?php githubissuel('php/php-src', 20240); ?> (FTP with SSL: ftp_fput(): Connection timed out on successful writes).</li>
+</ul></li>
+<li>GD:
+<ul>
+  <li>Fixed bug <?php githubissuel('php/php-src', 20070); ?> (Return type violation in imagefilter when an invalid filter is provided).</li>
+</ul></li>
+<li>Intl:
+<ul>
+  <li>Fix memory leak on error in locale_filter_matches().</li>
+</ul></li>
+<li>LibXML:
+<ul>
+  <li>Fix not thread safe schema/relaxng calls.</li>
+</ul></li>
+<li>MySQLnd:
+<ul>
+  <li>Fixed bug <?php githubissuel('php/php-src', 8978); ?> (SSL certificate verification fails (port doubled)).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 20122); ?> (getColumnMeta() for JSON-column in MySQL).</li>
+</ul></li>
+<li>Opcache:
+<ul>
+  <li>Fixed bug <?php githubissuel('php/php-src', 20081); ?> (access to uninitialized vars in preload_load()).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 20121); ?> (JIT broken in ZTS builds on MacOS 15).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 19875); ?> (JIT 1205 segfault on large file compiled in subprocess).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 20012); ?> (heap buffer overflow in jit).</li>
+  <li>Partially fixed bug <?php githubissuel('php/php-src', 17733); ?> (Avoid calling wrong function when reusing file caches across differing environments).</li>
+</ul></li>
+<li>PgSql:
+<ul>
+  <li>Fix memory leak when first string conversion fails.</li>
+  <li>Fix segfaults when attempting to fetch row into a non-instantiable class name.</li>
+</ul></li>
+<li>Phar:
+<ul>
+  <li>Fix memory leak of argument in webPhar.</li>
+  <li>Fix memory leak when setAlias() fails.</li>
+  <li>Fix a bunch of memory leaks in phar_parse_zipfile() error handling.</li>
+  <li>Fix file descriptor/memory leak when opening central fp fails.</li>
+  <li>Fix memleak+UAF when opening temp stream in buildFromDirectory() fails.</li>
+  <li>Fix potential buffer length truncation due to usage of type int instead of type size_t.</li>
+  <li>Fix memory leak when openssl polyfill returns garbage.</li>
+  <li>Fix file descriptor leak in phar_zip_flush() on failure.</li>
+  <li>Fix memory leak when opening temp file fails while trying to open gzip-compressed archive.</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 20302); ?> (Freeing a phar alias may invalidate PharFileInfo objects).</li>
+</ul></li>
+<li>Random:
+<ul>
+  <li>Fix Randomizer::__serialize() w.r.t. INDIRECTs.</li>
+</ul></li>
+<li>Reflection:
+<ul>
+  <li>Fixed bug <?php githubissuel('php/php-src', 20217); ?> (ReflectionClass::isIterable() incorrectly returns true for classes with property hooks).</li>
+</ul></li>
+<li>SimpleXML:
+<ul>
+  <li>Partially fixed bug <?php githubissuel('php/php-src', 16317); ?> (SimpleXML does not allow __debugInfo() overrides to work).</li>
+</ul></li>
+<li>Streams:
+<ul>
+  <li>Fixed bug <?php githubissuel('php/php-src', 19798); ?>: XP_SOCKET XP_SSL (Socket stream modules): Incorrect condition for Win32/Win64.</li>
+</ul></li>
+<li>Tidy:
+<ul>
+  <li>Fixed <?php githubissuel('php/php-src', 19021); ?> (improved tidyOptGetCategory detection).</li>
+  <li>Fix UAF in tidy when tidySetErrorBuffer() fails.</li>
+</ul></li>
+<li>XMLReader:
+<ul>
+  <li>Fix arginfo/zpp violations when LIBXML_SCHEMAS_ENABLED is not available.</li>
+</ul></li>
+<li>Windows:
+<ul>
+  <li>Fix <?php githubissuel('php/php-src', 19722); ?> (_get_osfhandle asserts in debug mode when given a socket).</li>
+</ul></li>
+</ul>
+<!-- }}} --></section>
+
+
+
 <section class="version" id="8.4.14"><!-- {{{ 8.4.14 -->
 <h3>Version 8.4.14</h3>
 <b><?php release_date('23-Oct-2025'); ?></b>
diff --git a/archive/archive.xml b/archive/archive.xml
index 366668344f..547fde4396 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/2025-11-20-2.xml"/>
   <xi:include href="entries/2025-11-20-1.xml"/>
   <xi:include href="entries/2025-11-13-1.xml"/>
   <xi:include href="entries/2025-11-06-1.xml"/>
diff --git a/archive/entries/2025-11-20-2.xml b/archive/entries/2025-11-20-2.xml
new file mode 100644
index 0000000000..f995eadcab
--- /dev/null
+++ b/archive/entries/2025-11-20-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.15 Released!</title>
+  <id>https://www.php.net/archive/2025.php#2025-11-20-2</id>
+  <published>2025-11-20T13:48:26+00:00</published>
+  <updated>2025-11-20T13:48:26+00:00</updated>
+  <link href="https://www.php.net/index.php#2025-11-20-2" rel="alternate" type="text/html"/>
+  <link href="https://www.php.net/archive/2025.php#2025-11-20-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.15. 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.15 please visit our <a href="https://www.php.net/downloads.php">downloads page</a>,
+Windows source and binaries can be found on <a href="https://windows.php.net/download/">windows.php.net/download/</a>.
+The list of changes is recorded in the <a href="https://www.php.net/ChangeLog-8.php#8.4.15">ChangeLog</a>.
+</p>    </div>
+  </content>
+</entry>
diff --git a/include/release-qa.php b/include/release-qa.php
index dc5d5b31e4..c49614c776 100644
--- a/include/release-qa.php
+++ b/include/release-qa.php
@@ -88,12 +88,12 @@
         'active'  => true,
         'release' => [
             'type'       => 'RC',
-            'number'     => 1,
-            'sha256_bz2' => 'f6540192e152f23b620718e516026b5b75bd6b3f5b63efe81c001426be82103e',
-            'sha256_gz'  => 'e0fa65261c114161b1c95274c0e9a4f0e0b77d4895104e99055c907806c8f90f',
-            'sha256_xz'  => '0674d217795e27b61c873d69197ba30be44e86a8af23faf171283cc4bd28d5ed',
+            'number'     => 0,
+            'sha256_bz2' => '',
+            'sha256_gz'  => '',
+            'sha256_xz'  => '',
             'date'       => '06 Nov 2025',
-            'baseurl'    => 'https://downloads.php.net/~calvinb/',
+            'baseurl'    => 'https://downloads.php.net/',
         ],
     ],
 
diff --git a/include/releases.inc b/include/releases.inc
index 8c249fa2c4..28c88737c1 100644
--- a/include/releases.inc
+++ b/include/releases.inc
@@ -2,6 +2,43 @@
 $OLDRELEASES = array (
   8 => 
   array (
+    '8.4.14' => 
+    array (
+      'announcement' => 
+      array (
+        'English' => '/releases/8_4_14.php',
+      ),
+      'tags' => 
+      array (
+        0 => '',
+      ),
+      'date' => '23 Oct 2025',
+      'source' => 
+      array (
+        0 => 
+        array (
+          'filename' => 'php-8.4.14.tar.gz',
+          'name' => 'PHP 8.4.14 (tar.gz)',
+          'sha256' => '40341f3e03a36d48facdb6cc2ec600ff887a1af9a5e5fee0b40f40b61488afae',
+          'date' => '23 Oct 2025',
+        ),
+        1 => 
+        array (
+          'filename' => 'php-8.4.14.tar.bz2',
+          'name' => 'PHP 8.4.14 (tar.bz2)',
+          'sha256' => 'f2139ce4cb7a6c5643ee98caa34e5c32ba841c2ba293e34a3d0357faa84bb3e7',
+          'date' => '23 Oct 2025',
+        ),
+        2 => 
+        array (
+          'filename' => 'php-8.4.14.tar.xz',
+          'name' => 'PHP 8.4.14 (tar.xz)',
+          'sha256' => 'bac90ee7cf738e814c89b6b27d4d2c4b70e50942a420837e1a22f5fd5f9867a3',
+          'date' => '23 Oct 2025',
+        ),
+      ),
+      'museum' => false,
+    ),
     '8.3.27' => 
     array (
       'announcement' => 
diff --git a/include/version.inc b/include/version.inc
index a5e639802e..14942e4179 100644
--- a/include/version.inc
+++ b/include/version.inc
@@ -20,13 +20,13 @@ $RELEASES = (function () {
 
     /* PHP 8.4 Release */
     $data['8.4'] = [
-        'version' => '8.4.14',
-        'date' => '23 Oct 2025',
+        'version' => '8.4.15',
+        'date' => '20 Nov 2025',
         'tags' => [''], // Set to ['security'] for security releases.
         'sha256' => [
-            'tar.gz' => '40341f3e03a36d48facdb6cc2ec600ff887a1af9a5e5fee0b40f40b61488afae',
-            'tar.bz2' => 'f2139ce4cb7a6c5643ee98caa34e5c32ba841c2ba293e34a3d0357faa84bb3e7',
-            'tar.xz' => 'bac90ee7cf738e814c89b6b27d4d2c4b70e50942a420837e1a22f5fd5f9867a3',
+            'tar.gz' => '51d23c98073c1e88c98c12b175736a11316cd3d4753f8d060934e53e5a9945c3',
+            'tar.bz2' => 'b7155bdd498d60d63e4bc320dc224863976d31b5bd9339699726c961255a3197',
+            'tar.xz' => 'a060684f614b8344f9b34c334b6ba8db1177555997edb5b1aceab0a4b807da7e',
         ]
     ];
 
diff --git a/releases/8_4_15.php b/releases/8_4_15.php
new file mode 100644
index 0000000000..cc8187cd6c
--- /dev/null
+++ b/releases/8_4_15.php
@@ -0,0 +1,16 @@
+<?php
+$_SERVER['BASE_PAGE'] = 'releases/8_4_15.php';
+include_once __DIR__ . '/../include/prepend.inc';
+site_header('PHP 8.4.15 Release Announcement');
+?>
+<h1>PHP 8.4.15 Release Announcement</h1>
+
+<p>The PHP development team announces the immediate availability of PHP 8.4.15. 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.15 please visit our <a href="https://www.php.net/downloads.php">downloads page</a>,
+Windows source and binaries can be found on <a href="https://windows.php.net/download/">windows.php.net/download/</a>.
+The list of changes is recorded in the <a href="https://www.php.net/ChangeLog-8.php#8.4.15">ChangeLog</a>.
+</p>
+<?php site_footer();
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.