#
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. |
#
9d48bf51 |
| 27-Oct-2019 |
Tyson Andre |
Fix miscellaneous typos in docs and error messages Closes GH-4863. |
#
e7ff590d |
| 25-Oct-2019 |
Tyson Andre |
Optimize array_slice for packed arrays with large offsets If the offset is 100000, and there are no gaps in the packed/unpacked array, then advance the pointer once by 100000, instea
Optimize array_slice for packed arrays with large offsets If the offset is 100000, and there are no gaps in the packed/unpacked array, then advance the pointer once by 100000, instead of looping and skipping 100000 times. Add a new test of array_slice handling unset offsets. Closes GH-4860.
show more ...
|
#
e7335eb4 |
| 21-Oct-2019 |
Colin O'Dell |
Allow array_splice() length to be null |
#
80103bdb |
| 22-Oct-2019 |
Colin O'Dell |
Document the changes to substr functions |
#
530a8a38 |
| 21-Oct-2019 |
Nikita Popov |
Fix and undeprecate ReflectionType::__toString() Add deprecated _ZendTestClass::__toString() method to preserve an existing test. ReflectionType::__toString() will now return a
Fix and undeprecate ReflectionType::__toString() Add deprecated _ZendTestClass::__toString() method to preserve an existing test. ReflectionType::__toString() will now return a complete representation of the type, as it should have originally. Users that relied on nullability being absent should have been pushed to ReflectionNamedType::getName() by the deprecation of ReflectionType::__toString() in PHP 7.1 / PHP 7.4.
show more ...
|
#
5c24f804 |
| 15-Oct-2019 |
Nikita Popov |
Promote "Cannot use parent" to fatal error |
#
e35bdb49 |
| 02-Oct-2019 |
Nikita Popov |
Add fdiv() function The fdiv() function is part of the fmod() / intdiv() family. It implements a floating-point division with IEEE-754 semantics. That is, division by zero is conside
Add fdiv() function The fdiv() function is part of the fmod() / intdiv() family. It implements a floating-point division with IEEE-754 semantics. That is, division by zero is considered well-defined and does not trigger any kind of diagnostic. Instead one of INF, -INF or NAN will be returned, depending on the case. This is in preparation for throwing DivisionByZeroError from the standard division operator.
show more ...
|