Skip to content

Commit e9962a5

Browse files
committed
Merge master
2 parents 00c8d29 + 0d913f9 commit e9962a5

File tree

854 files changed

+9799
-5829
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

854 files changed

+9799
-5829
lines changed

.travis.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ git:
33

44
dist: xenial
55
language: c
6-
sudo: required
6+
os: linux
77
addons:
88
apt:
99
packages:
@@ -27,6 +27,7 @@ addons:
2727
- libpspell-dev
2828
- libsasl2-dev
2929
- libsqlite3-dev
30+
- libsodium-dev
3031
- libtidy-dev
3132
- libwebp-dev
3233
- libxml2-dev

EXTENSIONS

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ STATUS: Working
3737
-------------------------------------------------------------------------------
3838
EXTENSION: cli
3939
PRIMARY MAINTAINER: Marcus Börger <[email protected]>, Edin Kadribasic <[email protected]>
40-
MAINTENANCE: Unknown
40+
MAINTENANCE: Xinchen Hui <[email protected]> (2013 - 2020)
4141
STATUS: Working
4242
SINCE: 4.3.0
4343
-------------------------------------------------------------------------------
@@ -330,7 +330,7 @@ STATUS: Working
330330
EXTENSION: gmp
331331
PRIMARY MAINTAINER: Stanislav Malyshev <[email protected]> (2000 - 2019)
332332
Antony Dovgal <[email protected]> (2005 - 2010)
333-
Nikita Popov <[email protected]> (2013 - 2019)
333+
Nikita Popov <[email protected]> (2013 - 2020)
334334
MAINTENANCE: Maintained
335335
STATUS: Working
336336
SINCE: 4.0.4
@@ -379,14 +379,14 @@ STATUS: Working
379379
-------------------------------------------------------------------------------
380380
EXTENSION: mbstring
381381
PRIMARY MAINTAINER: Rui Hirokawa <[email protected]> (2001 - 2013)
382-
Nikita Popov <[email protected]> (2017 - 2019)
382+
Nikita Popov <[email protected]> (2017 - 2020)
383383
MAINTENANCE: Maintained
384384
STATUS: Working
385385
-------------------------------------------------------------------------------
386386
EXTENSION: opcache
387387
PRIMARY MAINTAINER: Dmitry Stogov <[email protected]> (2013 - 2018)
388-
Xinchen Hui <[email protected]> (2013 - 2018)
389-
Nikita Popov <[email protected]> (2016 - 2019)
388+
Xinchen Hui <[email protected]> (2013 - 2020)
389+
Nikita Popov <[email protected]> (2016 - 2020)
390390
MAINTENANCE: Maintained
391391
STATUS: Working
392392
SINCE: 5.5.0
@@ -438,6 +438,7 @@ STATUS: Working
438438
EXTENSION: reflection
439439
PRIMARY MAINTAINER: Marcus Börger <[email protected]> (2003 - 2009)
440440
Johannes Schlüter <[email protected]> (2006 - 2014)
441+
Nikita Popov <[email protected]> (2019 - 2020)
441442
MAINTENANCE: Maintained
442443
STATUS: Working
443444
-------------------------------------------------------------------------------
@@ -503,12 +504,13 @@ STATUS: Working
503504
-------------------------------------------------------------------------------
504505
EXTENSION: tokenizer
505506
PRIMARY MAINTAINER: Andrei Zmievski <[email protected]> (2002 - 2002)
506-
Nikita Popov <[email protected]> (2013 - 2019)
507+
Nikita Popov <[email protected]> (2013 - 2020)
507508
MAINTENANCE: Maintained
508509
STATUS: Working
509510
-------------------------------------------------------------------------------
510511
EXTENSION: zip
511512
PRIMARY MAINTAINER: Pierre-Alain Joye <[email protected]> (2006 - 2011)
513+
Remi Collet <[email protected]> (2013-2020)
512514
MAINTENANCE: Maintained
513515
STATUS: Working
514516
-------------------------------------------------------------------------------

NEWS

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ PHP NEWS
1212
renamed). (Nikita)
1313
. Fixed bug #70839 (Converting optional argument to variadic forbidden by LSP
1414
checks). (Nikita)
15+
. Fixed bug #69084 (Unclear error message when not implementing a renamed
16+
abstract trait function). (Nikita)
1517

1618
- CURL:
1719
. Bumped required libcurl version to 7.29.0. (cmb)
@@ -85,6 +87,13 @@ PHP NEWS
8587
message with traits). (villfa)
8688
. Implement ReflectionProperty::hasDefaultValue and
8789
Reflection::getDefaultValue (beberlei)
90+
. Fixed bug #64592 (ReflectionClass::getMethods() returns methods out of
91+
scope). (Nikita)
92+
. Fixed bug #77325 (ReflectionClassConstant::$class returns wrong class when
93+
extending). (Nikita)
94+
. Fixed bug #69180 (Reflection does not honor trait conflict resolution /
95+
method aliasing). (Nikita)
96+
. Fixed bug #74939 (Nested traits' aliased methods are lowercased). (Nikita)
8897

8998
- Session:
9099
. Fixed bug #78624 (session_gc return value for user defined session
@@ -126,5 +135,14 @@ PHP NEWS
126135
. Add ZipArchive::setMtimeName and ZipArchive::setMtimeIndex methods. (Remi)
127136
. Add ZipArchive::setProgressCallback method (since libzip 1.3.0). (Remi)
128137
. Add ZipArchive::setCancelCallback method (since libzip 1.6.0). (Remi)
138+
. Add optional "flags" parameter to ZipArchive::addEmptyDir, addFile and
139+
addFromString methods. (Remi)
140+
. Add "flags" options to ZipArchive::addGlob and addPattern methods
141+
keeping previous behavior having FL_OVERWRITE by default. (Remi)
142+
. Add ZipArchive::replaceFile() method. (Remi)
143+
. Add lastId property to ZipArchive. (Remi)
144+
. ZipArchive::status and ZipArchive::statusSys properties and
145+
ZipArchive::getStatusString() method stay valid after the archive
146+
is closed. (Remi)
129147

130148
<<< NOTE: Insert NEWS from last stable release here prior to actual release! >>>

UPGRADING

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,10 @@ PHP 8.0 UPGRADE NOTES
342342
http://example.com/foo?# => query = "", fragment = ""
343343

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

346350
- tidy:
347351
. The $use_include_path parameter, which was not used internally, has been
@@ -364,6 +368,8 @@ PHP 8.0 UPGRADE NOTES
364368
option), whereas formerly it was treated as directory name. This means that
365369
if no trailing directory separator is given, the following character is
366370
no longer stripped from the filename.
371+
. ZipArchive::OPSYS_Z_CPM have been removed, should use ZipArchive::OPSYS_CPM
372+
(this name was a typo).
367373

368374
- Zlib:
369375
. gzgetss() has been removed.
@@ -406,11 +412,23 @@ PHP 8.0 UPGRADE NOTES
406412
. Some consistency fixes to variable syntax have been applied, for example
407413
writing `Foo::BAR::$baz` is now allowed.
408414
RFC: https://wiki.php.net/rfc/variable_syntax_tweaks
415+
. Added Stringable.
416+
RFC: https://wiki.php.net/rfc/stringable
409417

410418
- Date:
411419
. Added DateTime::createFromInterface() and
412420
DateTimeImmutable::createFromInterface().
413421

422+
- dom:
423+
. Introduce DOMParentNode and DOMChildNode with new traversal and manipulation APIs
424+
RFC: https://wiki.php.net/rfc/dom_living_standard_api
425+
426+
- Zip:
427+
. Extension updated to version 1.18
428+
. New ZipArchive::lastId property to get index value of last added entry.
429+
. Error can be checked after an archive is closed using ZipArchive::status,
430+
ZipArchive::statusSys properties or ZipArchive::getStatusString() method.
431+
414432
========================================
415433
3. Changes in SAPI modules
416434
========================================
@@ -427,10 +445,22 @@ PHP 8.0 UPGRADE NOTES
427445
5. Changed Functions
428446
========================================
429447

448+
- Zip
449+
. ZipArchive::addGlob and ZipArchive::addPattern methods accept a "flags"
450+
value in the "options" array argument.
451+
. ZipArchive::addEmptyDir, ZipArchive::addFile and aZipArchive::addFromString
452+
methods have a new "flags" argument. This allow to manage name encoding
453+
(ZipArchive::FL_ENC_*) and entry replacement (ZipArchive::FL_OVERWRITE)
454+
430455
========================================
431456
6. New Functions
432457
========================================
433458

459+
- PCRE:
460+
. Added preg_last_error_msg(), which returns a human-readable message for
461+
the last PCRE error. It complements preg_last_error(), which returns an
462+
integer enum instead.
463+
434464
- SQLite3:
435465
. Add SQLite3::setAuthorizer() and respective class constants to set a
436466
userland callback that will be used to authorize or not an action on the
@@ -442,6 +472,13 @@ PHP 8.0 UPGRADE NOTES
442472
IEEE 754 semantics. Division by zero is considered well-defined and
443473
will return one of Inf, -Inf or NaN.
444474

475+
- Zip:
476+
. ZipArchive::setMtimeName and ZipArchive::setMtimeIndex to set the
477+
modification time of an entry.
478+
. ZipArchive::setProgressCallback to provide updates during archive close.
479+
. ZipArchive::setCancelCallback to allow cancellation during archive close.
480+
. ZipArchive::replaceFile to replace an entry content.
481+
445482
========================================
446483
7. New Classes and Interfaces
447484
========================================

UPGRADING.INTERNALS

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ PHP 8.0 INTERNALS UPGRADE NOTES
1313
j. compare_objects() and compare() object handlers
1414
k. The 'I' length modifier
1515
l. Some VM instructions switched to IS_TMP_VAR result instead of IS_VAR
16+
m. All internal functions must have arginfo
17+
n. zend_hash_sort compare function signature change
1618

1719
2. Build system changes
1820
a. Abstract
@@ -98,6 +100,16 @@ PHP 8.0 INTERNALS UPGRADE NOTES
98100
pre increments/decrements (ZEND_PRE_INC, ZEND_PRE_DEC, ZEND_PRE_INC_OBJ
99101
ZEND_PRE_DEC_OBJ, ZEND_PRE_INC_STATIC_PROP ZEND_PRE_DEC_STATIC_PROP).
100102

103+
m. All internal functions and methods are now required to specify arginfo
104+
information, otherwise warnings will be thrown on startup.
105+
106+
n. The zend_hash_sort and zend_hash_minmax APIs now accept a comparison
107+
function with the following signature:
108+
109+
typedef int (*bucket_compare_func_t)(Bucket *a, Bucket *b);
110+
111+
Previously compare_func_t was used, which accepted void pointers.
112+
101113
========================
102114
2. Build system changes
103115
========================

Zend/tests/008.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ var_dump(constant("test const"));
2525
echo "Done\n";
2626
?>
2727
--EXPECTF--
28-
TypeError: define() expects argument #1 ($constant_name) to be of type string, array given
28+
TypeError: define(): Argument #1 ($constant_name) must be of type string, array given
2929

3030
Notice: Constant TRUE already defined in %s on line %d
3131
bool(false)

Zend/tests/009.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ string(3) "foo"
4646

4747
Warning: get_class() called without object from outside a class in %s on line %d
4848
bool(false)
49-
get_class() expects argument #1 ($object) to be of type object, string given
49+
get_class(): Argument #1 ($object) must be of type object, string given
5050
string(3) "foo"
5151
string(4) "foo2"
52-
get_class() expects argument #1 ($object) to be of type object, null given
52+
get_class(): Argument #1 ($object) must be of type object, null given
5353
Done

Zend/tests/add_005.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ var_dump($c);
1717
echo "Done\n";
1818
?>
1919
--EXPECT--
20-
float(2834756759.1231)
21-
float(2834756759.1231)
20+
float(2834756759.123123)
21+
float(2834756759.123123)
2222
Done

Zend/tests/arrow_functions/006.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ try {
3232
--EXPECTF--
3333
int(2)
3434
int(10)
35-
{closure}() expects argument #1 ($x) to be of type int, string given, called in %s on line %d
35+
{closure}(): Argument #1 ($x) must be of type int, string given, called in %s on line %d
3636
array(3) {
3737
[0]=>
3838
int(20)
@@ -41,4 +41,4 @@ array(3) {
4141
[2]=>
4242
int(30)
4343
}
44-
{closure}() expects argument #2 ($args) to be of type ?int, string given, called in %s on line %d
44+
{closure}(): Argument #2 ($args) must be of type ?int, string given, called in %s on line %d

Zend/tests/attributes_007.phpt

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
--TEST--
2+
attributes: docblocks
3+
--FILE--
4+
<?php
5+
6+
/** foo */
7+
<<Foo>>
8+
/** Bar */
9+
class Baz
10+
{
11+
}
12+
13+
/** foo */
14+
<<Foo>>
15+
class Boing
16+
{
17+
}
18+
19+
$reflection = new ReflectionClass(Baz::class);
20+
var_dump(count($reflection->getAttributes()));
21+
var_dump($reflection->getDocComment());
22+
23+
$reflection = new ReflectionClass(Boing::class);
24+
var_dump(count($reflection->getAttributes()));
25+
var_dump($reflection->getDocComment());
26+
27+
--EXPECTF--
28+
int(0)
29+
string(10) "/** Bar */"
30+
int(1)
31+
string(10) "/** foo */"

0 commit comments

Comments
 (0)