mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
We don't expect the lazy proxy to be modified during initialization, but
this is allowed. The modification may set a property, still marked LAZY,
without removing the LAZY flag. This causes an assertion failure in GH-20174.
Both the RFC and the documentation specify that after an initialization
failure, the state of the object is reset to its pre-initialization state:
If the initializer throws an exception, the object state is reverted to
its pre-initialization state and the object is marked as lazy again. In
other words, all effects on the object itself are reverted. Other side
effects, such as effects on other objects, are not reverted. This prevents
exposing a partially initialized instance in case of failure.
This behavior would have prevented this issue, but it was not implemented
for lazy proxies (only for ghosts).
Fix by implementing the missing behavior.
Fixes GH-20174
Closes GH-20181
128 lines
4.8 KiB
Plaintext
128 lines
4.8 KiB
Plaintext
PHP NEWS
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
?? ??? ????, PHP 8.6.0alpha1
|
|
|
|
- Core:
|
|
. Added first-class callable cache to share instances for the duration of the
|
|
request. (ilutov)
|
|
. It is now possible to use reference assign on WeakMap without the key
|
|
needing to be present beforehand. (ndossche)
|
|
. Added `clamp()`. (kylekatarnls, thinkverse)
|
|
. Fix OSS-Fuzz #429429090 (Failed assertion on unset() with uninitialized
|
|
container). (ilutov)
|
|
. Fixed GH-20564 (Don't call autoloaders with pending exception). (ilutov)
|
|
. Fix deprecation now showing when accessing null key of an array with JIT.
|
|
(alexandre-daubois)
|
|
. Fixed bug GH-20174 (Assertion failure in
|
|
ReflectionProperty::skipLazyInitialization after failed LazyProxy
|
|
initialization). (Arnaud)
|
|
|
|
- Date:
|
|
. Update timelib to 2022.16. (Derick)
|
|
|
|
- DOM:
|
|
. Removed LIBXML_XINCLUDE from valid options for XMLDocument,
|
|
as it was a no-op. (ndossche)
|
|
|
|
- Fileinfo:
|
|
. Fixed bug GH-20679 (finfo_file() doesn't work on remote resources).
|
|
(ndossche)
|
|
|
|
- Hash:
|
|
. Upgrade xxHash to 0.8.2. (timwolla)
|
|
|
|
- Intl:
|
|
. Added IntlNumberRangeFormatter class to format an interval of two numbers
|
|
with a given skeleton, locale, collapse type and identity fallback.
|
|
(BogdanUngureanu)
|
|
. Fixed bug GH-20426 (Spoofchecker::setRestrictionLevel() error message
|
|
suggests missing constants). (DanielEScherzer)
|
|
|
|
- JSON:
|
|
. Enriched JSON last error / exception message with error location.
|
|
(Juan Morales)
|
|
|
|
- Fibers:
|
|
. Fixed bug GH-20483 (ASAN stack overflow with fiber.stack_size INI
|
|
small value). (David Carlier)
|
|
|
|
- Mail:
|
|
. Fixed bug GH-20862 (null pointer dereference in
|
|
php_mail_detect_multiple_crlf via error_log (jordikroon)
|
|
|
|
- Mbstring:
|
|
. ini_set() with mbstring.detect_order changes the order of mb_detect_order
|
|
as intended, since mbstring.detect_order is an INI_ALL setting. (tobee94)
|
|
. Added GB18030-2022 to default encoding list for zh-CN. (HeRaNO)
|
|
. Fixed bug GH-20836 (Stack overflow in mb_convert_variables with
|
|
recursive array references). (alexandre-daubois)
|
|
|
|
- Opcache:
|
|
. Fixed bug GH-20051 (apache2 shutdowns when restart is requested during
|
|
preloading). (Arnaud, welcomycozyhom)
|
|
|
|
- OpenSSL:
|
|
. Implemented GH-20310 (No critical extension indication in
|
|
openssl_x509_parse() output). (StephenWall)
|
|
|
|
- PDO_PGSQL:
|
|
. Clear session-local state disconnect-equivalent processing.
|
|
(KentarouTakeda)
|
|
|
|
- Phar:
|
|
. Support reference values in Phar::mungServer(). (ndossche)
|
|
. Invalid values now throw in Phar::mungServer() instead of being silently
|
|
ignored. (ndossche)
|
|
. Support overridden methods in SplFileInfo for getMTime() and getPathname()
|
|
when building a phar. (ndossche)
|
|
. Mark Phar::buildFromIterator() base directory argument as a path.
|
|
(ndossche)
|
|
|
|
- Reflection:
|
|
. Fixed bug GH-20217 (ReflectionClass::isIterable() incorrectly returns true
|
|
for classes with property hooks). (alexandre-daubois)
|
|
|
|
- Soap:
|
|
. Soap::__setCookie() when cookie name is a digit is now not stored and represented
|
|
as a string anymore but a int. (David Carlier)
|
|
|
|
- Sockets:
|
|
. Added the TCP_USER_TIMEOUT constant for Linux to set the maximum time in milliseconds
|
|
transmitted data can remain unacknowledged. (James Lucas)
|
|
. Added AF_UNSPEC support for sock_addrinfo_lookup() as a sole umbrella for
|
|
AF_INET* family only. (David Carlier)
|
|
. Fixed GH-20532 (socket_addrinfo_lookup gives the error code with a new optional
|
|
parameter). (David Carlier)
|
|
|
|
- SPL:
|
|
. DirectoryIterator key can now work better with filesystem supporting larger
|
|
directory indexing. (David Carlier)
|
|
|
|
- Sqlite3:
|
|
. Fix NUL byte truncation in sqlite3 TEXT column handling. (ndossche)
|
|
|
|
- Standard:
|
|
. Fixed bug GH-19926 (reset internal pointer earlier while splicing array
|
|
while COW violation flag is still set). (alexandre-daubois)
|
|
. Invalid mode values now throw in array_filter() instead of being silently
|
|
defaulted to 0. (Jorg Sowa)
|
|
. Fixed bug GH-21058 (error_log() crashes with message_type 3 and
|
|
null destination). (David Carlier)
|
|
|
|
- Streams:
|
|
. Added so_keepalive, tcp_keepidle, tcp_keepintvl and tcp_keepcnt stream
|
|
socket context options.
|
|
. Added so_reuseaddr streams context socket option that allows disabling
|
|
address resuse.
|
|
. Fixed bug GH-20370 (User stream filters could violate typed property
|
|
constraints). (alexandre-daubois)
|
|
. Allowed filtered streams to be casted as fd for select. (Jakub Zelenka)
|
|
|
|
- Zip:
|
|
. Fixed ZipArchive callback being called after executor has shut down.
|
|
(ilutov)
|
|
. Support minimum version for libzip dependency updated to 1.0.0.
|
|
(David Carlier)
|
|
|
|
<<< NOTE: Insert NEWS from last stable release here prior to actual release! >>>
|