@@ -184,6 +184,19 @@ PHP 8.6 INTERNALS UPGRADE NOTES
184184 zval* that is IS_UNDEF when the closure is unbound.
185185 . object_properties_load() now verifies that the given value is assignable
186186 to typed properties. The check is performed in strict mode.
187+ . `php_stream_wrapper.is_url` switched from a binary flag (stored as an `int`)
188+ to an instance of the new `php_stream_wrapper_is_url` enum:
189+ * the value `0` maintains the same meaning of a stream never being a URL,
190+ and is equivalent to the new `STREAM_IS_URL_NEVER` case which has the
191+ underlying value `0`.
192+ * the value `1` maintains the same meaning of a stream always being a URL,
193+ and is equivalent to the new `STREAM_IS_URL_ALWAYS` case which has the
194+ underlying value `1`.
195+ * a value of `2` is now supported, using `STREAM_IS_URL_SOMETIMES`, which
196+ indicates that the `stream_is_url` callback should be consulted.
197+ . Extended `php_stream_wrapper_ops()` with a new `stream_is_url` callback,
198+ which is required when `php_stream_wrapper.is_url` is set to
199+ `STREAM_IS_URL_SOMETIMES`.
187200
188201- Added:
189202 . New zend_class_entry.ce_flags2 and zend_function.fn_flags2 fields were
@@ -236,6 +249,7 @@ PHP 8.6 INTERNALS UPGRADE NOTES
236249 "INF" and "NAN" fail, while leading-numeric strings emit E_WARNING. When
237250 *failed is true, the returned value must not be used and an exception may
238251 already be pending. Passing an IS_UNDEF zval is a caller error.
252+ . Added `php_stream_wrapper_is_url` C enum.
239253
240254========================
2412552. Build system changes
0 commit comments