1PHP 8.5 UPGRADE NOTES 2 31. Backward Incompatible Changes 42. New Features 53. Changes in SAPI modules 64. Deprecated Functionality 75. Changed Functions 86. New Functions 97. New Classes and Interfaces 108. Removed Extensions and SAPIs 119. Other Changes to Extensions 1210. New Global Constants 1311. Changes to INI File Handling 1412. Windows Support 1513. Other Changes 1614. Performance Improvements 17 18======================================== 191. Backward Incompatible Changes 20======================================== 21 22- BZ2: 23 . bzcompress() now throws a ValueError when $block_size is not between 24 1 and 9. 25 . bzcompress() now throws a ValueError when $work_factor is not between 26 0 and 250. 27 28- LDAP: 29 . ldap_get_option() and ldap_set_option() now throw a ValueError when 30 passing an invalid option. 31 32- SPL: 33 . ArrayObject no longer accepts enums, as modifying the $name or $value 34 properties can break engine assumptions. 35 36======================================== 372. New Features 38======================================== 39 40- DOM: 41 . Added Dom\Element::$outerHTML. 42 43- XSL: 44 . The $namespace argument of XSLTProcessor::getParameter(), 45 XSLTProcessor::setParameter() and XSLTProcessor::removeParameter() 46 now actually works instead of being treated as empty. 47 This only works if the $name argument does not use Clark notation 48 and is not a QName because in those cases the namespace is taken 49 from the namespace href or prefix respectively. 50 51======================================== 523. Changes in SAPI modules 53======================================== 54 55======================================== 564. Deprecated Functionality 57======================================== 58 59======================================== 605. Changed Functions 61======================================== 62 63- Zlib: 64 . The "use_include_path" argument for the 65 gzfile, gzopen and readgzfile functions had been changed 66 from int to boolean. 67 68- PDO_PGSQL: 69 . PDO::pgsqlCopyFromArray also supports inputs as Iterable. 70 . Pdo\Pgsql::setAttribute and Pdo\Pgsql::prepare supports 71 PDO::ATTR_PREFETCH sets to 0 which set to lazy fetch mode. 72 In this mode, statements cannot be run parallely. 73 74- PGSQL: 75 . pg_copy_from also supports inputs as Iterable. 76 77======================================== 786. New Functions 79======================================== 80 81- Curl: 82 . curl_multi_get_handles() allows retrieving all CurlHandles current 83 attached to a CurlMultiHandle. This includes both handles added using 84 curl_multi_add_handle() and handles accepted by CURLMOPT_PUSHFUNCTION. 85 86- PGSQL: 87 . pg_close_stmt offers an alternative way to close a prepared 88 statement from the DEALLOCATE sql command in that we can reuse 89 its name afterwards. 90 91- Reflection: 92 . ReflectionConstant::getFileName() was introduced. 93 94======================================== 957. New Classes and Interfaces 96======================================== 97 98======================================== 998. Removed Extensions and SAPIs 100======================================== 101 102======================================== 1039. Other Changes to Extensions 104======================================== 105 106- Readline: 107 . The return types of readline_add_history(), readline_clear_history(), and 108 readline_callback_handler_install() have been changed to true, rather 109 than bool. 110 111======================================== 11210. New Global Constants 113======================================== 114 115======================================== 11611. Changes to INI File Handling 117======================================== 118 119======================================== 12012. Windows Support 121======================================== 122 123* The configuration variables PHP_VERSION, PHP_MINOR_VERSION, and 124 PHP_RELEASE_VERSION are now always numbers. Previously, they have been 125 strings for buildconf builds. 126 127* FFI: 128 . It is no longer necessary to specify the library when using FFI::cdef() 129 and FFI::load(). However, this convenience feature should not be used in 130 production. 131 132======================================== 13313. Other Changes 134======================================== 135 136======================================== 13714. Performance Improvements 138======================================== 139 140- XMLWriter: 141 . Improved performance and reduce memory consumption. 142