@@ -21,18 +21,18 @@ PHP 8.6 UPGRADE NOTES
2121
2222- Core:
2323 . ??/empty() on a magic property no longer call __get() when __isset()
24- has materialised the property by writing into the property table.
24+ has materialized the property by writing into the property table.
2525 The freshly-written value is returned directly. isset() is unaffected.
2626
27+ - COM
28+ . It is no longer possible to clone variant objects, this is because
29+ the cloning behavior was ill defined.
30+
2731- Curl:
2832 . The callback registered with CURLOPT_READFUNCTION now throws a ValueError
2933 when returning an integer other than 0, CURL_READFUNC_ABORT or
3034 CURL_READFUNC_PAUSE.
3135
32- - COM
33- . It is no longer possible to clone variant objects, this is because
34- the cloning behaviour was ill defined.
35-
3636- DOM:
3737 . Properties previously documented as @readonly (e.g. DOMNode::$nodeType,
3838 DOMDocument::$xmlEncoding, DOMEntity::$actualEncoding, ::$encoding,
@@ -53,9 +53,9 @@ PHP 8.6 UPGRADE NOTES
5353 types / values and raise a TypeError / ValueError accordingly.
5454
5555- GMP:
56- . GMP power and shift operators now throw ValueError when GMP right operands
56+ . GMP power and shift operators now throw a ValueError when GMP right operands
5757 are outside the unsigned long range, instead of silently truncating them.
58- . GMP integer string parsing now throw ValueError strings containing NUL
58+ . GMP integer string parsing now throws a ValueError for strings containing NUL
5959 bytes, instead of silently truncating them.
6060
6161- Intl:
@@ -98,6 +98,13 @@ PHP 8.6 UPGRADE NOTES
9898 execution error occurs (e.g. malformed UTF-8 input with the /u modifier).
9999 This is consistent with other preg_* functions.
100100
101+ - PGSQL:
102+ . pg_fetch_object() now reports the ValueError for a non-empty
103+ $constructor_args on a class without a constructor on the
104+ $constructor_args argument instead of $class. Errors raised when
105+ the requested class is not instantiable (abstract, interface, enum)
106+ now surface before the row is fetched.
107+
101108- Phar:
102109 . Phar::mungServer() now raises a ValueError when an invalid argument value
103110 is passed instead of being silently ignored.
@@ -107,13 +114,6 @@ PHP 8.6 UPGRADE NOTES
107114 . Phar::addEmptyDir() now treats non-magic names that merely share the
108115 ".phar" prefix as ordinary directories.
109116
110- - PGSQL:
111- . pg_fetch_object() now reports the ValueError for a non-empty
112- $constructor_args on a class without a constructor on the
113- $constructor_args argument instead of $class. Errors raised when
114- the requested class is not instantiable (abstract, interface, enum)
115- now surface before the row is fetched.
116-
117117- Posix:
118118 . posix_access() now raises a ValueError when an invalid $flags
119119 argument value is passed.
@@ -164,6 +164,14 @@ PHP 8.6 UPGRADE NOTES
164164 platform's key_t range instead of passing a truncated key to the operating
165165 system.
166166
167+ - SimpleXML:
168+ . SimpleXMLElement::__construct() now raises a ValueError when the $data
169+ argument contains NUL bytes, matching simplexml_load_file(). With
170+ $dataIsURL set it previously truncated the path at the first NUL byte.
171+ Without it the string went to libxml, which at default options rejects a
172+ NUL on current versions but accepts the truncated document on older ones
173+ and under LIBXML_RECOVER.
174+
167175- SOAP:
168176 . The "classmap" option of SoapClient and SoapServer now rejects arrays
169177 containing integer keys. Previously, sparse integer-keyed and mixed-keyed
@@ -200,14 +208,6 @@ PHP 8.6 UPGRADE NOTES
200208 SplFileObject::seek() past EOF now produces the same key() value as
201209 SplTempFileObject; the two previously returned different values.
202210
203- - SimpleXML:
204- . SimpleXMLElement::__construct() now raises a ValueError when the $data
205- argument contains NUL bytes, matching simplexml_load_file(). With
206- $dataIsURL set it previously truncated the path at the first NUL byte.
207- Without it the string went to libxml, which at default options rejects a
208- NUL on current versions but accepts the truncated document on older ones
209- and under LIBXML_RECOVER.
210-
211211- Standard:
212212 . array_intersect() with at least two arrays now converts values to strings
213213 while scanning its inputs instead of during sort comparisons. This can
@@ -419,7 +419,7 @@ PHP 8.6 UPGRADE NOTES
419419 sockets. A positive value enables lingering for that many seconds, zero
420420 or a negative value disables it. Values above 65535 are clamped as the
421421 linger time is limited to an unsigned short on some platforms.
422- . Allowed casting casting filtered streams as file descriptor for select.
422+ . Allowed casting filtered streams as file descriptor for select.
423423 . Added the "write_seek_mode stream" filter parameter for the bz2, iconv,
424424 zlib, and string stream filters. This parameter must be set via an
425425 associative array where the key is "write_seek_mode stream" and the
@@ -561,7 +561,7 @@ PHP 8.6 UPGRADE NOTES
561561 . gmp_powm() modulo-by-zero now raises a DivisionByZeroError whose message
562562 includes the function name and argument index ($modulus).
563563
564- - mysqli :
564+ - MySQLi :
565565 . The return structure of mysqli_get_charset() no longer contains the
566566 undocumented "comment" element. The value of "charsetnr" is now set to a
567567 constant 0 as this number was an implementation detail that should not have
@@ -612,7 +612,7 @@ PHP 8.6 UPGRADE NOTES
612612 . SpoofChecker::getBidiSkeleton()
613613 . SpoofChecker::getSkeleton()
614614
615- - mysqli :
615+ - MySQLi :
616616 . Added mysqli::quote_string() and mysqli_quote_string().
617617 RFC: https://wiki.php.net/rfc/mysqli_quote_string
618618
@@ -705,7 +705,7 @@ PHP 8.6 UPGRADE NOTES
705705- Hash:
706706 . The bundled version of xxHash was upgraded to 0.8.2.
707707
708- - mysqli
708+ - MySQLi:
709709 . Added new constant MYSQLI_OPT_COMPRESS.
710710
711711- Opcache
@@ -741,7 +741,7 @@ PHP 8.6 UPGRADE NOTES
741741 . EAI_SERVICE.
742742 . EAI_ADDRFAMILY.
743743 . EAI_SYSTEM.
744- . EAI_OVERFLOW
744+ . EAI_OVERFLOW.
745745 . EAI_INPROGRESS.
746746 . EAI_CANCELED.
747747 . EAI_NOTCANCELED.
@@ -751,9 +751,9 @@ PHP 8.6 UPGRADE NOTES
751751
752752- Standard
753753 . ARRAY_FILTER_USE_VALUE.
754- . STREAM_CRYPTO_STATUS_NONE
755- . STREAM_CRYPTO_STATUS_WANT_READ
756- . STREAM_CRYPTO_STATUS_WANT_WRITE
754+ . STREAM_CRYPTO_STATUS_NONE.
755+ . STREAM_CRYPTO_STATUS_WANT_READ.
756+ . STREAM_CRYPTO_STATUS_WANT_WRITE.
757757
758758========================================
75975911. Changes to INI File Handling
@@ -766,7 +766,7 @@ PHP 8.6 UPGRADE NOTES
766766 directive to NULL or an empty string at runtime now leaves the previously
767767 configured detection order unchanged.
768768
769- - Mysqli :
769+ - MySQLi :
770770 . mysqli.default_port now checks the validity of the value which should be
771771 between 0 and 65535 included.
772772
0 commit comments