-
Added nullable types.
-
Added DFA optimization framework based on e-SSA form.
-
Added specialized opcode handlers (e.g. ZEND_ADD_LONG_NO_OVERFLOW).
-
Added [] = as alternative construct to list() =.
-
Added void return type.
-
Added support for negative string offsets in string offset syntax and various string functions.
-
Added a form of the list() construct where keys can be specified.
-
Implemented safe execution timeout handling, that prevents random crashes after "Maximum execution time exceeded" error.
-
Implemented the RFC `Support Class Constant Visibility`.
Sean DuBois
Reeze Xia
Dmitry
-
Implemented the RFC `Catching multiple exception types`.
Bronislaw Bialek
Pierrick
-
Implemented logging to syslog with dynamic error levels.
-
Implemented FR
#72614 (Support "nmake test" on building extensions by phpize).
-
Implemented RFC: Iterable.
-
Implemented RFC: Closure::fromCallable (Danack)
-
Implemented RFC: Replace "Missing argument" warning with "\ArgumentCountError" exception.
-
Implemented RFC: Fix inconsistent behavior of $this variable.
-
Fixed bug
#73585 (Logging of "Internal Zend error - Missing class information" missing class name).
-
Fixed memory leak(null coalescing operator with Spl hash).
-
Fixed bug
#72736 (Slow performance when fetching large dataset with mysqli / PDO).
-
Fixed bug
#72482 (Ilegal write/read access caused by gdImageAALine overflow).
-
Fixed bug
#72696 (imagefilltoborder stackoverflow on truecolor images).
-
Fixed bug
#73350 (Exception::__toString() cause circular references).
-
Fixed bug
#73329 ((Float)"Nano" == NAN).
-
Fixed bug
#73288 (Segfault in __clone > Exception.toString > __get).
-
Fixed for #73240 (Write out of bounds at number_format).
-
Fix pthreads detection when cross-compiling (ffontaine)
-
Fixed bug
#73337 (try/catch not working with two exceptions inside a same operation).
-
Fixed bug
#73156 (segfault on undefined function).
-
Fixed bug
#73163 (PHP hangs if error handler throws while accessing undef const in default value).
-
Fixed bug
#73172 (parse error: Invalid numeric literal).
-
Fixed bug
#73181 (parse_str() without a second argument leads to crash).
-
Fixed bug
#73025 (Heap Buffer Overflow in virtual_popen of zend_virtual_cwd.c).
-
Fixed bug
#73058 (crypt broken when salt is 'too' long).
-
Fixed bug
#72944 (Null pointer deref in zval_delref_p).
-
Fixed bug
#72943 (assign_dim on string doesn't reset hval).
-
Fixed bug
#72598 (Reference is lost after array_slice()) (Nikita)
-
Fixed bug
#72703 (Out of bounds global memory read in BF_crypt triggered by password_verify).
-
Fixed bug
#72813 (Segfault with __get returned by ref).
-
Fixed bug
#72767 (PHP Segfaults when trying to expand an infinite operator).
-
TypeError messages for arg_info type checks will now say "must be ... or null" where the parameter or return type accepts null.
-
Fixed bug
#72857 (stream_socket_recvfrom read access violation).
-
Fixed bug
#72663 (Create an Unexpected Object and Don't Invoke __wakeup() in Deserialization).
-
Fixed bug
#72681 (PHP Session Data Injection Vulnerability).
-
Fixed bug
#72742 (memory allocator fails to realloc small block to large one).
-
Fixed URL rewriter. It would not rewrite '//example.com/' URL unconditionally. URL rewrite target hosts whitelist is implemented.
-
Fixed bug
#72641 (phpize (on Windows) ignores PHP_PREFIX).
-
Fixed bug
#72683 (getmxrr broken).
-
Fixed bug
#72629 (Caught exception assignment to variables ignores references).
-
Fixed bug
#72594 (Calling an earlier instance of an included anonymous class fatals).
-
Fixed bug
#72581 (previous property undefined in Exception after deserialization).
-
Fixed bug
#72543 (Different references behavior comparing to PHP 5) (Laruence, Dmitry, Nikita)
-
Fixed bug
#72347 (VERIFY_RETURN type casts visible in finally).
-
Fixed bug
#72216 (Return by reference with finally is not memory safe).
-
Fixed bug
#72215 (Wrong return value if var modified in finally).
-
Fixed bug
#71818 (Memory leak when array altered in destructor).
-
Fixed bug
#71539 (Memory error on $arr[$a] =& $arr[$b] if RHS rehashes) (Dmitry, Nikita)
-
Added new constant PHP_FD_SETSIZE.
-
Added optind parameter to getopt().
-
Added PHP to SAPI error severity mapping for logs.
-
Fixed bug
#71911 (Unable to set --enable-debug on building extensions by phpize on Windows).
-
Fixed bug
#29368 (The destructor is called when an exception is thrown from the constructor).
-
Implemented RFC: RNG Fixes.
-
Implemented email validation as per RFC 6531.
-
Fixed bug
#72513 (Stack-based buffer overflow vulnerability in virtual_file_ex).
-
Fixed bug
#72573 (HTTP_PROXY is improperly trusted by some PHP libraries and applications).
-
Fixed bug
#72523 (dtrace issue with reflection (failed test)).
-
Fixed bug
#72508 (strange references after recursive function call and "switch" statement).
-
Fixed bug
#72441 (Segmentation fault: RFC list_keys).
-
Fixed bug
#72395 (list() regression).
-
Fixed bug
#72373 (TypeError after Generator function w/declared return type finishes).
-
Fixed bug
#69489 (tempnam() should raise notice if falling back to temp dir).
-
Fixed UTF-8 and long path support on Windows.
-
Fixed bug
#53432 (Assignment via string index access on an empty string converts to array).
-
Fixed bug
#62210 (Exceptions can leak temporary variables).
-
Fixed bug
#62814 (It is possible to stiffen child class members visibility).
-
Fixed bug
#69989 (Generators don't participate in cycle GC).
-
Fixed bug
#70228 (Memleak if return in finally block).
-
Fixed bug
#71266 (Missing separation of properties HT in foreach etc).
-
Fixed bug
#71604 (Aborted Generators continue after nested finally).
-
Fixed bug
#71572 (String offset assignment from an empty string inserts null byte).
-
Fixed bug
#71897 (ASCII 0x7F Delete control character permitted in identifiers).
-
Fixed bug
#72188 (Nested try/finally blocks losing return value).
-
Fixed bug
#72213 (Finally leaks on nested exceptions).
-
Fixed bug
#47517 (php-cgi.exe missing UAC manifest).
maxdax15801 at users noreply github com
-
Change statement and fcall extension handlers to accept frame.
-
Number operators taking numeric strings now emit E_NOTICEs or E_WARNINGs when given malformed numeric strings.
-
(int), intval() where $base is 10 or unspecified, settype(), decbin(), decoct(), dechex(), integer operators and other conversions now always respect scientific notation in numeric strings.
-
Raise a compile-time warning on octal escape sequence overflow.