@@ -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
@@ -389,6 +408,7 @@ PHP 8.5 UPGRADE NOTES
389408 RFC: https://wiki.php.net/rfc/curl_share_persistence_improvement
390409
391410- DOM:
411+ . Added Dom\Element::getElementsByClassName().
392412 . Added Dom\Element::insertAdjacentHTML().
393413
394414- Enchant:
@@ -538,6 +558,11 @@ PHP 8.5 UPGRADE NOTES
538558 from being a multiple of loop iteration counts.
539559 It is recommended that this parameter is set to a prime number.
540560
561+ - OpenSSL:
562+ Added openssl.libctx to select the OpenSSL library context type. Either
563+ custom libctx for each thread can be used or a single global (default)
564+ libctx is used.
565+
541566========================================
54256712. Windows Support
543568========================================
@@ -586,6 +611,13 @@ PHP 8.5 UPGRADE NOTES
586611 . The `-z` or `--zend-extension` option has been removed as it was
587612 non-functional. Use `-d zend_extension=<path>` instead.
588613
614+ - PDO_ODBC
615+ . The fetch behaviour for larger columns has been changed. Rather than
616+ fetching 256 byte blocks, PDO_ODBC will try to fetch a larger block size;
617+ currently, this is the page size minus string overhead. Drivers that
618+ return SQL_NO_TOTAL in SQLGetData are also better handled as well.
619+ This should improve compatibility and performance. See GH-10809, GH-10733.
620+
589621========================================
59062214. Performance Improvements
591623========================================
@@ -619,6 +651,7 @@ PHP 8.5 UPGRADE NOTES
619651 . Improved performance of urlencode() and rawurlencode().
620652 . Improved unpack() performance with nameless repetitions by avoiding
621653 creating temporary strings and reparsing them.
654+ . Improved pack() performance.
622655
623656- XMLReader:
624657 . Improved property access performance.
0 commit comments