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 104- Opcache: 105 . Added large shared segments support for FreeBSD. (David Carlier) 106 . If JIT is enabled, PHP will now exit with a fatal error on startup in case 107 of JIT startup initialization issues. (danog) 108 . Increased the maximum value of opcache.interned_strings_buffer to 32767 on 109 64bit archs. (Arnaud) 110 . Fixed bug GH-13834 (Applying non-zero offset 36 to null pointer in 111 zend_jit.c). (nielsdos) 112 113- OpenSSL: 114 . Fixed bug #80269 (OpenSSL sets Subject wrong with extraattribs parameter). 115 (Jakub Zelenka) 116 . Implement request #48520 (openssl_csr_new - allow multiple values in DN). 117 (Jakub Zelenka) 118 . Introduced new serial_hex parameter to openssl_csr_sign. (Jakub Zelenka, 119 Florian Sowade) 120 . Added X509_PURPOSE_OCSP_HELPER and X509_PURPOSE_TIMESTAMP_SIGN constants. 121 (Vincent Jardin) 122 . Bumped minimum required OpenSSL version to 1.1.1. (Ayesh Karunaratne) 123 124- Output: 125 . Clear output handler status flags during handler initialization. (haszi) 126 . Fixed bug with url_rewriter.hosts not used by output_add_rewrite_var(). 127 (haszi) 128 129- PCNTL: 130 . Added pcntl_setns for Linux. (David Carlier) 131 . Added pcntl_getaffinity/pcntl_setaffinity. (David Carlier) 132 . Updated pcntl_get_signal_handler signal id upper limit to be 133 more in line with platforms limits. (David Carlier) 134 . Added pcntl_getcpu for Linux/FreeBSD. (David Carlier) 135 . Added pcntl_getqos_class/pcntl_setqos_class for macOs. (David Carlier) 136 137- PCRE: 138 . Upgrade bundled pcre2lib to version 10.43. (nielsdos) 139 . Add "/r" modifier. (Ayesh) 140 141- PDO: 142 . Fixed setAttribute and getAttribute. (SakiTakamachi) 143 . Implemented PDO driver-specific subclasses RFC. (danack, kocsismate) 144 145- PDO_DBLIB: 146 . Fixed setAttribute and getAttribute. (SakiTakamachi) 147 . Added class PdoDbLib (danack, kocsismate) 148 149- PDO_FIREBIRD: 150 . Fixed setAttribute and getAttribute. (SakiTakamachi) 151 . Feature: Add transaction isolation level and mode settings to pdo_firebird. 152 (SakiTakamachi) 153 . Added class PdoFirebird. (danack, kocsismate) 154 155- PDO_MYSQL: 156 . Fixed setAttribute and getAttribute. (SakiTakamachi) 157 . Added class PdoMysql. (danack, kocsismate) 158 159- PDO_ODBC: 160 . Added class PdoOdbc. (danack, kocsismate) 161 162- PDO_PGSQL: 163 . Fixed GH-12423, DSN credentials being prioritized over the user/password 164 PDO constructor arguments. (SakiTakamachi) 165 . Fixed native float support with pdo_pgsql query results. (Yurunsoft) 166 . Added class PdoPgsql. (danack, kocsismate) 167 168- PDO_SQLITE: 169 . Added class PdoSqlite. (danack, kocsismate) 170 171- PGSQL: 172 . Added the possibility to have no conditions for pg_select. (OmarEmaraDev) 173 174- Phar: 175 . Fixed bug GH-12532 (PharData created from zip has incorrect timestamp). 176 (nielsdos) 177 178- POSIX: 179 . Added POSIX_SC_CHILD_MAX and POSIX_SC_CLK_TCK constants. (Jakub Zelenka) 180 . Updated posix_isatty to set the error number on file descriptors. 181 (David Carlier) 182 183- PSpell: 184 . Moved to PECL. (Derick Rethans) 185 186- Reflection: 187 . Implement GH-12908 (Show attribute name/class in ReflectionAttribute dump). 188 (nielsdos) 189 190- SimpleXML: 191 . Fixed bug GH-12192 (SimpleXML infinite loop when getName() is called 192 within foreach). (nielsdos) 193 . Fixed bug GH-12208 (SimpleXML infinite loop when a cast is used inside a 194 foreach). (nielsdos) 195 . Fixed bug #55098 (SimpleXML iteration produces infinite loop). (nielsdos) 196 . Fix signature of simplexml_import_dom(). (nielsdos) 197 198- Sockets: 199 . Added multicast group support for ipv4 on FreeBSD. (jonathan@tangential.ca) 200 . Added the TCP_SYNCNT constant for Linux to set number of attempts to send 201 SYN packets from the client. (David Carlier) 202 . Added the SO_EXCLBIND constant for exclusive socket binding on illumos/solaris. 203 (David Carlier) 204 . Updated the socket_create_listen backlog argument default value to SOMAXCONN. 205 (David Carlier) 206 207- SNMP: 208 . Removed the deprecated inet_ntoa call support. (David Carlier) 209 210- SOAP: 211 . Add support for clark notation for namespaces in class map. (lxShaDoWxl) 212 . Mitigate #51561 (SoapServer with a extented class and using sessions, 213 lost the setPersistence()). (nielsdos) 214 . Fixed bug #49278 (SoapClient::__getLastResponseHeaders returns NULL if 215 wsdl operation !has output). (nielsdos) 216 . Fixed bug #44383 (PHP DateTime not converted to xsd:datetime). (nielsdos) 217 218- Sockets: 219 . Removed the deprecated inet_ntoa call support. (David Carlier) 220 . Added the SO_EXECLUSIVEADDRUSE windows constant. (David Carlier) 221 . Added the SOCK_CONN_DGRAM/SOCK_DCCP netbsd constants. (David Carlier) 222 223- Sodium: 224 . Add support for AEGIS-128L and AEGIS-256 (jedisct1) 225 . Enable AES-GCM on aarch64 with the ARM crypto extensions (jedisct1) 226 227- Standard: 228 . Implement GH-12188 (Indication for the int size in phpinfo()). (timwolla) 229 . Partly fix GH-12143 (Incorrect round() result for 0.49999999999999994). 230 (timwolla) 231 . Fix GH-12252 (round(): Validate the rounding mode). (timwolla) 232 . Increase the default BCrypt cost to 12. (timwolla) 233 . Fixed bug GH-12592 (strcspn() odd behaviour with NUL bytes and empty mask). 234 (nielsdos) 235 . Removed the deprecated inet_ntoa call support. (David Carlier) 236 . Cast large floats that are within int range to int in number_format so 237 the precision is not lost. (Marc Bennewitz) 238 . Add support for 4 new rounding modes to the round() function. (Jorg Sowa) 239 . debug_zval_dump() now indicates whether an array is packed. (Max Semenik) 240 . Fix GH-12143 (Optimize round). (SakiTakamachi) 241 . Changed return type of long2ip to string from string|false. (Jorg Sowa) 242 . Fix GH-12143 (Extend the maximum precision round can handle by one digit). 243 (SakiTakamachi) 244 . Added the http_get_last_response_headers() and 245 http_clear_last_response_headers() that allows retrieving the same content 246 as the magic $http_response_header variable. 247 . Add php_base64_encode_ex() API. (Remi) 248 249- XML: 250 . Added XML_OPTION_PARSE_HUGE parser option. (nielsdos) 251 252- XMLReader: 253 . Declares class constant types. (Ayesh) 254 255- XSL: 256 . Implement request #64137 (XSLTProcessor::setParameter() should allow both 257 quotes to be used). (nielsdos) 258 . Implemented "Improve callbacks in ext/dom and ext/xsl" RFC. (nielsdos) 259 . Added XSLTProcessor::$maxTemplateDepth and XSLTProcessor::$maxTemplateVars. 260 (nielsdos) 261 262<<< NOTE: Insert NEWS from last stable release here prior to actual release! >>> 263