xref: /php-src/NEWS (revision fda91a05)
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