Author: Daniel Scherzer (DanielEScherzer)
Date: 2026-08-27T15:48:42-07:00

Commit: 
https://github.com/php/web-php/commit/3b9b435992d6868b84da31353c76a7db0c66f449
Raw diff: 
https://github.com/php/web-php/commit/3b9b435992d6868b84da31353c76a7db0c66f449.diff

Announce PHP 8.5.10

Changed paths:
  A  public/archive/entries/2026-08-27-3.xml
  A  public/releases/8_5_10.php
  M  include/release-qa.php
  M  include/releases.inc
  M  include/version.inc
  M  public/ChangeLog-8.php
  M  public/archive/archive.xml


Diff:

diff --git a/include/release-qa.php b/include/release-qa.php
index 6f54276fef..7c6a913f26 100644
--- a/include/release-qa.php
+++ b/include/release-qa.php
@@ -88,10 +88,10 @@
         'active'  => true,
         'release' => [
             'type'       => 'RC',
-            'number'     => 1,
-            'sha256_bz2' => 
'7de35d39e81f418645a8a81da5802c635fea8c9e367aea36e6e54eaf3e753ad0',
-            'sha256_gz'  => 
'ef9a00660be937664e1a02c4bf8487d6addc3a8513a415fc30974a3e84932b39',
-            'sha256_xz'  => 
'7afb06b0512eadfb3a6f7227aa6cc93530d95f9f97024efa133ec7b05c36cfec',
+            'number'     => 0,
+            'sha256_bz2' => '',
+            'sha256_gz'  => '',
+            'sha256_xz'  => '',
             'date'       => '13 August 2026',
             'baseurl'    => 'https://downloads.php.net/~daniels/',
         ],
diff --git a/include/releases.inc b/include/releases.inc
index c3d61541ce..dff5fb77f1 100644
--- a/include/releases.inc
+++ b/include/releases.inc
@@ -2,6 +2,43 @@
 $OLDRELEASES = array (
   8 => 
   array (
+    '8.5.9' => 
+    array (
+      'announcement' => 
+      array (
+        'English' => '/releases/8_5_9.php',
+      ),
+      'tags' => 
+      array (
+        0 => 'security',
+      ),
+      'date' => '30 Jul 2026',
+      'source' => 
+      array (
+        0 => 
+        array (
+          'filename' => 'php-8.5.9.tar.gz',
+          'name' => 'PHP 8.5.9 (tar.gz)',
+          'sha256' => 
'd735459c2cbaeb0673d416c33d372d9ff261d562f6b29da48f3e6aeaeca083af',
+          'date' => '30 Jul 2026',
+        ),
+        1 => 
+        array (
+          'filename' => 'php-8.5.9.tar.bz2',
+          'name' => 'PHP 8.5.9 (tar.bz2)',
+          'sha256' => 
'703c082ad9d2946ac647f3596812300d2c62b360d2f31a999021692a9b39476c',
+          'date' => '30 Jul 2026',
+        ),
+        2 => 
+        array (
+          'filename' => 'php-8.5.9.tar.xz',
+          'name' => 'PHP 8.5.9 (tar.xz)',
+          'sha256' => 
'0db7855f25bcd0ab1d592cdb35e284d6f6a5d2ae0f6f621122e364cc39b708f4',
+          'date' => '30 Jul 2026',
+        ),
+      ),
+      'museum' => false,
+    ),
     '8.4.24' => 
     array (
       'announcement' => 
diff --git a/include/version.inc b/include/version.inc
index 2a25d50219..9e3ad2beb9 100644
--- a/include/version.inc
+++ b/include/version.inc
@@ -20,15 +20,15 @@ $RELEASES = (function () {
 
     /* PHP 8.5 Release */
     $data['8.5'] = [
-        'version' => '8.5.9',
-        'date' => '30 Jul 2026',
-        'tags' => ['security'], // Set to ['security'] for security releases.
+        'version' => '8.5.10',
+        'date' => '27 Aug 2026',
+        'tags' => [''], // Set to ['security'] for security releases.
         'sha256' => [
             // WARNING: Order of SHA256 entries here is DIFFERENT from the
             // order in the manifest
-            'tar.gz' => 
'd735459c2cbaeb0673d416c33d372d9ff261d562f6b29da48f3e6aeaeca083af',
-            'tar.bz2' => 
'703c082ad9d2946ac647f3596812300d2c62b360d2f31a999021692a9b39476c',
-            'tar.xz' => 
'0db7855f25bcd0ab1d592cdb35e284d6f6a5d2ae0f6f621122e364cc39b708f4',
+            'tar.gz' => 
'f5c0ac99b85b3d677de475c2e4f509f9b4f54663f3ee5a84d6d9481a521d4100',
+            'tar.bz2' => 
'd79bd4f3a9248e5cb5833766ba0d51cd35dd01b8727f23f30bcdba6fabc51d3e',
+            'tar.xz' => 
'6a8bebaa4d5a979a38db29a9373e9851f60c6b11f72172c585947e78f3081957',
         ]
     ];
 
diff --git a/public/ChangeLog-8.php b/public/ChangeLog-8.php
index 917c945264..c5f1dac9af 100644
--- a/public/ChangeLog-8.php
+++ b/public/ChangeLog-8.php
@@ -9,6 +9,105 @@
 
 <a id="PHP_8_5"></a>
 
+<section class="version" id="8.5.10"><!-- {{{ 8.5.10 -->
+<h3>Version 8.5.10</h3>
+<b><?php release_date('27-Aug-2026'); ?></b>
+<ul><li>Core:
+<ul>
+  <li>Fixed bug <?php githubissuel('php/php-src', 22782); ?> (Const expr FCC 
crashes under preloading).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 23088); ?> (Stack overflow 
when comparing deeply nested arrays).</li>
+</ul></li>
+<li>Date:
+<ul>
+  <li>Fixed leak on double DatePeriod::__construct() call.</li>
+</ul></li>
+<li>DOM:
+<ul>
+  <li>Fixed bug <?php githubissuel('php/php-src', 23116); ?> (Stack overflow 
when normalizing a deeply nested DOMDocument).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 23117); ?> (Stack overflow 
when normalizing a deeply nested Dom\XMLDocument).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 22825); ?> 
(DOMElement::setAttribute() fails silently when the DTD declares a default 
value for the attribute).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 23120); ?> (Stack overflow 
when comparing deeply nested DOM nodes with DOMNode::isEqualNode()).</li>
+</ul></li>
+<li>Exif:
+<ul>
+  <li>Fixed exif_read_data() allocating a HEIF meta box larger than the file 
it came from.</li>
+</ul></li>
+<li>Intl:
+<ul>
+  <li>Fixed IntlListFormatter::__construct() leaving stale global error state 
after successful calls.</li>
+</ul></li>
+<li>Opcache:
+<ul>
+  <li>Fixed <?php githubissuel('php/php-src', 22693); ?> (DT_TEXTREL in 
JIT-generated TLS access on x86_64).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 22763); ?> (JIT fails to 
clear ZREG_TYPE_ONLY after setting reg).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 22857); ?> (Function JIT 
emits wrong code for FETCH_OBJ_FUNC_ARG on a property hook getter, losing 
register-held variables).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 22916); ?> (Preserve parent 
regs in zend_jit_deoptimizer_start()).</li>
+</ul></li>
+<li>OpenSSL:
+<ul>
+  <li>Fix missing error check on invalid alpn protocols.</li>
+</ul></li>
+<li>MBString:
+<ul>
+  <li>Fixed bug <?php githubissuel('php/php-src', 22779); ?> (mb_strrpos() 
returns the wrong position for a negative offset in a non-UTF-8 encoding).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 21036); ?> 
(mb_ereg_search_getregs() crashes after mb_eregi() invalidates the regex 
cache).</li>
+</ul></li>
+<li>PCRE:
+<ul>
+  <li>Fixed bug <?php githubissuel('php/php-src', 21134); ?> (Crash with \C + 
UTF-8). Using \C in UTF-8 patterns is now forbidden.</li>
+</ul></li>
+<li>PDO_ODBC:
+<ul>
+  <li>Fixed bug <?php githubissuel('php/php-src', 23016); ?> (NULL values in 
long columns come back as garbage binary strings).</li>
+</ul></li>
+<li>PDO_PGSQL:
+<ul>
+  <li>Fixed several lazy fetch (PDO::ATTR_PREFETCH =&gt; 0) defects: an 
infinite loop when cleaning up a fetch left in a COPY, a use-after-free when a 
statement with emulated or disabled prepares is destroyed, a connection left 
busy for the next fetch, and rows delivered from a result another statement 
took over.</li>
+</ul></li>
+<li>Reflection:
+<ul>
+  <li>Fixed bug <?php githubissuel('php/php-src', 22905); ?> (Reflection 
exception messages truncate on null bytes).</li>
+  <li>Fixed ReflectionProperty::isLazy() and skipLazyInitialization() using 
the parent slot when a child class hooks an inherited property.</li>
+  <li>Fixed segfault in ReflectionMethod::createFromMethodName() on an 
uninstantiable subclass.</li>
+</ul></li>
+<li>Session:
+<ul>
+  <li>Fix corruption in mod_mm.</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 23043); ?> (broken session 
id code can cause zend_mm_heap corrupted).</li>
+</ul></li>
+<li>SimpleXML:
+<ul>
+  <li>Fixed integer element offsets that cannot resolve aliasing an existing 
element.</li>
+  <li>Fixed segfault when comparing uninitialized SimpleXMLElement 
instances.</li>
+</ul></li>
+<li>Sockets:
+<ul>
+  <li>Fixed socket_set_option() validation error messages for UDP_SEGMENT and 
SO_LINGER options.</li>
+  <li>Fixed various memory related issues in ext/sockets.</li>
+</ul></li>
+<li>SQLite:
+<ul>
+  <li>Fix leak when trying to close db if blob stream is still open.</li>
+</ul></li>
+<li>Standard:
+<ul>
+  <li>Fixed bug <?php githubissuel('php/php-src', 23111); ?> (Stack overflow 
in array_walk_recursive() with deeply nested arrays).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 23113); ?> (Stack overflow 
in array_replace_recursive() with deeply nested arrays).</li>
+  <li>Fixed bug <?php githubissuel('php/php-src', 23115); ?> (Stack overflow 
in compact() with deeply nested arrays).</li>
+</ul></li>
+<li>Streams:
+<ul>
+  <li>Fixed bug <?php githubissuel('php/php-src', 15836); ?> (Use-after-free 
when a user stream filter accesses $this-&gt;stream during the close 
flush).</li>
+</ul></li>
+<li>XSL:
+<ul>
+  <li>Fixed use-after-free when a DOMDocument subclass __clone() retains the 
stylesheet copy made by XSLTProcessor::importStylesheet().</li>
+</ul></li>
+</ul>
+<!-- }}} --></section>
+
+
+
 <section class="version" id="8.5.9"><!-- {{{ 8.5.9 -->
 <h3>Version 8.5.9</h3>
 <b><?php release_date('30-Jul-2026'); ?></b>
diff --git a/public/archive/archive.xml b/public/archive/archive.xml
index 1cb30883fd..09eb9b71cf 100644
--- a/public/archive/archive.xml
+++ b/public/archive/archive.xml
@@ -9,6 +9,7 @@
     <uri>http://php.net/contact</uri>
     <email>[email protected]</email>
   </author>
+  <xi:include href="entries/2026-08-27-3.xml"/>
   <xi:include href="entries/2026-08-27-2.xml"/>
   <xi:include href="entries/2026-08-27-1.xml"/>
   <xi:include href="entries/2026-08-25-1.xml"/>
diff --git a/public/archive/entries/2026-08-27-3.xml 
b/public/archive/entries/2026-08-27-3.xml
new file mode 100644
index 0000000000..cd7c62d006
--- /dev/null
+++ b/public/archive/entries/2026-08-27-3.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<entry xmlns="http://www.w3.org/2005/Atom";>
+  <title>PHP 8.5.10 Released!</title>
+  <id>https://www.php.net/archive/2026.php#2026-08-27-3</id>
+  <published>2026-08-27T22:44:37+00:00</published>
+  <updated>2026-08-27T22:44:37+00:00</updated>
+  <link href="https://www.php.net/index.php#2026-08-27-3"; rel="alternate" 
type="text/html"/>
+  <link href="https://www.php.net/archive/2026.php#2026-08-27-3"; 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.5.10. This is a bug fix 
release.</p>
+
+<p>All PHP 8.5 users are encouraged to upgrade to this version.</p>
+
+<p>For source downloads of PHP 8.5.10 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.5";>there</a>.
+The list of changes is recorded in the <a 
href="https://www.php.net/ChangeLog-8.php#8.5.10";>ChangeLog</a>.
+</p>    </div>
+  </content>
+</entry>
diff --git a/public/releases/8_5_10.php b/public/releases/8_5_10.php
new file mode 100644
index 0000000000..b030bff60d
--- /dev/null
+++ b/public/releases/8_5_10.php
@@ -0,0 +1,16 @@
+<?php
+$_SERVER['BASE_PAGE'] = 'releases/8_5_10.php';
+require_once __DIR__ . '/../../include/prepend.inc';
+site_header('PHP 8.5.10 Release Announcement', ['cache' => true, 
'cache_control' => 30 * 60]);
+?>
+<h1>PHP 8.5.10 Release Announcement</h1>
+
+<p>The PHP development team announces the immediate availability of PHP 
8.5.10. This is a bug fix release.</p>
+
+<p>All PHP 8.5 users are encouraged to upgrade to this version.</p>
+
+<p>For source downloads of PHP 8.5.10 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.5";>there</a>.
+The list of changes is recorded in the <a 
href="https://www.php.net/ChangeLog-8.php#8.5.10";>ChangeLog</a>.
+</p>
+<?php site_footer();

Reply via email to