#
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 ...
|
#
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 |
#
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] |
#
fdf45deb |
| 13-Dec-2019 |
George Peter Banyard |
Remove deprecated behaviour of passing encoding as third parameter in mb_strrpos() Merged GH-5011 |
#
73730eeb |
| 05-Dec-2019 |
Máté Kocsis |
Add upgrading notes about removed functionality that were deprecated in PHP 7.4 |
#
2de79f08 |
| 14-Nov-2019 |
Christoph M. Becker |
Make the $num_points parameter of php_imagepolygon optional That parameter is mostly useless in practise, and likely has been directly ported from the underlying `gdImagePolygon()` and f
Make the $num_points parameter of php_imagepolygon optional That parameter is mostly useless in practise, and likely has been directly ported from the underlying `gdImagePolygon()` and friends, which require that parameter since the number of elements of the point array would otherwise be unknown. Typical usages of `imagepolygon()`, `imageopenpolygon()` and `imagefilledpolygon()` pass `count($points)/2` or hard-code this value as literal. Since explicitly specifying this parameter is annoying and error-prone, we offer the possibility to omit it, in which case the `$points` array must have an even number of elements, and the number of points is calculated as `count($points)/2`.
show more ...
|
#
999e32b6 |
| 25-Sep-2019 |
Nikita Popov |
Implement union types According to RFC: https://wiki.php.net/rfc/union_types_v2 The type representation now makes use of both the pointer payload and the type mask at the same t
Implement union types According to RFC: https://wiki.php.net/rfc/union_types_v2 The type representation now makes use of both the pointer payload and the type mask at the same time. Additionall, zend_type_list is introduced as a new kind of pointer payload, which is used to store multiple class types. Each of the class types is a tagged pointer, which may be either a class name or class entry. The latter is only used for typed properties, while arguments/returns will instead use cache slots. A type list can contain a mix of both names and CEs at the same time, as not all classes may be resolvable. One thing this is missing is support for union types in arginfo and stubs, which I want to handle separately. I've also dropped the special object code from the JIT implementation for now -- I plan to add this back in a different form at a later time. For now I did not want to include non-trivial JIT changes together with large functional changes. Another possible piece of follow-up work is to implement "iterable" as an internal alias for "array|Traversable". I believe this will eliminate quite a few special-cases that had to be implemented. Closes GH-4838.
show more ...
|
#
c46b2ed6 |
| 04-Nov-2019 |
Nikita Popov |
Remove support for array_key_exists() with objects |
#
96f361dc |
| 29-Oct-2019 |
Tyson Andre |
Update documentation/comment for GH-4860 Fix folding for the new helper method. Clarify comment in UPGRADING: The performance on associative arrays would also improve, as lo
Update documentation/comment for GH-4860 Fix folding for the new helper method. Clarify comment in UPGRADING: The performance on associative arrays would also improve, as long as no offsets were unset (no gaps). Packed arrays can have gaps. Closes GH-4873. [ci skip]
show more ...
|
#
87fefd16 |
| 28-Oct-2019 |
Nikita Popov |
Remove ability to unbind $this of closures if used This was deprecated in PHP 7.4, removing it for PHP 8.0. |