Revision tags: php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1, php-8.0.21, php-8.1.8, php-8.2.0alpha3, php-8.1.8RC1, php-8.2.0alpha2, php-8.0.21RC1 |
|
#
af15923b |
| 08-Jun-2022 |
Rowan Tommins |
Extend deprecation notices to is_callable($foo) and callable $foo Implements https://wiki.php.net/rfc/partially-supported-callables-expand-deprecation-notices so that uses of "self" and
Extend deprecation notices to is_callable($foo) and callable $foo Implements https://wiki.php.net/rfc/partially-supported-callables-expand-deprecation-notices so that uses of "self" and "parent" in is_callable() and callable type constraints now raise a deprecation notice, independent of the one raised when and if the callable is actually invoked. A new flag is added to the existing check_flags parameter of zend_is_callable / zend_is_callable_ex, for use in internal calls that would otherwise repeat the notice multiple times. In particular, arguments to internal function calls are checked first based on arginfo, and then again during ZPP, so the former suppresses the deprecation notice. Some existing tests which raised this deprecation have been updated to avoid the syntax, but the existing version retained for maximum regression coverage until it is made an error. With thanks to Juliette Reinders Folmer for the RFC and initial investigation. Closes GH-8823.
show more ...
|
#
4df3dd76 |
| 08-Jul-2022 |
Arnaud Le Blanc |
Reduce memory allocated by var_export, json_encode, serialize, and other (#8902) smart_str uses an over-allocated string to optimize for append operations. Functions that use smart_str tend
Reduce memory allocated by var_export, json_encode, serialize, and other (#8902) smart_str uses an over-allocated string to optimize for append operations. Functions that use smart_str tend to return the over-allocated string directly. This results in unnecessary memory usage, especially for small strings. The overhead can be up to 231 bytes for strings smaller than that, and 4095 for other strings. This can be avoided for strings smaller than `4096 - zend_string header size - 1` by reallocating the string. This change introduces `smart_str_trim_to_size()`, and calls it in `smart_str_extract()`. Functions that use `smart_str` are updated to use `smart_str_extract()`. Fixes GH-8896
show more ...
|
#
eacf6f43 |
| 08-Jul-2022 |
George Peter Banyard |
Add upgrading internals entry for fgetcsv() changes
|
Revision tags: php-8.0.20, php-8.1.7, php-8.2.0alpha1, php-7.4.30, php-8.1.7RC1, php-8.0.20RC1, php-8.1.6, php-8.0.19 |
|
#
e2bd3b1e |
| 29-Apr-2022 |
Max Kellermann |
main/streams/plain_wrapper: skip lseek(SEEK_CUR) for newly opened files A file that has just been opened is known to be at offset zero, and the lseek(SEEK_CUR) system call to determine t
main/streams/plain_wrapper: skip lseek(SEEK_CUR) for newly opened files A file that has just been opened is known to be at offset zero, and the lseek(SEEK_CUR) system call to determine the current offset can be skipped. Closes #8540.
show more ...
|
#
3b92a966 |
| 25-Jun-2022 |
Ilija Tovilo |
Convert return type of various object handlers from int to zend_result (#8755)
|
#
efc8f0eb |
| 17-Jun-2022 |
Arnaud Le Blanc |
Deprecate zend_atol() / add zend_ini_parse_quantity() (#7951) Add zend_ini_parse_quantity() and deprecate zend_atol(), zend_atoi() zend_atol() and zend_atoi() don't just do number p
Deprecate zend_atol() / add zend_ini_parse_quantity() (#7951) Add zend_ini_parse_quantity() and deprecate zend_atol(), zend_atoi() zend_atol() and zend_atoi() don't just do number parsing. They also check for a 'K', 'M', or 'G' at the end of the string, and multiply the parsed value out accordingly. Unfortunately, they ignore any other non-numerics between the numeric component and the last character in the string. This means that numbers such as the following are both valid and non-intuitive in their final output. * "123KMG" is interpreted as "123G" -> 132070244352 * "123G " is interpreted as "123 " -> 123 * "123GB" is interpreted as "123B" -> 123 * "123 I like tacos." is also interpreted as "123." -> 123 Currently, in php-src these functions are used only for parsing ini values. In this change we deprecate zend_atol(), zend_atoi(), and introduce a new function with the same behavior, but with the ability to report invalid inputs to the caller. The function's name also makes the behavior less unexpected: zend_ini_parse_quantity(). Co-authored-by: Sara Golemon <pollita@php.net>
show more ...
|
#
2958c7cc |
| 08-Jun-2022 |
George Peter Banyard |
[skip ci] Add missing UPGRADING.INTERNALS entries
|
#
d08451b2 |
| 29-May-2022 |
George Peter Banyard |
Replace php_stdint.h header with standard headers (#8613)
|
#
b63df3ce |
| 24-May-2022 |
Levi Morrison |
Stop copying zend_module_entry (#8551) I did some historical digging and could not figure out why a copy is made. Additionally, the copy was not using the `.size` member, so it was p
Stop copying zend_module_entry (#8551) I did some historical digging and could not figure out why a copy is made. Additionally, the copy was not using the `.size` member, so it was probably wrong, but it's been that way for quite some time.
show more ...
|
#
28265508 |
| 18-May-2022 |
Levi Morrison |
Fix some minor warnings (#8568) * Fix php_apache_get_version prototype Avoids an error with -Werror=strict-prototypes when building the Apache SAPI. * Fix -Werror=strin
Fix some minor warnings (#8568) * Fix php_apache_get_version prototype Avoids an error with -Werror=strict-prototypes when building the Apache SAPI. * Fix -Werror=stringop-truncation in pdo_raise_impl_error * Note pdo_error_type BC break
show more ...
|
Revision tags: php-8.1.6RC1, php-8.0.19RC1, php-8.0.18, php-8.1.5, php-7.4.29, php-8.1.5RC1, php-8.0.18RC1, php-8.1.4, php-8.0.17 |
|
#
71a110fc |
| 13-Mar-2022 |
George Peter Banyard |
Remove strnatcmp_ex() wrappers These APIs always returned SUCCESS. Closes GH-8195
|
Revision tags: php-8.1.4RC1, php-8.0.17RC1, php-8.1.3, php-8.0.16, php-7.4.28, php-8.1.3RC1, php-8.0.16RC1, php-8.1.2, php-8.0.15, php-8.1.2RC1, php-8.0.15RC1 |
|
#
2f529569 |
| 29-Dec-2021 |
Ilija Tovilo |
Optimize stripos/stristr Closes GH-7847 Closes GH-7852 Previously stripos/stristr would lowercase both the haystack and the needle to reuse strpos. The approach in this PR i
Optimize stripos/stristr Closes GH-7847 Closes GH-7852 Previously stripos/stristr would lowercase both the haystack and the needle to reuse strpos. The approach in this PR is similar to strpos. memchr is highly optimized so we're using it to search for the first character of the needle in the haystack. If we find it we compare the remaining characters of the needle manually. The new implementation seems to perform about half as well as strpos (as two memchr calls are necessary to find the next candidate).
show more ...
|
Revision tags: php-8.0.14, php-8.1.1, php-7.4.27 |
|
#
da684582 |
| 09-Dec-2021 |
George Peter Banyard |
ZEND_INIT_FCALL is only produced when function exists at compile time (#7728)
|
Revision tags: php-8.1.1RC1, php-8.0.14RC1, php-7.4.27RC1, php-8.1.0, php-8.0.13, php-7.4.26, php-7.3.33, php-8.1.0RC6, php-7.4.26RC1, php-8.0.13RC1, php-8.1.0RC5, php-7.3.32 |
|
#
1afe89f8 |
| 21-Oct-2021 |
George Peter Banyard |
Remove (ZEND_)WRONG_PARAM_COUNT_WITH_RETVAL macros A TypeError is always emitted therefore assigning a retval is pointless and incorrect.
|
Revision tags: php-7.4.25, php-8.0.12, php-8.1.0RC4, php-8.0.12RC1, php-7.4.25RC1, php-8.1.0RC3 |
|
#
49867405 |
| 24-Sep-2021 |
Nikita Popov |
Remove zend_binary_zval_strcasecmp() APIs These are thin wrappers ... around the wrong functions. They call the "_l()" version of the underlying APIs. For clarify, just call the wrap
Remove zend_binary_zval_strcasecmp() APIs These are thin wrappers ... around the wrong functions. They call the "_l()" version of the underlying APIs. For clarify, just call the wrapped API directly.
show more ...
|
Revision tags: php-8.0.11, php-7.4.24, php-7.3.31, php-8.1.0RC2, php-7.4.24RC1, php-8.0.11RC1, php-8.1.0RC1 |
|
#
1c33ddb5 |
| 31-Aug-2021 |
Patrick Allaert |
Prepare for PHP 8.2
|
#
14f599ea |
| 31-Aug-2021 |
Nikita Popov |
Use zend_long for resource ID Currently, resource IDs are limited to 32-bits. As resource IDs are not reused, this means that resource ID overflow for long-running processes is very
Use zend_long for resource ID Currently, resource IDs are limited to 32-bits. As resource IDs are not reused, this means that resource ID overflow for long-running processes is very possible. This patch switches resource IDs to use zend_long instead, which means that on 64-bit systems, 64-bit resource IDs will be used. This makes resource ID overflow practically impossible. The tradeoff is an 8 byte increase in zend_resource size. Closes GH-7436.
show more ...
|
Revision tags: php-7.4.23, php-8.0.10, php-7.3.30, php-8.1.0beta3, php-8.0.10RC1, php-7.4.23RC1 |
|
#
00c668a1 |
| 08-Aug-2021 |
Joe Watkins |
Drop TsHashTable (#7351)
|
Revision tags: php-8.1.0beta2, php-8.0.9 |
|
#
fb52b3c9 |
| 28-Jul-2021 |
George Peter Banyard |
[skip-ci] Fix comments and UPGRADING.INTERNALS for zend_type changes
|
Revision tags: php-7.4.22 |
|
#
ae8647d9 |
| 20-Jul-2021 |
Levi Morrison |
Remove leading underscore for _zend_hash_find_known_hash (#7260) Convert zend_hash_find_ex(..., 1) to zend_hash_find_known_hash(...) Convert zend_hash_find_ex(..., 0) to zend_hash_find(.
Remove leading underscore for _zend_hash_find_known_hash (#7260) Convert zend_hash_find_ex(..., 1) to zend_hash_find_known_hash(...) Convert zend_hash_find_ex(..., 0) to zend_hash_find(...) Also add serializable changes to UPGRADING.INTERNALS summary
show more ...
|
Revision tags: php-8.1.0beta1 |
|
#
322864b5 |
| 20-Jul-2021 |
Joe Watkins |
Drop serial denier functions
|
#
814a9327 |
| 16-Jul-2021 |
Nikita Popov |
Add ZEND_ACC_NOT_SERIALIZABLE flag This prevents serialization and unserialization of a class and its children in a way that does not depend on the zend_class_serialize_deny and zend
Add ZEND_ACC_NOT_SERIALIZABLE flag This prevents serialization and unserialization of a class and its children in a way that does not depend on the zend_class_serialize_deny and zend_class_unserialize_deny handlers that will be going away in PHP 9 together with the Serializable interface. In stubs, `@not-serializable` can be used to set this flag. This patch only uses the new flag for a handful of Zend classes, converting the remainder is left for later. Closes GH-7249. Fixes bug #81111.
show more ...
|
#
453a5163 |
| 17-Jul-2021 |
George Peter Banyard |
[skip-ci] Fixup UPGRADING documents Some entries were in the wrong section/wrong document.
|
#
a733b1ad |
| 16-Jul-2021 |
Nikita Popov |
Restore zend_atoi() I dropped this in preparation for changes that I didn't end up doing. Restore the function for now to avoid unnecessary churn for extensions.
|
Revision tags: php-7.4.22RC1, php-8.0.9RC1 |
|
#
5f8489a1 |
| 13-Jul-2021 |
Nikita Popov |
Add upgrading note I was originally planning more changes here, but then I realized that zend_atol() is actually used to parse all numbers in inis, not just those expecting sizes. I
Add upgrading note I was originally planning more changes here, but then I realized that zend_atol() is actually used to parse all numbers in inis, not just those expecting sizes. I think I'll just leave it at that. [ci skip]
show more ...
|