@@ -18,6 +18,9 @@ PHP NEWS
1818 initialization). (Arnaud)
1919 . Enabled the TAILCALL VM on Windows when compiling with Clang >= 19 x86_64.
2020 (henderkes)
21+ . Deprecate specifying a nullable return type for __debugInfo(). (timwolla)
22+ . Fixed bug GH-22142 (Assertion failure in zendi_try_get_long() on IS_UNDEF).
23+ (David Carlier)
2124
2225- BCMath:
2326 . Added NUL-byte validation to BCMath functions. (jorgsowa)
@@ -51,6 +54,8 @@ PHP NEWS
5154 . gmp_fact() reject values larger than unsigned long. (David Carlier)
5255 . gmp_pow/binomial/root/rootrem and shift/pow operators reject values
5356 larger than unsigned long. (David Carlier)
57+ . GMP exponentiation and shift operators now emit a deprecation warning
58+ when converting a float right operand to int loses precision. (Weilin Du)
5459
5560- Hash:
5661 . Upgrade xxHash to 0.8.2. (timwolla)
@@ -62,6 +67,12 @@ PHP NEWS
6267 . Fixed bug GH-20426 (Spoofchecker::setRestrictionLevel() error message
6368 suggests missing constants). (DanielEScherzer)
6469 . Added grapheme_strrev (Yuya Hamada)
70+ . Passing a non-stringable object as a time zone to Intl time zone
71+ argument handling now raises TypeError instead of Error. (Weilin Du)
72+ . IntlBreakIterator::getLocale() now raises ValueError for invalid locale
73+ types. (Weilin Du)
74+ . Fixed MessageFormatter::parse() and parseMessage() returning PHP_INT_MIN
75+ as float rather than int on 64-bit platforms. (Weilin Du)
6576
6677- JSON:
6778 . Enriched JSON last error / exception message with error location.
@@ -98,6 +109,8 @@ PHP NEWS
98109 openssl_x509_parse() output). (StephenWall)
99110 . Added TLS session resumption support for streams with new context options
100111 and Openssl\Session class. (Jakub Zelenka)
112+ . Added TLS external PSK support for streams with new context options and
113+ Openssl\Psk class. (Jakub Zelenka)
101114
102115- PCNTL:
103116 . pcntl_exec() now throws a ValueError if the $args array is not a list
@@ -122,6 +135,10 @@ PHP NEWS
122135 . Support reference values in Phar::mungServer(). (ndossche)
123136 . Invalid values now throw in Phar::mungServer() instead of being silently
124137 ignored. (ndossche)
138+ . Fixed a bypass of the magic ".phar" directory protection in
139+ Phar::addEmptyDir() for paths starting with "/.phar". (Weilin Du)
140+ . Phar::addEmptyDir() now allows non-magic directory names that merely
141+ share the ".phar" prefix. (Weilin Du)
125142 . Support overridden methods in SplFileInfo for getMTime() and getPathname()
126143 when building a phar. (ndossche)
127144 . Mark Phar::buildFromIterator() base directory argument as a path.
@@ -143,6 +160,16 @@ PHP NEWS
143160- Session:
144161 . Fixed bug 71162 (updateTimestamp never called when session data is empty).
145162 (Girgias)
163+ . Null bytes in session.cookie_path, session.cookie_domain, and
164+ session.cache_limiter are now rejected with a warning. (jorgsowa)
165+ . session.cookie_samesite now rejects invalid values with a warning; only
166+ "Strict", "Lax", "None", or "" are accepted. (jorgsowa)
167+ . session.cookie_lifetime now rejects non-integer and out-of-range values
168+ with a warning. (jorgsowa)
169+ . Session file GC now recursively cleans nested subdirectories when
170+ session.save_path uses the dirdepth prefix. (jorgsowa)
171+ . Changed defaults of session.use_strict_mode (now 1), session.cookie_httponly
172+ (now 1) and session.cookie_samesite (now "Lax"). (jorgsowa)
146173
147174- Soap:
148175 . Soap::__setCookie() when cookie name is a digit is now not stored and
@@ -168,6 +195,8 @@ PHP NEWS
168195 with re-entrant getHash()). (Pratik Bhujel)
169196 . Fix bugs GH-8561, GH-8562, GH-8563, and GH-8564 (Fixing various
170197 SplFileObject iterator desync bugs). (iliaal)
198+ . Fix bug GH-22062 (SplDoublyLinkedList iterator UAF
199+ via destructor releasing next node). (David Carlier)
171200
172201- Sqlite3:
173202 . Fix NUL byte truncation in sqlite3 TEXT column handling. (ndossche)
@@ -201,6 +230,8 @@ PHP NEWS
201230 null bytes. (Weilin Du)
202231 . proc_open() now raises a ValueError when the $cwd argument contains
203232 null bytes. (Weilin Du)
233+ . ini_get_all() now includes the built-in default value in the details.
234+ (sebastian)
204235
205236- Streams:
206237 . Added so_keepalive, tcp_keepidle, tcp_keepintvl and tcp_keepcnt stream
@@ -216,6 +247,12 @@ PHP NEWS
216247 . Fixed bug #49874 (ftell() and fseek() inconsistency when using stream
217248 filters). (Jakub Zelenka)
218249
250+ - URI:
251+ . Added Uri\Rfc3986\Uri:getUriType() and Uri\WhatWg\Url:isSpecialScheme().
252+ (kocsismate)
253+ . Added Uri\Rfc3986\Uri:getHostType() and Uri\WhatWg\Url:getHostType().
254+ (kocsismate)
255+
219256- Zip:
220257 . Fixed ZipArchive callback being called after executor has shut down.
221258 (ilutov)
0 commit comments