History log of /PHP-8.0/UPGRADING (Results 176 – 200 of 1227)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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 ...


# ea1b8788 22-Jan-2020 Máté Kocsis

Fix #78969 Make PASSWORD_DEFAULT match PASSWORD_BCRYPT instead of being null

It was an unintentional BC break.


# 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 ...


# 4281c2a9 22-Jan-2020 Máté Kocsis

Add UPGRADING notes [skip ci]


# 7426e3b6 18-Jan-2020 Christoph M. Becker

Bump required libcurl version to 7.29.0

libcurl 7.29.0 has been released almost eight years ago, so this
version is supposed to be available practically everywhere. This bump
also a

Bump required libcurl version to 7.29.0

libcurl 7.29.0 has been released almost eight years ago, so this
version is supposed to be available practically everywhere. This bump
also allows us to get rid of quite some conditional code and tests
catering to very old libcurl versions.

show more ...


# f6fbe137 05-Jan-2020 Christoph M. Becker

Rename run-test.php to run-tests.php in the test packs

In the php-src repository, the test runner is named run-tests.php, but
when it is copied to the tests packs, it is renamed to run-t

Rename run-test.php to run-tests.php in the test packs

In the php-src repository, the test runner is named run-tests.php, but
when it is copied to the tests packs, it is renamed to run-test.php.
This renaming does not make sense, and is actually somewhat confusing.
Although changing the name back to run-tests.php constitutes a BC
break, we think the benefit of having a single name outweights the
disadvantages in the long run.

show more ...


# 03bd4333 06-Jan-2020 Christoph M. Becker

Add imagegetinterpolation()

While `imagesetinterpolation()` is available as of PHP 5.5.0,
there is no according getter function, so users would have to track the
current interpolatio

Add imagegetinterpolation()

While `imagesetinterpolation()` is available as of PHP 5.5.0,
there is no according getter function, so users would have to track the
current interpolation method manually.

To remedy this, we introduce `imagegetinterpolation()` as thin wrapper
for `gdImageGetInterpolationMethod()` (which has been introduced with
libgd 2.1.1), and use `im->interpolation_id` as fallback for older
libgd. Since our bundled libgd does not yet have this function, we add
it.

We also simplify the recently introduced bug79068.phpt, where it is
sufficient to check that the interpolation method has not been changed.

show more ...


# f553e676 11-Jan-2020 Islam Israfilov

Fixed #78385: Distinguish absent/empty query/fragment

http://example.com/foo => query = null, fragment = null
http://example.com/foo? => query = "", fragment = null
http://examp

Fixed #78385: Distinguish absent/empty query/fragment

http://example.com/foo => query = null, fragment = null
http://example.com/foo? => query = "", fragment = null
http://example.com/foo# => query = null, fragment = ""
http://example.com/foo?# => query = "", fragment = ""

Closes GH-5078.

show more ...


# 66659d6c 08-Jan-2020 George Peter Banyard

[ci skip] Update UPGRADING


# c05a069a 14-Nov-2019 Christoph M. Becker

Fix #78808: [LMDB] MDB_MAP_FULL: Environment mapsize limit reached

We implement support for a fifth parameter, which allows to specify the
mapsize. The parameter defaults to zero, in wh

Fix #78808: [LMDB] MDB_MAP_FULL: Environment mapsize limit reached

We implement support for a fifth parameter, which allows to specify the
mapsize. The parameter defaults to zero, in which case the compiled in
default mapsize (usually 1048576) will be used. The mapsize should be
a multiple of the page size of the OS.

show more ...


# 1658b5ba 16-Dec-2019 mike

Adding DateTime(Immutable)::createFromInterface()

These are like

DateTime::createFromImmutable()
DateTimeImmutable::createFromMutable()

but accept any DateTimeI

Adding DateTime(Immutable)::createFromInterface()

These are like

DateTime::createFromImmutable()
DateTimeImmutable::createFromMutable()

but accept any DateTimeInterface instead.

Closes GH-5016.

show more ...


# d8c99025 31-Oct-2019 Nikita Popov

Implement WeakMap

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


# f13d0a72 17-Dec-2019 Wouter Wijsman

Add FILTER_VALIDATE_BOOL as alias for FILTER_VALIDATE_BOOLEAN

Both filters are equivalent, but FILTER_VALIDATE_BOOL uses our
canonical name for the type (the only one permitted in type

Add FILTER_VALIDATE_BOOL as alias for FILTER_VALIDATE_BOOLEAN

Both filters are equivalent, but FILTER_VALIDATE_BOOL uses our
canonical name for the type (the only one permitted in type
declarations for example), so the new name is preferred long
term.

The old name may be deprecated in the future, but no specific
timeline is planned.

show more ...


# 39585924 10-Dec-2019 BohwaZ

Add setAuthorizer method to SQLite3

This adds the possibility to define a userland callback that will be
used to authorize or not an action on the database.


# bc231f01 19-Dec-2019 Máté Kocsis

Add upgrading note about implode() [ci skip]


12345678910>>...50