Commit b9e044548b8 for php.net
commit b9e044548b805fc7932f13faf64c6ca967d4b940
Merge: 8fa4bf05ec7 aa795a6aa3f
Author: Daniel Scherzer <daniel.e.scherzer@gmail.com>
Date: Mon Dec 1 13:41:04 2025 -0800
Merge branch 'PHP-8.5'
* PHP-8.5:
Fix GH-20426: fix Spoofchecker::setRestrictionLevel() error (#20427)
diff --cc NEWS
index 18d931bccde,b89c399f3fe..d8242f50594
--- a/NEWS
+++ b/NEWS
@@@ -1,39 -1,529 +1,41 @@@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-?? ??? ????, PHP 8.5.1
+?? ??? ????, PHP 8.6.0alpha1
- Core:
- . Sync all boost.context files with release 1.86.0. (mvorisek)
- . Fixed bug GH-20435 (SensitiveParameter doesn't work for named argument
- passing to variadic parameter). (ndossche)
- . Fixed bug GH-20546 (preserve_none attribute configure check on macOs
- issue). (David Carlier/cho-m)
- . Fixed bug GH-20286 (use-after-destroy during userland stream_close()).
- (ndossche, David Carlier)
+ . Added first-class callable cache to share instances for the duration of the
+ request. (ilutov)
+ . It is now possible to use reference assign on WeakMap without the key
+ needing to be present beforehand. (ndossche)
-- Bz2:
- . Fix assertion failures resulting in crashes with stream filter
- object parameters. (ndossche)
-
-- DOM:
- . Fix memory leak when edge case is hit when registering xpath callback.
- (ndossche)
- . Fixed bug GH-20395 (querySelector and querySelectorAll requires elements
- in $selectors to be lowercase). (ndossche)
- . Fix missing NUL byte check on C14NFile(). (ndossche)
-
-- Fibers:
- . Fixed bug GH-20483 (ASAN stack overflow with fiber.stack_size INI
- small value). (David Carlier)
+- Hash:
+ . Upgrade xxHash to 0.8.2. (timwolla)
- Intl:
+ . Added IntlNumberRangeFormatter class to format an interval of two numbers
+ with a given skeleton, locale, collapse type and identity fallback.
+ (BogdanUngureanu)
+ . Fixed bug GH-20426 (Spoofchecker::setRestrictionLevel() error message
+ suggests missing constants). (DanielEScherzer)
-- Lexbor:
- . Fixed bug GH-20501 (\Uri\WhatWg\Url lose host after calling
- withPath() or withQuery()). (lexborisov)
- . Fixed bug GH-20502 (\Uri\WhatWg\Url crashes (SEGV) when parsing
- malformed URL due to Lexbor memory corruption). (lexborisov)
-
-- LibXML:
- . Fix some deprecations on newer libxml versions regarding input
- buffer/parser handling. (ndossche)
-
-- MySQLnd:
- . Fixed bug GH-20528 (Regression breaks mysql connexion using an IPv6 address
- enclosed in square brackets). (Remi)
-
-- Opcache:
- . Fixed bug GH-20329 (opcache.file_cache broken with full interned string
- buffer). (Arnaud)
-
-- Phar:
- . Fixed bug GH-20442 (Phar does not respect case-insensitiveness of
- __halt_compiler() when reading stub). (ndossche, TimWolla)
- . Fix broken return value of fflush() for phar file entries. (ndossche)
- . Fix assertion failure when fseeking a phar file out of bounds. (ndossche)
-
-- PHPDBG:
- . Fixed ZPP type violation in phpdbg_get_executable() and phpdbg_end_oplog().
- (Girgias)
-
-- SPL:
- . Fixed bug GH-20614 (SplFixedArray incorrectly handles references
- in deserialization). (ndossche)
-
-- Standard:
- . Fix memory leak in array_diff() with custom type checks. (ndossche)
- . Fixed bug GH-20583 (Stack overflow in http_build_query
- via deep structures). (ndossche)
- . Fixed bug GH-20584 (Information Leak of Memory). (ndossche)
-
-- XML:
- . Fixed bug GH-20439 (xml_set_default_handler() does not properly handle
- special characters in attributes when passing data to callback). (ndossche)
-
-- Zip:
- . Fix crash in property existence test. (ndossche)
- . Don't truncate return value of zip_fread() with user sizes. (ndossche)
-
-- Zlib:
- . Fix assertion failures resulting in crashes with stream filter
- object parameters. (ndossche)
-
-- URI:
- . Fixed bug GH-20366 (ext/uri incorrectly throws ValueError when encountering
- null byte). (kocsismate)
-
-20 Nov 2025, PHP 8.5.0
-
-- Core:
- . Added the #[\NoDiscard] attribute to indicate that a function's return
- value is important and should be consumed. (timwolla, edorian)
- . Added the (void) cast to indicate that not using a value is intentional.
- (timwolla, edorian)
- . Added get_error_handler(), get_exception_handler() functions. (Arnaud)
- . Added support for casts in constant expressions. (nielsdos)
- . Added the pipe (|>) operator. (crell)
- . Added support for `final` with constructor property promotion.
- (DanielEScherzer)
- . Added support for configuring the URI parser for the FTP/FTPS as well as
- the SSL/TLS stream wrappers as described in
- https://wiki.php.net/rfc/url_parsing_api#plugability. (kocsismate)
- . Added PHP_BUILD_PROVIDER constant. (timwolla)
- . Added PHP_BUILD_DATE constant. (cmb)
- . Added support for Closures and first class callables in constant
- expressions. (timwolla, edorian)
- . Add support for backtraces for fatal errors. (enorris)
- . Add clone-with support to the clone() function. (timwolla, edorian)
- . Add RFC 3986 and WHATWG URL compliant APIs for URL parsing
- and manipulation (kocsismate, timwolla)
- . Fixed AST printing for immediately invoked Closure. (Dmitrii Derepko)
- . Properly handle __debugInfo() returning an array reference. (nielsdos)
- . Properly handle reference return value from __toString(). (nielsdos)
- . Improved error message of UnhandledMatchError for
- zend.exception_string_param_max_len=0. (timwolla)
- . Fixed bug GH-15753 and GH-16198 (Bind traits before parent class). (ilutov)
- . Fixed bug GH-17951 (memory_limit is not always limited by max_memory_limit).
- (manuelm)
- . Fixed bug GH-20183 (Stale EG(opline_before_exception) pointer through eval).
- (ilutov)
- . Fixed bug GH-20113 (Missing new Foo(...) error in constant expressions).
- (ilutov)
- . Fixed bug GH-19844 (Don't bail when closing resources on shutdown). (ilutov)
- . Fixed bug GH-20177 (Accessing overridden private property in
- get_object_vars() triggers assertion error). (ilutov)
- . Fix OSS-Fuzz #447521098 (Fatal error during sccp shift eval). (ilutov)
- . Fixed bug GH-20002 (Broken build on *BSD with MSAN). (outtersg)
- . Fixed bug GH-19352 (Cross-compilation with musl C library).
- (henderkes, Peter Kokot)
- . Fixed bug GH-19765 (object_properties_load() bypasses readonly property
- checks). (timwolla)
- . Fixed hard_timeout with --enable-zend-max-execution-timers. (Appla)
- . Fixed bug GH-19839 (Incorrect HASH_FLAG_HAS_EMPTY_IND flag on userland
- array). (ilutov)
- . Fixed bug GH-19823 (register_argc_argv deprecation emitted twice when
- using OPcache). (timwolla)
- . Fixed bug GH-19480 (error_log php.ini cannot be unset when open_basedir is
- configured). (nielsdos)
- . Fixed bug GH-19719 (Allow empty statements before declare(strict_types)).
- (nielsdos)
- . Fixed bug GH-19934 (CGI with auto_globals_jit=0 causes uouv). (ilutov)
- . Fixed bug GH-19613 (Stale array iterator pointer). (ilutov)
- . Fixed bug GH-19679 (zend_ssa_range_widening may fail to converge). (Arnaud)
- . Fixed bug GH-19681 (PHP_EXPAND_PATH broken with bash 5.3.0). (Remi)
- . Fixed bug GH-18850 (Repeated inclusion of file with __halt_compiler()
- triggers "Constant already defined" warning). (ilutov)
- . Fixed bug GH-19476 (pipe operator fails to correctly handle returning
- by reference). (alexandre-daubois)
- . Fixed bug GH-19081 (Wrong lineno in property error with constructor property
- promotion). (ilutov)
- . Fixed bug GH-17959 (Relax missing trait fatal error to error exception).
- (ilutov)
- . Fixed bug GH-18033 (NULL-ptr dereference when using register_tick_function
- in destructor). (nielsdos)
- . Fixed bug GH-18026 (Improve "expecting token" error for ampersand). (ilutov)
- . The report_memleaks INI directive has been deprecated. (alexandre-daubois)
- . Fixed OSS-Fuzz #439125710 (Pipe cannot be used in write context).
- (nielsdos)
- . Fixed bug GH-19548 (Shared memory violation on property inheritance).
- (alexandre-daubois)
- . Fixed bug GH-19544 (GC treats ZEND_WEAKREF_TAG_MAP references as WeakMap
- references). (Arnaud, timwolla)
- . Fixed bug GH-18373 (Don't substitute self/parent with anonymous class).
- (ilutov)
- . Fix support for non-userland stream notifiers. (timwolla)
- . Fixed bug GH-19305 (Operands may be being released during comparison).
- (Arnaud)
- . Fixed bug GH-19306 (Generator can be resumed while fetching next value from
- delegated Generator). (Arnaud)
- . Fixed bug GH-19326 (Calling Generator::throw() on a running generator with
- a non-Generator delegate crashes). (Arnaud)
- . Fix OSS-Fuzz #427814452 (pipe compilation fails with assert).
- (nielsdos, ilutov)
- . Fixed bug GH-16665 (\array and \callable should not be usable in
- class_alias). (nielsdos)
- . Use `clock_gettime_nsec_np()` for high resolution timer on macOS
- if available. (timwolla)
- . Make `clone()` a function. (timwolla, edorian)
- . Introduced the TAILCALL VM, enabled by default when compiling with Clang>=19
- on x86_64 or aarch64. (Arnaud)
- . Enacted the follow-up phase of the "Path to Saner Increment/Decrement
- operators" RFC, meaning that incrementing non-numeric strings is now
- deprecated. (Girgias).
- . Various closure binding issues are now deprecated. (alexandre-daubois)
- . Constant redeclaration has been deprecated. (alexandre-daubois)
- . Marks the stack as non-executable on Haiku. (David Carlier)
- . Deriving $_SERVER['argc'] and $_SERVER['argv'] from the query string is
- now deprecated. (timwolla, nicolasgrekas)
- . Using null as an array offset or when calling array_key_exists() is now
- deprecated. (alexandre-daubois)
- . The disable_classes INI directive has been removed. (Girgias)
- . The locally predefined variable $http_response_header is deprecated.
- (Girgias)
- . Non-canonical cast names (boolean), (integer), (double), and (binary) have
- been deprecated. (Girgias)
- . The $exclude_disabled parameter of the get_defined_functions() function has
- been deprecated, as it no longer has any effect since PHP 8.0. (Girgias)
- . Terminating case statements with a semicolon instead of a colon has
- been deprecated. (theodorejb)
- . The backtick operator as an alias for shell_exec() has been deprecated.
- (timwolla)
- . Returning null from __debugInfo() has been deprecated. (DanielEScherzer)
- . Support #[\Override] on properties. (Jiří Pudil)
- . Destructing non-array values (other than NULL) using [] or list() now
- emits a warning. (Girgias)
- . Casting floats that are not representable as ints now emits a warning.
- (Girgias)
- . Casting NAN to other types now emits a warning. (Girgias)
- . Implement GH-15680 (Enhance zend_dump_op_array to properly represent
- non-printable characters in string literals). (nielsdos, WangYihang)
- . Fixed bug GH-17442 (Engine UAF with reference assign and dtor). (nielsdos)
- . Do not use RTLD_DEEPBIND if dlmopen is available. (Daniil Gentili)
-
-- BCMath:
- . Simplify `bc_divide()` code. (SakiTakamachi)
- . If the result is 0, n_scale is set to 0. (SakiTakamachi)
- . If size of BC_VECTOR array is within 64 bytes, stack area is now used.
- (SakiTakamachi)
- . Fixed bug GH-20006 (Power of 0 of BcMath number causes UB). (nielsdos)
-
-- Bz2:
- . Fixed bug GH-19810 (Broken bzopen() stream mode validation). (ilutov)
-
-- CLI:
- . Add --ini=diff to print INI settings changed from the builtin default.
- (timwolla)
- . Drop support for -z CLI/CGI flag. (nielsdos)
- . Fixed GH-17956 - development server 404 page does not adapt to mobiles.
- (pascalchevrel)
- . Fix useless "Failed to poll event" error logs due to EAGAIN in CLI server
- with PHP_CLI_SERVER_WORKERS. (leotaku)
- . Fixed bug GH-19461 (Improve error message on listening error with IPv6
- address). (alexandre-daubois)
-
-- COM:
- . Fixed property access of PHP objects wrapped in variant. (cmb)
- . Fixed method calls for PHP objects wrapped in variant. (cmb)
-
-- Curl:
- . Added CURLFOLLOW_ALL, CURLFOLLOW_OBEYCODE and CURLFOLLOW_FIRSTONLY
- values for CURLOPT_FOLLOWLOCATION curl_easy_setopt option. (David Carlier)
- . Added curl_multi_get_handles(). (timwolla)
- . Added curl_share_init_persistent(). (enorris)
- . Added CURLINFO_USED_PROXY, CURLINFO_HTTPAUTH_USED, and CURLINFO_PROXYAUTH_USED
- support to curl_getinfo. (Ayesh Karunaratne)
- . Add support for CURLINFO_CONN_ID in curl_getinfo() (thecaliskan)
- . Add support for CURLINFO_QUEUE_TIME_T in curl_getinfo() (thecaliskan)
- . Add support for CURLOPT_SSL_SIGNATURE_ALGORITHMS. (Ayesh Karunaratne)
- . The curl_close() function has been deprecated. (DanielEScherzer)
- . The curl_share_close() function has been deprecated. (DanielEScherzer)
- . Fix cloning of CURLOPT_POSTFIELDS when using the clone operator instead
- of the curl_copy_handle() function to clone a CurlHandle. (timwolla)
-
-- Date:
- . Fix undefined behaviour problems regarding integer overflow in extreme edge
- cases. (nielsdos, cmb, ilutov)
- . The DATE_RFC7231 and DateTimeInterface::RFC7231 constants have been
- deprecated. (jorgsowa)
- . Fixed date_sunrise() and date_sunset() with partial-hour UTC offset.
- (ilutov)
- . Fixed GH-17159: "P" format for ::createFromFormat swallows string literals.
- (nielsdos)
- . The __wakeup() magic method of DateTimeInterface, DateTime,
- DateTimeImmutable, DateTimeZone, DateInterval, and DatePeriod has been
- deprecated in favour of the __unserialize() magic method. (Girgias)
-
-- DOM:
- . Added Dom\Element::$outerHTML. (nielsdos)
- . Added Dom\Element::insertAdjacentHTML(). (nielsdos)
- . Added $children property to ParentNode implementations. (nielsdos)
- . Make cloning DOM node lists, maps, and collections fail. (nielsdos)
- . Added Dom\Element::getElementsByClassName(). (nielsdos)
- . Fixed bug GH-18877 (\Dom\HTMLDocument querySelectorAll selecting only the
- first when using ~ and :has). (nielsdos, lexborisov)
- . Fix getNamedItemNS() incorrect namespace check. (nielsdos)
-
-- Enchant:
- . Added enchant_dict_remove_from_session(). (nielsdos)
- . Added enchant_dict_remove(). (nielsdos)
- . Fix missing empty string checks. (nielsdos)
-
-- EXIF:
- . Add OffsetTime* Exif tags. (acc987)
- . Added support to retrieve Exif from HEIF file. (Benstone Zhang)
- . Fix OSS-Fuzz #442954659 (zero-size box in HEIF file causes infinite loop).
- (nielsdos)
- . Fix OSS-Fuzz #442954659 (Crash in exif_scan_HEIF_header). (nielsdos)
- . Various hardening fixes to HEIF parsing. (nielsdos)
-
-
-- FileInfo:
- . The finfo_close() function has been deprecated. (timwolla)
- . The $context parameter of the finfo_buffer() function has been deprecated
- as it is ignored. (Girgias)
- . Upgrade to file 5.46. (nielsdos)
- . Change return type of finfo_close() to true. (timwolla)
-
-- Filter:
- . Added support for configuring the URI parser for FILTER_VALIDATE_URL
- as described in https://wiki.php.net/rfc/url_parsing_api#plugability.
- (kocsismate)
- . Fixed bug GH-16993 (filter_var_array with FILTER_VALIDATE_INT|FILTER_NULL_ON_FAILURE
- should emit warning for invalid filter usage). (alexandre-daubois)
-
-- FPM:
- . Fixed bug GH-19817 (Decode SCRIPT_FILENAME issue in php 8.5).
- (Jakub Zelenka)
- . Fixed bug GH-19989 (PHP 8.5 FPM access log lines also go to STDERR).
- (Jakub Zelenka)
- . Fixed GH-17645 (FPM with httpd ProxyPass does not decode script path).
- (Jakub Zelenka)
- . Make FPM access log limit configurable using log_limit. (Jakub Zelenka)
- . Fixed failed debug assertion when php_admin_value setting fails. (ilutov)
- . Fixed GH-8157 (post_max_size evaluates .user.ini too late in php-fpm).
- (Jakub Zelenka)
-
-- GD:
- . Fixed bug #68629 (Transparent artifacts when using imagerotate). (pierre,
- cmb)
- . Fixed bug #64823 (ZTS GD fails to find system TrueType font). (cmb)
- . Fix incorrect comparison with result of php_stream_can_cast(). (Girgias)
- . The imagedestroy() function has been deprecated. (DanielEScherzer)
-
-- Iconv:
- . Extends the ICONV_CONST preprocessor for illumos/solaris. (jMichaelA)
-
-- Intl:
- . Bumped ICU requirement to ICU >= 57.1. (cmb)
- . IntlDateFormatter::setTimeZone()/datefmt_set_timezone() throws an exception
- with uninitialised classes or clone failure. (David Carlier)
- . Added DECIMAL_COMPACT_SHORT/DECIMAL_COMPACT_LONG for NumberFormatter class.
- (BogdanUngureanu)
- . Added Locale::isRightToLeft to check if a locale is written right to left.
- (David Carlier)
- . Added null bytes presence in locale inputs for Locale class. (David Carlier)
- . Added grapheme_levenshtein() function. (Yuya Hamada)
- . Added Locale::addLikelySubtags/Locale::minimizeSubtags to handle
- adding/removing likely subtags to a locale. (David Carlier)
- . Added IntlListFormatter class to format a list of items with a locale,
- operands types and units. (BogdanUngureanu)
- . Added grapheme_strpos(), grapheme_stripos(), grapheme_strrpos(),
- grapheme_strripos(), grapheme_substr(), grapheme_strstr(), grapheme_stristr() and
- grapheme_levenshtein() functions add $locale parameter (Yuya Hamada).
- . Fixed bug GH-11952 (Fix locale strings canonicalization for IntlDateFormatter
- and NumberFormatter). (alexandre-daubois)
- . Fixed bug GH-18566 ([intl] Weird numeric sort in Collator). (nielsdos)
- . Fix return value on failure for resourcebundle count handler. (Girgias)
- . Fixed bug GH-19307 (PGO builds of shared ext-intl are broken). (cmb)
- . Intl's internal error mechanism has been modernized so that it
- indicates more accurately which call site caused what error.
- Moreover, some ext/date exceptions have been wrapped inside a
- IntlException now. (Girgias)
- . The intl.error_level INI setting has been deprecated. (Girgias)
-
-- LDAP:
- . Allow ldap_get_option to retrieve global option by allowing NULL for
- connection instance ($ldap). (Remi)
-
-- MBstring:
- . Updated Unicode data tables to Unicode 17.0. (Yuya Hamada)
-
-- MySQLi:
- . Fixed bugs GH-17900 and GH-8084 (calling mysqli::__construct twice).
- (nielsdos)
- . The mysqli_execute() alias function has been deprecated. (timwolla)
-
-- MySQLnd:
- . Added mysqlnd.collect_memory_statistics to ini quick reference.
- (hauk92)
+- Fibers:
+ . Fixed bug GH-20483 (ASAN stack overflow with fiber.stack_size INI
+ small value). (David Carlier)
-- ODBC:
- . Removed driver-specific build flags and support. (Calvin Buckley)
- . Remove ODBCVER and assume ODBC 3.5. (Calvin Buckley)
+- Mbstring:
+ . ini_set() with mbstring.detect_order changes the order of mb_detect_order
+ as intended, since mbstring.detect_order is an INI_ALL setting. (tobee94)
- Opcache:
- . Make OPcache non-optional (Arnaud, timwolla)
- . Added opcache.file_cache_read_only. (Samuel Melrose)
- . Updated default value of opcache.jit_hot_loop. (Arnaud)
- . Log a warning when opcache lock file permissions could not be changed.
- (Taavi Eomäe)
- . Fixed bug GH-20012 (heap buffer overflow in jit). (Arnaud)
- . Partially fixed bug GH-17733 (Avoid calling wrong function when reusing file
- caches across differing environments). (ilutov)
- . Disallow changing opcache.memory_consumption when SHM is already set up.
- (timwolla)
- . Fixed bug GH-15074 (Compiling opcache statically into ZTS PHP fails).
- (Arnaud)
- . Fixed bug GH-17422 (OPcache bypasses the user-defined error handler for
- deprecations). (Arnaud, timwolla)
- . Fixed bug GH-19301 (opcache build failure). (Remi)
- . Fixed bug GH-20081 (access to uninitialized vars in preload_load()).
- (Arnaud)
- . Fixed bug GH-20121 (JIT broken in ZTS builds on MacOS 15).
- (Arnaud, Shivam Mathur)
- . Fixed bug GH-19875 (JIT 1205 segfault on large file compiled in subprocess).
- (Arnaud)
- . Fixed segfault in function JIT due to NAN to bool warning. (Girgias)
- . Fixed bug GH-19984 (Double-free of EG(errors)/persistent_script->warnings on
- persist of already persisted file). (ilutov, Arnaud)
- . Fixed bug GH-19889 (race condition in zend_runtime_jit(),
- zend_jit_hot_func()). (Arnaud)
- . Fixed bug GH-19669 (assertion failure in zend_jit_trace_type_to_info_ex).
- (Arnaud)
- . Fixed bug GH-19831 (function JIT may not deref property value). (Arnaud)
- . Fixed bug GH-19486 (Incorrect opline after deoptimization). (Arnaud)
- . Fixed bug GH-19601 (Wrong JIT stack setup on aarch64/clang). (Arnaud)
- . Fixed bug GH-19388 (Broken opcache.huge_code_pages). (Arnaud)
- . Fixed bug GH-19657 (Build fails on non-glibc/musl/freebsd/macos/win
- platforms). (Arnaud)
- . Fixed ZTS OPcache build on Cygwin. (cmb)
- . Fixed bug GH-19493 (JIT variable not stored before YIELD). (Arnaud)
-
-- OpenSSL:
- . Added openssl.libctx INI that allows to select the OpenSSL library context
- type and convert various parts of the extension to use the custom libctx.
- (Jakub Zelenka)
- . Add $digest_algo parameter to openssl_public_encrypt() and
- openssl_private_decrypt() functions. (Jakub Zelenka)
- . Implement #81724 (openssl_cms_encrypt only allows specific ciphers).
- (Jakub Zelenka)
- . Implement #80495 (Enable to set padding in openssl_(sign|verify).
- (Jakub Zelenka)
- . Implement #47728 (openssl_pkcs7_sign ignores new openssl flags).
- (Jakub Zelenka)
- . Fixed bug GH-19994 (openssl_get_cipher_methods inconsistent with fetching).
- (Jakub Zelenka)
- . Fixed build when --with-openssl-legacy-provider set. (Jakub Zelenka)
- . Fixed bug GH-19369 (8.5 | Regression in openssl_sign() - support for alias
- algorithms appears to be broken). (Jakub Zelenka)
- . The $key_length parameter for openssl_pkey_derive() has been deprecated.
- (Girgias)
-
-- Output:
- . Fixed calculation of aligned buffer size. (cmb)
-
-- PCNTL:
- . Extend pcntl_waitid with rusage parameter. (vrza)
-
-- PCRE:
- . Remove PCRE2_EXTRA_ALLOW_LOOKAROUND_BSK from pcre compile options.
- (mvorisek)
-
-- PDO:
- . Fixed bug GH-20095 (Incorrect class name in deprecation message for PDO
- mixins). (timwolla)
- . Driver specific methods and constants in the PDO class
- are now deprecated. (Arnaud)
- . The "uri:" DSN scheme has been deprecated due to security concerns with
- DSNs coming from remote URIs. (timwolla)
-
-- PDO_ODBC:
- . Fetch larger block sizes and better handle SQL_NO_TOTAL when calling
- SQLGetData. (Calvin Buckley, Saki Takamachi)
-
-- PDO_PGSQL:
- . Added Iterable support for PDO::pgsqlCopyFromArray. (KentarouTakeda)
- . Implement GH-15387 Pdo\Pgsql::setAttribute(PDO::ATTR_PREFETCH, 0) or
- Pdo\Pgsql::prepare(…, [ PDO::ATTR_PREFETCH => 0 ]) make fetch() lazy
- instead of storing the whole result set in memory (Guillaume Outters)
-
-- PDO_SQLITE:
- . Add PDO\Sqlite::ATTR_TRANSACTION_MODE connection attribute.
- (Samuel Štancl)
- . Implement GH-17321: Add setAuthorizer to Pdo\Sqlite. (nielsdos)
- . PDO::sqliteCreateCollation now throws a TypeError if the callback
- has a wrong return type. (David Carlier)
- . Added Pdo_Sqlite::ATTR_BUSY_STATEMENT constant to check
- if a statement is currently executing. (David Carlier)
- . Added Pdo_Sqlite::ATTR_EXPLAIN_STATEMENT constant to set a statement
- in either EXPLAIN_MODE_PREPARED, EXPLAIN_MODE_EXPLAIN,
- EXPLAIN_MODE_EXPLAIN_QUERY_PLAN modes. (David Carlier)
- . Fix bug GH-13952 (sqlite PDO::quote silently corrupts strings
- with null bytes) by throwing on null bytes. (divinity76)
-
-- PGSQL:
- . Added pg_close_stmt to close a prepared statement while allowing
- its name to be reused. (David Carlier)
- . Added Iterable support for pgsql_copy_from. (David Carlier)
- . pg_connect checks if connection_string contains any null byte,
- pg_close_stmt check if the statement contains any null byte.
- (David Carlier)
- . Added pg_service to get the connection current service identifier.
- (David Carlier)
- . Fix segfaults when attempting to fetch row into a non-instantiable class
- name. (Girgias, nielsdos)
+ . Fixed bug GH-20051 (apache2 shutdowns when restart is requested during
+ preloading). (Arnaud, welcomycozyhom)
- Phar:
- . Fix potential buffer length truncation due to usage of type int instead
- of type size_t. (Girgias)
- . Fixed memory leaks when verifying OpenSSL signature. (Girgias)
-
-- POSIX:
- . Added POSIX_SC_OPEN_MAX constant to get the number of file descriptors
- a process can handle. (David Carlier)
- . posix_ttyname() sets last_error to EBADF on invalid file descriptors,
- posix_isatty() raises E_WARNING on invalid file descriptors,
- posix_fpathconf checks invalid file descriptors. (David Carlier)
- . posix_kill and posix_setpgid throws a ValueError on invalid process_id.
- (David Carlier)
- . posix_setpgid throws a ValueError on invalid process_group_id,
- posix_setrlimit throws a ValueError on invalid soft_limit and hard_limit
- arguments. (David Carlier)
-
-- Random:
- . Moves from /dev/urandom usage to arc4random_buf on Haiku. (David Carlier)
+ . Support reference values in Phar::mungServer(). (ndossche)
+ . Invalid values now throw in Phar::mungServer() instead of being silently
+ ignored. (ndossche)
- Reflection:
- . Added ReflectionConstant::getExtension() and ::getExtensionName().
- (DanielEScherzer)
- . Added ReflectionProperty::getMangledName() method. (alexandre-daubois)
- . ReflectionConstant is no longer final. (sasezaki)
- . The setAccessible() methods of various Reflection objects have been
- deprecated, as those no longer have an effect. (timwolla)
- . ReflectionClass::getConstant() for constants that do not exist has been
- deprecated. (DanielEScherzer)
- . ReflectionProperty::getDefaultValue() for properties without default values
- has been deprecated. (DanielEScherzer)
- . Fixed bug GH-12856 (ReflectionClass::getStaticPropertyValue() returns UNDEF
- zval for uninitialized typed properties). (nielsdos)
- . Fixed bug GH-15766 (ReflectionClass::__toString() should have better output
- for enums). (DanielEScherzer)
- . Fix GH-19691 (getModifierNames() not reporting asymmetric visibility).
- (DanielEScherzer)
- . Fixed bug GH-17927 (Reflection: have some indication of property hooks in
- `_property_string()`). (DanielEScherzer)
- . Fixed bug GH-19187 (ReflectionNamedType::getName() prints nullable type when
- retrieved from ReflectionProperty::getSettableType()). (ilutov)
. Fixed bug GH-20217 (ReflectionClass::isIterable() incorrectly returns true
for classes with property hooks). (alexandre-daubois)