Select your language

NOTE: Extensions normally packaged are disabled as there is not 8.6 compatible versions at this time. Use for testing ONLY.


- BCMath:
  . Fixed out-of-bounds read in bc_is_zero_for_scale() when scale exceeds
    n_scale. (Ilia Alshanetsky)

- Core:
  . Fixed out-of-bounds reads during automatic UTF-16/32 encoding detection.
    (Yudai Takada)
  . Calling is_a() or is_subclass_of() with a string as the first argument
    when $allow_string is false is now deprecated. (Daniel Scherzer)
  . Fixed bug GH-23232 (lone namespace separator asks the autoloader for an
    empty class name). (spawnia)

- CLI:
  . Fixed bug GH-23242 (PHP development server does not support Expect
    100-continue flow control). (Sjoerd Langkemper)

- DOM:
  . Fixed NamedNodeMap::getNamedItemNS() with an empty URI not matching
    the null namespace in spec-following mode. (Ilia Alshanetsky)
  . Fixed stale getElementsByClassName() and other node list caches after
    className/classList writes and attribute removals. (Ilia Alshanetsky)

- Hash:
  . Fixed hash_file() reporting argument #1 ($algo) instead of argument #2
    ($filename) when the filename contains null bytes. (lacatoire)

- Intl:
  . Fixed grapheme_strpos() and grapheme_strrpos() with an empty needle
    returning UTF-16 offsets instead of grapheme offsets. (Ilia Alshanetsky)
  . Fixed a memory leak when dumping IntlCalendar instances. (Ilia Alshanetsky)
  . Fixed Collator::sortWithSortKeys() allocating fixed 2MiB buffers
    regardless of array size. (Ilia Alshanetsky)
  . Fixed a memory leak when iterating IntlBreakIterator::getPartsIterator()
    results. (iliaal)
  . Fixed a leak in Locale::getKeywords() when a keyword value cannot be
    read. (iliaal)
  . Fixed a use-after-free when IntlRuleBasedBreakIterator is constructed
    from compiled rules. (iliaal)
  . Fixed Spoofchecker methods not recording the ICU error code when an ICU
    call fails. (Ilia Alshanetsky)
  . Fixed idn_to_ascii() and idn_to_utf8() reporting argument #2 ($flags)
    instead of argument #3 ($variant) for an invalid IDNA variant, and the
    domain length error message printing a literal "d" instead of the limit.
    (lacatoire)

- MBString:
  . Fixed mb_ereg_replace() emitting a NUL or out-of-bounds bytes in the
    replacement when a \k<name> backref has no closing delimiter.
    (Ilia Alshanetsky)

- ODBC:
  . Fixed odbc_field_len(), odbc_field_scale() and odbc_field_type()
    returning uninitialized memory when SQLColAttribute fails.
    (Ilia Alshanetsky)
  . odbc_error() and odbc_errormsg() now also report SQLColAttribute
    failures. (Ilia Alshanetsky)

- PCNTL:
  . Fixed the declared signature of pcntl_signal(), whose $restart_syscalls
    argument accepts null and defaults to it. (lacatoire)

- PDO_PGSQL:
  . Added Pdo\Pgsql::ATTR_CHUNK_SIZE to fetch a result set in chunks of the
    given number of rows. (KentarouTakeda)

- PGSQL:
  . Fixed the pg_insert(), pg_update() and pg_delete() flag error messages,
    which did not name the set of flags actually accepted. (lacatoire)

- Phar:
  . Fixed bug GH-23418 (Use-after-free when looking up mounted directories).
    (Weilin Du)
  . Fixed bug GH-23477 (Memory leak on duplicate native Phar manifest entries).
    (Weilin Du)

- Sockets:
  . Fixed socket_set_option() with SO_ATTACH_REUSEPORT_CBPF and a zero value,
    which detached the classic BPF filter instead of the reuseport program.
    (David Carlier)

- SOAP:
  . Fixed WSDL cache corruption when a soap:header defines headerfaults.
    (Ilia Alshanetsky)
  . Fixed stack overflow when parsing a WSDL with self-referential schema
    groups or attributeGroups. (Ilia Alshanetsky)

- Sodium:
  . Added support for the libsodium 1.0.22 KEM APIs (X-Wing and ML-KEM768).
    (Zachary DuBois)

- Standard:
  . Fixed a segfault when a stream filter callback unsets StreamBucket::$data
    before re-attaching the bucket. (iliaal)
  . Fixed an out-of-bounds read when following a redirect response with an
    empty Location header. (iliaal)
  . Fixed read buffer compaction in php_stream_filter_flush(). (crystarm)
  . Io\Poll\Context::wait() now rejects a $maxEvents value greater than
    INT_MAX instead of truncating it. (marc-mabe)
  . Fixed GH-23338 (fsockopen()/pfsockopen() ValueError reported wrong
    argument number for $timeout). (lacatoire)
  . Fixed bug GH-23576 (Next index for array returned from array_keys() is
    wrong). (Lazizbek Ergashev)

- SimpleXML:
  . Fixed writing to a dimension of the object returned by attributes() not
    creating the attribute. (Ilia Alshanetsky)
  . Fixed child elements of the element returned by
    SimpleXMLElement::addChild() not being accessible by property name when
    namespaces are involved. (Ilia Alshanetsky)

- Streams:
  . Added so_rcvbuf and so_sndbuf stream socket context options, setting the
    socket receive and send buffer sizes in bytes. (David Carlier)

Our Supporters

Sorry, this website uses features that your browser doesn't support. Upgrade to a newer version of Firefox, Chrome, Safari, or Edge and you'll be all set.