Commit b113697b19b for php
commit b113697b19b42d04658d080ff9bf377f269502ea
Merge: c4a1e63074c 8c78c97f196
Author: Ilia Alshanetsky <ilia@ilia.ws>
Date: Wed Sep 30 13:56:05 2026 -0400
Merge branch 'PHP-8.5' into PHP-8.6
* PHP-8.5:
ext/pdo: Make PDOStatement::setFetchMode() updates atomic
diff --cc NEWS
index 36ae20791bb,ac07c87bcf5..b91a71a3f18
--- a/NEWS
+++ b/NEWS
@@@ -37,94 -21,6 +37,96 @@@ PH
. Fixed use-after-free when a dl()-loaded extension declares a frameless
function and a later request calls it. (Ilia Alshanetsky)
+- FFI:
+ . Fixed crashes with FFI callbacks created from __call() trampolines
+ and array callables whose object is released. (Ilia Alshanetsky)
+
+- Intl:
+ . Fixed grapheme_strstr() and grapheme_stristr() returning incorrect substrings
+ when supplementary characters precede the match. (Weilin Du)
+
+- MySQLnd:
+ . Fixed field_count not resetting on OK packet. (Kamil Tekiela)
+ . Fixed memory leak when closing a prepared statement after its connection
+ was killed. (Kamil Tekiela)
+
+- Opcache:
+ . Fix zend_analyze_calls() call_stack buffer overrun. (Mrmaxmeier)
+ . Fixed bug GH-23679 (Tracing JIT writes a parent private property into a
+ child's shadowing public property). (Ilia Alshanetsky)
+ . Fix multiple incorrect DCE due to unsound escape analysis. (ndossche,
+ arnaud-lb)
+
+- OpenSSL:
+ . Fixed stream_socket_enable_crypto() leaving the socket non-blocking
+ after a handshake timeout. (Ilia Alshanetsky)
+ . Fix memory leak by doing early salt validation. (adapik)
+
+- PCNTL:
+ . Fixed pcntl_signal_dispatch() dropping the queued signals when it runs while
+ an exception is pending. (nicolas-grekas)
+ . Fixed pcntl_signal_dispatch() dropping the signals queued behind a handler
+ that throws. (nicolas-grekas)
+ . Fixed bug GH-23986 (/proc/self paths resolve to the parent process after
+ pcntl_fork()). (Lazizbek Ergashev)
+
+- PDO:
+ . Fixed PDO::setAttribute() installing a PDO::ATTR_STATEMENT_CLASS class
+ whose constructor arguments it rejects. (Ilia Alshanetsky)
+ . Fixed PDO::ATTR_STATEMENT_CLASS constructor_args type errors reporting
+ "array given" regardless of the value passed. (Ilia Alshanetsky)
+ . Fixed PDOStatement::bindParam() and bindColumn() leaking the driver
+ options value. (Ilia Alshanetsky)
+ . Fixed PDOStatement not reporting its bound parameters and columns to the
+ cycle collector. (Ilia Alshanetsky)
++ . Fixed PDOStatement::setFetchMode() not applying changes atomically.
++ (Ilia Alshanetsky)
+ . Fixed PDOStatement::execute() leaving the previous result available
+ after a failed execution. (Ilia Alshanetsky)
+ . Fixed a use-after-free when bindValue()/execute()/closeCursor() is called
+ from a bound parameter's __toString() during execute(). (Ilia Alshanetsky)
+
+- PDO_DBLIB:
+ . Fixed bug GH-23741 (segfault after a failed query inside a PDO
+ transaction). Errors raised by beginTransaction(), commit(), rollBack()
+ and lastInsertId() are now reported instead of being dropped.
+ (Ilia Alshanetsky)
+
+- PDO_PGSQL:
+ . Fixed crash when a persistent connection fails. (KentarouTakeda)
+
+- Reflection:
+ . Fixed bug GH-23842 (ReflectionProperty::skipLazyInitialization() copies
+ invalid constant defaults with OPcache). (DirkTrunkstar, Lazizbek Ergashev)
+
+- SimpleXML:
+ . Fixed reconstructing a SimpleXMLElement freeing a child element that
+ another variable still references. (Ilia Alshanetsky)
+
+- Tidy:
+ . Fixed a use-after-free when a tidyNode is used after its document is
+ reparsed. (Ilia Alshanetsky)
+
+- Zip:
+ . Fixed bug GH-23899 (Assertion failure when a cancel callback returns an
+ invalid type during shutdown). (Weilin Du)
+
+24 Sep 2026, PHP 8.6.0RC2
+
+- Core:
+ . Fixed incorrect internal pointer and foreach iterator positions when
+ compacting arrays with holes. (Weilin Du)
+ . Fix handling of references to typed properties during unserialization
+ of various internal classes. (ndossche, timwolla)
+ . Fixed OSS-Fuzz 532353396 (assertion failure with static type). (Girgias)
+ . Fix GH-23662 (Avoid NAN warning in print_r()). (CodedByManish)
+ . Fixed bug GH-23752 (Use scoped diagnostic suppression for the global
+ register declarations so the caller's -Wvolatile-register-var state is
+ restored). (yqtian-se)
+ . Fixed OSS-Fuzz #538730793 (Assertion failure when returning by-ref from
+ closure invoke). (ndossche)
+ . Fixed OSS-Fuzz #540904105 (ASSERT: ast->attr == T_CLASS_C). (ndossche)
+
- CLI
. Fix GH-22567 (Windows ZTS CLI SAPI should refresh its TSRMLS cache during
request activation). (matyhtf)