mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
* Add `ZEND_ATTRIBUTE_CONST` to php_version() and php_version_id() * Add `php_build_provider()` * Use `php_build_provider()` internally
69 lines
2.1 KiB
Plaintext
69 lines
2.1 KiB
Plaintext
PHP 8.5 INTERNALS UPGRADE NOTES
|
|
|
|
1. Internal API changes
|
|
|
|
2. Build system changes
|
|
|
|
3. Module changes
|
|
|
|
4. OpCode changes
|
|
|
|
5. SAPI changes
|
|
|
|
========================
|
|
1. Internal API changes
|
|
========================
|
|
|
|
- Zend
|
|
. Added zend_safe_assign_to_variable_noref() function to safely assign
|
|
a value to a non-reference zval.
|
|
. Added zval_ptr_safe_dtor() to safely destroy a zval when a destructor
|
|
could interfere.
|
|
. zend_get_callable_name() now returns the name of the underlying function
|
|
for fake closures.
|
|
. Added smart_string_append_printf() matching smart_str_append_printf() for
|
|
char* instead of zend_string*-based smart strings.
|
|
. Added php_build_provider() to retrieve the value of PHP_BUILD_PROVIDER at
|
|
runtime.
|
|
|
|
========================
|
|
2. Build system changes
|
|
========================
|
|
|
|
- Windows build system changes
|
|
. SAPI() and ADD_SOURCES() now suport the optional `duplicate_sources`
|
|
parameter. If truthy, no rules to build the object files are generated.
|
|
This allows to build additional variants of SAPIs (e.g. a DLL and EXE)
|
|
without duplicate build rules. It is up to the SAPI maintainers to ensure
|
|
that appropriate build rules are created.
|
|
|
|
========================
|
|
3. Module changes
|
|
========================
|
|
|
|
- ext/gd
|
|
. The gdImageScale*() and gdImageRotate*() helpers are now internal in the
|
|
bundled libgd, like they have been in external libgd as of gd-2.1.1.
|
|
|
|
- ext/json
|
|
. php_json_encode_serializable_object() now assumes `EG(active)`,
|
|
if not a bailout is caused. Therefore a minor BC break exists if the
|
|
`PHP_JSON_PARTIAL_OUTPUT_ON_ERROR` option is in use.
|
|
However, this situation is highly unlikely.
|
|
|
|
- ext/libxml
|
|
. The refcount APIs now return an `unsigned int` instead of an `int`.
|
|
|
|
- ext/pdo
|
|
. Added `php_pdo_stmt_valid_db_obj_handle()` to check if the database object
|
|
is still valid. This is useful when a GC cycle is collected and the
|
|
database object can be destroyed prior to destroying the statement.
|
|
|
|
========================
|
|
4. OpCode changes
|
|
========================
|
|
|
|
========================
|
|
5. SAPI changes
|
|
========================
|