diff --git a/NEWS b/NEWS index 2000d5b4710e..8c2b185d328f 100644 --- a/NEWS +++ b/NEWS @@ -26,6 +26,11 @@ PHP NEWS - DOM: . Removed LIBXML_XINCLUDE from valid options for XMLDocument, as it was a no-op. (ndossche) + . Readonly DOM properties are now declared with asymmetric visibility + (public private(set)). ReflectionProperty::isWritable() reports them + correctly, and external writes raise "Cannot modify private(set) + property" instead of the previous readonly modification error. + (David Carlier) - Fileinfo: . Fixed bug GH-20679 (finfo_file() doesn't work on remote resources). diff --git a/UPGRADING b/UPGRADING index 10a63f6b03ad..f7874c2d3472 100644 --- a/UPGRADING +++ b/UPGRADING @@ -19,6 +19,16 @@ PHP 8.6 UPGRADE NOTES 1. Backward Incompatible Changes ======================================== +- DOM: + . Properties previously documented as @readonly (e.g. DOMNode::$nodeType, + DOMDocument::$xmlEncoding, DOMEntity::$actualEncoding, ::$encoding, + ::$version) are now declared with asymmetric visibility + (public private(set)). Attempts to write to them from outside the + class now raise "Cannot modify private(set) property ::$ + from global scope" instead of the prior readonly modification error. + ReflectionProperty::isWritable() also reports these properties + accurately. + - GD: . imagesetstyle(), imagefilter() and imagecrop() filter their array arguments types/values and raise a TypeError/ValueError