1PHP NEWS 2||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 3?? ??? ????, PHP 8.4.0alpha1 4 5- Core: 6 . Added zend_call_stack_get implementation for NetBSD, DragonFlyBSD, 7 Solaris and Haiku. (David Carlier) 8 . Enabled ifunc checks on FreeBSD from the 12.x releases. (Freaky) 9 . Changed the type of PHP_DEBUG and PHP_ZTS constants to bool. (haszi) 10 . Fixed bug GH-13142 (Undefined variable name is shortened when contains \0). 11 (nielsdos) 12 . Fixed bug GH-13178 (Iterator positions incorrect when converting packed 13 array to hashed). (ilutov) 14 . Fixed zend fiber build for solaris default mode (32 bits). (David Carlier) 15 . Fixed zend call stack size for macOs/arm64. (David Carlier) 16 . Added support for Zend Max Execution Timers on FreeBSD. (Kévin Dunglas) 17 . Ensure fiber stack is not backed by THP. (crrodriguez) 18 . Implement GH-13609 (Dump wrapped object in WeakReference class). (nielsdos) 19 . Added sparc64 arch assembly support for zend fiber. (Claudio Jeker) 20 . Fixed GH-13581 no space available for TLS on NetBSD. (Paul Ripke) 21 . Added fiber Sys-V loongarch64 support. (qiangxuhui) 22 . Adjusted closure names to include the parent function's name. (timwolla) 23 24- Curl: 25 . Deprecated the CURLOPT_BINARYTRANSFER constant. (divinity76) 26 . Bumped required libcurl version to 7.61.0. (Ayesh) 27 . Added feature_list key to the curl_version() return value (Ayesh) 28 29- Date: 30 . Added DateTime[Immutable]::createFromTimestamp. (Marc Bennewitz) 31 . Added DateTime[Immutable]::[get|set]Microsecond. (Marc Bennewitz) 32 33- DOM: 34 . Added DOMNode::compareDocumentPosition(). (nielsdos) 35 . Implement #53655 (Improve speed of DOMNode::C14N() on large XML documents). 36 (nielsdos) 37 . Fix cloning attribute with namespace disappearing namespace. (nielsdos) 38 . Implement DOM HTML5 parsing and serialization RFC. (nielsdos) 39 . Fix DOMElement->prefix with empty string creates bogus prefix. (nielsdos) 40 . Handle OOM more consistently. (nielsdos) 41 . Implemented "Improve callbacks in ext/dom and ext/xsl" RFC. (nielsdos) 42 . Added DOMXPath::quote() static method. (divinity76) 43 . Implemented opt-in ext/dom spec compliance RFC. (nielsdos) 44 45- Fileinfo: 46 . Update to libmagic 5.45. (nielsdos) 47 . Fixed bug #65106 (PHP fails to compile ext/fileinfo). (Guillaume Outters) 48 49- FPM: 50 . Implement GH-12385 (flush headers without body when calling flush()). 51 (nielsdos) 52 . Added DragonFlyBSD system to the list which set FPM_BACKLOG_DEFAULT 53 to SOMAXCONN. (David Carlier) 54 55- FTP: 56 . Removed the deprecated inet_ntoa call support. (David Carlier) 57 . Fixed bug #63937 (Upload speed 10 times slower with PHP). (nielsdos) 58 59- Gettext: 60 . bind_textdomain_codeset, textdomain and d(*)gettext functions 61 now throw an exception on empty domain. (David Carlier) 62 63- Hash: 64 . Changed return type of hash_update() to true. (nielsdos) 65 66- IMAP: 67 . Moved to PECL. (Derick Rethans) 68 69- Intl: 70 . Added IntlDateFormatter::PATTERN constant. (David Carlier) 71 . Fixed Numberformatter::__construct when the locale is invalid, now 72 throws an exception. (David Carlier) 73 . Added NumberFormatter::ROUND_TOWARD_ZERO and ::ROUND_AWAY_FROM_ZERO as 74 aliases for ::ROUND_DOWN and ::ROUND_UP. (Jorg Sowa) 75 . Added NumberFormatter::ROUND_HALFODD. (Ayesh Karunaratne) 76 . Added PROPERTY_IDS_UNARY_OPERATOR, PROPERTY_ID_COMPAT_MATH_START and 77 PROPERTY_ID_COMPAT_MATH_CONTINUE constants. (David Carlier) 78 . Added IntlDateFormatter::getIanaID/intltz_get_iana_id method/function. 79 (David Carlier) 80 . Set to C++17 standard for icu 74 and onwards. (David Carlier) 81 . resourcebundle_get(), ResourceBundle::get(), and accessing offsets on a 82 ResourceBundle object now throw: 83 - TypeError for invalid offset types 84 - ValueError for an empty string 85 - ValueError if the integer index does not fit in a signed 32 bit integer 86 . ResourceBundle::get() now has a tentative return type of: 87 ResourceBundle|array|string|int|null 88 . Added the new Grapheme function grapheme_str_split. (youkidearitai) 89 90- LDAP: 91 . Added LDAP_OPT_X_TLS_PROTOCOL_MAX/LDAP_OPT_X_TLS_PROTOCOL_TLS1_3 92 constants. (StephenWall) 93 94- LibXML: 95 . Added LIBXML_RECOVER constant. (nielsdos) 96 97- MBString: 98 . Added mb_trim, mb_ltrim and mb_rtrim. (Yuya Hamada) 99 . Added mb_ucfirst and mb_lcfirst. (Yuya Hamada) 100 101- MySQLnd: 102 . Fixed bug GH-13440 (PDO quote bottleneck). (nielsdos) 103 . Fixed bug GH-10599 (Apache crash on Windows when using a self-referencing 104 anonymous function inside a class with an active mysqli connection). 105 (nielsdos) 106 107- Opcache: 108 . Added large shared segments support for FreeBSD. (David Carlier) 109 . If JIT is enabled, PHP will now exit with a fatal error on startup in case 110 of JIT startup initialization issues. (danog) 111 . Increased the maximum value of opcache.interned_strings_buffer to 32767 on 112 64bit archs. (Arnaud) 113 . Fixed bug GH-13834 (Applying non-zero offset 36 to null pointer in 114 zend_jit.c). (nielsdos) 115 116- OpenSSL: 117 . Fixed bug #80269 (OpenSSL sets Subject wrong with extraattribs parameter). 118 (Jakub Zelenka) 119 . Implement request #48520 (openssl_csr_new - allow multiple values in DN). 120 (Jakub Zelenka) 121 . Introduced new serial_hex parameter to openssl_csr_sign. (Jakub Zelenka, 122 Florian Sowade) 123 . Added X509_PURPOSE_OCSP_HELPER and X509_PURPOSE_TIMESTAMP_SIGN constants. 124 (Vincent Jardin) 125 . Bumped minimum required OpenSSL version to 1.1.1. (Ayesh Karunaratne) 126 . Added compile-time option --with-openssl-legacy-provider to enable legacy 127 provider. (Adam Saponara) 128 129- Output: 130 . Clear output handler status flags during handler initialization. (haszi) 131 . Fixed bug with url_rewriter.hosts not used by output_add_rewrite_var(). 132 (haszi) 133 134- PCNTL: 135 . Added pcntl_setns for Linux. (David Carlier) 136 . Added pcntl_getaffinity/pcntl_setaffinity. (David Carlier) 137 . Updated pcntl_get_signal_handler signal id upper limit to be 138 more in line with platforms limits. (David Carlier) 139 . Added pcntl_getcpu for Linux/FreeBSD. (David Carlier) 140 . Added pcntl_getqos_class/pcntl_setqos_class for macOs. (David Carlier) 141 . Added SIGCKPT/SIGCKPTEXIT constants for DragonFlyBSD. (David Carlier) 142 143- PCRE: 144 . Upgrade bundled pcre2lib to version 10.43. (nielsdos) 145 . Add "/r" modifier. (Ayesh) 146 147- PDO: 148 . Fixed setAttribute and getAttribute. (SakiTakamachi) 149 . Implemented PDO driver-specific subclasses RFC. (danack, kocsismate) 150 151- PDO_DBLIB: 152 . Fixed setAttribute and getAttribute. (SakiTakamachi) 153 . Added class PdoDbLib (danack, kocsismate) 154 155- PDO_FIREBIRD: 156 . Fixed setAttribute and getAttribute. (SakiTakamachi) 157 . Feature: Add transaction isolation level and mode settings to pdo_firebird. 158 (SakiTakamachi) 159 . Added class PdoFirebird. (danack, kocsismate) 160 161- PDO_MYSQL: 162 . Fixed setAttribute and getAttribute. (SakiTakamachi) 163 . Added class PdoMysql. (danack, kocsismate) 164 165- PDO_ODBC: 166 . Added class PdoOdbc. (danack, kocsismate) 167 168- PDO_PGSQL: 169 . Fixed GH-12423, DSN credentials being prioritized over the user/password 170 PDO constructor arguments. (SakiTakamachi) 171 . Fixed native float support with pdo_pgsql query results. (Yurunsoft) 172 . Added class PdoPgsql. (danack, kocsismate) 173 174- PDO_SQLITE: 175 . Added class PdoSqlite. (danack, kocsismate) 176 177- PGSQL: 178 . Added the possibility to have no conditions for pg_select. (OmarEmaraDev) 179 . Persistent connections support the PGSQL_CONNECT_FORCE_RENEW flag. 180 (David Carlier) 181 182- Phar: 183 . Fixed bug GH-12532 (PharData created from zip has incorrect timestamp). 184 (nielsdos) 185 186- POSIX: 187 . Added POSIX_SC_CHILD_MAX and POSIX_SC_CLK_TCK constants. (Jakub Zelenka) 188 . Updated posix_isatty to set the error number on file descriptors. 189 (David Carlier) 190 191- PSpell: 192 . Moved to PECL. (Derick Rethans) 193 194- Reflection: 195 . Implement GH-12908 (Show attribute name/class in ReflectionAttribute dump). 196 (nielsdos) 197 198- SimpleXML: 199 . Fixed bug GH-12192 (SimpleXML infinite loop when getName() is called 200 within foreach). (nielsdos) 201 . Fixed bug GH-12208 (SimpleXML infinite loop when a cast is used inside a 202 foreach). (nielsdos) 203 . Fixed bug #55098 (SimpleXML iteration produces infinite loop). (nielsdos) 204 . Fix signature of simplexml_import_dom(). (nielsdos) 205 206- Sockets: 207 . Added multicast group support for ipv4 on FreeBSD. (jonathan@tangential.ca) 208 . Added the TCP_SYNCNT constant for Linux to set number of attempts to send 209 SYN packets from the client. (David Carlier) 210 . Added the SO_EXCLBIND constant for exclusive socket binding on illumos/solaris. 211 (David Carlier) 212 . Updated the socket_create_listen backlog argument default value to SOMAXCONN. 213 (David Carlier) 214 . Added the SO_NOSIGPIPE constant to control the generation of SIGPIPE for 215 macOs and FreeBSD. (David Carlier) 216 217- SNMP: 218 . Removed the deprecated inet_ntoa call support. (David Carlier) 219 220- SOAP: 221 . Add support for clark notation for namespaces in class map. (lxShaDoWxl) 222 . Mitigate #51561 (SoapServer with a extented class and using sessions, 223 lost the setPersistence()). (nielsdos) 224 . Fixed bug #49278 (SoapClient::__getLastResponseHeaders returns NULL if 225 wsdl operation !has output). (nielsdos) 226 . Fixed bug #44383 (PHP DateTime not converted to xsd:datetime). (nielsdos) 227 228- Sockets: 229 . Removed the deprecated inet_ntoa call support. (David Carlier) 230 . Added the SO_EXECLUSIVEADDRUSE windows constant. (David Carlier) 231 . Added the SOCK_CONN_DGRAM/SOCK_DCCP netbsd constants. (David Carlier) 232 233- Sodium: 234 . Add support for AEGIS-128L and AEGIS-256 (jedisct1) 235 . Enable AES-GCM on aarch64 with the ARM crypto extensions (jedisct1) 236 237- Standard: 238 . Implement GH-12188 (Indication for the int size in phpinfo()). (timwolla) 239 . Partly fix GH-12143 (Incorrect round() result for 0.49999999999999994). 240 (timwolla) 241 . Fix GH-12252 (round(): Validate the rounding mode). (timwolla) 242 . Increase the default BCrypt cost to 12. (timwolla) 243 . Fixed bug GH-12592 (strcspn() odd behaviour with NUL bytes and empty mask). 244 (nielsdos) 245 . Removed the deprecated inet_ntoa call support. (David Carlier) 246 . Cast large floats that are within int range to int in number_format so 247 the precision is not lost. (Marc Bennewitz) 248 . Add support for 4 new rounding modes to the round() function. (Jorg Sowa) 249 . debug_zval_dump() now indicates whether an array is packed. (Max Semenik) 250 . Fix GH-12143 (Optimize round). (SakiTakamachi) 251 . Changed return type of long2ip to string from string|false. (Jorg Sowa) 252 . Fix GH-12143 (Extend the maximum precision round can handle by one digit). 253 (SakiTakamachi) 254 . Added the http_get_last_response_headers() and 255 http_clear_last_response_headers() that allows retrieving the same content 256 as the magic $http_response_header variable. 257 . Add php_base64_encode_ex() API. (Remi) 258 259- XML: 260 . Added XML_OPTION_PARSE_HUGE parser option. (nielsdos) 261 262- XMLReader: 263 . Declares class constant types. (Ayesh) 264 265- XSL: 266 . Implement request #64137 (XSLTProcessor::setParameter() should allow both 267 quotes to be used). (nielsdos) 268 . Implemented "Improve callbacks in ext/dom and ext/xsl" RFC. (nielsdos) 269 . Added XSLTProcessor::$maxTemplateDepth and XSLTProcessor::$maxTemplateVars. 270 (nielsdos) 271 272<<< NOTE: Insert NEWS from last stable release here prior to actual release! >>> 273