PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 8.4.0alpha1 - Core: . Added zend_call_stack_get implementation for NetBSD, DragonFlyBSD, Solaris and Haiku. (David Carlier) . Enabled ifunc checks on FreeBSD from the 12.x releases. (Freaky) . Changed the type of PHP_DEBUG and PHP_ZTS constants to bool. (haszi) . Fixed bug GH-13142 (Undefined variable name is shortened when contains \0). (nielsdos) . Fixed bug GH-13178 (Iterator positions incorrect when converting packed array to hashed). (ilutov) . Fixed zend fiber build for solaris default mode (32 bits). (David Carlier) . Fixed zend call stack size for macOs/arm64. (David Carlier) . Added support for Zend Max Execution Timers on FreeBSD. (Kévin Dunglas) . Ensure fiber stack is not backed by THP. (crrodriguez) . Implement GH-13609 (Dump wrapped object in WeakReference class). (nielsdos) . Added sparc64 arch assembly support for zend fiber. (Claudio Jeker) . Fixed GH-13581 no space available for TLS on NetBSD. (Paul Ripke) . Added fiber Sys-V loongarch64 support. (qiangxuhui) . Adjusted closure names to include the parent function's name. (timwolla) - Curl: . Deprecated the CURLOPT_BINARYTRANSFER constant. (divinity76) . Bumped required libcurl version to 7.61.0. (Ayesh) . Added feature_list key to the curl_version() return value (Ayesh) - Date: . Added DateTime[Immutable]::createFromTimestamp. (Marc Bennewitz) . Added DateTime[Immutable]::[get|set]Microsecond. (Marc Bennewitz) - DOM: . Added DOMNode::compareDocumentPosition(). (nielsdos) . Implement #53655 (Improve speed of DOMNode::C14N() on large XML documents). (nielsdos) . Fix cloning attribute with namespace disappearing namespace. (nielsdos) . Implement DOM HTML5 parsing and serialization RFC. (nielsdos) . Fix DOMElement->prefix with empty string creates bogus prefix. (nielsdos) . Handle OOM more consistently. (nielsdos) . Implemented "Improve callbacks in ext/dom and ext/xsl" RFC. (nielsdos) . Added DOMXPath::quote() static method. (divinity76) . Implemented opt-in ext/dom spec compliance RFC. (nielsdos) - Fileinfo: . Update to libmagic 5.45. (nielsdos) . Fixed bug #65106 (PHP fails to compile ext/fileinfo). (Guillaume Outters) - FPM: . Implement GH-12385 (flush headers without body when calling flush()). (nielsdos) . Added DragonFlyBSD system to the list which set FPM_BACKLOG_DEFAULT to SOMAXCONN. (David Carlier) - FTP: . Removed the deprecated inet_ntoa call support. (David Carlier) . Fixed bug #63937 (Upload speed 10 times slower with PHP). (nielsdos) - Gettext: . bind_textdomain_codeset, textdomain and d(*)gettext functions now throw an exception on empty domain. (David Carlier) - Hash: . Changed return type of hash_update() to true. (nielsdos) - IMAP: . Moved to PECL. (Derick Rethans) - Intl: . Added IntlDateFormatter::PATTERN constant. (David Carlier) . Fixed Numberformatter::__construct when the locale is invalid, now throws an exception. (David Carlier) . Added NumberFormatter::ROUND_TOWARD_ZERO and ::ROUND_AWAY_FROM_ZERO as aliases for ::ROUND_DOWN and ::ROUND_UP. (Jorg Sowa) . Added NumberFormatter::ROUND_HALFODD. (Ayesh Karunaratne) . Added PROPERTY_IDS_UNARY_OPERATOR, PROPERTY_ID_COMPAT_MATH_START and PROPERTY_ID_COMPAT_MATH_CONTINUE constants. (David Carlier) . Added IntlDateFormatter::getIanaID/intltz_get_iana_id method/function. (David Carlier) . Set to C++17 standard for icu 74 and onwards. (David Carlier) . resourcebundle_get(), ResourceBundle::get(), and accessing offsets on a ResourceBundle object now throw: - TypeError for invalid offset types - ValueError for an empty string - ValueError if the integer index does not fit in a signed 32 bit integer . ResourceBundle::get() now has a tentative return type of: ResourceBundle|array|string|int|null . Added the new Grapheme function grapheme_str_split. (youkidearitai) . Added IntlDateFormatter::parseToCalendar. (David Carlier) - LDAP: . Added LDAP_OPT_X_TLS_PROTOCOL_MAX/LDAP_OPT_X_TLS_PROTOCOL_TLS1_3 constants. (StephenWall) - LibXML: . Added LIBXML_RECOVER constant. (nielsdos) - MBString: . Added mb_trim, mb_ltrim and mb_rtrim. (Yuya Hamada) . Added mb_ucfirst and mb_lcfirst. (Yuya Hamada) - MySQLnd: . Fixed bug GH-13440 (PDO quote bottleneck). (nielsdos) . Fixed bug GH-10599 (Apache crash on Windows when using a self-referencing anonymous function inside a class with an active mysqli connection). (nielsdos) - Opcache: . Added large shared segments support for FreeBSD. (David Carlier) . If JIT is enabled, PHP will now exit with a fatal error on startup in case of JIT startup initialization issues. (danog) . Increased the maximum value of opcache.interned_strings_buffer to 32767 on 64bit archs. (Arnaud) . Fixed bug GH-13834 (Applying non-zero offset 36 to null pointer in zend_jit.c). (nielsdos) - OpenSSL: . Fixed bug #80269 (OpenSSL sets Subject wrong with extraattribs parameter). (Jakub Zelenka) . Implement request #48520 (openssl_csr_new - allow multiple values in DN). (Jakub Zelenka) . Introduced new serial_hex parameter to openssl_csr_sign. (Jakub Zelenka, Florian Sowade) . Added X509_PURPOSE_OCSP_HELPER and X509_PURPOSE_TIMESTAMP_SIGN constants. (Vincent Jardin) . Bumped minimum required OpenSSL version to 1.1.1. (Ayesh Karunaratne) . Added compile-time option --with-openssl-legacy-provider to enable legacy provider. (Adam Saponara) - Output: . Clear output handler status flags during handler initialization. (haszi) . Fixed bug with url_rewriter.hosts not used by output_add_rewrite_var(). (haszi) - PCNTL: . Added pcntl_setns for Linux. (David Carlier) . Added pcntl_getaffinity/pcntl_setaffinity. (David Carlier) . Updated pcntl_get_signal_handler signal id upper limit to be more in line with platforms limits. (David Carlier) . Added pcntl_getcpu for Linux/FreeBSD. (David Carlier) . Added pcntl_getqos_class/pcntl_setqos_class for macOs. (David Carlier) . Added SIGCKPT/SIGCKPTEXIT constants for DragonFlyBSD. (David Carlier) - PCRE: . Upgrade bundled pcre2lib to version 10.43. (nielsdos) . Add "/r" modifier. (Ayesh) - PDO: . Fixed setAttribute and getAttribute. (SakiTakamachi) . Implemented PDO driver-specific subclasses RFC. (danack, kocsismate) - PDO_DBLIB: . Fixed setAttribute and getAttribute. (SakiTakamachi) . Added class PdoDbLib (danack, kocsismate) - PDO_FIREBIRD: . Fixed setAttribute and getAttribute. (SakiTakamachi) . Feature: Add transaction isolation level and mode settings to pdo_firebird. (SakiTakamachi) . Added class PdoFirebird. (danack, kocsismate) - PDO_MYSQL: . Fixed setAttribute and getAttribute. (SakiTakamachi) . Added class PdoMysql. (danack, kocsismate) - PDO_ODBC: . Added class PdoOdbc. (danack, kocsismate) - PDO_PGSQL: . Fixed GH-12423, DSN credentials being prioritized over the user/password PDO constructor arguments. (SakiTakamachi) . Fixed native float support with pdo_pgsql query results. (Yurunsoft) . Added class PdoPgsql. (danack, kocsismate) - PDO_SQLITE: . Added class PdoSqlite. (danack, kocsismate) - PGSQL: . Added the possibility to have no conditions for pg_select. (OmarEmaraDev) . Persistent connections support the PGSQL_CONNECT_FORCE_RENEW flag. (David Carlier) - Phar: . Fixed bug GH-12532 (PharData created from zip has incorrect timestamp). (nielsdos) - POSIX: . Added POSIX_SC_CHILD_MAX and POSIX_SC_CLK_TCK constants. (Jakub Zelenka) . Updated posix_isatty to set the error number on file descriptors. (David Carlier) - PSpell: . Moved to PECL. (Derick Rethans) - Reflection: . Implement GH-12908 (Show attribute name/class in ReflectionAttribute dump). (nielsdos) - SimpleXML: . Fixed bug GH-12192 (SimpleXML infinite loop when getName() is called within foreach). (nielsdos) . Fixed bug GH-12208 (SimpleXML infinite loop when a cast is used inside a foreach). (nielsdos) . Fixed bug #55098 (SimpleXML iteration produces infinite loop). (nielsdos) . Fix signature of simplexml_import_dom(). (nielsdos) - Sockets: . Added multicast group support for ipv4 on FreeBSD. (jonathan@tangential.ca) . Added the TCP_SYNCNT constant for Linux to set number of attempts to send SYN packets from the client. (David Carlier) . Added the SO_EXCLBIND constant for exclusive socket binding on illumos/solaris. (David Carlier) . Updated the socket_create_listen backlog argument default value to SOMAXCONN. (David Carlier) . Added the SO_NOSIGPIPE constant to control the generation of SIGPIPE for macOs and FreeBSD. (David Carlier) - SNMP: . Removed the deprecated inet_ntoa call support. (David Carlier) - SOAP: . Add support for clark notation for namespaces in class map. (lxShaDoWxl) . Mitigate #51561 (SoapServer with a extented class and using sessions, lost the setPersistence()). (nielsdos) . Fixed bug #49278 (SoapClient::__getLastResponseHeaders returns NULL if wsdl operation !has output). (nielsdos) . Fixed bug #44383 (PHP DateTime not converted to xsd:datetime). (nielsdos) - Sockets: . Removed the deprecated inet_ntoa call support. (David Carlier) . Added the SO_EXECLUSIVEADDRUSE windows constant. (David Carlier) . Added the SOCK_CONN_DGRAM/SOCK_DCCP netbsd constants. (David Carlier) - Sodium: . Add support for AEGIS-128L and AEGIS-256 (jedisct1) . Enable AES-GCM on aarch64 with the ARM crypto extensions (jedisct1) - Standard: . Implement GH-12188 (Indication for the int size in phpinfo()). (timwolla) . Partly fix GH-12143 (Incorrect round() result for 0.49999999999999994). (timwolla) . Fix GH-12252 (round(): Validate the rounding mode). (timwolla) . Increase the default BCrypt cost to 12. (timwolla) . Fixed bug GH-12592 (strcspn() odd behaviour with NUL bytes and empty mask). (nielsdos) . Removed the deprecated inet_ntoa call support. (David Carlier) . Cast large floats that are within int range to int in number_format so the precision is not lost. (Marc Bennewitz) . Add support for 4 new rounding modes to the round() function. (Jorg Sowa) . debug_zval_dump() now indicates whether an array is packed. (Max Semenik) . Fix GH-12143 (Optimize round). (SakiTakamachi) . Changed return type of long2ip to string from string|false. (Jorg Sowa) . Fix GH-12143 (Extend the maximum precision round can handle by one digit). (SakiTakamachi) . Added the http_get_last_response_headers() and http_clear_last_response_headers() that allows retrieving the same content as the magic $http_response_header variable. . Add php_base64_encode_ex() API. (Remi) - XML: . Added XML_OPTION_PARSE_HUGE parser option. (nielsdos) - XMLReader: . Declares class constant types. (Ayesh) - XSL: . Implement request #64137 (XSLTProcessor::setParameter() should allow both quotes to be used). (nielsdos) . Implemented "Improve callbacks in ext/dom and ext/xsl" RFC. (nielsdos) . Added XSLTProcessor::$maxTemplateDepth and XSLTProcessor::$maxTemplateVars. (nielsdos) <<< NOTE: Insert NEWS from last stable release here prior to actual release! >>>