Commit: 4fed49de5b151a47fd97c4aec57d43b6acbdb20d
Author: Sara Golemon <[email protected]> Tue, 24 Nov 2020 19:03:31
+0000
Parents: 9e88b67bf374ec1deb64c6bcb92f139cc9bd179b
Branches: master
Link:
http://git.php.net/?p=web/php.git;a=commitdiff;h=4fed49de5b151a47fd97c4aec57d43b6acbdb20d
Log:
Go ahead and commit ChangeLog-8.php a little early
Changed paths:
A ChangeLog-8.php
diff --git a/ChangeLog-8.php b/ChangeLog-8.php
new file mode 100644
index 000000000..0b32fb53c
--- /dev/null
+++ b/ChangeLog-8.php
@@ -0,0 +1,345 @@
+<?php
+$_SERVER['BASE_PAGE'] = 'ChangeLog-8.php';
+include_once __DIR__ . '/include/prepend.inc';
+include_once __DIR__ . '/include/changelogs.inc';
+site_header("PHP 8 ChangeLog", array("current" => "docs", "css" =>
array("changelog.css"), "layout_span" => 12));
+?>
+<h1>PHP 8 ChangeLog</h1>
+
+<a href="#PHP_8_0">8.0</a>
+
+<a name="PHP_8_0"></a>
+
+<section class="version" id="8.0.0"><!-- {{{ 8.0.0 -->
+<h3>Version 8.0.0</h3>
+<b><?php release_date('26-Nov-2020'); ?></b>
+<ul><li>BZ2:
+<ul>
+ <li><?php bugfix(71263); ?> (fread() does not report bzip2.decompress
errors).</li>
+</ul></li>
+<li>CLI:
+<ul>
+ <li>Allow debug server binding to an ephemeral port via `-S
localhost:0`.</li>
+</ul></li>
+<li>COM:
+<ul>
+ <li><?php bugfix(55847); ?> (DOTNET .NET 4.0 GAC new location).</li>
+ <li><?php bugfix(62474); ?> (com_event_sink crashes on certain
arguments).</li>
+</ul></li>
+<li>Calendar:
+<ul>
+ <li><?php bugfix(80007); ?> (Potential type confusion in unixtojd()
parameter parsing).</li>
+</ul></li>
+<li>Core:
+<ul>
+ <li><?php bugfix(36365); ?> (scandir duplicates file name at every 65535th
file).</li>
+ <li><?php bugfix(49555); ?> (Fatal error "Function must be a string" message
should be renamed).</li>
+ <li><?php bugfix(62294); ?> (register_shutdown_function() does not correctly
handle exit code).</li>
+ <li><?php bugfix(62609); ?> (Allow implementing Traversable on abstract
classes).</li>
+ <li><?php bugfix(65274); ?> (Enhance undefined class constant error with
class name).</li>
+ <li><?php bugfix(65275); ?> (Calling exit() in a shutdown function does not
change the exit value in CLI).</li>
+ <li><?php bugfix(69084); ?> (Unclear error message when not implementing a
renamed abstract trait function).</li>
+ <li><?php bugfix(70839); ?> (Converting optional argument to variadic
forbidden by LSP checks).</li>
+ <li><?php bugfix(74558); ?> (Can't rebind closure returned by
Closure::fromCallable()).</li>
+ <li><?php bugfix(77561); ?> (Shebang line not stripped for non-primary
script).</li>
+ <li><?php bugfix(77619); ?> (Wrong reflection on
MultipleIterator::__construct).</li>
+ <li><?php bugfix(77966); ?> (Cannot alias a method named "namespace").</li>
+ <li><?php bugfix(78236); ?> (convert error on receiving variables when
duplicate [).</li>
+ <li><?php bugfix(78770); ?> (Incorrect callability check inside internal
methods).</li>
+ <li><?php bugfix(79108); ?> (Referencing argument in a function makes it a
reference in the stack trace).</li>
+ <li><?php bugfix(79368); ?> ("Unexpected end of file" is not an acceptable
error message).</li>
+ <li><?php bugfix(79462); ?> (method_exists and property_exists incoherent
behavior).</li>
+ <li><?php bugfix(79467); ?> (data:// wrappers are writable).</li>
+ <li><?php bugfix(79521); ?> (Check __set_state structure).</li>
+ <li><?php bugfix(79790); ?> ("Illegal offset type" exception during AST
evaluation not handled properly).</li>
+ <li><?php bugfix(79791); ?> (Assertion failure when unsetting variable
during binary op).</li>
+ <li><?php bugfix(79828); ?> (Segfault when trying to access non-existing
variable).</li>
+ <li><?php bugfix(79841); ?> (Syntax error in configure / unescaped "[]" in
php.m4).</li>
+ <li><?php bugfix(79852); ?> (count(DOMNodeList) doesn't match
count(IteratorIterator(DOMNodeList))).</li>
+ <li><?php bugfix(79867); ?> (Promoted untyped properties should get null
default value).</li>
+ <li><?php bugfix(79897); ?> (Promoted constructor params with attribs cause
crash).</li>
+ <li><?php bugfix(79927); ?> (Generator doesn't throw exception after
multiple yield from iterable).</li>
+ <li><?php bugfix(79946); ?> (Build fails due to undeclared UINT32_C).</li>
+ <li><?php bugfix(79948); ?> (Exit in auto-prepended file does not abort PHP
execution).</li>
+ <li><?php bugfix(80045); ?> (memleak after two set_exception_handler calls
with __call).</li>
+ <li><?php bugfix(80096); ?> (Segmentation fault with named arguments in
nested call).</li>
+ <li><?php bugfix(80109); ?> (Cannot skip arguments when extended debug is
enabled).</li>
+ <li><?php bugfix(80225); ?> (broken namespace usage in eval code).</li>
+ <li><?php bugfix(80258); ?> (Windows Deduplication Enabled, randon
permission errors).</li>
+ <li><?php bugfix(80280); ?> (ADD_EXTENSION_DEP() fails for ext/standard and
ext/date).</li>
+ <li><?php bugfix(80334); ?> (assert() vs named parameters - confusing
error).</li>
+ <li><?php bugfix(8055); ?> (Abstract trait methods returning "self" cannot
be fulfilled by traits).</li>
+ <li>Fixed faulty generator cleanup with yield from.</li>
+ <li>Implement #[Attr] Attribute syntax as per final vote in RFC
https://wiki.php.net/rfc/shorter_attribute_syntax_change</li>
+ <li>Implemented FR <?php bugl(47074); ?> (phpinfo() reports "On" as 1 for
the some extensions).</li>
+ <li>Implemented FR <?php bugl(72089); ?> (require() throws fatal error
instead of exception).</li>
+ <li>Removed the pdo_odbc.db2_instance_name php.ini directive.</li>
+ <li>Use SSE2 instructions do locale independent strtolower.</li>
+</ul></li>
+<li>Curl:
+<ul>
+ <li>Bumped required libcurl version to 7.29.0.</li>
+ <li><?php bugfix(80121); ?> (Null pointer deref if CurlHandle directly
instantiated).</li>
+</ul></li>
+<li>DOM:
+<ul>
+ <li>Add property DOMXPath::$registerNodeNamespaces and constructor argument
that allow global flag to configure query() or evaluate() calls.</li>
+ <li><?php bugfix(79968); ?> (DOMChildNode API crash on unattached
nodes).</li>
+ <li><?php bugfix(80268); ?> (loadHTML() truncates at NUL bytes).</li>
+</ul></li>
+<li>Date:
+<ul>
+ <li><?php bugfix(60302); ?> (DateTime::createFromFormat should new static(),
not new self()).</li>
+ <li><?php bugfix(65547); ?> (Default value for sunrise/sunset zenith still
wrong).</li>
+ <li><?php bugfix(69044); ?> (discrepancy between time and microtime).</li>
+ <li><?php bugfix(80057); ?> (DateTimeImmutable::createFromFormat() does not
populate time).</li>
+ <li>Implemented FR <?php bugl(79903); ?> (datetime: new format "p", same as
"P" but returning "Z" for UTC).</li>
+</ul></li>
+<li>Enchant:
+<ul>
+ <li>Add LIBENCHANT_VERSION macro.</li>
+ <li>Add enchant_dict_add and enchant_dict_is_added functions.</li>
+ <li>Deprecate enchant_broker_set_dict_path, enchant_broker_get_dict_path,
enchant_dict_add_to_personal and enchant_dict_is_in_session.</li>
+ <li>Use libenchant-2 when available.</li>
+</ul></li>
+<li>FFI:
+<ul>
+ <li>Added FFI\CType::getName() method.</li>
+ <li><?php bugfix(79177); ?> (FFI doesn't handle well PHP exceptions within
callback).</li>
+ <li><?php bugfix(79749); ?> (Converting FFI instances to bool fails).</li>
+</ul></li>
+<li>FPM:
+<ul>
+ <li>Add pm.status_listen option.</li>
+</ul></li>
+<li>Fileinfo:
+<ul>
+ <li>Upgrade to libmagic 5.39.</li>
+</ul></li>
+<li>GD:
+<ul>
+ <li>Added imagegetinterpolation().</li>
+ <li><?php bugfix(55005); ?> (imagepolygon num_points requirement).</li>
+ <li>Made the $num_points parameter of php_imagepolygon optional.</li>
+ <li>Removed deprecated image2wbmp().</li>
+ <li>Removed deprecated png2wbmp() and jpeg2wbmp().</li>
+ <li>Replaced gd resources with objects.</li>
+</ul></li>
+<li>IMAP:
+<ul>
+ <li><?php bugfix(64076); ?> (imap_sort() does not return FALSE on
failure).</li>
+ <li><?php bugfix(76618); ?> (segfault on imap_reopen).</li>
+ <li><?php bugfix(80213); ?> (imap_mail_compose() segfaults on certain
$bodies).</li>
+ <li><?php bugfix(80215); ?> (imap_mail_compose() may modify by-val
parameters).</li>
+ <li><?php bugfix(80216); ?> (imap_mail_compose() does not validate
types/encodings).</li>
+ <li><?php bugfix(80220); ?> (imap_mail_compose() may leak memory).</li>
+ <li><?php bugfix(80223); ?> (imap_mail_compose() leaks envelope on malformed
bodies).</li>
+ <li><?php bugfix(80226); ?> (imap_sort() leaks sortpgm memory).</li>
+ <li><?php bugfix(80239); ?> (imap_rfc822_write_address() leaks memory).</li>
+ <li><?php bugfix(80242); ?> (imap_mail_compose() segfaults for multipart
with rfc822).</li>
+ <li>Fixed minor regression caused by fixing bug #80220.</li>
+</ul></li>
+<li>Iconv:
+<ul>
+ <li>Dropped support for iconv without proper errno setting.</li>
+</ul></li>
+<li>Intl:
+<ul>
+ <li>Removed deprecated INTL_IDNA_VARIANT_2003.</li>
+</ul></li>
+<li>JIT:
+<ul>
+ <li><?php bugfix(77857); ?> (Wrong result if executed with JIT).</li>
+ <li><?php bugfix(79255); ?> (PHP cannot be compiled with enable JIT).</li>
+ <li><?php bugfix(79582); ?> (Crash seen when opcache.jit=1235 and
opcache.jit_debug=2).</li>
+ <li><?php bugfix(79743); ?> (Fatal error when assigning to array property
with JIT enabled).</li>
+ <li><?php bugfix(79864); ?> (JIT segfault in Symfony OptionsResolver).</li>
+ <li><?php bugfix(79888); ?> (Incorrect execution with JIT enabled).</li>
+</ul></li>
+<li>JSON:
+<ul>
+ <li>The JSON extension is now an integral part of PHP and cannot be disabled
as per RFC: https://wiki.php.net/rfc/always_enable_json (tandre)</li>
+</ul></li>
+<li>LDAP:
+<ul>
+ <li>Fixed memory leaks.</li>
+ <li>Removed deprecated ldap_sort.</li>
+</ul></li>
+<li>MBString:
+<ul>
+ <li><?php bugfix(76999); ?> (mb_regex_set_options() return current
options).</li>
+ <li>Removed the unused $is_hex parameter from mb_decode_numericentity().</li>
+</ul></li>
+<li>MySQLi:
+<ul>
+ <li><?php bugfix(76809); ?> (SSL settings aren't respected when persistent
connections are used).</li>
+</ul></li>
+<li>Mysqlnd:
+<ul>
+ <li>Fixed #60594 (mysqlnd exposes 160 lines of stats in phpinfo).</li>
+</ul></li>
+<li>OCI8:
+<ul>
+ <li>Deprecated old OCI8 function aliases.</li>
+ <li>Modernized oci_register_taf_callback() callable argument parsing
implementation.</li>
+ <li>Removed obsolete no-op function oci_internal_debug().</li>
+</ul></li>
+<li>ODBC:
+<ul>
+ <li><?php bugfix(22986); ?> (odbc_connect() may reuse persistent
connection).</li>
+ <li><?php bugfix(44618); ?> (Fetching may rely on uninitialized data).</li>
+</ul></li>
+<li>Opcache:
+<ul>
+ <li><?php bugfix(76535); ?> (Opcache does not replay compile-time
warnings).</li>
+ <li><?php bugfix(78654); ?> (Incorrectly computed opcache checksum on files
with non-ascii characters).</li>
+ <li><?php bugfix(79665); ?> (ini_get() and opcache_get_configuration()
inconsistency).</li>
+ <li><?php bugfix(80030); ?> (Optimizer segfault with isset on static
property with undef dynamic class name).</li>
+ <li><?php bugfix(80175); ?> (PHP8 RC1 - JIT Buffer not working).</li>
+ <li><?php bugfix(80184); ?> (Complex expression in while / if statements
resolves to false incorrectly).</li>
+ <li><?php bugfix(80255); ?> (Opcache bug (bad condition result) in
8.0.0rc1).</li>
+ <li>Fixed run-time binding of preloaded dynamically declared function.</li>
+</ul></li>
+<li>OpenSSL:
+<ul>
+ <li>Added Cryptographic Message Syntax (CMS) support.</li>
+</ul></li>
+<li>PCRE:
+<ul>
+ <li>Don't ignore invalid escape sequences.</li>
+ <li>Updated to PCRE2 10.35.</li>
+</ul></li>
+<li>PDO:
+<ul>
+ <li>Changed default PDO error mode to exceptions.</li>
+ <li><?php bugfix(77849); ?> (Disable cloning of PDO handle/connection
objects).</li>
+</ul></li>
+<li>PDO_Firebird:
+<ul>
+ <li><?php bugfix(64937); ?> (Firebird PDO preprocessing sql).</li>
+</ul></li>
+<li>PDO_OCI:
+<ul>
+ <li>Added support for setting and getting the oracle OCI 18c call
timeout.</li>
+</ul></li>
+<li>PDO_PGSQL:
+<ul>
+ <li>Bumped required libpq version to 9.1.</li>
+</ul></li>
+<li>PGSQL:
+<ul>
+ <li>Bumped required libpq version to 9.1.</li>
+</ul></li>
+<li>Phpdbg:
+<ul>
+ <li><?php bugfix(76596); ?> (phpdbg support for display_errors=stderr).</li>
+ <li><?php bugfix(76801); ?> (too many open files).</li>
+ <li><?php bugfix(77800); ?> (phpdbg segfaults on listing some conditional
breakpoints).</li>
+ <li><?php bugfix(77805); ?> (phpdbg build fails when readline is
shared).</li>
+</ul></li>
+<li>Reflection:
+<ul>
+ <li><?php bugfix(64592); ?> (ReflectionClass::getMethods() returns methods
out of scope).</li>
+ <li><?php bugfix(69180); ?> (Reflection does not honor trait conflict
resolution / method aliasing).</li>
+ <li><?php bugfix(74939); ?> (Nested traits' aliased methods are
lowercased).</li>
+ <li><?php bugfix(77325); ?> (ReflectionClassConstant::$class returns wrong
class when extending).</li>
+ <li><?php bugfix(78697); ?> (ReflectionClass::implementsInterface -
inaccurate error message with traits).</li>
+ <li><?php bugfix(80190); ?> (ReflectionMethod::getReturnType() does not
handle static as part of union type).</li>
+ <li><?php bugfix(80299); ?> (ReflectionFunction->invokeArgs confused in
arguments).</li>
+ <li><?php bugfix(80370); ?> (getAttributes segfault on dynamic
properties).</li>
+ <li>Implement #79628 (Add $filter parameter for
ReflectionClass::getConstants and ReflectionClass::getReflectionConstants)
(carusogabriel)</li>
+ <li>Implement ReflectionProperty::hasDefaultValue and
Reflection::getDefaultValue (beberlei)</li>
+</ul></li>
+<li>SNMP:
+<ul>
+ <li><?php bugfix(70461); ?> (disable md5 code when it is not supported in
net-snmp).</li>
+</ul></li>
+<li>SPL:
+<ul>
+ <li><?php bugfix(65006); ?> (spl_autoload_register fails with multiple
callables using self, same method).</li>
+ <li><?php bugfix(65387); ?> (Circular references in SPL iterators are not
garbage collected).</li>
+ <li><?php bugfix(71236); ?> (Second call of spl_autoload_register() does
nothing if it has no arguments).</li>
+ <li><?php bugfix(79987); ?> (Memory leak in SplFileInfo because of missing
zend_restore_error_handling()).</li>
+ <li>SplFixedArray is now IteratorAggregate rather than Iterator.</li>
+</ul></li>
+<li>SQLite3:
+<ul>
+ <li>Added SQLite3::setAuthorizer() and respective class constants.</li>
+</ul></li>
+<li>Session:
+<ul>
+ <li><?php bugfix(73529); ?> (session_decode() silently fails on wrong
input).</li>
+ <li><?php bugfix(78624); ?> (session_gc return value for user defined
session handlers).</li>
+</ul></li>
+<li>Shmop:
+<ul>
+ <li>Converted shmop resources to objects.</li>
+</ul></li>
+<li>SimpleXML:
+<ul>
+ <li><?php bugfix(63575); ?> (Root elements are not properly cloned).</li>
+ <li><?php bugfix(75245); ?> (Don't set content of elements with only
whitespaces).</li>
+</ul></li>
+<li>Sodium:
+<ul>
+ <li><?php bugfix(77646); ?> (sign_detached() strings not terminated).</li>
+</ul></li>
+<li>Standard:
+<ul>
+ <li>Don't force rebuild of symbol table, when populating
$http_response_header variable by the HTTP stream wrapper.</li>
+ <li><?php bugfix(47983); ?> (mixed LF and CRLF line endings in mail()).</li>
+ <li><?php bugfix(64060); ?> (lstat_stat_variation7.phpt fails on certain
file systems).</li>
+ <li><?php bugfix(75902); ?> (str_replace should warn when misused with
nested arrays).</li>
+ <li><?php bugfix(76859); ?> (stream_get_line skips data if used with
data-generating filter).</li>
+ <li><?php bugfix(77204); ?> (getimagesize(): Read error! should mention file
path).</li>
+ <li><?php bugfix(78385); ?> (parse_url() does not include 'query' when
question mark is the last char).</li>
+ <li><?php bugfix(79868); ?> (Sorting with array_unique gives unwanted
result).</li>
+ <li><?php bugfix(80256); ?> (file_get_contents strip first line with chunked
encoding redirect).</li>
+ <li><?php bugfix(80266); ?> (parse_url silently drops port number 0).</li>
+ <li><?php bugfix(80290); ?> (Double free when ASSERT_CALLBACK is used with a
dynamic message).</li>
+ <li>Implemented FR <?php bugl(78638); ?> (__PHP_Incomplete_Class should be
final).</li>
+ <li>Made quoting of cmd execution functions consistent.</li>
+</ul></li>
+<li>Tidy:
+<ul>
+ <li>Removed the unused $use_include_path parameter from
tidy_repair_string().</li>
+</ul></li>
+<li>Tokenizer:
+<ul>
+ <li><?php bugfix(80328); ?> (PhpToken::getAll() confusing name).</li>
+</ul></li>
+<li>XML:
+<ul>
+ <li><?php bugfix(76874); ?> (xml_parser_free() should never leak
memory).</li>
+</ul></li>
+<li>XMLWriter:
+<ul>
+ <li>Changed functions to accept/return XMLWriter objects instead of
resources.</li>
+ <li>Implemented FR <?php bugl(79344); ?> (xmlwriter_write_attribute_ns:
$prefix should be nullable).</li>
+ <li>Removed return types from XMLWriter stubs.</li>
+</ul></li>
+<li>Zip:
+<ul>
+ <li>Add "flags" options to ZipArchive::addGlob and addPattern methods
keeping previous behavior having FL_OVERWRITE by default.</li>
+ <li>Add ZipArchive::EM_UNKNOWN and ZipArchive::EM_TRAD_PKWARE constants.</li>
+ <li>Add ZipArchive::isCompressionMethodSupported() and
ZipArchive::isEncryptionMethodSupported() method (libzip 1.7.0).</li>
+ <li>Add ZipArchive::replaceFile() method.</li>
+ <li>Add ZipArchive::setCancelCallback method (since libzip 1.6.0).</li>
+ <li>Add ZipArchive::setMtimeName and ZipArchive::setMtimeIndex methods.</li>
+ <li>Add ZipArchive::setProgressCallback method (since libzip 1.3.0).</li>
+ <li>Add lastId property to ZipArchive.</li>
+ <li>Add optional "flags" parameter to ZipArchive::addEmptyDir, addFile and
addFromString methods.</li>
+ <li><?php bugfix(50678); ?> (files extracted by ZipArchive class lost their
original modified time).</li>
+ <li><?php bugfix(72374); ?> (remove_path strips first char of filename).</li>
+ <li>Implemented FR <?php bugl(77960); ?> (add compression / encryption
options for ZipArchive::addGlob and ZipArchive::addPattern).</li>
+ <li>ZipArchive::status and ZipArchive::statusSys properties and
ZipArchive::getStatusString() method stay valid after the archive is
closed.</li>
+</ul></li>
+<li>Zlib:
+<ul>
+ <li><?php bugfix(71417); ?> (fread() does not report zlib.inflate
errors).</li>
+ <li><?php bugfix(78792); ?> (zlib.output_compression disabled by
Content-Type: image/).</li>
+</ul></li>
+</ul>
+<!-- }}} --></section>
+
+<?php site_footer();
--
PHP Webmaster List Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php