|
1 | 1 | PHP NEWS |
2 | 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
3 | | -?? ??? ????, PHP 8.2.0RC1 |
| 3 | +?? ??? ????, PHP 8.3.0alpha1 |
4 | 4 |
|
5 | | -- CLI: |
6 | | - . Implement built-in web server responding without body to HEAD request on |
7 | | - a static resource. (Vedran Miletic, Marin Martuslovic) |
8 | | - . Implement built-in web server responding with HTTP status 405 to |
9 | | - DELETE/PUT/PATCH request on a static resource. |
10 | | - (Vedran Miletic, Marin Martuslovic) |
11 | | - |
12 | | -- Core: |
13 | | - . Fixed bug GH-9323 (Crash in ZEND_RETURN/GC/zend_call_function) |
14 | | - (Tim Starling) |
15 | | - . Fixed bug GH-9227 (Trailing dots and spaces in filenames are ignored). |
16 | | - (cmb) |
17 | | - . Fixed bug GH-9285 (Traits cannot be used in readonly classes). |
18 | | - (kocsismate) |
19 | | - . Fixed bug GH-9186 (@strict-properties can be bypassed using |
20 | | - unserialization). (kocsismate) |
21 | | - |
22 | | -- Date: |
23 | | - . Fixed bug GH-9431 (DateTime::getLastErrors() not returning false when no |
24 | | - errors/warnings). (Derick) |
25 | | - |
26 | | -- ODBC: |
27 | | - . Fixed bug GH-9347 (Current ODBC liveness checks may be inadequate). (Calvin |
28 | | - Buckley) |
29 | | - |
30 | | -- Opcache: |
31 | | - . Fixed bug GH-9371 (Crash with JIT on mac arm64) |
32 | | - (jdp1024/David Carlier) |
33 | | - |
34 | | -- OpenSSL: |
35 | | - . Fixed bug GH-9310 (SSL local_cert and local_pk do not respect |
36 | | - open_basedir). (Jakub Zelenka) |
37 | | - . Implement FR #76935 ("chacha20-poly1305" is an AEAD but does not work like |
38 | | - AEAD). (Jakub Zelenka) |
39 | | - . Added openssl_cipher_key_length function. (Jakub Zelenka) |
40 | | - |
41 | | -- PDO_ODBC: |
42 | | - . Fixed bug GH-9347 (Current ODBC liveness checks may be inadequate). (Calvin |
43 | | - Buckley) |
44 | | - |
45 | | -- Random: |
46 | | - . Fixed bug GH-9415 (Randomizer::getInt(0, 2**32 - 1) with Mt19937 |
47 | | - always returns 1). (timwolla) |
48 | | - . Fixed Randomizer::getInt() consistency for 32-bit engines. (timwolla) |
49 | | - |
50 | | -- Streams: |
51 | | - . Fixed bug GH-9316 ($http_response_header is wrong for long status line). |
52 | | - (cmb, timwolla) |
53 | | - |
54 | | -- XML: |
55 | | - . Added libxml_get_external_entity_loader() function. (Tim Starling) |
56 | | - |
57 | | -18 Aug 2022, PHP 8.2.0beta3 |
58 | | - |
59 | | -- Core: |
60 | | - . Fixed incorrect double to long casting in latest clang. (zeriyoshi) |
61 | | - . Added support for defining constants in traits. (sj-i) |
62 | | - . Stop incorrectly emitting false positive deprecation notice alongside |
63 | | - unsupported syntax fatal error for `"{$g{'h'}}"`. (TysonAndre) |
64 | | - . Fix unexpected deprecated dynamic property warning, which occurred when |
65 | | - exit() in finally block after an exception was thrown without catching. |
66 | | - (Twosee) |
67 | | - |
68 | | -- MBString: |
69 | | - . Fixed bug GH-9248 (Segmentation fault in mb_strimwidth()). (cmb) |
70 | | - |
71 | | -- Random: |
72 | | - . Fixed bug GH-9235 (non-existant $sequence parameter in stub for |
73 | | - PcgOneseq128XslRr64::__construct()). (timwolla) |
74 | | - . Fixed bug GH-9190, GH-9191 (undefined behavior for MT_RAND_PHP when |
75 | | - handling large ranges). (timwolla) |
76 | | - . Fixed bug GH-9249 (Xoshiro256StarStar does not reject the invalid |
77 | | - all-zero state). (timwolla) |
78 | | - . Removed redundant RuntimeExceptions from Randomizer methods. The |
79 | | - exceptions thrown by the engines will be exposed directly. (timwolla) |
80 | | - . Added extension specific Exceptions/Errors (RandomException, RandomError, |
81 | | - BrokenRandomEngineError). (timwolla) |
82 | | - |
83 | | -- Session: |
84 | | - . Fixed GH-9200 (setcookie has an obsolete expires date format). (timwolla) |
85 | | - |
86 | | -- Standard: |
87 | | - . Fixed bug #65489 (glob() basedir check is inconsistent). (Jakub Zelenka) |
88 | | - . Fixed GH-9200 (setcookie has an obsolete expires date format). (Derick) |
89 | | - . Fixed GH-9244 (Segfault with array_multisort + array_shift). (cmb) |
90 | | - . Fixed bug GH-9296 (`ksort` behaves incorrectly on arrays with mixed keys). |
91 | | - (Denis Vaksman) |
92 | | - |
93 | | -04 Aug 2022, PHP 8.2.0beta2 |
94 | | - |
95 | | -- Core: |
96 | | - . Fixed bug GH-7900 (Arrow function with never return type compile-time |
97 | | - errors). (ilutov) |
98 | | - |
99 | | -- Date: |
100 | | - . Fixed bug GH-8730 (DateTime::diff miscalculation is same time zone of |
101 | | - different type). (Derick) |
102 | | - . Fixed bug GH-8964 (DateTime object comparison after applying delta less |
103 | | - than 1 second). (Derick) |
104 | | - . Fixed bug GH-9106: (DateInterval 1.5s added to DateTimeInterface is rounded |
105 | | - down since PHP 8.1.0). (Derick) |
106 | | - . Fixed bug #75035 (Datetime fails to unserialize "extreme" dates). |
107 | | - (Derick) |
108 | | - . Fixed bug #80483 (DateTime Object with 5-digit year can't unserialized). |
109 | | - (Derick) |
110 | | - . Fixed bug #81263 (Wrong result from DateTimeImmutable::diff). (Derick) |
111 | | - |
112 | | -- DBA: |
113 | | - . Fixed LMDB driver memory leak on DB creation failure (Girgias) |
114 | | - . Fixed GH-8856 (dba: lmdb: allow to override the MDB_NOSUBDIR flag). (Girgias) |
115 | | - |
116 | | -- FFI: |
117 | | - . Fixed bug GH-9090 (Support assigning function pointers in FFI). (Adam |
118 | | - Saponara) |
119 | | - |
120 | | -- Intl: |
121 | | - . Declared Transliterator::$id as readonly to unlock subclassing it. (Nicolas |
122 | | - Grekas) |
123 | | - |
124 | | -- OPcache: |
125 | | - . Fixed bug GH-9164 (Segfault in zend_accel_class_hash_copy). |
126 | | - (Arnaud, Sergei Turchanov) |
127 | | - |
128 | | -- PCNTL: |
129 | | - . Fixed pcntl_(get|set)priority error handling for MacOS. (Juan Morales) |
130 | | - |
131 | | -- Random: |
132 | | - . Fixed bug GH-9067 (random extension is not thread safe). (cmb) |
133 | | - . Fixed bug GH-9055 (segmentation fault if user engine throws). (timwolla) |
134 | | - . Fixed bug GH-9066 (signed integer overflow). (zeriyoshi) |
135 | | - . Fixed bug GH-9083 (undefined behavior during shifting). (timwolla) |
136 | | - . Fixed bug GH-9088, GH-9056 (incorrect expansion of bytes when |
137 | | - generating uniform integers within a given range). (timwolla) |
138 | | - . Fixed bug GH-9089 (Fix memory leak on Randomizer::__construct() |
139 | | - call twice). (zeriyoshi) |
140 | | - . Fixed bug GH-9212 (PcgOneseq128XslRr64::jump() should not allow negative |
141 | | - $advance). (Anton Smirnov) |
142 | | - . Changed Mt19937 to throw a ValueError instead of InvalidArgumentException |
143 | | - for invalid $mode. (timwolla) |
144 | | - . Splitted Random\Randomizer::getInt() (without arguments) to |
145 | | - Random\Randomizer::nextInt(). (zeriyoshi) |
146 | | - |
147 | | -- Sockets: |
148 | | - . Added SOL_FILTER socket option for Solaris. (David Carlier) |
149 | | - |
150 | | -- SPL: |
151 | | - . Fixed bug #69181 (READ_CSV|DROP_NEW_LINE drops newlines within fields). |
152 | | - (cmb) |
153 | | - . Fixed bug #65069 (GlobIterator incorrect handling of open_basedir check). |
154 | | - (Jakub Zelenka) |
155 | | - |
156 | | -21 Jul 2022, PHP 8.2.0beta1 |
157 | | - |
158 | | -- CLI: |
159 | | - . Updated the mime-type table for the builtin-server. (Ayesh Karunaratne) |
160 | | - . Fixed potential overflow for the builtin server via the |
161 | | - PHP_CLI_SERVER_WORKERS environment variable. (yiyuaner) |
162 | | - . Fixed GH-8575 by changing STDOUT, STDERR and STDIN to not close on resource |
163 | | - destruction. (Jakub Zelenka) |
164 | | - |
165 | | -- Core: |
166 | | - . Reduced the memory footprint of strings returned by var_export(), |
167 | | - json_encode(), serialize(), iconv_*(), mb_ereg*(), session_create_id(), |
168 | | - http_build_query(), strstr(), Reflection*::__toString(). (Arnaud) |
169 | | - . Fixed bug GH-8995 (WeakMap object reference offset causing TypeError). |
170 | | - (Tobias Bachert) |
171 | | - . Added error_log_mode ini setting. (Mikhail Galanin) |
172 | | - . Updated request startup messages. (Eric Norris) |
173 | | - |
174 | | -- COM: |
175 | | - . Fixed bug GH-8750 (Can not create VT_ERROR variant type). (cmb) |
176 | | - |
177 | | -- Filter: |
178 | | - . Added FILTER_FLAG_GLOBAL_RANGE to filter Global IPs. (vnsavage) |
179 | | - |
180 | | -- FPM: |
181 | | - . Added listen.setfib pool option to set route FIB on FreeBSD. (David Carlier) |
182 | | - . Added access.suppress_path pool option to filter access log entries. |
183 | | - (Mark Gallagher) |
184 | | - . Fixed on fpm scoreboard occasional warning on acquisition failure. |
185 | | - (Felix Wiedemann) |
186 | | - |
187 | | -- Opcache: |
188 | | - . Added initial support for JIT performance profiling generation |
189 | | - for macOs Instrument. (David Carlier) |
190 | | - . Fixed bug GH-8030 (Segfault with JIT and large match/switch statements). |
191 | | - (Arnaud) |
192 | | - . Added JIT support improvement for macOs for segments and executable permission |
193 | | - bit handling. (David Carlier) |
194 | | - . Added JIT buffer allocation near the .text section on FreeNSD. (David Carlier) |
195 | | - |
196 | | -- PCRE: |
197 | | - . Updated bundled libpcre to 10.40. (cmb) |
198 | | - |
199 | | -- PDO_Firebird: |
200 | | - . Fixed bug GH-8576 (Bad interpretation of length when char is UTF-8). (cmb) |
201 | | - |
202 | | -- Random: |
203 | | - . Added new random extension. (Go Kudo) |
204 | | - |
205 | | -- SPL: |
206 | | - . Widen iterator_to_array() and iterator_count()'s $iterator parameter to |
207 | | - iterable. (timwolla) |
208 | | - |
209 | | -- Standard: |
210 | | - . Implemented FR GH-8924 (str_split should return empty array for empty |
211 | | - string). (Michael Vorisek) |
212 | | - . Added ini_parse_quantity function to convert ini quantities shorthand |
213 | | - notation to int. (Dennis Snell) |
214 | | - . Enable arc4random_buf for Linux glibc 2.36 and onwards |
215 | | - for the random_bytes. (Cristian Rodriguez) |
216 | | - . Uses CCRandomGenerateBytes instead of arc4random_buf on macOs. (David Carlier). |
217 | | - |
218 | | -- Windows: |
219 | | - . Added preliminary support for (cross-)building for ARM64. (Yun Dou) |
220 | | - |
221 | | -07 Jul 2022, PHP 8.2.0alpha3 |
222 | | - |
223 | | -- Core: |
224 | | - . Uses safe_perealloc instead of perealloc for the |
225 | | - ZEND_PTR_STACK_RESIZE_IF_NEEDED to avoid possible overflows. (David Carlier) |
226 | | - |
227 | | -- DBA: |
228 | | - . Fixed LMDB driver hanging when attempting to delete a non-existing key |
229 | | - (Girgias) |
230 | | - |
231 | | -- Intl: |
232 | | - . Fixed build for ICU 69.x and onwards. (David Carlier) |
233 | | - |
234 | | -- Opcache: |
235 | | - . Allocate JIT buffer close to PHP .text segemnt to allow using direct |
236 | | - IP-relative calls and jumps. |
237 | | - (Su Tao, Wang Xue, Chen Hu, Lizhen Lizhen, Dmitry) |
238 | | - |
239 | | -- Sockets: |
240 | | - . Added TCP_CONGESTION socket option. (David Carlier) |
241 | | - . Added SO_ZEROCOPY/MSG_ZEROCOPY options. (David Carlier) |
242 | | - |
243 | | -- SPL: |
244 | | - . Uses safe_erealloc instead of erealloc to handle heap growth |
245 | | - for the SplHeap::insert method to avoid possible overflows. (David Carlier) |
246 | | - |
247 | | -- Standard: |
248 | | - . Fixed the crypt_sha256/512 api build with clang > 12. (David Carlier) |
249 | | - . Uses safe_erealloc instead of erealloc to handle options in getopt |
250 | | - to avoid possible overflows. (David Carlier) |
251 | | - |
252 | | -- Zip: |
253 | | - |
254 | | - . Implement fseek for zip stream when possible with libzip 1.9.1. (Remi) |
255 | | - |
256 | | -23 Jun 2022, PHP 8.2.0alpha2 |
257 | | - |
258 | | -- Core: |
259 | | - . Fixed bug GH-8655 (Casting an object to array does not unwrap refcount=1 |
260 | | - references). (Nicolas Grekas) |
261 | | - . Fixed bug GH-8661 (Nullsafe in coalesce triggers undefined variable |
262 | | - warning). (ilutov) |
263 | | - . Fixed bug GH-7821 and GH-8418 (Allow arbitrary const expressions in backed |
264 | | - enums). (ilutov) |
265 | | - . Fixed bug GH-8810 (Incorrect lineno in backtrace of multi-line function |
266 | | - calls). (ilutov) |
267 | | - . Optimised code path for newly created file with the stream plain wrapper. (Max Kellermann) |
268 | | - |
269 | | -- Curl: |
270 | | - . Added new constants from cURL 7.62 to 7.80. (Pierrick) |
271 | | - . New function curl_upkeep(). (Pierrick) |
272 | | - |
273 | | -- OpenSSL: |
274 | | - . Discard poll calls on socket when no timeout/non blocking/MSG_DONTWAIT. (Max Kellermann) |
275 | | - |
276 | | -- PCRE: |
277 | | - . Implemented FR #77726 (Allow null character in regex patterns). (cmb) |
278 | | - |
279 | | -- Standard: |
280 | | - . Deprecated utf8_encode() and utf8_decode(). (Rowan Tommins) |
281 | | - |
282 | | -- Streams: |
283 | | - . Discard poll calls on socket when no timeout/non blocking/MSG_DONTWAIT. (Max Kellermann) |
284 | | - |
285 | | -09 Jun 2022, PHP 8.2.0alpha1 |
286 | | - |
287 | | -- CLI: |
288 | | - . Fixed bug #81496 (Server logs incorrect request method). (lauri) |
289 | | - |
290 | | -- Core: |
291 | | - . Fixed bug #81380 (Observer may not be initialized properly). (krakjoe) |
292 | | - . Fixed bug GH-7771 (Fix filename/lineno of constant expressions). (ilutov) |
293 | | - . Fixed bug GH-7792 (Improve class type in error messages). (ilutov) |
294 | | - . Support huge pages on MacOS. (David CARLIER) |
295 | | - |
296 | | -- Curl: |
297 | | - . Added support for CURLOPT_XFERINFOFUNCTION. (David Carlier) |
298 | | - . Added support for CURLOPT_MAXFILESIZE_LARGE. (David Carlier) |
299 | | - |
300 | | -- Date: |
301 | | - . Fixed GH-8458 (DateInterval::createFromDateString does not throw if |
302 | | - non-relative items are present). (Derick) |
303 | | - . Fixed bug #52015 (Allow including end date in DatePeriod iterations) |
304 | | - (Daniel Egeberg, Derick) |
305 | | - . idate() now accepts format specifiers "N" (ISO Day-of-Week) and "o" (ISO |
306 | | - Year). (Pavel Djundik) |
307 | | - |
308 | | -- FPM: |
309 | | - . Emit error for invalid port setting. (David Carlier) |
310 | | - . Added extra check for FPM proc dumpable on SELinux based systems. |
311 | | - (David Carlier) |
312 | | - . Added support for listening queue on macOS. (David Carlier) |
313 | | - . Changed default for listen.backlog on Linux to -1. (Cristian Rodríguez) |
314 | | - |
315 | | -- FTP: |
316 | | - . Fix datetime format string to follow POSIX spec in ftp_mdtm(). (Jihwan Kim) |
317 | | - |
318 | | -- Intl: |
319 | | - . Update all grandfathered language tags with preferred values |
320 | | - . Fixed GH-7939 (Cannot unserialize IntlTimeZone objects). (cmb) |
321 | | - |
322 | | -- OCI8: |
323 | | - . Added oci8.prefetch_lob_size directive to tune LOB query performance |
324 | | - . Support for building against Oracle Client libraries 10.1 and 10.2 has been |
325 | | - dropped. Oracle Client libraries 11.2 or newer are now required. |
326 | | - |
327 | | -- ODBC: |
328 | | - . Fixed bug GH-8300 (User input not escaped when building connection string). |
329 | | - (Calvin Buckley) |
330 | | - |
331 | | -- PDO_ODBC: |
332 | | - . Fixed bug #80909 (crash with persistent connections in PDO_ODBC). (Calvin |
333 | | - Buckley) |
334 | | - . Fixed bug GH-8300 (User input not escaped when building connection string). |
335 | | - (Calvin Buckley) |
336 | | - |
337 | | -- Reflection: |
338 | | - . Added ReflectionFunction::isAnonymous(). (Nicolas Grekas) |
339 | | - . Added ReflectionMethod::hasPrototype(). (Ollie Read) |
340 | | - . Narrow ReflectionEnum::getBackingType() return type to ReflectionNamedType. |
341 | | - (SamMousa) |
342 | | - |
343 | | -- Session: |
344 | | - . Fixed bug GH-7787 (Improve session write failure message for user error |
345 | | - handlers). (ilutov) |
346 | | - |
347 | | -- Sockets: |
348 | | - . Added TCP_NOTSENT_LOWAT socket option. (David Carlier) |
349 | | - . Added SO_MEMINFO socket option. (David Carlier) |
350 | | - . Added SO_RTABLE socket option (OpenBSD), equivalent of SO_MARK (Linux). |
351 | | - (David Carlier) |
352 | | - . Added TCP_KEEPALIVE, TCP_KEEPIDLE, TCP_KEEPINTVL, TCP_KEEPCNT socket |
353 | | - options. (David Carlier) |
354 | | - . Added ancillary data support for FreeBSD. (David Carlier) |
355 | | - . Added ancillary data support for NetBSD. (David Carlier) |
356 | | - . Added SO_BPF_EXTENSIONS socket option. (David Carlier) |
357 | | - . Added SO_SETFIB socket option. (David Carlier) |
358 | | - |
359 | | -- Sodium: |
360 | | - . Added sodium_crypto_stream_xchacha20_xor_ic(). (Scott) |
361 | | - |
362 | | -- SQLite3: |
363 | | - . Changed sqlite3.defensive from PHP_INI_SYSTEM to PHP_INI_USER. (bohwaz) |
364 | | - |
365 | | -- Standard: |
366 | | - . net_get_interfaces() also reports wireless network interfaces on Windows. |
367 | | - (Yurun) |
368 | | - . Finished AVIF support in getimagesize(). (Yannis Guyon) |
369 | | - . Fixed bug GH-7847 (stripos with large haystack has bad performance). |
370 | | - (ilutov) |
371 | | - . New function memory_reset_peak_usage(). (Patrick Allaert) |
372 | | - . Fixed parse_url(): can not recognize port without scheme. (pandaLIU) |
373 | | - |
374 | | -- Streams: |
375 | | - . Set IP_BIND_ADDRESS_NO_PORT if available when connecting to remote host. |
376 | | - (Cristian Rodríguez) |
377 | | - . Fixed bug GH-8548 (stream_wrapper_unregister() leaks memory). (ilutov) |
378 | | - |
379 | | -- Zip: |
380 | | - . add ZipArchive::clearError() method |
381 | | - . add ZipArchive::getStreamName() method |
382 | | - . add ZipArchive::getStreamIndex() method |
383 | | - . On Windows, the Zip extension is now built as shared library (DLL) by |
384 | | - default. (cmb) |
385 | 5 |
|
386 | 6 | <<< NOTE: Insert NEWS from last stable release here prior to actual release! >>> |
0 commit comments