@@ -14,7 +14,6 @@ PHP 8.5 INTERNALS UPGRADE NOTES
14
14
1. Internal API changes
15
15
========================
16
16
17
- - Core
18
17
. PG(arg_separator).input and PG(arg_separator).output are now `zend_string*`
19
18
instead of `char*`.
20
19
. DL_LOAD now doesn't use RTLD_DEEPBIND deepbind anymore on platforms
@@ -34,16 +33,6 @@ PHP 8.5 INTERNALS UPGRADE NOTES
34
33
pointer. If the error will be delayed until runtime, it is stored in the
35
34
new `validation_error` field of the `zend_attribute` struct.
36
35
RFC: https://wiki.php.net/rfc/delayedtargetvalidation_attribute
37
-
38
- - Hash
39
- . Hash functions now use proper hash_spec_result enum for return values
40
- instead of using SUCCESS and FAILURE.
41
-
42
- - Random
43
- . The handlers parameter of php_random_engine_common_init() has been
44
- removed. Use the default_object_handlers field on the CE instead.
45
-
46
- - Zend
47
36
. Added zend_safe_assign_to_variable_noref() function to safely assign
48
37
a value to a non-reference zval.
49
38
. Added zval_ptr_safe_dtor() to safely destroy a zval when a destructor
@@ -91,13 +80,6 @@ PHP 8.5 INTERNALS UPGRADE NOTES
91
80
from the parent process after a fork().
92
81
. HASH_KEY_IS_* constants have been moved in the zend_hash_key_type enum.
93
82
94
- - standard
95
- . ext/standard/php_smart_string.h and ext/standard/php_smart_string_public.h
96
- were removed. Use the corresponding headers in Zend/ instead.
97
-
98
- - URI
99
- . Internal API for URI handling was added via the php_uri_*() functions.
100
-
101
83
========================
102
84
2. Build system changes
103
85
========================
@@ -136,26 +118,34 @@ PHP 8.5 INTERNALS UPGRADE NOTES
136
118
3. Module changes
137
119
========================
138
120
139
- - ext/gd
121
+ - Gd:
140
122
. The gdImageScale*() and gdImageRotate*() helpers are now internal in the
141
123
bundled libgd, like they have been in external libgd as of gd-2.1.1.
142
124
143
- - ext/json
125
+ - Hash:
126
+ . Hash functions now use proper hash_spec_result enum for return values
127
+ instead of using SUCCESS and FAILURE.
128
+
129
+ - JSON:
144
130
. php_json_encode_serializable_object() now assumes `EG(active)`,
145
131
if not a bailout is caused. Therefore a minor BC break exists if the
146
132
`PHP_JSON_PARTIAL_OUTPUT_ON_ERROR` option is in use.
147
133
However, this situation is highly unlikely.
148
134
149
- - ext/libxml
135
+ - Libxml:
150
136
. The refcount APIs now return an `unsigned int` instead of an `int`.
151
137
. Removed php_libxml_xmlCheckUTF8(). Use xmlCheckUTF8() from libxml instead.
152
138
153
- - ext/pdo
139
+ - PDO:
154
140
. Added `php_pdo_stmt_valid_db_obj_handle()` to check if the database object
155
141
is still valid. This is useful when a GC cycle is collected and the
156
142
database object can be destroyed prior to destroying the statement.
157
143
158
- - ext/standard
144
+ - Random:
145
+ . The handlers parameter of php_random_engine_common_init() has been
146
+ removed. Use the default_object_handlers field on the CE instead.
147
+
148
+ - Standard:
159
149
. Added php_url_decode_ex() and php_raw_url_decode_ex() that unlike their
160
150
non-ex counterparts do not work in-place.
161
151
. The php_std_date() function has been removed. Use php_format_date() with
@@ -165,6 +155,11 @@ PHP 8.5 INTERNALS UPGRADE NOTES
165
155
and image_type_to_extension() is now extensible using the internal APIs
166
156
php_image_register_handler() and php_image_unregister_handler() in
167
157
php_image.h.
158
+ . ext/standard/php_smart_string.h and ext/standard/php_smart_string_public.h
159
+ were removed. Use the corresponding headers in Zend/ instead.
160
+
161
+ - URI:
162
+ . Internal API for URI handling was added via the php_uri_*() functions.
168
163
169
164
========================
170
165
4. OpCode changes
0 commit comments