@@ -45,6 +45,12 @@ PHP 8.5 UPGRADE NOTES
4545 change, but should more closely match user expectations, demonstrated by
4646 GH-15753 and GH-16198.
4747
48+ - DOM:
49+ . Cloning a DOMNamedNodeMap, DOMNodeList, Dom\NamedNodeMap, Dom\NodeList,
50+ Dom\HTMLCollection, and Dom\DtdNamedNodeMap now fails.
51+ This never actually resulted in a working object,
52+ so the impact should actually be zero.
53+
4854- FileInfo:
4955 . finfo_file() and finfo::file() now throws a ValueError instead of a
5056 TypeError when $filename contains nul bytes.
@@ -259,6 +265,19 @@ PHP 8.5 UPGRADE NOTES
2592654. Deprecated Functionality
260266========================================
261267
268+ - Core:
269+ . Returning a non-string from a user output handler is deprecated. The
270+ deprecation warning will bypass the handler with the bad return to ensure
271+ it is visible; if there are nested output handlers the next one will still
272+ be used.
273+ RFC: https://wiki.php.net/rfc/deprecations_php_8_4
274+ . Trying to produce output (e.g. with `echo`) within a user output handler
275+ is deprecated. The deprecation warning will bypass the handler producing the
276+ output to ensure it is visible; if there are nested output handlers the next
277+ one will still be used. If a user output handler returns a non-string and
278+ produces output, the warning about producing an output is emitted first.
279+ RFC: https://wiki.php.net/rfc/deprecations_php_8_4
280+
262281- Hash:
263282 . The MHASH_* constants have been deprecated. These have been overlooked
264283 when the mhash*() function family has been deprecated per
@@ -352,6 +371,8 @@ PHP 8.5 UPGRADE NOTES
352371 . socket_create/socket_bind can create AF_PACKET family sockets.
353372 . socket_getsockname gets the interface index and its string
354373 representation with AF_PACKET socket.
374+ . socket_set_option with multicast context throws a ValueError
375+ when the created socket is not of AF_INET/AF_INET6 family.
355376
356377- Tidy:
357378 . tidy::__construct/parseFile/parseString now throws a ValueError
@@ -389,6 +410,7 @@ PHP 8.5 UPGRADE NOTES
389410 RFC: https://wiki.php.net/rfc/curl_share_persistence_improvement
390411
391412- DOM:
413+ . Added Dom\Element::getElementsByClassName().
392414 . Added Dom\Element::insertAdjacentHTML().
393415
394416- Enchant:
@@ -538,6 +560,11 @@ PHP 8.5 UPGRADE NOTES
538560 from being a multiple of loop iteration counts.
539561 It is recommended that this parameter is set to a prime number.
540562
563+ - OpenSSL:
564+ Added openssl.libctx to select the OpenSSL library context type. Either
565+ custom libctx for each thread can be used or a single global (default)
566+ libctx is used.
567+
541568========================================
54256912. Windows Support
543570========================================
@@ -586,6 +613,13 @@ PHP 8.5 UPGRADE NOTES
586613 . The `-z` or `--zend-extension` option has been removed as it was
587614 non-functional. Use `-d zend_extension=<path>` instead.
588615
616+ - PDO_ODBC
617+ . The fetch behaviour for larger columns has been changed. Rather than
618+ fetching 256 byte blocks, PDO_ODBC will try to fetch a larger block size;
619+ currently, this is the page size minus string overhead. Drivers that
620+ return SQL_NO_TOTAL in SQLGetData are also better handled as well.
621+ This should improve compatibility and performance. See GH-10809, GH-10733.
622+
589623========================================
59062414. Performance Improvements
591625========================================
@@ -619,6 +653,7 @@ PHP 8.5 UPGRADE NOTES
619653 . Improved performance of urlencode() and rawurlencode().
620654 . Improved unpack() performance with nameless repetitions by avoiding
621655 creating temporary strings and reparsing them.
656+ . Improved pack() performance.
622657
623658- XMLReader:
624659 . Improved property access performance.
0 commit comments