Commit e790541cc5e for php.net
commit e790541cc5e1a09f9c22dbcddb7a8f497b02274f
Author: Weilin Du <weilindu@php.net>
Date: Wed Jul 8 23:45:11 2026 +0800
[skip ci] Add various missing UPGRADING entries for 8.6 BC breaks
Dom\DtdNamedNodeMap array access negative index behavior: PR #22630
Dom\DtdNamedNodeMap array access INT_MAX index validation: PR #22630
sleep() maximum seconds validation: PR #22619
usleep() maximum microseconds validation: PR #22619
diff --git a/UPGRADING b/UPGRADING
index 6a1f1b12e4a..a6cd3bdef1c 100644
--- a/UPGRADING
+++ b/UPGRADING
@@ -32,6 +32,11 @@ PHP 8.6 UPGRADE NOTES
from global scope" instead of the prior readonly modification error.
ReflectionProperty::isWritable() also reports these properties
accurately.
+ . Array access on Dom\DtdNamedNodeMap objects now returns null for negative
+ integer indexes instead of returning the first node.
+ . Array access on Dom\DtdNamedNodeMap objects now raises a ValueError when
+ the integer index is greater than INT_MAX instead of overflowing to a
+ smaller index.
- GD:
. imagesetstyle(), imagefilter() and imagecrop() filter their array arguments
@@ -188,6 +193,11 @@ PHP 8.6 UPGRADE NOTES
value is passed.
. number_format() now raises a ValueError when $decimals is outside the
integer range instead of silently clamping very large positive values.
+ . sleep() now raises a ValueError when $seconds is greater than the platform
+ limit (UINT_MAX seconds, or UINT_MAX / 1000 seconds on Windows) instead of
+ allowing the value to overflow.
+ . usleep() now raises a ValueError when $microseconds is greater than
+ UINT_MAX instead of allowing the value to overflow.
. proc_open() now raises a ValueError when the $cwd argument contains NUL
bytes.