Author: Jakub Zelenka (bukka)
Date: 2025-11-20T11:12:26+01:00

Commit: 
https://github.com/php/web-php/commit/7e880044bd9dec94951eeb9953cb47587e2c2fee
Raw diff: 
https://github.com/php/web-php/commit/7e880044bd9dec94951eeb9953cb47587e2c2fee.diff

Announce PHP 8.3.28

Changed paths:
  A  archive/entries/2025-11-20-1.xml
  A  releases/8_3_28.php
  M  ChangeLog-8.php
  M  archive/archive.xml
  M  include/releases.inc
  M  include/version.inc


Diff:

diff --git a/ChangeLog-8.php b/ChangeLog-8.php
index b7ac321c7d..dd9bd20301 100644
--- a/ChangeLog-8.php
+++ b/ChangeLog-8.php
@@ -1690,6 +1690,111 @@
 
 <a id="PHP_8_3"></a>
 
+<section class="version" id="8.3.28"><!-- {{{ 8.3.28 -->
+<h3>Version 8.3.28</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', 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', 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>
+</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>
+</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>SimpleXML:
+<ul>
+  <li>Partially fixed bug <?php githubissuel('php/php-src', 16317); ?> 
(SimpleXML does not allow __debugInfo() overrides to work).</li>
+</ul></li>
+<li>Standard:
+<ul>
+  <li>Fix shm corruption with coercion in options of unserialize().</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>
+<li>Zip:
+<ul>
+  <li>Fix memory leak when passing enc_method/enc_password is passed as option 
for ZipArchive::addGlob()/addPattern() and with consecutive calls.</li>
+</ul></li>
+</ul>
+<!-- }}} --></section>
+
+
+
 <section class="version" id="8.3.27"><!-- {{{ 8.3.27 -->
 <h3>Version 8.3.27</h3>
 <b><?php release_date('23-Oct-2025'); ?></b>
diff --git a/archive/archive.xml b/archive/archive.xml
index 0617299b0f..366668344f 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-1.xml"/>
   <xi:include href="entries/2025-11-13-1.xml"/>
   <xi:include href="entries/2025-11-06-1.xml"/>
   <xi:include href="entries/2025-10-31-1.xml"/>
diff --git a/archive/entries/2025-11-20-1.xml b/archive/entries/2025-11-20-1.xml
new file mode 100644
index 0000000000..7a39a25ef8
--- /dev/null
+++ b/archive/entries/2025-11-20-1.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<entry xmlns="http://www.w3.org/2005/Atom";>
+  <title>PHP 8.3.28 Released!</title>
+  <id>https://www.php.net/archive/2025.php#2025-11-20-1</id>
+  <published>2025-11-20T10:08:55+00:00</published>
+  <updated>2025-11-20T10:08:55+00:00</updated>
+  <link href="https://www.php.net/index.php#2025-11-20-1"; rel="alternate" 
type="text/html"/>
+  <link href="https://www.php.net/archive/2025.php#2025-11-20-1"; 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.3.28. This is a bug fix 
release.</p>
+
+<p>All PHP 8.3 users are encouraged to upgrade to this version.</p>
+
+<p>For source downloads of PHP 8.3.28 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.3.28";>ChangeLog</a>.
+</p>    </div>
+  </content>
+</entry>
diff --git a/include/releases.inc b/include/releases.inc
index ffc28cdece..8c249fa2c4 100644
--- a/include/releases.inc
+++ b/include/releases.inc
@@ -2,6 +2,42 @@
 $OLDRELEASES = array (
   8 => 
   array (
+    '8.3.27' => 
+    array (
+      'announcement' => 
+      array (
+        'English' => '/releases/8_3_27.php',
+      ),
+      'tags' => 
+      array (
+      ),
+      'date' => '23 Oct 2025',
+      'source' => 
+      array (
+        0 => 
+        array (
+          'filename' => 'php-8.3.27.tar.gz',
+          'name' => 'PHP 8.3.27 (tar.gz)',
+          'sha256' => 
'bf189e30f81e11526690b1c82e4fb8b286b607cd7afaf4bf27a39003d8f3246f',
+          'date' => '23 Oct 2025',
+        ),
+        1 => 
+        array (
+          'filename' => 'php-8.3.27.tar.bz2',
+          'name' => 'PHP 8.3.27 (tar.bz2)',
+          'sha256' => 
'a1dd2b51b437c0a6337e019004778a8ef253db4e9aff7d48d88798ca91b7e2a4',
+          'date' => '23 Oct 2025',
+        ),
+        2 => 
+        array (
+          'filename' => 'php-8.3.27.tar.xz',
+          'name' => 'PHP 8.3.27 (tar.xz)',
+          'sha256' => 
'c15a09a9d199437144ecfef7d712ec4ca5c6820cf34acc24cc8489dd0cee41ba',
+          'date' => '23 Oct 2025',
+        ),
+      ),
+      'museum' => false,
+    ),
     '8.3.26' => 
     array (
       'announcement' => 
diff --git a/include/version.inc b/include/version.inc
index dee0d96977..a5e639802e 100644
--- a/include/version.inc
+++ b/include/version.inc
@@ -32,13 +32,13 @@ $RELEASES = (function () {
 
     /* PHP 8.3 Release */
     $data['8.3'] = [
-        'version' => '8.3.27',
-        'date' => '23 Oct 2025',
+        'version' => '8.3.28',
+        'date' => '20 Nov 2025',
         'tags' => [], // Set to ['security'] for security releases.
         'sha256' => [
-            'tar.gz' => 
'bf189e30f81e11526690b1c82e4fb8b286b607cd7afaf4bf27a39003d8f3246f',
-            'tar.bz2' => 
'a1dd2b51b437c0a6337e019004778a8ef253db4e9aff7d48d88798ca91b7e2a4',
-            'tar.xz' => 
'c15a09a9d199437144ecfef7d712ec4ca5c6820cf34acc24cc8489dd0cee41ba',
+            'tar.gz' => 
'2f7dda35bbef2842ec61510aaefe52c78361a61f9cfabd99a7789204d6383d9f',
+            'tar.bz2' => 
'd5b385ee351ec463c85d47eeb53b51156f3483eaf3ff43a7ad5080c2b6d4c557',
+            'tar.xz' => 
'25e3860f30198a386242891c0bf9e2955931f7b666b96c3e3103d36a2a322326',
         ]
     ];
 
diff --git a/releases/8_3_28.php b/releases/8_3_28.php
new file mode 100644
index 0000000000..66dd2ebf3b
--- /dev/null
+++ b/releases/8_3_28.php
@@ -0,0 +1,16 @@
+<?php
+$_SERVER['BASE_PAGE'] = 'releases/8_3_28.php';
+include_once __DIR__ . '/../include/prepend.inc';
+site_header('PHP 8.3.28 Release Announcement');
+?>
+<h1>PHP 8.3.28 Release Announcement</h1>
+
+<p>The PHP development team announces the immediate availability of PHP 
8.3.28. This is a bug fix release.</p>
+
+<p>All PHP 8.3 users are encouraged to upgrade to this version.</p>
+
+<p>For source downloads of PHP 8.3.28 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.3.28";>ChangeLog</a>.
+</p>
+<?php site_footer();

Reply via email to