Skip to content

Commit

Permalink
Merge branch 'master' into str_contains
Browse files Browse the repository at this point in the history
  • Loading branch information
philippta committed Mar 13, 2020
2 parents 8a60b3c + 78b64bd commit 3ed6214
Show file tree
Hide file tree
Showing 1,075 changed files with 16,904 additions and 13,665 deletions.
3 changes: 2 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ git:

dist: xenial
language: c
sudo: required
os: linux
addons:
apt:
packages:
Expand All @@ -27,6 +27,7 @@ addons:
- libpspell-dev
- libsasl2-dev
- libsqlite3-dev
- libsodium-dev
- libtidy-dev
- libwebp-dev
- libxml2-dev
Expand Down
20 changes: 11 additions & 9 deletions EXTENSIONS
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: cli
PRIMARY MAINTAINER: Marcus Börger <[email protected]>, Edin Kadribasic <[email protected]>
MAINTENANCE: Unknown
MAINTENANCE: Xinchen Hui <[email protected]> (2013 - 2020)
STATUS: Working
SINCE: 4.3.0
-------------------------------------------------------------------------------
Expand Down Expand Up @@ -166,7 +166,7 @@ COMMENT: Use PostgreSQL 7.0.x or later. PostgreSQL 6.5.3 or less hav
-------------------------------------------------------------------------------
EXTENSION: sqlite3
PRIMARY MAINTAINER: Scott MacVicar <[email protected]> (2008 - 2011)
Christoph M. Becker <[email protected]> (2016 - 2019)
Christoph M. Becker <[email protected]> (2016 - 2020)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
Expand Down Expand Up @@ -255,7 +255,7 @@ STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: com_dotnet
PRIMARY MAINTAINER: Wez Furlong <[email protected]> (2003 - 2005)
Christoph M. Becker <[email protected]> (2018 - 2019)
Christoph M. Becker <[email protected]> (2018 - 2020)
MAINTENANCE: Maintained
STATUS: Windows
SINCE: 5.0
Expand Down Expand Up @@ -318,7 +318,7 @@ STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: gd
PRIMARY MAINTAINER: Pierre-Alain Joye <[email protected]> (2002 - 2016)
Christoph M. Becker <[email protected]> (2015 - 2019)
Christoph M. Becker <[email protected]> (2015 - 2020)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
Expand All @@ -330,7 +330,7 @@ STATUS: Working
EXTENSION: gmp
PRIMARY MAINTAINER: Stanislav Malyshev <[email protected]> (2000 - 2019)
Antony Dovgal <[email protected]> (2005 - 2010)
Nikita Popov <[email protected]> (2013 - 2019)
Nikita Popov <[email protected]> (2013 - 2020)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.4
Expand Down Expand Up @@ -379,14 +379,14 @@ STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mbstring
PRIMARY MAINTAINER: Rui Hirokawa <[email protected]> (2001 - 2013)
Nikita Popov <[email protected]> (2017 - 2019)
Nikita Popov <[email protected]> (2017 - 2020)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: opcache
PRIMARY MAINTAINER: Dmitry Stogov <[email protected]> (2013 - 2018)
Xinchen Hui <[email protected]> (2013 - 2018)
Nikita Popov <[email protected]> (2016 - 2019)
Xinchen Hui <[email protected]> (2013 - 2020)
Nikita Popov <[email protected]> (2016 - 2020)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.5.0
Expand Down Expand Up @@ -438,6 +438,7 @@ STATUS: Working
EXTENSION: reflection
PRIMARY MAINTAINER: Marcus Börger <[email protected]> (2003 - 2009)
Johannes Schlüter <[email protected]> (2006 - 2014)
Nikita Popov <[email protected]> (2019 - 2020)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
Expand Down Expand Up @@ -503,12 +504,13 @@ STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: tokenizer
PRIMARY MAINTAINER: Andrei Zmievski <[email protected]> (2002 - 2002)
Nikita Popov <[email protected]> (2013 - 2019)
Nikita Popov <[email protected]> (2013 - 2020)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: zip
PRIMARY MAINTAINER: Pierre-Alain Joye <[email protected]> (2006 - 2011)
Remi Collet <[email protected]> (2013-2020)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
Expand Down
29 changes: 28 additions & 1 deletion NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ PHP NEWS
renamed). (Nikita)
. Fixed bug #70839 (Converting optional argument to variadic forbidden by LSP
checks). (Nikita)
. Fixed bug #69084 (Unclear error message when not implementing a renamed
abstract trait function). (Nikita)
. Fixed bug #62609 (Allow implementing Traversable on abstract classes).
(Nikita)

- CURL:
. Bumped required libcurl version to 7.29.0. (cmb)
Expand Down Expand Up @@ -42,6 +46,8 @@ PHP NEWS

- JIT:
. Fixed bug #77857 (Wrong result if executed with JIT). (Laruence)
. Fixed bug #79255 (PHP cannot be compiled with enable JIT).
(Laruence, Dmitry)

- LDAP:
. Removed deprecated ldap_sort. (mcmic)
Expand Down Expand Up @@ -83,6 +89,13 @@ PHP NEWS
message with traits). (villfa)
. Implement ReflectionProperty::hasDefaultValue and
Reflection::getDefaultValue (beberlei)
. Fixed bug #64592 (ReflectionClass::getMethods() returns methods out of
scope). (Nikita)
. Fixed bug #77325 (ReflectionClassConstant::$class returns wrong class when
extending). (Nikita)
. Fixed bug #69180 (Reflection does not honor trait conflict resolution /
method aliasing). (Nikita)
. Fixed bug #74939 (Nested traits' aliased methods are lowercased). (Nikita)

- Session:
. Fixed bug #78624 (session_gc return value for user defined session
Expand All @@ -106,6 +119,9 @@ PHP NEWS
filter). (kkopachev)
. Fixed bug #78385 (parse_url() does not include 'query' when question mark
is the last char). (Islam Israfilov)
. Fixed bug #75902 (str_replace should warn when misused with nested arrays).
(Nikita)
. Made quoting of cmd execution functions consistent. (cmb)

- tidy:
. Removed the unused $use_include_path parameter from tidy_repair_string().
Expand All @@ -119,9 +135,20 @@ PHP NEWS
(cmb)

- Zip:
. Fixed bug #72374 (remove_path strips first char of filename). (tyage)
. Fixed bug #72374 (remove_path strips first char of filename). (tyage, Remi)
. Add ZipArchive::setMtimeName and ZipArchive::setMtimeIndex methods. (Remi)
. Add ZipArchive::setProgressCallback method (since libzip 1.3.0). (Remi)
. Add ZipArchive::setCancelCallback method (since libzip 1.6.0). (Remi)
. Add optional "flags" parameter to ZipArchive::addEmptyDir, addFile and
addFromString methods. (Remi)
. Add "flags" options to ZipArchive::addGlob and addPattern methods
keeping previous behavior having FL_OVERWRITE by default. (Remi)
. Add ZipArchive::replaceFile() method. (Remi)
. Add lastId property to ZipArchive. (Remi)
. ZipArchive::status and ZipArchive::statusSys properties and
ZipArchive::getStatusString() method stay valid after the archive
is closed. (Remi)
. Fixed bug #50678 (files extracted by ZipArchive class lost their
original modified time). (Remi)

<<< NOTE: Insert NEWS from last stable release here prior to actual release! >>>
4 changes: 2 additions & 2 deletions TSRM/tsrm_win32.c
Original file line number Diff line number Diff line change
Expand Up @@ -478,12 +478,12 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
return NULL;
}

cmd = (char*)malloc(strlen(command)+strlen(TWG(comspec))+sizeof(" /c ")+2);
cmd = (char*)malloc(strlen(command)+strlen(TWG(comspec))+sizeof(" /s /c ")+2);
if (!cmd) {
return NULL;
}

sprintf(cmd, "%s /c \"%s\"", TWG(comspec), command);
sprintf(cmd, "%s /s /c \"%s\"", TWG(comspec), command);
cmdw = php_win32_cp_any_to_w(cmd);
if (!cmdw) {
free(cmd);
Expand Down
101 changes: 94 additions & 7 deletions UPGRADING
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,39 @@ PHP 8.0 UPGRADE NOTES
exception.
. Some "Only variables should be passed by reference" notices have been converted
to "Cannot pass parameter by reference" exception.
. The generated name for anonymous classes has changed. It will now include
the name of the first parent or interface:

new class extends ParentClass {};
// -> ParentClass@anonymous
new class implements FirstInterface, SecondInterface {};
// -> FirstInterface@anonymous
new class {};
// -> class@anonymous

The name shown above is still followed by a null byte and and a unique
suffix.
. Declaring a required parameter after an optional one is deprecated. As an
exception, declaring a parameter of the form "Type $param = null" before
a required one continues to be allowed, because this pattern was sometimes
used to achieve nullable types in older PHP versions.

function test($a = [], $b) {} // Deprecated
function test(Foo $a = null, $b) {} // Allowed
. Non-absolute trait method references in trait alias adaptations are now
required to be unambiguous:

class X {
use T1, T2 {
func as otherFunc;
}
function func() {}
}

If both T1::func() and T2::func() exist, this code was previously silently
accepted, and func as assumed to refer to T1::func. Now it will generate a
fatal error instead, and either T1::func or T2::func needs to be written
explicitly.

- COM:
. Removed the ability to import case-insensitive constants from type
Expand Down Expand Up @@ -266,6 +299,7 @@ PHP 8.0 UPGRADE NOTES
representation of the type, and is no longer deprecated. In particular the
result will include a nullability indicator for nullable types. The format
of the return value is not stable and may change between PHP versions.
. Reflection export() methods have been removed.

- Socket:
. The deprecated AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES
Expand Down Expand Up @@ -309,6 +343,7 @@ PHP 8.0 UPGRADE NOTES
. convert_cyr_string() has been removed.
. money_format() has been removed.
. ezmlm_hash() has been removed.
. restore_include_path() has been removed.
. get_magic_quotes_gpc() and get_magic_quotes_gpc_runtime() has been removed.
. FILTER_SANITIZE_MAGIC_QUOTES has been removed.
. Calling implode() with parameters in a reverse order ($pieces, $glue) is no
Expand All @@ -321,6 +356,10 @@ PHP 8.0 UPGRADE NOTES
http://example.com/foo?# => query = "", fragment = ""

Previously all cases resulted in query and fragment being null.
. var_dump() and debug_zval_dump() will now print floating-point numbers
using serialize_precision rather than precision. In a default configuration,
this means that floating-point numbers are now printed with full accuracy
by these debugging functions.

- tidy:
. The $use_include_path parameter, which was not used internally, has been
Expand All @@ -338,11 +377,8 @@ PHP 8.0 UPGRADE NOTES
objects instead of resources.

- Zip:
. The remove_path option of ZipArchive::addGlob() and ::addPattern() is now
treated as arbitrary string prefix (for consistency with the add_path
option), whereas formerly it was treated as directory name. This means that
if no trailing directory separator is given, the following character is
no longer stripped from the filename.
. ZipArchive::OPSYS_Z_CPM have been removed, should use ZipArchive::OPSYS_CPM
(this name was a typo).

- Zlib:
. gzgetss() has been removed.
Expand All @@ -367,21 +403,44 @@ PHP 8.0 UPGRADE NOTES
class B extends A {
public function method(...$everything) {}
}
. "static" (as in "late static binding") can now be used as a return type:

class Test {
public function create(): static {
return new static();
}
}

RFC: https://wiki.php.net/rfc/static_return_type
. It is now possible to fetch the class name of an object using
`$object::class`. The result is the same as `get_class($object)`.
RFC: https://wiki.php.net/rfc/class_name_literal_on_object
. New and instanceof can now be used with arbitary expressions, using
. New and instanceof can now be used with arbitrary expressions, using
`new (expression)(...$args)` and `$obj instanceof (expression)`.
RFC: https://wiki.php.net/rfc/variable_syntax_tweaks
. Some consistency fixes to variable syntax have been applied, for example
writing `Foo::BAR::$baz` is now allowed.
RFC: https://wiki.php.net/rfc/variable_syntax_tweaks

. Added Stringable.
RFC: https://wiki.php.net/rfc/stringable

- Date:
. Added DateTime::createFromInterface() and
DateTimeImmutable::createFromInterface().

- dom:
. Introduce DOMParentNode and DOMChildNode with new traversal and manipulation APIs
RFC: https://wiki.php.net/rfc/dom_living_standard_api

- Zip:
. Extension updated to version 1.18
. New ZipArchive::lastId property to get index value of last added entry.
. Error can be checked after an archive is closed using ZipArchive::status,
ZipArchive::statusSys properties or ZipArchive::getStatusString() method.
. The remove_path option of ZipArchive::addGlob() and ::addPattern() is now
treated as arbitrary string prefix (for consistency with the add_path
option), whereas formerly it was treated as directory name.

========================================
3. Changes in SAPI modules
========================================
Expand All @@ -398,10 +457,23 @@ PHP 8.0 UPGRADE NOTES
5. Changed Functions
========================================

- Zip
. ZipArchive::addGlob and ZipArchive::addPattern methods accept a "flags"
value in the "options" array argument.
. ZipArchive::addEmptyDir, ZipArchive::addFile and aZipArchive::addFromString
methods have a new "flags" argument. This allow to manage name encoding
(ZipArchive::FL_ENC_*) and entry replacement (ZipArchive::FL_OVERWRITE)
. ZipArchive::extractTo now restore file modification time.

========================================
6. New Functions
========================================

- PCRE:
. Added preg_last_error_msg(), which returns a human-readable message for
the last PCRE error. It complements preg_last_error(), which returns an
integer enum instead.

- SQLite3:
. Add SQLite3::setAuthorizer() and respective class constants to set a
userland callback that will be used to authorize or not an action on the
Expand All @@ -413,6 +485,13 @@ PHP 8.0 UPGRADE NOTES
IEEE 754 semantics. Division by zero is considered well-defined and
will return one of Inf, -Inf or NaN.

- Zip:
. ZipArchive::setMtimeName and ZipArchive::setMtimeIndex to set the
modification time of an entry.
. ZipArchive::setProgressCallback to provide updates during archive close.
. ZipArchive::setCancelCallback to allow cancellation during archive close.
. ZipArchive::replaceFile to replace an entry content.

========================================
7. New Classes and Interfaces
========================================
Expand All @@ -436,6 +515,9 @@ PHP 8.0 UPGRADE NOTES
. The function imagegetinterpolation() to get the current interpolation method
has been added.

- MBString:
. The Unicode data tables have been updated to version 13.0.0.

========================================
10. New Global Constants
========================================
Expand All @@ -452,6 +534,11 @@ PHP 8.0 UPGRADE NOTES
12. Windows Support
========================================

- Standard:
. Program execution functions (proc_open(), exec(), popen() etc.) using the
shell now consistently execute `%comspec% /s /c "$commandline"`, which has
the same effect as executing `$commandline` (without additional quotes).

- php-test-pack:
. The test runner has been renamed from run-test.php to run-tests.php, to
match its name in php-src.
Expand Down
Loading

0 comments on commit 3ed6214

Please sign in to comment.