Commit c742440fef7 for php.net

commit c742440fef7eecc3e35de5e524c87f130ffe0367
Merge: 1423149fb6b 19eda22e90b
Author: Weilin Du <weilindu@php.net>
Date:   Sun Aug 9 00:14:34 2026 +0800

    Merge branch 'PHP-8.5'

    * PHP-8.5:
      Fix GH-23120: DOMNode::isEqualNode stack overflow on deeply nested trees (#23140)

diff --cc NEWS
index fef83b8412c,7fcd21fbbdc..8c84bee9f71
--- a/NEWS
+++ b/NEWS
@@@ -25,125 -13,27 +25,127 @@@ PH
      DOMDocument). (Lazizbek Ergashev)
    . Fixed bug GH-23117 (Stack overflow when normalizing a deeply nested
      Dom\XMLDocument). (Lazizbek Ergashev)
 +
 +- GMP:
 +  . Added optional $definitely_prime output parameter to gmp_prevprime().
 +    (Weilin Du)
 +  . Added gmp_powm_sec(). (Weilin Du)
 +
 +- Intl:
 +  . Added static methods IntlDatePatternGenerator::getSkeleton() and
 +    IntlDatePatternGenerator::getBaseSkeleton(). (Weilin Du)
 +  . Fixed Collator::sort(), collator_sort(), Collator::asort(), and
 +    collator_asort() to report UTF-8/UTF-16 conversion errors through the intl
 +    error handler instead of emitting a warning and continuing with an empty
 +    string. (Weilin Du)
 +  . Fixed IntlListFormatter::__construct() leaving stale global error state
 +    after successful calls. (Weilin Du)
 +  . Implemented GH-20255 (Add a predefined calendar constant in
 +    IntlDateFormatter for the proleptic gregorian calendar). (David Carlier)
 +  . Added SpoofChecker::areBidiConfusable(). (David Carlier)
 +  . Added SpoofChecker::getBidiSkeleton(). (Weilin Du)
 +  . Added SpoofChecker::getSkeleton(). (David Carlier)
 +
 +- PDO_ODBC:
 +  . Fixed bug GH-23016 (NULL values in long columns come back as garbage
 +    binary strings). (Calvin Buckley, iliaal)
 +
 +- Readline:
 +  . Fixed the interactive shell not waiting for the pager process to exit.
 +    (Weilin Du)
 +
 +- Reflection:
 +  . Added ReflectionAttribute::inNamespace(),
 +    ReflectionAttribute::getNamespaceName(), and
 +    ReflectionAttribute::getShortName(). (Girgias)
 +  . Fixed bug GH-22905 (Reflection exception messages truncate on null bytes).
 +    (DanielEScherzer)
 +  . Fixed ReflectionProperty::isLazy() and skipLazyInitialization() using the
 +    parent slot when a child class hooks an inherited property. (iliaal)
 +  . Fixed segfault in ReflectionMethod::createFromMethodName() on an
 +    uninstantiable subclass. (iliaal)
 +
 +- Standard:
 +  . Added the "filter.max_filter_count" stream context option for php://filter
 +    URLs. Using more than 16 filters without configuring this option is now
 +    deprecated. (Sjoerd Langkemper)
 +  . Improved performance of array_intersect(). (mehmetcansahin)
 +  . Fixed bug GH-23006 (phpcredits() full-page HTML title says phpinfo()).
 +    (Weilin Du)
 +  . The following functions now raise a ValueError when the $filename argument
 +    contains NUL bytes: fileperms(), fileinode(), filesize(), fileowner(),
 +    filegroup(), fileatime(), filemtime(), filectime(), filetype(),
 +    is_writable(), is_readable(), is_executable(), is_file(), is_dir(),
 +    is_link(), file_exists(), lstat(), stat(). (Girgias)
 +  . Fixed bug GH-22818 (stream_filter_register() orphaned user_filter_map on
 +    shutdown re-registration). (David Carlier)
 +  . Io\Poll\Context::wait() now takes a Time\Duration object as a timeout.
 +    (timwolla)
 +
 +30 Jul 2026, PHP 8.6.0alpha3
 +
 +- Core:
 +  . Implemented partial function application RFC. (Arnaud)
 +  . Fixed bug GH-22263 (reset typed property default on every unserialize
 +    failure path). (David Carlier)
 +  . Fixed bug GH-18985 (Wrong line numbers for match with constant arms).
 +    (ilutov)
 +  . Fixed bug GH-18847 (SEGV in zend_fetch_debug_backtrace() when the memory
 +    limit is reached while the tracing JIT enters a call frame). (Arnaud,
 +    iliaal)
 +
 +- DOM:
    . Fixed bug GH-22825 (DOMElement::setAttribute() fails silently when the DTD
      declares a default value for the attribute). (iliaal)
+   . Fixed bug GH-23120 (Stack overflow when comparing deeply nested DOM nodes
+     with DOMNode::isEqualNode()). (Weilin Du)

 +- Embed:
 +  . Made php-cli functionality available in embed builds. (henderkes)
 +
 +- GMP:
 +  . Added gmp_prevprime(). (Weilin Du, David Carlier)
 +  . Fixed GMP power and shift operators to reject GMP right operands outside
 +    the unsigned long range instead of silently truncating them. (Weilin Du)
 +  . Fixed GMP integer string parsing to reject strings containing NUL bytes
 +    instead of silently truncating them. (Weilin Du)
 +  . Fixed GMP error messages that referenced outdated parameter names.
 +    (Weilin Du)
 +
  - Intl:
 -  . Fixed IntlListFormatter::__construct() leaving stale global error state
 -    after successful calls. (Weilin Du)
 +  . Fixed grammatical issues in Normalizer invalid form and IntlCalendar time
 +    zone offset error messages. (Weilin Du)
 +  . Removed the dependency on the ICU IO library. (Weilin Du)
 +
 +- ODBC:
 +  . Fixed bug GH-22668 (Heap buffer over-read when a column value exceeds the
 +    driver-reported display size). (iliaal)

  - Opcache:
 -  . Fixed GH-22693 (DT_TEXTREL in JIT-generated TLS access on x86_64).
 -    (David Carlier)
 -  . Fixed bug GH-22763 (JIT fails to clear ZREG_TYPE_ONLY after setting reg).
 -    (Arnaud)
 -  . Fixed bug GH-22857 (Function JIT emits wrong code for FETCH_OBJ_FUNC_ARG on
 -    a property hook getter, losing register-held variables). (Zhao Hao)
 -  . Fixed bug GH-22916 (Preserve parent regs in zend_jit_deoptimizer_start()).
 -    (Arnaud)
 +  . Re-enable JIT for ZTS builds on Apple Silicon. (realFlowControl)

 -- OpenSSL:
 -  . Fix missing error check on invalid alpn protocols. (ndossche)
 +- PDO_ODBC:
 +  . Fixed bug GH-22667 (Heap buffer over-read when a column value exceeds the
 +    driver-reported display size). (iliaal)
 +  . Fixed bug GH-22666 (Heap buffer overflow when an output parameter value is
 +    longer than the declared maxlen). (iliaal)
 +  . Fixed bug GH-22665 (Out-of-bounds write when the ODBC driver reports a
 +    diagnostic message length beyond the error buffer). (iliaal)
 +
 +- Phar:
 +  . Fixed grammatical issues and outdated terminology in Phar error messages.
 +    (Weilin Du)
 +
 +- Reflection:
 +  . Fixed bug GH-22681 (Reflection*::__toString() truncates on null bytes).
 +    (DanielEScherzer)
 +
 +- SOAP:
 +  . Fixed header injection through the Content-Type context option, the
 +    soapaction and the cookie names and values. (David Carlier)
 +  . Fixed the SoapClient and SoapServer "classmap" option to reject arrays
 +    containing integer keys, and made SoapClient throw TypeError/ValueError
 +    for invalid "classmap" options. (Weilin Du, David Carlier)

  - MBString:
    . Fixed bug GH-22779 (mb_strrpos() returns the wrong position for a negative