- Tidy:
. Fixed bug #77594 (ob_tidyhandler is never reset). (cmb)
-26 Nov 2020, PHP 7.4.13
+- Tokenizer:
+ . Fixed bug #80462 (Nullsafe operator tokenize with TOKEN_PARSE flag fails).
+ (Nikita)
+
+- XML:
+ . XmlParser opaque object renamed to XMLParser for consistency with other XML objects. (girgias)
+
+ - Zlib:
+ . Fixed #48725 (Support for flushing in zlib stream). (cmb)
+
+26 Nov 2020, PHP 8.0.0
+
+- BZ2:
+ . Fixed bug #71263 (fread() does not report bzip2.decompress errors). (cmb)
+
+- CLI:
+ . Allow debug server binding to an ephemeral port via `-S localhost:0`. (Sara)
+
+- COM:
+ . Fixed bug #55847 (DOTNET .NET 4.0 GAC new location). (cmb)
+ . Fixed bug #62474 (com_event_sink crashes on certain arguments). (cmb)
+
+- Calendar:
+ . Fixed bug #80007 (Potential type confusion in unixtojd() parameter parsing).
+ (Andy Postnikov)
- Core:
- . Fixed bug #80280 (ADD_EXTENSION_DEP() fails for ext/standard and ext/date).
+ . Fixed bug #36365 (scandir duplicates file name at every 65535th file).
+ (cmb)
+ . Fixed bug #49555 (Fatal error "Function must be a string" message should be
+ renamed). (Nikita)
+ . Fixed bug #62294 (register_shutdown_function() does not correctly handle
+ exit code). (Nikita)
+ . Fixed bug #62609 (Allow implementing Traversable on abstract classes).
+ (Nikita)
+ . Fixed bug #65274 (Enhance undefined class constant error with class name).
+ (Nikita)
+ . Fixed bug #65275 (Calling exit() in a shutdown function does not change the
+ exit value in CLI). (Nikita)
+ . Fixed bug #69084 (Unclear error message when not implementing a renamed
+ abstract trait function). (Nikita)
+ . Fixed bug #70839 (Converting optional argument to variadic forbidden by LSP
+ checks). (Nikita)
+ . Fixed bug #74558 (Can't rebind closure returned by Closure::fromCallable()).
(cmb)
+ . Fixed bug #77561 (Shebang line not stripped for non-primary script).
+ (Nikita)
+ . Fixed bug #77619 (Wrong reflection on MultipleIterator::__construct).
+ (Fabien Villepinte)
+ . Fixed bug #77966 (Cannot alias a method named "namespace"). (Nikita)
+ . Fixed bug #78236 (convert error on receiving variables when duplicate [).
+ (cmb)
+ . Fixed bug #78770 (Incorrect callability check inside internal methods).
+ (Nikita)
+ . Fixed bug #79108 (Referencing argument in a function makes it a reference
+ in the stack trace). (Nikita)
+ . Fixed bug #79368 ("Unexpected end of file" is not an acceptable error
+ message). (Alex Dowad)
+ . Fixed bug #79462 (method_exists and property_exists incoherent behavior).
+ (cmb)
+ . Fixed bug #79467 (data:// wrappers are writable). (cmb)
+ . Fixed bug #79521 (Check __set_state structure). (carusogabriel)
+ . Fixed bug #79790 ("Illegal offset type" exception during AST evaluation
+ not handled properly). (Nikita)
+ . Fixed bug #79791 (Assertion failure when unsetting variable during binary
+ op). (Nikita)
+ . Fixed bug #79828 (Segfault when trying to access non-existing variable).
+ (Nikita)
+ . Fixed bug #79841 (Syntax error in configure / unescaped "[]" in php.m4).
+ (Nikita)
+ . Fixed bug #79852 (count(DOMNodeList) doesn't match
+ count(IteratorIterator(DOMNodeList))). (Nikita)
+ . Fixed bug #79867 (Promoted untyped properties should get null default
+ value). (Nikita)
+ . Fixed bug #79897 (Promoted constructor params with attribs cause crash).
+ (Deus Kane)
+ . Fixed bug #79927 (Generator doesn't throw exception after multiple yield
+ from iterable). (Nikita)
+ . Fixed bug #79946 (Build fails due to undeclared UINT32_C). (Nikita)
+ . Fixed bug #79948 (Exit in auto-prepended file does not abort PHP execution).
+ (Nikita)
+ . Fixed bug #80045 (memleak after two set_exception_handler calls with
+ __call). (Nikita)
+ . Fixed bug #80096 (Segmentation fault with named arguments in nested call).
+ (Nikita)
+ . Fixed bug #80109 (Cannot skip arguments when extended debug is enabled).
+ (Nikita)
+ . Fixed bug #80225 (broken namespace usage in eval code). (Nikita)
. Fixed bug #80258 (Windows Deduplication Enabled, randon permission errors).
(cmb)
+ . Fixed bug #80280 (ADD_EXTENSION_DEP() fails for ext/standard and ext/date).
+ (cmb)
+ . Fixed bug #80334 (assert() vs named parameters - confusing error). (Nikita)
+ . Fixed bug #80055 (Abstract trait methods returning "self" cannot be
+ fulfilled by traits). (Nikita)
+ . Fixed faulty generator cleanup with yield from. (Bob)
+ . Implement #[Attr] Attribute syntax as per final vote in RFC
+ https://wiki.php.net/rfc/shorter_attribute_syntax_change
+ . Implemented FR #47074 (phpinfo() reports "On" as 1 for the some
+ extensions). (cmb)
+ . Implemented FR #72089 (require() throws fatal error instead of exception).
+ (Nikita)
+ . Removed the pdo_odbc.db2_instance_name php.ini directive. (Kalle)
+ . Use SSE2 instructions do locale independent strtolower. (Laruence)
-- COM:
- . Fixed bug #62474 (com_event_sink crashes on certain arguments). (cmb)
+- Curl:
+ . Bumped required libcurl version to 7.29.0. (cmb)
+ . Fixed bug #80121 (Null pointer deref if CurlHandle directly instantiated).
+ (Nikita)
- DOM:
+ . Add property DOMXPath::$registerNodeNamespaces and constructor argument
+ that allow global flag to configure query() or evaluate() calls.
+ . Fixed bug #79968 (DOMChildNode API crash on unattached nodes). (Benjamin)
. Fixed bug #80268 (loadHTML() truncates at NUL bytes). (cmb)
-- FFI:
- . Fixed bug #79177 (FFI doesn't handle well PHP exceptions within callback).
- (cmb, Dmitry, Nikita)
-
-- IMAP:
- . Fixed bug #64076 (imap_sort() does not return FALSE on failure). (cmb)
- . Fixed bug #76618 (segfault on imap_reopen). (girgias)
- . Fixed bug #80239 (imap_rfc822_write_address() leaks memory). (cmb)
- . Fixed minor regression caused by fixing bug #80220. (cmb)
- . Fixed bug #80242 (imap_mail_compose() segfaults for multipart with rfc822).
+- Date:
+ . Fixed bug #60302 (DateTime::createFromFormat should new static(), not new
+ self()). (Derick)
+ . Fixed bug #65547 (Default value for sunrise/sunset zenith still wrong).
(cmb)
+ . Fixed bug #69044 (discrepancy between time and microtime). (krakjoe)
+ . Fixed bug #80057 (DateTimeImmutable::createFromFormat() does not populate
+ time). (Derick)
+ . Implemented FR #79903 (datetime: new format "p", same as "P" but returning
+ "Z" for UTC). (gharlan)
-- MySQLi:
- . Fixed bug #79375 (mysqli_store_result does not report error from lock wait
- timeout). (Kamil Tekiela, Nikita)
- . Fixed bug #76525 (mysqli::commit does not throw if MYSQLI_REPORT_ERROR
- enabled and mysqlnd used). (Kamil Tekiela)
- . Fixed bug #72413 (mysqlnd segfault (fetch_row second parameter
- typemismatch)). (Kamil Tekiela)
-
-- ODBC:
- . Fixed bug #44618 (Fetching may rely on uninitialized data). (cmb)
-
-- Opcache:
- . Fixed bug #79643 (PHP with Opcache crashes when a file with specific name
- is included). (twosee)
- . Fixed run-time binding of preloaded dynamically declared function. (Dmitry)
-
-- OpenSSL:
- . Fixed bug #79983 (openssl_encrypt / openssl_decrypt fail with OCB mode).
- (Nikita)
-
-- PDO MySQL:
- . Fixed bug #66528 (No PDOException or errorCode if database becomes
- unavailable before PDO::commit). (Nikita)
- . Fixed bug #65825 (PDOStatement::fetch() does not throw exception on broken
- server connection). (Nikita)
-
-- SNMP:
- . Fixed bug #70461 (disable md5 code when it is not supported in net-snmp).
- (Alexander Bergmann, cmb)
+- Enchant:
+ . Add LIBENCHANT_VERSION macro.
+ . Add enchant_dict_add and enchant_dict_is_added functions.
+ . Deprecate enchant_broker_set_dict_path, enchant_broker_get_dict_path,
+ enchant_dict_add_to_personal and enchant_dict_is_in_session.
+ . Use libenchant-2 when available.
-- Standard:
- . Fixed bug #80266 (parse_url silently drops port number 0). (cmb, Nikita)
+- FFI:
+ . Added FFI\CType::getName() method. (chopins)
+ . Fixed bug #79177 (FFI doesn't handle well PHP exceptions within callback).
+ (cmb, Dmitry, Nikita)
+ . Fixed bug #79749 (Converting FFI instances to bool fails). (cmb)
-29 Oct 2020, PHP 7.4.12
+- FPM:
+ . Add pm.status_listen option. (Jakub Zelenka)
-- Core:
- . Fixed bug #80061 (Copying large files may have suboptimal performance).
- (cmb)
- . Fixed bug #79423 (copy command is limited to size of file it can copy).
- (cmb)
- . Fixed bug #80126 (Covariant return types failing compilation). (Nikita)
- . Fixed bug #80186 (Segfault when iterating over FFI object). (Nikita)
+- Fileinfo:
+ . Upgrade to libmagic 5.39. (Anatol)
-- Calendar:
- . Fixed bug #80185 (jdtounix() fails after 2037). (cmb)
+- GD:
+ . Added imagegetinterpolation(). (cmb)
+ . Fixed bug #55005 (imagepolygon num_points requirement). (cmb)
+ . Made the $num_points parameter of php_imagepolygon optional. (cmb)
+ . Removed deprecated image2wbmp(). (cmb)
+ . Removed deprecated png2wbmp() and jpeg2wbmp(). (cmb)
+ . Replaced gd resources with objects. (Mark Randall)
- IMAP:
+ . Fixed bug #64076 (imap_sort() does not return FALSE on failure). (cmb)
+ . Fixed bug #76618 (segfault on imap_reopen). (girgias)
. Fixed bug #80213 (imap_mail_compose() segfaults on certain $bodies). (cmb)
. Fixed bug #80215 (imap_mail_compose() may modify by-val parameters). (cmb)
+ . Fixed bug #80216 (imap_mail_compose() does not validate types/encodings).
+ (cmb)
. Fixed bug #80220 (imap_mail_compose() may leak memory). (cmb)
. Fixed bug #80223 (imap_mail_compose() leaks envelope on malformed bodies).
(cmb)