History log of /php-src/UPGRADING (Results 826 – 850 of 1776)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# bb43a382 10-Mar-2020 Nikita Popov

Fetch for read in nested property assignments

$a->b->c = 'd';

is now compiled the same way as

$b = $a->b;
$b->c = 'd';

That is, we perform a read f

Fetch for read in nested property assignments

$a->b->c = 'd';

is now compiled the same way as

$b = $a->b;
$b->c = 'd';

That is, we perform a read fetch on $a->b, rather than a write
fetch.

This is possible, because PHP 8 removed auto-vivification support
for objects, so $a->b->c = 'd' may no longer modify $a->b proper
(i.e. not counting interior mutability of the object).

Closes GH-5250.

show more ...

# 66d8d0c7 17-Mar-2020 Christoph M. Becker

Drop support for iconv without proper errno setting

It is hard to impossible to work around iconv() implementations which
do not properly set errno according to POSIX. We therefore do n

Drop support for iconv without proper errno setting

It is hard to impossible to work around iconv() implementations which
do not properly set errno according to POSIX. We therefore do no
longer allow to build against such iconv() implementations.

Co-Authored-By: Nikita Popov <nikita.ppv@googlemail.com>

show more ...

# 1668ad7c 13-Feb-2020 Philipp Tanlak

Add str_contains() function

RFC: https://wiki.php.net/rfc/str_contains

Closes GH-5179.

# 0fdffc18 11-Mar-2020 Nikita Popov

Update Unicode tables to 13.0.0

# fff5771c 03-Mar-2020 Nikita Popov

Require non-absolute trait method refs to be unambiguous

Currently, when writing something like

class X {
use T1, T2 {
func as otherFunc;
}
functi

Require non-absolute trait method refs to be unambiguous

Currently, when writing something like

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

where both T1::func() and T2::func() exist, we will simply assume
that func refers to T1::func(). This is surprising, and it doesn't
really make sense that this particular method gets picked.

This commit validates that non-absolute method references are
unambiguous, i.e. refer to exactly one method. If there is
ambiguity, it is required to write T1::func as otherFunc or
similar.

Closes GH-5232.

show more ...

# ed998f8a 09-Mar-2020 Remi Collet

Fix #50678 files extracted by ZipArchive class lost their original modified time

# 125724cf 06-Mar-2020 Remi Collet

[ci skip] fix for #72374 is no more a BC break

# e786e9c8 05-Mar-2020 Remi Collet

upgrade information about changs in Zip

# 336eb48c 06-Feb-2020 Nikita Popov

Automatically implement Stringable interface

# 531ea6d3 28-Feb-2020 Benjamin Eberlei

Add upgrading note regarding merge of RFC for new DOMParentNode/DOMChildNode APIs.

# aa79a22d 17-Feb-2020 Nicolas Oelgart

Add preg_last_error_msg() function

Provides the last PCRE error as a human-readable message, similar
to functionality existing in other extensions, such as
json_last_error_msg().

Add preg_last_error_msg() function

Provides the last PCRE error as a human-readable message, similar
to functionality existing in other extensions, such as
json_last_error_msg().

Closes GH-5185.

show more ...

# a9398056 12-Feb-2020 Nikita Popov

Use serialize_precision for var_dump()

var_dump() is debugging functionality, so it should print
floating-point numbers accurately. We do this by switching
to serialize_precision, wh

Use serialize_precision for var_dump()

var_dump() is debugging functionality, so it should print
floating-point numbers accurately. We do this by switching
to serialize_precision, which (by default) will print with
as much precision as necessary to preserve the exact value
of the float.

This also affects debug_zval_dump().

Closes GH-5172.

show more ...

# f0317354 20-Feb-2020 Máté Kocsis

Update UPGRADING

[skip ci]

# 3b08f53c 09-Jan-2020 Nikita Popov

Deprecate required param after optional

As an exception, we allow "Type $foo = null" to occur before a
required parameter, because this pattern was used as a replacement
for nullable

Deprecate required param after optional

As an exception, we allow "Type $foo = null" to occur before a
required parameter, because this pattern was used as a replacement
for nullable types in PHP versions older than 7.1.

Closes GH-5067.

show more ...

# 9ca449e0 21-Jan-2020 Christoph M. Becker

Make quoting of cmd execution functions consistent

While the `$command` passed to `proc_open()` had to be wrapped in
double-quotes manually, that was implicitly done for all other
pr

Make quoting of cmd execution functions consistent

While the `$command` passed to `proc_open()` had to be wrapped in
double-quotes manually, that was implicitly done for all other
program execution functions. This could easily introduce bugs and
even security issues when switching from one to another program
execution function.

Furthermore we ensure that the additional quotes are always
unwrapped regardless of what is passed as `$command` by passing
the `/s` flag to cmd.exe. As it was, `shell_exec('path with
spaces/program.exe')` did execute program.exe, but adding an
argument (`shell_exec('path with spaces/program.exe -h)`) failed
to execute program.exe, because cmd.exe stripped the additional
quotes.

While these changes obviously can cause BC breaks, we feel that in
the long run the benefits of having consistent behavior for all
program execution functions outweighs the drawbacks of potentially
breaking some code now.

show more ...

# 72bd5590 06-Feb-2020 Nikita Popov

Improve generated names for anonymous classes

In order of preference, the generated name will be:

new class extends ParentClass {};
// -> ParentClass@anonymous
n

Improve generated names for anonymous classes

In order of preference, the generated name will be:

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

This is intended to display a more useful class name in error messages
and stack traces, and thus make debugging easier.

Closes GH-5153.

show more ...

# 43443857 07-Jan-2020 Nikita Popov

Add static return type

RFC: https://wiki.php.net/rfc/static_return_type

The "static" type is represented as MAY_BE_STATIC, rather than
a class type like "self" and "parent", as

Add static return type

RFC: https://wiki.php.net/rfc/static_return_type

The "static" type is represented as MAY_BE_STATIC, rather than
a class type like "self" and "parent", as it has special
resolution semantics, and cannot be cached in the runtime cache.

Closes GH-5062.

show more ...

# d9b80efb 15-Feb-2020 Tyson Andre

[skip ci] Fix typos in UPGRADING

Closes GH-5183

# ae2e4b59 11-Feb-2020 Nikita Popov

Add UPGRADING notes

Not listing the details here, I think the RFC is a better reference
for the precise technical details.

[ci skip]

# d9335916 08-Jan-2020 Nikita Popov

Add support for $obj::class

This allows $obj::class, which gives the same result as get_class($obj).
Anything other than an object results in TypeError.

RFC: https://wiki.php.ne

Add support for $obj::class

This allows $obj::class, which gives the same result as get_class($obj).
Anything other than an object results in TypeError.

RFC: https://wiki.php.net/rfc/class_name_literal_on_object

Closes GH-5065.

show more ...

# 64b40f69 07-Feb-2020 Dmitry Stogov

Make ASSIGN, ASSIGN_OP, INC and DEC opcodes to return IS_TMP_VAR instead of IS_VAR.

This helps to avoid unnecessary IS_REFERENCE checks.
This changes some notices "Only variables should

Make ASSIGN, ASSIGN_OP, INC and DEC opcodes to return IS_TMP_VAR instead of IS_VAR.

This helps to avoid unnecessary IS_REFERENCE checks.
This changes some notices "Only variables should be passed by reference" to exception "Cannot pass parameter %d by reference".

Also, for consistency, compile-time fatal error "Only variables can be passed by reference" was converted to exception "Cannot pass parameter %d by reference"

show more ...

# 9f4d1b99 25-Jan-2020 Markus Staab

Fix typo [ci skip]

# 300d4df6 25-Jan-2020 George Peter Banyard

Add mention about empty needles for strrch() functions in UPGRADING [ci skip]

# 98bfad73 03-Jan-2020 wbender

Fix bug #64865: Use CONTEXT_DOCUMENT_ROOT for scanning dir tree

If CONTEXT_DOCUMENT_ROOT is set use that rather than DOCUMENT_ROOT to
scan up the dir tree looking for .user.ini files.

Fix bug #64865: Use CONTEXT_DOCUMENT_ROOT for scanning dir tree

If CONTEXT_DOCUMENT_ROOT is set use that rather than DOCUMENT_ROOT to
scan up the dir tree looking for .user.ini files.

Closes GH-5051.

show more ...

# e72bf636 06-Jan-2020 Nikita Popov

Allow variadic arguments to replace non-variadic ones

Any number of arguments can be replaced by a variadic one, so
long as the variadic argument is compatible (in the sense of
contr

Allow variadic arguments to replace non-variadic ones

Any number of arguments can be replaced by a variadic one, so
long as the variadic argument is compatible (in the sense of
contravariance) with the subsumed arguments.

In particular this means that function(...$args) becomes a
near-universal signature: It is compatible with any function
signature that does not accept parameters by-reference.

This also fixes bug #70839, which describes a special case.

Closes GH-5059.

show more ...

1...<<31323334353637383940>>...72