What's new in PHP 8.3.6
Apr 11, 2024
- Core:
- Fixed GH-13569 (GC buffer unnecessarily grows up to GC_MAX_BUF_SIZE when scanning WeakMaps).
- Fixed bug GH-13612 (Corrupted memory in destructor with weak references).
- Fixed bug GH-13446 (Restore exception handler after it finishes).
- Fixed bug GH-13784 (AX_GCC_FUNC_ATTRIBUTE failure).
- Fixed bug GH-13670 (GC does not scale well with a lot of objects created in destructor).
- DOM:
- Add some missing ZPP checks.
- Fix potential memory leak in XPath evaluation results.
- FPM:
- Fixed GH-11086 (FPM: config test runs twice in daemonised mode).
- Fix incorrect check in fpm_shm_free().
- GD:
- Fixed bug GH-12019 (add GDLIB_CFLAGS in feature tests).
- Gettext:
- Fixed sigabrt raised with dcgettext/dcngettext calls with gettext 0.22.5 with category set to LC_ALL.
- MySQLnd:
- Fix GH-13452 (Fixed handshake response [mysqlnd]).
- Fix incorrect charset length in check_mb_eucjpms().
- Opcache:
- Fixed GH-13508 (JITed QM_ASSIGN may be optimized out when op1 is null).
- Fixed GH-13712 (Segmentation fault for enabled observers when calling trait method of internal trait when opcache is loaded).
- Random:
- Fixed bug GH-13544 (Pre-PHP 8.2 compatibility for mt_srand with unknown modes).
- Fixed bug GH-13690 (Global Mt19937 is not properly reset in-between requests when MT_RAND_PHP is used).
- Session:
- Fixed bug GH-13680 (Segfault with session_decode and compilation error).
- SPL:
- Fixed bug GH-13685 (Unexpected null pointer in zend_string.h).
- Standard:
- Fixed bug GH-11808 (Live filesystem modified by tests).
- Fixed GH-13402 (Added validation of `n` in $additional_headers of mail()).
- Fixed bug GH-13203 (file_put_contents fail on strings over 4GB on Windows).
- Fixed bug GHSA-pc52-254m-w9w7 (Command injection via array-ish $command parameter of proc_open). (CVE-2024-1874)
- Fixed bug GHSA-wpj3-hf5j-x4v4 (__Host-/__Secure- cookie bypass due to partial CVE-2022-31629 fix). (CVE-2024-2756)
- Fixed bug GHSA-h746-cjrr-wfmr (password_verify can erroneously return true, opening ATO risk). (CVE-2024-3096)
- Fixed bug GHSA-fjp9-9hwx-59fq (mb_encode_mimeheader runs endlessly for some inputs). (CVE-2024-2757)
- Fix bug GH-13932 (Attempt to fix mbstring on windows build) (msvc).
New in PHP 8.1.25 (Oct 27, 2023)
- Core:
- Fixed bug GH-12207 (memory leak when class using trait with doc block).
- Fixed bug GH-12215 (Module entry being overwritten causes type errors in ext/dom).
- Fixed bug GH-12273 (__builtin_cpu_init check).
- Fixed bug #80092 (ZTS + preload = segfault on shutdown).
- CLI:
- Ensure a single Date header is present.
- CType:
- Fixed bug GH-11997 (ctype_alnum 5 times slower in PHP 8.1 or greater).
- DOM:
- Restore old namespace reconciliation behaviour.
- Fixed bug GH-8996 (DOMNode serialization on PHP ^8.1).
- Fileinfo:
- Fixed bug GH-11891 (fileinfo returns text/xml for some svg files).
- Filter:
- Fix explicit FILTER_REQUIRE_SCALAR with FILTER_CALLBACK (ilutov)
- Hash:
- Fixed bug GH-12186 (segfault copying/cloning a finalized HashContext).
- Intl:
- Fixed bug GH-12243 (segfault on IntlDateFormatter::construct).
- Fixed bug GH-12282 (IntlDateFormatter::construct should throw an exception on an invalid locale).
- MySQLnd:
- Fixed bug GH-12297 (PHP Startup: Invalid library (maybe not a PHP library) 'mysqlnd.so' in Unknown on line).
- Opcache:
- Fixed opcache_invalidate() on deleted file.
- Fixed bug GH-12380 (JIT+private array property access inside closure accesses private property in child class).
- PCRE:
- Fixed bug GH-11956 (Backport upstream fix, PCRE regular expressions with JIT enabled gives different result).
- SimpleXML:
- Fixed bug GH-12170 (Can't use xpath with comments in SimpleXML).
- Fixed bug GH-12223 (Entity reference produces infinite loop in var_dump/print_r).
- Fixed bug GH-12167 (Unable to get processing instruction contents in SimpleXML).
- Fixed bug GH-12169 (Unable to get comment contents in SimpleXML).
- Streams:
- Fixed bug GH-12190 (binding ipv4 address with both address and port at 0).
- XML:
- Fix return type of stub of xml_parse_into_struct().
- Fix memory leak when calling xml_parse_into_struct() twice.
- XSL:
- Fix type error on XSLTProcessor::transformToDoc return value with SimpleXML.
- Sockets:
- Fix socket_export_stream() with wrong protocol (twosee)
New in PHP 8.0.30 (Sep 27, 2023)
- Libxml:
- Fixed bug GHSA-3qrf-m4j2-pcrr (Security issue with external entity loading in XML without enabling it). (CVE-2023-3823)
- Phar:
- Fixed bug GHSA-jqcx-ccgc-xwhv (Buffer mismanagement in phar_dir_read()). (CVE-2023-3824)
New in PHP 8.1.23 (Sep 4, 2023)
- CLI:
- Fixed bug GH-11716 (cli server crashes on SIGINT when compiled with ZEND_RC_DEBUG=1).
- Fixed bug GH-10964 (Improve man page about the built-in server).
- Core:
- Fixed strerror_r detection at configuration time.
- Date:
- Fixed bug GH-11416: Crash with DatePeriod when uninitialised objects are passed in.
- DOM:
- Fix DOMEntity field getter bugs.
- Fix incorrect attribute existence check in DOMElement::setAttributeNodeNS.
- Fix DOMCharacterData::replaceWith() with itself.
- Fix empty argument cases for DOMParentNode methods.
- Fixed bug GH-11791 (Wrong default value of DOMDocument::xmlStandalone).
- Fix json_encode result on DOMDocument.
- Fix manually calling __construct() on DOM classes.
- Fixed bug GH-11830 (ParentNode methods should perform their checks upfront).
- Fix segfault when DOMParentNode::prepend() is called when the child disappears.
- FFI:
- Fix leaking definitions when using FFI::cdef()->new(...).
- MySQLnd:
- Fixed bug GH-11440 (authentication to a sha256_password account fails over SSL).
- Fixed bug GH-11438 (mysqlnd fails to authenticate with sha256_password accounts using passwords longer than 19 characters).
- Fixed bug GH-11550 (MySQL Statement has a empty query result when the response field has changed, also Segmentation fault).
- Fixed invalid error message "Malformed packet" when connection is dropped.
- Opcache:
- Fixed bug GH-11715 (opcache.interned_strings_buffer either has no effect or opcache_get_status() / phpinfo() is wrong).
- Avoid adding an unnecessary read-lock when loading script from shm if restart is in progress.
- PCNTL:
- Revert behaviour of receiving SIGCHLD signals back to the behaviour before 8.1.22.
- SPL:
- Fixed bug #81992 (SplFixedArray::setSize() causes use-after-free).
- Standard:
- Prevent int overflow on $decimals in number_format.
- Fixed bug GH-11870 (Fix off-by-one bug when truncating tempnam prefix) (athos-ribeiro)
New in PHP 8.2.10 (Sep 1, 2023)
- CLI:
- Fixed bug GH-11716 (cli server crashes on SIGINT when compiled with ZEND_RC_DEBUG=1).
- Fixed bug GH-10964 (Improve man page about the built-in server).
- Date:
- Fixed bug GH-11416 (Crash with DatePeriod when uninitialised objects are passed in).
- Core:
- Fixed strerror_r detection at configuration time.
- Fixed trait typed properties using a DNF type not being correctly bound.
- Fixed trait property types not being arena allocated if copied from an internal trait.
- Fixed deep copy of property DNF type during lazy class load.
- Fixed memory freeing of DNF types for non arena allocated types.
- DOM:
- Fix DOMEntity field getter bugs.
- Fix incorrect attribute existence check in DOMElement::setAttributeNodeNS.
- Fix DOMCharacterData::replaceWith() with itself.
- Fix empty argument cases for DOMParentNode methods.
- Fixed bug GH-11791 (Wrong default value of DOMDocument::xmlStandalone).
- Fix json_encode result on DOMDocument.
- Fix manually calling __construct() on DOM classes.
- Fixed bug GH-11830 (ParentNode methods should perform their checks upfront).
- Fix viable next sibling search for replaceWith.
- Fix segfault when DOMParentNode::prepend() is called when the child disappears.
- FFI:
- Fix leaking definitions when using FFI::cdef()->new(...).
- Hash:
- Fix use-of-uninitialized-value in hash_pbkdf2(), fix missing $options parameter in signature.
- MySQLnd:
- Fixed bug GH-11440 (authentication to a sha256_password account fails over SSL).
- Fixed bug GH-11438 (mysqlnd fails to authenticate with sha256_password accounts using passwords longer than 19 characters).
- Fixed bug GH-11550 (MySQL Statement has a empty query result when the response field has changed, also Segmentation fault).
- Fixed invalid error message "Malformed packet" when connection is dropped.
- Opcache:
- Fixed bug GH-11715 (opcache.interned_strings_buffer either has no effect or opcache_get_status() / phpinfo() is wrong).
- Avoid adding an unnecessary read-lock when loading script from shm if restart is in progress.
- PCNTL:
- Revert behaviour of receiving SIGCHLD signals back to the behaviour before 8.1.22.
- SPL:
- Fixed bug #81992 (SplFixedArray::setSize() causes use-after-free).
- Standard:
- Prevent int overflow on $decimals in number_format.
- Fixed bug GH-11870 (Fix off-by-one bug when truncating tempnam prefix) (athos-ribeiro)
New in PHP 8.2.7 (Jun 21, 2023)
- Core:
- Fixed bug GH-11152 (Unable to alias namespaces containing reserved class names).
- Fixed bug GH-9068 (Conditional jump or move depends on uninitialised value(s)).
- Fixed bug GH-11189 (Exceeding memory limit in zend_hash_do_resize leaves the array in an invalid state).
- Fixed bug GH-11063 (Compilation error on old GCC versions).
- Fixed bug GH-11222 (foreach by-ref may jump over keys during a rehash).
- Date:
- Fixed bug GH-11281 (DateTimeZone::getName() does not include seconds in offset).
- Exif:
- Fixed bug GH-10834 (exif_read_data() cannot read smaller stream wrapper chunk sizes).
- FPM:
- Fixed bug GH-10461 (PHP-FPM segfault due to after free usage of child->ev_std(out|err)).
- Fixed bug #64539 (FPM status page: query_string not properly JSON encoded).
- Fixed memory leak for invalid primary script file handle.
- Hash:
- Fixed bug GH-11180 (hash_file() appears to be restricted to 3 arguments).
- LibXML:
- Fixed bug GH-11160 (Few tests failed building with new libxml 2.11.0).
- MBString:
- Fix bug GH-11217 (Segfault in mb_strrpos / mb_strripos when using negative offset and ASCII encoding).
- Opcache:
- Fixed bug GH-11134 (Incorrect match default branch optimization).
- Fixed too wide OR and AND range inference.
- Fixed missing class redeclaration error with OPcache enabled.
- Fixed bug GH-11245 (In some specific cases SWITCH with one default statement will cause segfault).
- PCNTL:
- Fixed maximum argument count of pcntl_forkx().
- PGSQL:
- Fixed parameter parsing of pg_lo_export().
- Phar:
- Fixed bug GH-11099 (Generating phar.php during cross-compile can't be done).
- Soap:
- Fixed bug GHSA-76gg-c692-v2mw (Missing error check and insufficient random bytes in HTTP Digest authentication for SOAP).
- Fixed bug GH-8426 (make test fail while soap extension build).
- SPL:
- Fixed bug GH-11178 (Segmentation fault in spl_array_it_get_current_data (PHP 8.1.18)).
- Standard:
- Fixed bug GH-11138 (move_uploaded_file() emits open_basedir warning for source file).
- Fixed bug GH-11274 (POST/PATCH request switches to GET after a HTTP 308 redirect).
- Streams:
- Fixed bug GH-10031 ([Stream] STREAM_NOTIFY_PROGRESS over HTTP emitted irregularly for last chunk of data).
- Fixed bug GH-11175 (Stream Socket Timeout).
- Fixed bug GH-11177 (ASAN UndefinedBehaviorSanitizer when timeout = -1 passed to stream_socket_accept/stream_socket_client).
New in PHP 8.2.4 (Apr 12, 2023)
- Core:
- Fixed incorrect check condition in ZEND_YIELD.
- Fixed incorrect check condition in type inference.
- Fix incorrect check in zend_internal_call_should_throw().
- Fixed overflow check in OnUpdateMemoryConsumption.
- Fixed bug GH-9916 (Entering shutdown sequence with a fiber suspended in a Generator emits an unavoidable fatal error or crashes).
- Fixed bug GH-10437 (Segfault/assertion when using fibers in shutdown function after bailout).
- Fixed SSA object type update for compound assignment opcodes.
- Fixed language scanner generation build.
- Fixed zend_update_static_property() calling zend_update_static_property_ex() misleadingly with the wrong return type.
- Fix bug GH-10570 (Fixed unknown string hash on property fetch with integer constant name).
- Fixed php_fopen_primary_script() call resulted on zend_destroy_file_handle() freeing dangling pointers on the handle as it was uninitialized.
- Curl:
- Fixed deprecation warning at compile time.
- Fixed bug GH-10270 (Unable to return CURL_READFUNC_PAUSE in readfunc callback).
- Date:
- Fix GH-10447 ('p' format specifier does not yield 'Z' for 00:00).
- Fix GH-10152 (Custom properties of Date's child classes are not serialised).
- Fixed bug GH-10747 (Private and protected properties in serialized Date* objects throw).
- FFI:
- Fixed incorrect bitshifting and masking in ffi bitfield.
- Fiber:
- Fixed assembly on alpine x86.
- Fixed bug GH-10496 (segfault when garbage collector is invoked inside of fiber).
- FPM:
- Fixed bug GH-10315 (FPM unknown child alert not valid).
- Fixed bug GH-10385 (FPM successful config test early exit).
- GMP:
- Properly implement GMP::__construct().
- Intl:
- Fixed bug GH-10647 (Spoolchecker isSuspicious/areConfusable methods error code's argument always returning NULL0.
- JSON:
- Fixed JSON scanner and parser generation build.
- MBString:
- ext/mbstring: fix new_value length check.
- Fix bug GH-10627 (mb_convert_encoding crashes PHP on Windows).
- Opcache:
- Fix incorrect page_size check.
- OpenSSL:
- Fixed php_openssl_set_server_dh_param() DH params errors handling.
- PDO OCI:
- Fixed bug #60994 (Reading a multibyte CLOB caps at 8192 chars).
- PHPDBG:
- Fixed bug GH-10715 (heap buffer overflow on --run option misuse).
- PGSQL:
- Fix GH-10672 (pg_lo_open segfaults in the strict_types mode).
- Phar:
- Fix incorrect check in phar tar parsing.
- Random:
- Fix GH-10390 (Do not trust arc4random_buf() on glibc).
- Fix GH-10292 (Made the default value of the first param of srand() and mt_srand() unknown).
- Reflection:
- Fixed bug GH-10623 (Reflection::getClosureUsedVariables opcode fix with variadic arguments).
- Fix Segfault when using ReflectionFiber suspended by an internal function.
- Session:
- Fixed ps_files_cleanup_dir() on failure code paths with -1 instead of 0 as the latter was considered success by callers. (nielsdos).
- Standard:
- Fixed bug GH-8086 (Introduce mail.mixed_lf_and_crlf INI).
- Fixed bug GH-10292 (Made the default value of the first param of srand() and mt_srand() unknown).
- Fix incorrect check in cs_8559_5 in map_from_unicode().
- Fix bug GH-9697 for reset/end/next/prev() attempting to move pointer of properties table for certain internal classes such as FFI classes
- Fix incorrect error check in browsecap for pcre2_match().
- Streams:
- Fixed bug GH-10370 (File corruption in _php_stream_copy_to_stream_ex when using copy_file_range).
- Fixed bug GH-10548 (copy() fails on cifs mounts because of incorrect copy_file_range() len).
- Tidy:
- Fix memory leaks when attempting to open a non-existing file or a file over 4GB.
- Add missing error check on tidyLoadConfig.
- Zlib:
- Fixed output_handler directive value's length which counted the string terminator.
New in PHP 8.2.3 (Mar 1, 2023)
- Core:
- Fixed bug #81744 (Password_verify() always return true with some hash). (CVE-2023-0567)
- Fixed bug #81746 (1-byte array overrun in common path resolve code). (CVE-2023-0568)
- SAPI:
- Fixed bug GHSA-54hq-v5wp-fqgv (DOS vulnerability when parsing multipart request body). (CVE-2023-0662)
New in PHP 8.2.2 (Feb 14, 2023)
- Core:
- Fixed bug GH-10200 (zif_get_object_vars: Assertion `!(((__ht)->u.flags & (1<<2)) != 0)' failed).
- Fix GH-10251 (Assertion `(flag & (1<<3)) == 0' failed).
- Fix GH-10240 (Assertion failure when adding more than 2**30 elements to an unpacked array).
- Fix GH-9735 (Fiber stack variables do not participate in cycle collector).
- Fix GH-9675 (Broken run_time_cache init for internal enum methods).
- FPM:
- Fixed bug #77106 (Missing separator in FPM FastCGI errors).
- Fixed bug GH-9981 (FPM does not reset fastcgi.error_header).
- Fixed bug #68591 (Configuration test does not perform UID lookups).
- Fixed memory leak when running FPM config test.
- Fixed bug #67244 (Wrong owner:group for listening unix socket).
- Hash:
- Handle exceptions from __toString in XXH3's initialization (nielsdos)
- LDAP:
- Fixed bug GH-10112 (LDAPConnection::__construct() refers to ldap_create()).
- Opcache:
- Fix inverted bailout value in zend_runtime_jit() (Max Kellermann).
- Fix access to uninitialized variable in accel_preload().
- Fix zend_jit_find_trace() crashes.
- Added missing lock for EXIT_INVALIDATE in zend_jit_trace_exit.
- Phar:
- Fix wrong flags check for compression method in phar_object.c (nielsdos)
- PHPDBG:
- Fix undefined behaviour in phpdbg_load_module_or_extension().
- Fix NULL pointer dereference in phpdbg_create_conditional_breal().
- Fix GH-9710: phpdbg memory leaks by option "-h" (nielsdos)
- Fix phpdbg segmentation fault in case of malformed input (nielsdos)
- Posix:
- Fix memory leak in posix_ttyname() (girgias)
- Random:
- Fixed bug GH-10247 (Theoretical file descriptor leak for /dev/urandom).
- Standard:
- Fix GH-10187 (Segfault in stripslashes() with arm64).
- Fixed bug GH-10214 (Incomplete validation of object syntax during unserialize()).
- Fix substr_replace with slots in repl_ht being UNDEF.
- XMLWriter:
- Fix missing check for xmlTextWriterEndElement (nielsdos)
New in PHP 8.1.12 (Nov 22, 2022)
- Core:
- Fixes segfault with Fiber on FreeBSD i386 architecture.
- Fileinfo:
- Fixed bug GH-8805 (finfo returns wrong mime type for woff/woff2 files).
- GD:
- Fixed bug #81739: OOB read due to insufficient input validation in imageloadfont(). (CVE-2022-31630)
- Hash:
- Fixed bug #81738: buffer overflow in hash_update() on long parameter. (CVE-2022-37454)
- MBString:
- Fixed bug GH-9683 (Problem when ISO-2022-JP-MS is specified in mb_ encode_mimeheader).
- Opcache:
- Added indirect call reduction for jit on x86 architectures.
- Session:
- Fixed bug GH-9583 (session_create_id() fails with user defined save handler that doesn't have a validateId() method).
- Streams:
- Fixed bug GH-9590 (stream_select does not abort upon exception or empty valid fd set).
New in PHP 7.4.32 (Nov 3, 2022)
- Core:
- Fixed bug phar wrapper: DOS when using quine gzip file.
- Fixed bug Don't mangle HTTP variable names that clash with ones that have a specific semantic meaning.
New in PHP 8.1.9 (Aug 30, 2022)
- CLI:
- Fixed potential overflow for the builtin server via the PHP_CLI_SERVER_WORKERS environment variable.
- Fixed GH-8952 (Intentionally closing std handles no longer possible).
- Core:
- Fixed bug GH-8923 (error_log on Windows can hold the file write lock).
- Fixed bug GH-8995 (WeakMap object reference offset causing TypeError).
- Date:
- Fixed bug #80047 (DatePeriod doesn't warn with custom DateTimeImmutable).
- FPM:
- Fixed zlog message prepend, free on incorrect address.
- Fixed possible double free on configuration loading failure. (Heiko Weber).
- GD:
- Fixed bug GH-8848 (imagecopyresized() error refers to the wrong argument).
- Intl:
- Fixed build for ICU 69.x and onwards.
- OPcache:
- Fixed bug GH-8847 (PHP hanging infinitly at 100% cpu when check php syntax of a valid file).
- Fixed bug GH-8030 (Segfault with JIT and large match/switch statements).
- Reflection:
- Fixed bug GH-8943 (Fixed Reflection::getModifierNames() with readonly modifier).
- Standard:
- Fixed the crypt_sha256/512 api build with clang > 12.
- Uses CCRandomGenerateBytes instead of arc4random_buf on macOs. (David Carlier).
- Fixed bug GH-9017 (php_stream_sock_open_from_socket could return NULL).
New in PHP 8.1.8 (Aug 2, 2022)
- Core:
- Fixed bug GH-8338 (Intel CET is disabled unintentionally).
- Fixed leak in Enum::from/tryFrom for internal enums when using JIT
- Fixed calling internal methods with a static return type from extension code.
- Fixed bug GH-8655 (Casting an object to array does not unwrap refcount=1 references).
- Fixed potential use after free in php_binary_init().
- CLI:
- Fixed GH-8827 (Intentionally closing std handles no longer possible).
- COM:
- Fixed bug GH-8778 (Integer arithmethic with large number variants fails).
- Curl:
- Fixed CURLOPT_TLSAUTH_TYPE is not treated as a string option.
- Date:
- Fixed bug #72963 (Null-byte injection in CreateFromFormat and related functions).
- Fixed bug #74671 (DST timezone abbreviation has incorrect offset).
- Fixed bug #77243 (Weekdays are calculated incorrectly for negative years).
- Fixed bug #78139 (timezone_open accepts invalid timezone string argument).
- Fileinfo:
- Fixed bug #81723 (Heap buffer overflow in finfo_buffer). (CVE-2022-31627)
- FPM:
- Fixed bug #67764 (fpm: syslog.ident don't work).
- GD:
- Fixed imagecreatefromavif() memory leak.
- MBString:
- Mb_detect_encoding recognizes all letters in Czech alphabet
- Mb_detect_encoding recognizes all letters in Hungarian alphabet
- Fixed bug GH-8685 (pcre not ready at mbstring startup).
- Backwards-compatible mappings for 0x5C/0x7E in Shift-JIS are restored, after they had been changed in 8.1.0.
- ODBC:
- Fixed handling of single-key connection strings.
- OPcache:
- Fixed bug GH-8591 (tracing JIT crash after private instance method change).
- OpenSSL:
- Fixed bug #50293 (Several openssl functions ignore the VCWD).
- Fixed bug #81713 (NULL byte injection in several OpenSSL functions working with certificates).
- PDO_ODBC:
- Fixed handling of single-key connection strings.
- Zip:
- Fixed bug GH-8781 (ZipArchive::close deletes zip file without updating stat cache).
New in PHP 8.0.20 (Jun 8, 2022)
- CLI:
- Fixed bug GH-8575 (CLI closes standard streams too early).
- Core:
- Fixed Haiku ZTS builds.
- Date:
- Fixed bug GH-8471 (Segmentation fault when converting immutable and mutable DateTime instances created using reflection).
- FPM:
- Fixed bug: php-fpm writes empty fcgi record causing nginx 502.
- Mysqlnd:
- Fixed bug: mysqlnd/pdo password buffer overflow.
- OPcache:
- Fixed bug GH-8466 (ini_get() is optimized out when the option does not exist).
- Pcntl:
- Fixed Haiku build.
- Pgsql:
- Fixed bug: Uninitialized array in pg_query_params().
- Soap:
- Fixed bug GH-8578 (Error on wrong parameter on SoapHeader constructor).
- Fixed bug GH-8538 (SoapClient may strip parts of nmtokens). (cmb)
- SPL:
- Fixed bug GH-8235 (iterator_count() may run indefinitely). (cmb)
- Zip:
- Fixed type for index in ZipArchive::replaceFile.
New in PHP 7.4.29 (Apr 14, 2022)
- Core:
- No source changes to this release. This update allows for re-building the Windows binaries against upgraded dependencies which have received security updates.
- Date:
- Updated to latest IANA timezone database (2022a).
New in PHP 8.0.17 (Mar 17, 2022)
- Core:
- Fixed Haiku ZTS build.
- GD:
- Fixed libpng warning when loading interlaced images.
- FPM:
- Fixed bug #76109 (Unsafe access to fpm scoreboard).
- Iconv:
- Fixed bug #7953 (ob_clean() only does not set Content-Encoding).
- Fixed bug #7980 (Unexpected result for iconv_mime_decode).
- MySQLnd:
- Fixed bug #8058 (NULL pointer dereference in mysqlnd package).
- OPcache:
- Fixed bug #8074 (Wrong type inference of range() result).
- Reflection:
- Fixed bug #8080 (ReflectionClass::getConstants() depends on def. order).
- Zlib:
- Fixed bug #7953 (ob_clean() only does not set Content-Encoding).
New in PHP 8.1.3 (Mar 2, 2022)
- Core:
- Fixed bug #81430 (Attribute instantiation leaves dangling pointer).
- Fixed bug #7896 (Environment vars may be mangled on Windows).
- Fixed bug #7883 (Segfault when INI file is not readable).
- FFI:
- Fixed bug #7867 (FFI::cast() from pointer to array is broken).
- Filter:
- Fix #81708: UAF due to php_filter_float() failing for ints. (CVE-2021-21708)
- FPM:
- Fixed memory leak on invalid port.
- Fixed bug #7842 (Invalid OpenMetrics response format returned by FPM status page.
- MBString:
- Fixed bug #7902 (mb_send_mail may delimit headers with LF only).
- MySQLnd:
- Fixed bug #7972 (MariaDB version prefix 5.5.5- is not stripped).
- pcntl:
- Fixed pcntl_rfork build for DragonFlyBSD.
- Sockets:
- Fixed bug #7978 (sockets extension compilation errors).
- Standard:
- Fixed bug #7899 (Regression in unpack for negative int value).
- Fixed bug #7875 (mails are sent even if failure to log throws exception).
New in PHP 8.0.12 (Oct 21, 2021)
- CLI:
- Fixed bug #81496 (Server logs incorrect request method).
- Core:
- Fixed bug #81435 (Observer current_observed_frame may point to an old (overwritten) frame).
- Fixed bug #81380 (Observer may not be initialized properly).
- DOM:
- Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID).
- FFI:
- Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined).
- FPM:
- Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703).
- Fileinfo:
- Fixed bug #78987 (High memory usage during encoding detection).
- Filter:
- Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing).
- Opcache:
- Fixed bug #81472 (Cannot support large linux major/minor device number when read /proc/self/maps).
- Reflection:
- ReflectionAttribute is no longer final.
- SPL:
- Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free).
- Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1).
- Standard:
- Fixed bug #69751 (Change Error message of sprintf/printf for missing/typo position specifier).
- Streams:
- Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper).
- XML:
- Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace).
- Zip:
- Fixed bug #81490 (ZipArchive::extractTo() may leak memory).
- Fixed bug #77978 (Dirname ending in colon unzips to wrong dir).
New in PHP 8.0.11 (Sep 21, 2021)
- Core:
- Fixed bug #72595 (php_output_handler_append illegal write access).
- Fixed bug #66719 (Weird behaviour when using get_called_class() with call_user_func()).
- Fixed bug #81305 (Built-in Webserver Drops Requests With "Upgrade" Header).
- BCMath:
- Fixed bug #78238 (BCMath returns "-0").
- CGI:
- Fixed bug #80849 (HTTP Status header truncation).
- Date:
- Fixed bug #64975 (Error parsing when AM/PM not at the end).
- Fixed bug #78984 (DateTimeZone accepting invalid UTC timezones).
- Fixed bug #79580 (date_create_from_format misses leap year).
- Fixed bug #80409 (DateTime::modify() loses time with 'weekday' parameter).
- GD:
- Fixed bug #51498 (imagefilledellipse does not work for large circles).
- MySQLi:
- Fixed bug #74544 (Integer overflow in mysqli_real_escape_string()).
- Opcache:
- Fixed bug #81225 (Wrong result with pow operator with JIT enabled).
- Fixed bug #81249 (Intermittent property assignment failure with JIT enabled).
- Fixed bug #81206 (Multiple PHP processes crash with JIT enabled).
- Fixed bug #81272 (Segfault in var[] after array_slice with JIT).
- Fixed bug #81255 (Memory leak in PHPUnit with functional JIT).
- Fixed bug #80959 (Infinite loop in building cfg during JIT compilation) (Nikita, Dmitry)
- Fixed bug #81226 (Integer overflow behavior is different with JIT enabled).
- OpenSSL:
- Fixed bug #81327 (Error build openssl extension on php 7.4.22).
- PDO_ODBC:
- Fixed bug #81252 (PDO_ODBC doesn't account for SQL_NO_TOTAL).
- Phar:
- Fixed bug #81211: Symlinks are followed when creating PHAR archive (cmb)
- Shmop:
- Fixed bug #81283 (shmop can't read beyond 2147483647 bytes).
- SimpleXML:
- Fixed bug #81325 (Segfault in zif_simplexml_import_dom).
- Standard:
- Fixed bug #72146 (Integer overflow on substr_replace).
- Fixed bug #81265 (getimagesize returns 0 for 256px ICO images).
- Fixed bug #74960 (Heap buffer overflow via str_repeat).
- Streams:
- Fixed bug #81294 (Segfault when removing a filter).
New in PHP 7.3.30 (Aug 27, 2021)
- Phar:
- Fixed bug #81211: Symlinks are followed when creating PHAR archive.
New in PHP 8.0.9 (Jul 30, 2021)
- Core:
- Fixed bug #81145 (copy() and stream_copy_to_stream() fail for +4GB files).
- Fixed bug #81163 (incorrect handling of indirect vars in __sleep).
- Fixed bug #81159 (Object to int warning when using an object as a string offset).
- Fixed bug #80728 (PHP built-in web server resets timeout when it can kill the process).
- Fixed bug #73630 (Built-in Weberver - overwrite $_SERVER['request_uri']).
- Fixed bug #80173 (Using return value of zend_assign_to_variable() is not safe).
- Fixed bug #73226 (--r[fcez] always return zero exit code).
- Intl:
- Fixed bug #72809 (Locale::lookup() wrong result with canonicalize option).
- Fixed bug #68471 (IntlDateFormatter fails for "GMT+00:00" timezone).
- Fixed bug #74264 (grapheme_strrpos() broken for negative offsets).
- OpenSSL:
- Fixed bug #52093 (openssl_csr_sign truncates $serial).
- PCRE:
- Fixed bug #81101 (PCRE2 10.37 shows unexpected result).
- Fixed bug #81243 (Too much memory is allocated for preg_replace()).
- Reflection:
- Fixed bug #81208 (Segmentation fault while create newInstance from attribute).
- Standard:
- Fixed bug #81223 (flock() only locks first byte of file).
New in PHP 7.4.15 RC2 (Jan 20, 2021)
- Core:
- Fixed bug #80523 (bogus parse error on >4GB source code)
- Fixed bug #80384 (filter buffers entire read until file closed)cmb)
- Curl:
- Fixed bug #80595 (Resetting POSTFIELDS to empty array breaks request).
- Date:
- Fixed bug #80376 (last day of the month causes runway cpu usage. (Derick)
- MySQLi:
- Fixed bug #67983 (mysqlnd with MYSQLI_OPT_INT_AND_FLOAT_NATIVE fails to interpret bit columns)
- Fixed bug #64638 (Fetching resultsets from stored procedure with cursor
- fails)
- Fixed bug #72862 (segfault using prepared statements on stored procedures that use a cursor)
- Fixed bug #77935 (Crash in mysqlnd_fetch_stmt_row_cursor when calling an SP with a cursor)
- Phar:
- Fixed bug #77565 (Incorrect locator detection in ZIP-based phars)
- Fixed bug #69279 (Compressed ZIP Phar extractTo() creates garbage files)
New in PHP 7.3.26 (Jan 7, 2021)
- The PHP development team announces the immediate availability of PHP 7.3.26. This is a security release.
New in PHP 8.0.0 (Dec 15, 2020)
- PHP 8.0 comes with numerous improvements and new features such as:
- Union Types
- Named Arguments
- Match Expressions
- Attributes
- Constructor Property Promotion
- Nullsafe Operator
- Weak Maps
- Just In Time Compilation
- And much much more...
New in PHP 7.4.7 (Jul 7, 2020)
- Core:
- Fixed bug #79599 (coredump in set_error_handler).
- Fixed bug #79566 (Private SHM is not private on Windows).
- Fixed bug #79489 (.user.ini does not inherit).
- Fixed bug #79600 (Regression in 7.4.6 when yielding an array based generator).
- Fixed bug #79657 ("yield from" hangs when invalid value encountered).
- FFI:
- Fixed bug #79571 (FFI: var_dumping unions may segfault).
- GD:
- Fixed bug #79615 (Wrong GIF header written in GD GIFEncode).
- MySQLnd:
- Fixed bug #79596 (MySQL FLOAT truncates to int some locales).
- Opcache:
- Fixed bug #79588 (Boolean opcache settings ignore on/off values).
- Fixed bug #79548 (Preloading segfault with inherited method using static variable).
- Fixed bug #79603 (RTD collision with opcache).
- Standard:
- Fixed bug #79561 (dns_get_record() fails with DNS_ALL).
New in PHP 7.3.20 (Jul 7, 2020)
- Core:
- Fixed bug #79650 (php-win.exe 100% cpu lockup). (cmb)
- Fixed bug #79668 (get_defined_functions(true) may miss functions). (cmb, Nikita)
- Fixed possibly unsupported timercmp() usage. (cmb)
- Exif:
- Fixed bug #79687 (Sony picture - PHP Warning - Make, Model, MakerNotes)
- Filter:
- Fixed bug #73527 (Invalid memory access in php_filter_strip). (cmb)
- GD:
- Fixed bug #79676 (imagescale adds black border with IMG_BICUBIC). (cmb)
- OpenSSL:
- Fixed bug #62890 (default_socket_timeout=-1 causes connection to timeout).
- PDO SQLite:
- Fixed bug #79664 (PDOStatement::getColumnMeta fails on empty result set).
- SPL:
- Fixed bug #79710 (Reproducible segfault in error_handler during GC involved an SplFileObject). (Nikita)
- Standard:
- Fixed bug #74267 (segfault with streams and invalid data). (cmb)
- Fixed bug #79579 (ZTS build of PHP 7.3.17 doesn't handle ERANGE for posix_getgrgid and others). (Böszörményi Zoltán)
New in PHP 7.4.6 (May 12, 2020)
- Core:
- Fixed bug #78434 (Generator yields no items after valid() call). (Nikita)
- Fixed bug #79477 (casting object into array creates references). (Nikita)
- Fixed bug #79514 (Memory leaks while including unexistent file). (cmb,
- Nikita)
- Fixed bug #79470 (PHP incompatible with 3rd party file system on demand).
- (cmb)
- Fixed bug #78784 (Unable to interact with files inside a VFS for Git
- Repository). (cmb)
- Fixed bug #78875 (Long variables cause OOM and temp files are not cleaned).
- (cmb) (CVE-2019-11048)
- Fixed bug #78876 (Long variables cause OOM and temp files are not cleaned). (cmb) (CVE-2019-11048)
- DOM:
- Fixed bug #78221 (DOMNode::normalize() doesn't remove empty text nodes). (cmb)
- EXIF:
- Fixed bug #79336 (ext/exif/tests/bug79046.phpt fails on Big endian arch) (Nikita)
- FCGI:
- Fixed bug #79491 (Search for .user.ini extends up to root dir). (cmb)
- MBString:
- Fixed bug #79441 (Segfault in mb_chr() if internal encoding is unsupported). (Girgias)
- OpenSSL:
- Fixed bug #79497 (stream_socket_client() throws an unknown error sometimes with <1s timeout). (Joe Cai)
- PCRE:
- Upgraded to PCRE2 10.34. (cmb)
- Phar:
- Fixed bug #79503 (Memory leak on duplicate metadata). (cmb)
- SimpleXML:
- Fixed bug #79528 (Different object of the same xml between 7.4.5 and 7.4.4). (cmb)
- SPL:
- Fixed bug #69264 (__debugInfo() ignored while extending SPL classes). (cmb)
- Fixed bug #67369 (ArrayObject serialization drops the iterator class). (Alex Dowad)
- Standard:
- Fixed bug #79468 (SIGSEGV when closing stream handle with a stream filter appended). (dinosaur)
- Fixed bug #79447 (Serializing uninitialized typed properties with __sleep should not throw). (nicolas-grekas)
New in PHP 7.2.30 (Apr 18, 2020)
- Standard:
- Fixed bug #79468 (SIGSEGV when closing stream handle with a stream filter appended).
- Fixed bug #79330 (shell_exec() silently truncates after a null byte).
- Fixed bug #79465 (OOB Read in urldecode()).
New in PHP 7.3.9 (Sep 24, 2019)
- Core:
- Fixed bug #78363 (Buffer overflow in zendparse).
- Fixed bug #78379 (Cast to object confuses GC, causes crash).
- Fixed bug #78412 (Generator incorrectly reports non-releasable $this as GC child).
- Curl:
- Fixed bug #77946 (Bad cURL resources returned by curl_multi_info_read()).
- Exif:
- Fixed bug #78333 (Exif crash (bus error) due to wrong alignment and invalid cast).
- FPM:
- Fixed bug #77185 (Use-after-free in FPM master event handling).
- Iconv:
- Fixed bug #78342 (Bus error in configure test for iconv //IGNORE).
- LiteSpeed:
- Updated to LiteSpeed SAPI V7.5 (Fixed clean shutdown).
- MBString:
- Fixed bug #78380 (Oniguruma 6.9.3 fixes CVEs). (CVE-2019-13224)
- MySQLnd:
- Fixed bug #78179 (MariaDB server version incorrectly detected).
- Fixed bug #78213 (Empty row pocket).
- Opcache:
- Fixed bug #77191 (Assertion failure in dce_live_ranges() when silencing is used).
- Standard:
- Fixed bug #69100 (Bus error from stream_copy_to_stream (file -> SSL stream) with invalid length).
- Fixed bug #78282 (atime and mtime mismatch).
- Fixed bug #78326 (improper memory deallocation on stream_get_contents() with fixed length buffer).
- Fixed bug #78346 (strip_tags no longer handling nested php tags).
New in PHP 7.2.19 (May 30, 2019)
- EXIF:
- Fixed bug #77950 (Heap-buffer-overflow in _estrndup via exif_process_IFD_TAG).
- Mail:
- Fixed bug #77821 (Potential heap corruption in TSendMail()).
New in PHP 7.3.5 (May 1, 2019)
- Core:
- Fixed bug #77903 (ArrayIterator stops iterating after offsetSet call).
- CLI:
- Fixed bug #77794 (Incorrect Date header format in built-in server).
- EXIF
- Fixed bug #77950 (Heap-buffer-overflow in _estrndup via exif_process_IFD_TAG).
- (CVE-2019-11036)
- Interbase:
- Fixed bug #72175 (Impossibility of creating multiple connections to Interbase with php 7.x).
- Intl:
- Fixed bug #77895 (IntlDateFormatter::create fails in strict mode if $locale = null).
- litespeed:
- LiteSpeed SAPI 7.3.1, better process management, new API function itespeed_finish_request(). (George Wang)
- LDAP:
- Fixed bug #77869 (Core dump when using server controls) (mcmic)
- Mail:
- Fixed bug #77821 (Potential heap corruption in TSendMail()). (cmb)
- mbstring:
- Implemented FR #72777 (Implement regex stack limits for mbregex functions).
- MySQLi:
- Fixed bug #77773 (Unbuffered queries leak memory - MySQLi / mysqlnd).
- PCRE:
- Fixed bug #77827 (preg_match does not ignore r in regex flags). (requinix,
- cmb)
- PDO:
- Fixed bug #77849 (Disable cloning of PDO handle/connection objects).
- phpdbg:
- Fixed bug #76801 (too many open files).
- Fixed bug #77800 (phpdbg segfaults on listing some conditional breakpoints).
- Fixed bug #77805 (phpdbg build fails when readline is shared).
- Reflection:
- Fixed bug #77772 (ReflectionClass::getMethods(null) doesn't work).
- Fixed bug #77882 (Different behavior: always calls destructor).
- Standard:
- Fixed bug #77793 (Segmentation fault in extract() when overwriting reference with itself).
- Fixed bug #77844 (Crash due to null pointer in parse_ini_string with INI_SCANNER_TYPED).
- Fixed bug #77853 (Inconsistent substr_compare behaviour with empty
- haystack).
New in PHP 7.2.17 (Apr 4, 2019)
- Core:
- Fixed bug #77738 (Nullptr deref in zend_compile_expr).
- Fixed bug #77660 (Segmentation fault on break 2147483648).
- Fixed bug #77652 (Anonymous classes can lose their interface information).
- Fixed bug #77676 (Unable to run tests when building shared extension on AIX).
- Bcmath:
- Fixed bug #77742 (bcpow() implementation related to gcc compiler optimization).
- COM:
- Fixed bug #77578 (Crash when php unload).
- Date:
- Fixed bug #50020 (DateInterval:createDateFromString() silently fails).
- Fixed bug #75113 (Added DatePeriod::getRecurrences() method).
- EXIF:
- Fixed bug #77753 (Heap-buffer-overflow in php_ifd_get32s).
- Fixed bug #77831 (Heap-buffer-overflow in exif_iif_add_value).
- FPM:
- Fixed bug #77677 (FPM fails to build on AIX due to missing WCOREDUMP).
- GD:
- Fixed bug #77700 (Writing truecolor images as GIF ignores interlace flag).
- MySQLi:
- Fixed bug #77597 (mysqli_fetch_field hangs scripts).
- Opcache:
- Fixed bug #77691 (Opcache passes wrong value for inline array push assignments).
- Fixed bug #77743 (Incorrect pi node insertion for jmpznz with identical successors).
- phpdbg:
- Fixed bug #77767 (phpdbg break cmd aliases listed in help do not match actual aliases).
- sodium:
- Fixed bug #77646 (sign_detached() strings not terminated).
- SQLite3:
- Added sqlite3.defensive INI directive.
- Standard:
- Fixed bug #77664 (Segmentation fault when using undefined constant in custom wrapper).
- Fixed bug #77669 (Crash in extract() when overwriting extracted array).
- Fixed bug #76717 (var_export() does not create a parsable value for PHP_INT_MIN).
- Fixed bug #77765 (FTP stream wrapper should set the directory as executable).
New in PHP 7.2.17 RC1 (Mar 22, 2019)
- Core:
- Fixed bug #77738 (Nullptr deref in zend_compile_expr). (Laruence)
- Fixed bug #77660 (Segmentation fault on break 2147483648). (Laruence)
- Fixed bug #77652 (Anonymous classes can lose their interface information). (Nikita)
- Fixed bug #77676 (Unable to run tests when building shared extension on AIX). (Kevin Adler)
- Bcmath:
- Fixed bug #77742 (bcpow() implementation related to gcc compiler optimization). (Nikita)
- COM:
- Fixed bug #77578 (Crash when php unload). (cmb)
- Date:
- Fixed bug #50020 (DateInterval:createDateFromString() silently fails). (Derick)
- Fixed bug #75113 (Added DatePeriod::getRecurrences() method). (Ignace Nyamagana Butera)
- FPM:
- Fixed bug #77677 (FPM fails to build on AIX due to missing WCOREDUMP). (Kevin Adler)
- GD:
- Fixed bug #77700 (Writing truecolor images as GIF ignores interlace flag). (cmb)
- MySQLi:
- Fixed bug #77597 (mysqli_fetch_field hangs scripts). (Nikita)
- Opcache:
- Fixed bug #77691 (Opcache passes wrong value for inline array push assignments). (Nikita)
- Fixed bug #77743 (Incorrect pi node insertion for jmpznz with identical successors). (Nikita)
- phpdbg:
- Fixed bug #77767 (phpdbg break cmd aliases listed in help do not match actual aliases). (Miriam Lauter)
- sodium:
- Fixed bug #77646 (sign_detached() strings not terminated). (Frank)
- SQLite3:
- Added sqlite3.defensive INI directive. (BohwaZ)
- Standard:
- Fixed bug #77664 (Segmentation fault when using undefined constant in custom wrapper). (Laruence)
- Fixed bug #77669 (Crash in extract() when overwriting extracted array). (Nikita)
- Fixed bug #76717 (var_export() does not create a parsable value for PHP_INT_MIN). (Nikita)
- Fixed bug #77765 (FTP stream wrapper should set the directory as executable). (Vlad Temian)
New in PHP 7.3.4 RC1 (Mar 22, 2019)
- Core:
- Fixed bug #77738 (Nullptr deref in zend_compile_expr). (Laruence)
- Fixed bug #77660 (Segmentation fault on break 2147483648). (Laruence)
- Fixed bug #77652 (Anonymous classes can lose their interface information). (Nikita)
- Fixed bug #77345 (Stack Overflow caused by circular reference in garbage collection). (Alexandru Patranescu, Nikita, Dmitry)
- Fixed bug #76956 (Wrong value for 'syslog.filter' documented in php.ini). (cmb)
- Apache2Handler:
- Fixed bug #77648 (BOM in sapi/apache2handler/php_functions.c). (cmb)
- Bcmath:
- Fixed bug #77742 (bcpow() implementation related to gcc compiler optimization). (Nikita)
- CLI Server:
- Fixed bug #77722 (Incorrect IP set to $_SERVER['REMOTE_ADDR'] on the localhost). (Nikita)
- COM:
- Fixed bug #77578 (Crash when php unload). (cmb)
- FPM:
- Fixed bug #77677 (FPM fails to build on AIX due to missing WCOREDUMP). (Kevin Adler)
- GD:
- Fixed bug #77700 (Writing truecolor images as GIF ignores interlace flag). (cmb)
- MySQLi:
- Fixed bug #77597 (mysqli_fetch_field hangs scripts). (Nikita)
- Opcache:
- Fixed bug #77743 (Incorrect pi node insertion for jmpznz with identical successors). (Nikita)
- Phar:
- Fxied bug #77697 (Crash on Big_Endian platform). (Laruence)
- phpdbg:
- Fixed bug #77767 (phpdbg break cmd aliases listed in help do not match actual aliases). (Miriam Lauter)
- sodium:
- Fixed bug #77646 (sign_detached() strings not terminated). (Frank)
- SQLite3:
- Added sqlite3.defensive INI directive. (BohwaZ)
- Standard:
- Fixed bug #77664 (Segmentation fault when using undefined constant in custom wrapper). (Laruence)
- Fixed bug #77669 (Crash in extract() when overwriting extracted array). (Nikita)
- Fixed bug #76717 (var_export() does not create a parsable value for PHP_INT_MIN). (Nikita)
- Fixed bug #77765 (FTP stream wrapper should set the directory as executable). (Vlad Temian)
New in PHP 7.1.27 (Mar 8, 2019)
- Core:
- Fixed bug #77630 (rename() across the device may allow unwanted access during processing).
- EXIF:
- Fixed bug #77509 (Uninitialized read in exif_process_IFD_in_TIFF).
- Fixed bug #77540 (Invalid Read on exif_process_SOFn).
- Fixed bug #77563 (Uninitialized read in exif_process_IFD_in_MAKERNOTE).
- Fixed bug #77659 (Uninitialized read in exif_process_IFD_in_MAKERNOTE).
- PHAR:
- Fixed bug #77396 (Null Pointer Dereference in phar_create_or_parse_filename).
- Fixed bug #77586 (phar_tar_writeheaders_int() buffer overflow).
- SPL:
- Fixed bug #77431 (openFile() silently truncates after a null byte).
New in PHP 7.2.16 (Mar 8, 2019)
- Core:
- Fixed bug #77589 (Core dump using parse_ini_string with numeric sections).
- Fixed bug #77630 (rename() across the device may allow unwanted access during processing).
- COM:
- Fixed bug #77621 (Already defined constants are not properly reported).
- EXIF:
- Fixed bug #77509 (Uninitialized read in exif_process_IFD_in_TIFF).
- Fixed bug #77540 (Invalid Read on exif_process_SOFn).
- Fixed bug #77563 (Uninitialized read in exif_process_IFD_in_MAKERNOTE).
- Fixed bug #77659 (Uninitialized read in exif_process_IFD_in_MAKERNOTE).
- PDO_OCI:
- Support Oracle Database tracing attributes ACTION, MODULE, CLIENT_INFO, and CLIENT_IDENTIFIER.
- PHAR:
- Fixed bug #77396 (Null Pointer Dereference in phar_create_or_parse_filename).
- SPL:
- Fixed bug #51068 (DirectoryIterator glob:// don't support current path relative queries).
- Fixed bug #77431 (openFile() silently truncates after a null byte).
- Standard:
- Fixed bug #77552 (Unintialized php_stream_statbuf in stat functions).
- MySQL:
- Disabled LOCAL INFILE by default, can be enabled using php.ini directive mysqli.allow_local_infile for mysqli, or PDO::MYSQL_ATTR_LOCAL_INFILE attribute for pdo_mysql.
New in PHP 7.3.3 (Mar 8, 2019)
- Core:
- Fixed bug #77589 (Core dump using parse_ini_string with numeric sections).
- Fixed bug #77329 (Buffer Overflow via overly long Error Messages).
- Fixed bug #77494 (Disabling class causes segfault on member access).
- Fixed bug #77498 (Custom extension Segmentation fault when declare static property).
- Fixed bug #77530 (PHP crashes when parsing `(2)::class`).
- Fixed bug #77546 (iptcembed broken function).
- Fixed bug #77630 (rename() across the device may allow unwanted access during processing).
- COM:
- Fixed bug #77621 (Already defined constants are not properly reported).
- Fixed bug #77626 (Persistence confusion in php_com_import_typelib()).
- EXIF:
- Fixed bug #77509 (Uninitialized read in exif_process_IFD_in_TIFF).
- Fixed bug #77540 (Invalid Read on exif_process_SOFn).
- Fixed bug #77563 (Uninitialized read in exif_process_IFD_in_MAKERNOTE).
- Fixed bug #77659 (Uninitialized read in exif_process_IFD_in_MAKERNOTE).
- Mbstring:
- Fixed bug #77514 (mb_ereg_replace() with trailing backslash adds null byte).
- MySQL:
- Disabled LOCAL INFILE by default, can be enabled using php.ini directive mysqli.allow_local_infile for mysqli, or PDO::MYSQL_ATTR_LOCAL_INFILE attribute for pdo_mysql.
- OpenSSL:
- Fixed bug #77390 (feof might hang on TLS streams in case of fragmented TLS records).
- PDO_OCI:
- Support Oracle Database tracing attributes ACTION, MODULE, CLIENT_INFO, and CLIENT_IDENTIFIER.
- PHAR:
- Fixed bug #77396 (Null Pointer Dereference in phar_create_or_parse_filename).
- Fixed bug #77586 (phar_tar_writeheaders_int() buffer overflow).
- phpdbg:
- Fixed bug #76596 (phpdbg support for display_errors=stderr).
- SPL:
- Fixed bug #51068 (DirectoryIterator glob:// don't support current path relative queries).
- Fixed bug #77431 (openFile() silently truncates after a null byte).
- Standard:
- Fixed bug #77552 (Unintialized php_stream_statbuf in stat functions).
- Fixed bug #77612 (setcookie() sets incorrect SameSite header if all of its options filled).
New in PHP 7.1.26 (Jan 11, 2019)
- Core:
- Fixed bug #77369 (memcpy with negative length via crafted DNS response).
- GD:
- Fixed bug #77269 (efree() on uninitialized Heap data in imagescale leads to use-after-free).
- Fixed bug #77270 (imagecolormatch Out Of Bounds Write on Heap).
- IMAP:
- Fixed bug #77020 (null pointer dereference in imap_mail).
- Mbstring:
- Fixed bug #77370 (Buffer overflow on mb regex functions - fetch_token).
- Fixed bug #77371 (heap buffer overflow in mb regex functions - compile_string_node).
- Fixed bug #77381 (heap buffer overflow in multibyte match_at).
- Fixed bug #77382 (heap buffer overflow due to incorrect length in expand_case_fold_string).
- Fixed bug #77385 (buffer overflow in fetch_token).
- Fixed bug #77394 (Buffer overflow in multibyte case folding - unicode).
- Fixed bug #77418 (Heap overflow in utf32be_mbc_to_code).
- Phar:
- Fixed bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext).
- Xmlrpc:
- Fixed bug #77242 (heap out of bounds read in xmlrpc_decode()).
- Fixed bug #77380 (Global out of bounds read in xmlrpc base64 code).
New in PHP 7.1.25 (Jan 3, 2019)
- Core:
- Fixed bug #71041 (zend_signal_startup() needs ZEND_API).
- Fixed bug #77231 (Segfault when using convert.quoted-printable-encode filter).
- ftp:
- Fixed bug #77151 (ftp_close(): SSL_read on shutdown).
- iconv:
- Fixed bug #77147 (Fixing 60494 ignored ICONV_MIME_DECODE_CONTINUE_ON_ERROR).
- IMAP:
- Fixed bug #77153 (imap_open allows to run arbitrary shell commands via mailbox parameter).
- ODBC:
- Fixed bug #77079 (odbc_fetch_object has incorrect type signature).
- Opcache:
- Fixed bug #77058 (Type inference in opcache causes side effects).
- Phar:
- Fixed bug #77022 (PharData always creates new files with mode 0666).
- Fixed bug #77143 (Heap Buffer Overflow (READ: 4) in phar_parse_pharfile).
- PGSQL:
- Fixed bug #77047 (pg_convert has a broken regex for the 'TIME WITHOUT TIMEZONE' data type).
- SOAP:
- Fixed bug #76348 (WSDL_CACHE_MEMORY causes Segmentation fault).
- Fixed bug #77141 (Signedness issue in SOAP when precision=-1).
- Sockets:
- Fixed bug #67619 (Validate length on socket_write).
New in PHP 7.0.33 (Dec 7, 2018)
- Core:
- Fixed bug #77231 (Segfault when using convert.quoted-printable-encode filter).
- IMAP:
- Fixed bug #77020 (null pointer dereference in imap_mail).
- Fixed bug #77153 (imap_open allows to run arbitrary shell commands via mailbox parameter).
- Phar:
- Fixed bug #77022 (PharData always creates new files with mode 0666).
- Fixed bug #77143 (Heap Buffer Overflow (READ: 4) in phar_parse_pharfile).
New in PHP 7.1.23 (Oct 12, 2018)
- Core:
- Fixed bug #76901 (method_exists on SPL iterator passthrough method corrupts memory).
- Fixed bug #76846 (Segfault in shutdown function after memory limit error).
- CURL:
- Fixed bug #76480 (Use curl_multi_wait() so that timeouts are respected).
- iconv:
- Fixed bug #66828 (iconv_mime_encode Q-encoding longer than it should be).
- Opcache:
- Fixed bug #76832 (ZendOPcache.MemoryBase periodically deleted by the OS).
- POSIX:
- Fixed bug #75696 (posix_getgrnam fails to print details of group).
- Reflection:
- Fixed bug #74454 (Wrong exception being thrown when using ReflectionMethod).
- Standard:
- Fixed bug #73457 (Wrong error message when fopen FTP wrapped fails to open data connection).
- Fixed bug #74764 (Bindto IPv6 works with file_get_contents but fails with stream_socket_client).
- Fixed bug #75533 (array_reduce is slow when $carry is large array).
- Zlib:
- Fixed bug #75273 (php_zlib_inflate_filter() may not update bytes_consumed).
New in PHP 7.2.11 (Oct 12, 2018)
- Core:
- Fixed bug #76800 (foreach inconsistent if array modified during loop).
- Fixed bug #76901 (method_exists on SPL iterator passthrough method corrupts memory).
- CURL:
- Fixed bug #76480 (Use curl_multi_wait() so that timeouts are respected).
- iconv:
- Fixed bug #66828 (iconv_mime_encode Q-encoding longer than it should be).
- Opcache:
- Fixed bug #76832 (ZendOPcache.MemoryBase periodically deleted by the OS).
- Fixed bug #76796 (Compile-time evaluation of disabled function in opcache causes segfault).
- POSIX:
- Fixed bug #75696 (posix_getgrnam fails to print details of group).
- Reflection:
- Fixed bug #74454 (Wrong exception being thrown when using ReflectionMethod).
- Standard:
- Fixed bug #73457 (Wrong error message when fopen FTP wrapped fails to open data connection).
- Fixed bug #74764 (Bindto IPv6 works with file_get_contents but fails with stream_socket_client).
- Fixed bug #75533 (array_reduce is slow when $carry is large array).
- XMLRPC:
- Fixed bug #76886 (Can't build xmlrpc with expat).
- Zlib:
- Fixed bug #75273 (php_zlib_inflate_filter() may not update bytes_consumed).
New in PHP 7.1.22 (Sep 14, 2018)
- Core:
- Fixed bug #76754 (parent private constant in extends class memory leak).
- Fixed bug #72443 (Generate enabled extension).
- Apache2:
- Fixed bug #76582 (Apache bucket brigade sometimes becomes invalid).
- Bz2:
- Fixed arginfo for bzcompress.
- gettext:
- Fixed bug #76517 (incorrect restoring of LDFLAGS).
- iconv:
- Fixed bug #68180 (iconv_mime_decode can return extra characters in a header).
- Fixed bug #63839 (iconv_mime_decode_headers function is skipping headers).
- Fixed bug #60494 (iconv_mime_decode does ignore special characters).
- Fixed bug #55146 (iconv_mime_decode_headers() skips some headers).
- intl:
- Fixed bug #74484 (MessageFormatter::formatMessage memory corruption with 11+ named placeholders).
- libxml:
- Fixed bug #76777 ("public id" parameter of libxml_set_external_entity_loader callback undefined).
- mbstring:
- Fixed bug #76704 (mb_detect_order return value varies based on argument type).
- Opcache:
- Fixed bug #76747 (Opcache treats path containing "test.pharma.tld" as a phar file).
- OpenSSL:
- Fixed bug #76705 (unusable ssl => peer_fingerprint in stream_context_create()).
- phpdbg:
- Fixed bug #76595 (phpdbg man page contains outdated information).
- SPL:
- Fixed bug #68825 (Exception in DirectoryIterator::getLinkTarget()).
- Fixed bug #68175 (RegexIterator pregFlags are NULL instead of 0).
- Standard:
- Fixed bug #76778 (array_reduce leaks memory if callback throws exception).
- zlib:
- Fixed bug #65988 (Zlib version check fails when an include/zlib/ style dir is passed to the --with-zlib configure option).
- Fixed bug #76709 (Minimal required zlib library is 1.2.0.4).
New in PHP 7.3.0 RC1 (Sep 13, 2018)
- Core:
- Fixed bug #76825 (Undefined symbols ___cpuid_count). (Laruence)
- Fixed bug #76820 (Z_COPYABLE invalid definition). (mvdwerve, cmb)
- Fixed bug #76510 (file_exists() stopped working for phar://). (cmb)
- intl:
- Fixed bug #76829 (Incorrect validation of domain on idn_to_utf8() function). (Anatol)
- MBString:
- Updated to Oniguruma 6.9.0. (cmb)
- Opcache:
- Fixed bug #76832 (ZendOPcache.MemoryBase periodically deleted by the OS). (Anatol)
- Fixed bug #76796 (Compile-time evaluation of disabled function in opcache causes segfault). (Nikita)
- POSIX:
- Fixed bug #75696 (posix_getgrnam fails to print details of group). (cmb)
- Reflection:
- Fixed bug #74454 (Wrong exception being thrown when using ReflectionMethod). (cmb)
- Standard:
- Fixed bug #76803 (ftruncate changes file pointer). (Anatol)
- Fixed bug #76818 (Memory corruption and segfault). (Remi)
- Fixed bug #73457 (Wrong error message when fopen FTP wrapped fails to open data connection). (Ville Hukkamäki)
- Zlib:
- Fixed bug #75273 (php_zlib_inflate_filter() may not update bytes_consumed). (Martin Burke, cmb)
New in PHP 7.1.20 (Jul 20, 2018)
- Core:
- Fixed bug #76534 (PHP hangs on 'illegal string offset on string references with an error handler).
- Fixed bug #76502 (Chain of mixed exceptions and errors does not serialize properly).
- Date:
- Fixed bug #76462 (Undefined property: DateInterval::$f).
- exif:
- Fixed bug #76423 (Int Overflow lead to Heap OverFlow in exif_thumbnail_extract of exif.c).
- Fixed bug #76557 (heap-buffer-overflow (READ of size 48) while reading exif data).
- FPM:
- Fixed bug #73342 (Vulnerability in php-fpm by changing stdin to non-blocking).
- GMP:
- Fixed bug #74670 (Integer Underflow when unserializing GMP and possible other classes).
- intl:
- Fixed bug #76556 (get_debug_info handler for BreakIterator shows wrong type).
- mbstring:
- Fixed bug #76532 (Integer overflow and excessive memory usage in mb_strimwidth).
- PGSQL:
- Fixed bug #76548 (pg_fetch_result did not fetch the next row).
- phpdbg:
- Fix arginfo wrt. optional/required parameters.
- Reflection:
- Fixed bug #76536 (PHP crashes with core dump when throwing exception in error handler).
- Fixed bug #75231 (ReflectionProperty#getValue() incorrectly works with inherited classes).
- Standard:
- Fixed bug #76505 (array_merge_recursive() is duplicating sub-array keys).
- Fixed bug #71848 (getimagesize with $imageinfo returns false).
- Win32:
- Fixed bug #76459 (windows linkinfo lacks openbasedir check).
New in PHP 7.0.31 - Old Stable (Jul 20, 2018)
- Exif:
- Fixed bug #76423 (Int Overflow lead to Heap OverFlow in exif_thumbnail_extract of exif.c).
- Fixed bug #76557 (heap-buffer-overflow (READ of size 48) while reading exif data).
- Win32:
- Fixed bug #76459 (windows linkinfo lacks openbasedir check).
New in PHP 7.2.7 (Jun 21, 2018)
- Core:
- Fixed bug #76337 (segfault when opcache enabled + extension use zend_register_class_alias).
- CLI Server:
- Fixed bug #76333 (PHP built-in server does not find files if root path contains special characters).
- OpenSSL:
- Fixed bug #76296 (openssl_pkey_get_public does not respect open_basedir).
- Fixed bug #76174 (openssl extension fails to build with LibreSSL 2.7).
- SPL:
- Fixed bug #76367 (NoRewindIterator segfault 11).
- Standard:
- Fixed bug #76410 (SIGV in zend_mm_alloc_small).
- Fixed bug #76335 ("link(): Bad file descriptor" with non-ASCII path).
New in PHP 7.2.6 (May 25, 2018)
- EXIF:
- Fixed bug #76164 (exif_read_data zend_mm_heap corrupted).
- FPM:
- Fixed bug #76075 --with-fpm-acl wrongly tries to find libacl on FreeBSD.
- intl:
- Fixed bug #74385 (Locale::parseLocale() broken with some arguments).
- Opcache:
- Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp).
- Fixed bug #76275 (Assertion failure in file cache when unserializing empty try_catch_array).
- Fixed bug #76281 (Opcache causes incorrect "undefined variable" errors).
- Reflection:
- Fixed arginfo of array_replace(_recursive) and array_merge(_recursive).
- Session:
- Fixed bug #74892 (Url Rewriting (trans_sid) not working on urls that start with "#").
New in PHP 7.2.5 (May 10, 2018)
- Core:
- Fixed bug #75722 (Convert valgrind detection to configure option).
- Date:
- Fixed bug #76131 (mismatch arginfo for date_create).
- Exif:
- Fixed bug #76130 (Heap Buffer Overflow (READ: 1786) in exif_iif_add_value). (CVE-2018-10549)
- FPM:
- Fixed bug #68440 (ERROR: failed to reload: execvp() failed: Argument list too long).
- Fixed incorrect write to getenv result in FPM reload.
- GD:
- Fixed bug #52070 (imagedashedline() - dashed line sometimes is not visible).
- iconv:
- Fixed bug #76249 (stream filter convert.iconv leads to infinite loop on invalid sequence). (CVE-2018-10546)
- intl:
- Fixed bug #76153 (Intl compilation fails with icu4c 61.1).
- ldap:
- Fixed bug #76248 (Malicious LDAP-Server Response causes Crash). (CVE-2018-10548)
- mbstring:
- Fixed bug #75944 (Wrong cp1251 detection).
- Fixed bug #76113 (mbstring does not build with Oniguruma 6.8.1).
- ODBC:
- Fixed bug #76088 (ODBC functions are not available by default on Windows).
- Opcache:
- Fixed bug #76094 (Access violation when using opcache).
- Phar:
- Fixed bug #76129 (fix for CVE-2018-5712 may not be complete). (CVE-2018-10547)
- phpdbg:
- Fixed bug #76143 (Memory corruption: arbitrary NUL overwrite).
- SPL:
- Fixed bug #76131 (mismatch arginfo for splarray constructor).
- standard:
- Fixed bug #74139 (mail.add_x_header default inconsistent with docs).
- Fixed bug #75996 (incorrect url in header for mt_rand).
New in PHP 7.2.4 (Mar 29, 2018)
- Core:
- Fixed bug #76025 (Segfault while throwing exception in error_handler).
- Fixed bug #76044 ('date: illegal option -- -' in ./configure on FreeBSD).
- FPM:
- Fixed bug #75605 (Dumpable FPM child processes allow bypassing opcache access controls).
- FTP:
- Fixed ftp_pasv arginfo.
- GD:
- Fixed bug #73957 (signed integer conversion in imagescale()).
- Fixed bug #76041 (null pointer access crashed php).
- Fixed imagesetinterpolation arginfo.
- iconv:
- Fixed bug #75867 (Freeing uninitialized pointer).
- Mbstring:
- Fixed bug #62545 (wrong unicode mapping in some charsets).
- Opcache:
- Fixed bug #75969 (Assertion failure in live range DCE due to block pass misoptimization).
- OpenSSL:
- Fixed openssl_* arginfos.
- PCNTL:
- Fixed bug #75873 (pcntl_wexitstatus returns incorrect on Big_Endian platform (s390x)).
- Phar:
- Fixed bug #76085 (Segmentation fault in buildFromIterator when directory name contains a n).
- Standard:
- Fixed bug #75961 (Strange references behavior).
- Fixed some arginfos.
- Fixed bug #76068 (parse_ini_string fails to parse "[foo]nbar=1|>baz" with segfault).
New in PHP 7.2.3 (Mar 28, 2018)
- Core:
- Fixed bug #75864 ("stream_isatty" returns wrong value on s390x).
- Apache2Handler:
- Fixed bug #75882 (a simple way for segfaults in threadsafe php just with configuration).
- Date:
- Fixed bug #75857 (Timezone gets truncated when formatted).
- Fixed bug #75928 (Argument 2 for `DateTimeZone::listIdentifiers()` should accept `null`).
- Fixed bug #68406 (calling var_dump on a DateTimeZone object modifies it).
- LDAP:
- Fixed bug #49876 (Fix LDAP path lookup on 64-bit distros).
- libxml2:
- Fixed bug #75871 (use pkg-config where available).
- PGSQL:
- Fixed bug #75838 (Memory leak in pg_escape_bytea()).
- Phar:
- Fixed bug #54289 (Phar::extractTo() does not accept specific directories to be extracted).
- Fixed bug #65414 (deal with leading slash while adding files correctly).
- Fixed bug #65414 (deal with leading slash when adding files correctly).
- ODBC:
- Fixed bug #73725 (Unable to retrieve value of varchar(max) type).
- Opcache:
- Fixed bug #75729 (opcache segfault when installing Bitrix).
- Fixed bug #75893 (file_get_contents $http_response_header variable bugged with opcache).
- Fixed bug #75938 (Modulus value not stored in variable).
- SPL:
- Fixed bug #74519 (strange behavior of AppendIterator).
- Standard:
- Fixed bug #75916 (DNS_CAA record results contain garbage).
- Fixed bug #75981 (stack-buffer-overflow while parsing HTTP response). (CVE-2018-7584)
New in PHP 7.2.2 (Feb 1, 2018)
- Core:
- Fixed bug #75742 (potential memleak in internal classes's static members).
- Fixed bug #75679 (Path 260 character problem).
- Fixed bug #75614 (Some non-portable == in shell scripts).
- Fixed bug #75786 (segfault when using spread operator on generator passed by reference).
- Fixed bug #75799 (arg of get_defined_functions is optional).
- Fixed bug #75396 (Exit inside generator finally results in fatal error).
- FCGI:
- Fixed bug #75794 (getenv() crashes on Windows 7.2.1 when second parameter is false).
- IMAP:
- Fixed bug #75774 (imap_append HeapCorruction).
- Opcache:
- Fixed bug #75720 (File cache not populated after SHM runs full).
- Fixed bug #75687 (var 8 (TMP) has array key type but not value type).
- Fixed bug #75698 (Using @ crashes php7.2-fpm).
- Fixed bug #75579 (Interned strings buffer overflow may cause crash).
- PDO:
- Fixed bug #75616 (PDO extension doesn't allow to be built shared on Darwin).
- PDO MySQL:
- Fixed bug #75615 (PDO Mysql module can't be built as module).
- PGSQL:
- Fixed bug #75671 (pg_version() crashes when called on a connection to cockroach).
- Readline:
- Fixed bug #75775 (readline_read_history segfaults with empty file).
- SAPI:
- Fixed bug #75735 ([embed SAPI] Segmentation fault in sapi_register_post_entry).
- SOAP:
- Fixed bug #70469 (SoapClient generates E_ERROR even if exceptions=1 is used).
- Fixed bug #75502 (Segmentation fault in zend_string_release).
- SPL:
- Fixed bug #75717 (RecursiveArrayIterator does not traverse arrays by reference).
- Fixed bug #75242 (RecursiveArrayIterator doesn't have constants from parent class).
- Fixed bug #73209 (RecursiveArrayIterator does not iterate object properties)
- Standard:
- Fixed bug #75781 (substr_count incorrect result).
- Fixed bug #75653 (array_values don't work on empty array).
- Zip:
- Display headers (buildtime) and library (runtime) versions in phpinfo with libzip >= 1.3.1)
New in PHP 7.2.1 (Jan 4, 2018)
- Core:
- Fixed bug #75573 (Segmentation fault in 7.1.12 and 7.0.26).
- Fixed bug #75384 (PHP seems incompatible with OneDrive files on demand).
- Fixed bug #75525 (Access Violation in vcruntime140.dll).
- Fixed bug #74862 (Unable to clone instance when private __clone defined).
- Fixed bug #75074 (php-process crash when is_file() is used with strings longer 260 chars).
- CLI server:
- Fixed bug #73830 (Directory does not exist).
- FPM:
- Fixed bug #64938 (libxml_disable_entity_loader setting is shared between requests).
- GD:
- Fixed bug #75571 (Potential infinite loop in gdImageCreateFromGifCtx).
- Opcache:
- Fixed bug #75608 ("Narrowing occurred during type inference" error).
- Fixed bug #75579 (Interned strings buffer overflow may cause crash).
- Fixed bug #75570 ("Narrowing occurred during type inference" error).
- Fixed bug #75556 (Invalid opcode 138/1/1).
- PCRE:
- Fixed bug #74183 (preg_last_error not returning error code after error).
- Phar:
- Fixed bug #74782 (remove file name from output to avoid XSS).
- Standard:
- Fixed bug #75511 (fread not free unused buffer).
- Fixed bug #75514 (mt_rand returns value outside [$min,$max]+ on 32-bit) (Remi)
- Fixed bug #75535 (Inappropriately parsing HTTP response leads to PHP segment fault).
- Fixed bug #75409 (accept EFAULT in addition to ENOSYS as indicator that getrandom() is missing).
- Fixed bug #73124 (php_ini_scanned_files() not reporting correctly).
- Fixed bug #75574 (putenv does not work properly if parameter contains non-ASCII unicode character).
- Zip:
- Fixed bug #75540 (Segfault with libzip 1.3.1).
New in PHP 7.1.12 (Nov 29, 2017)
- Core:
- Fixed bug #75420 (Crash when modifing property name in __isset for BP_VAR_IS).
- Fixed bug #75368 (mmap/munmap trashing on unlucky allocations).
- CLI:
- Fixed bug #75287 (Builtin webserver crash after chdir in a shutdown function).
- Enchant:
- Fixed bug #53070 (enchant_broker_get_path crashes if no path is set).
- Fixed bug #75365 (Enchant still reports version 1.1.0).
- Exif:
- Fixed bug #75301 (Exif extension has built in revision version).
- GD:
- Fixed bug #65148 (imagerotate may alter image dimensions).
- Fixed bug #75437 (Wrong reflection on imagewebp).
- intl:
- Fixed bug #75317 (UConverter::setDestinationEncoding changes source instead of destination).
- interbase:
- Fixed bug #75453 (Incorrect reflection for ibase_[p]connect).
- Mysqli:
- Fixed bug #75434 (Wrong reflection for mysqli_fetch_all function).
- OCI8:
- Fixed valgrind issue.
- OpenSSL:
- Fixed bug #75363 (openssl_x509_parse leaks memory).
- Fixed bug #75307 (Wrong reflection for openssl_open function).
- Opcache:
- Fixed bug #75373 (Warning Internal error: wrong size calculation).
- PGSQL:
- Fixed bug #75419 (Default link incorrectly cleared/linked by pg_close()).
- SOAP:
- Fixed bug #75464 (Wrong reflection on SoapClient::__setSoapHeaders).
- Zlib:
- Fixed bug #75299 (Wrong reflection on inflate_init and inflate_add).
New in PHP 7.2.0 RC 6 (Nov 9, 2017)
- Core:
- Fixed bug #75420 (Crash when modifing property name in __isset for BP_VAR_IS).
- GD:
- Fixed bug #75437 (Wrong reflection on imagewebp).
- interbase:
- Fixed bug #75453 (Incorrect reflection for ibase_[p]connect).
- Mysqli:
- Fixed bug #75434 (Wrong reflection for mysqli_fetch_all function).
- SOAP:
- Fixed bug #75464 (Wrong reflection on SoapClient::__setSoapHeaders).
New in PHP 7.2.0 RC 5 (Oct 27, 2017)
- Core:
- Fixed bug #75368 (mmap/munmap trashing on unlucky allocations). (Nikita, Dmitry)
- CLI:
- Fixed bug #75287 (Builtin webserver crash after chdir in a shutdown function).
- (Laruence)
- Date:
- Fixed bug #75055 (Out-Of-Bounds Read in timelib_meridian()). (Derick)
- Enchant:
- Fixed bug #53070 (enchant_broker_get_path crashes if no path is set). (jelle van der Waa, cmb)
- Fixed bug #75365 (Enchant still reports version 1.1.0). (cmb)
- Exif:
- Fixed bug #75301 (Exif extension has built in revision version). (Peter Kokot)
- Fileinfo:
- Upgrade bundled libmagic to 5.31. (Anatol)
- GD:
- Fixed bug #65148 (imagerotate may alter image dimensions). (cmb)
- Intl:
- Fixed bug #75378 ([REGRESSION] IntlDateFormatter::parse() does not change $position argument). (Laruence)
- Fixed bug #75317 (UConverter::setDestinationEncoding changes source instead of destination). (andrewnester)
- JSON:
- Fixed bug #68567 (JSON_PARTIAL_OUTPUT_ON_ERROR can result in JSON with null key). (Jakub Zelenka)
- OCI8:
- Fixed valgrind issue. (Tianfang Yang)
- Opcache:
- Fixed bug (assertion fails with extended info generated). (Laruence)
- Fixed bug (Phi sources removel). (Laruence)
- Fixed bug #75370 (Webserver hangs on valid PHP text). (Laruence)
- Fixed bug #75357 (segfault loading WordPress wp-admin). (Laruence)
- Fixed bug #75373 (Warning Internal error: wrong size calculation). (Laruence, Dmitry)
- Openssl:
- Fixed bug #75363 (openssl_x509_parse leaks memory). (Bob)
- PCRE:
- Fixed bug #75207 (applied upstream patch for CVE-2016-1283). (Anatol)
- PGSQL:
- Fixed bug #75419 (Default link incorrectly cleared/linked by pg_close()). (Sara)
- Standard:
- Fixed bug #75221 (Argon2i always throws NUL at the end). (cmb)
- Zlib:
- Fixed bug #75299 (Wrong reflection on inflate_init and inflate_add). (Fabien Villepinte)
New in PHP 7.2.0 RC 4 (Oct 12, 2017)
- Core
- Fixed bug #75220 (Segfault when calling is_callable on parent)
- (andrewnester)
- Fixed bug #75290 (debug info of Closures of internal functions contain
- garbage argument names)(Andrea)
- Apache2Handler:
- Fixed bug #75311 (error: 'zend_hash_key' has no member named 'arKey' in
- apache2handler)(mcarbonneaux)
- Date:
- Fixed bug #75222 (DateInterval microseconds property always 0)(jhdxr)
- Hash:
- Fixed Bug #75284 (sha3 is not supported on bigendian machine)(Remi)
- Intl:
- Fixed bug #75318 (The parameter of UConverter::getAliases() is not
- optional)(cmb)
- litespeed:
- Fixed bug #75248 (Binary directory doesn't get created when building
- only litespeed SAPI)(petk)
- Fixed bug #75251 (Missing program prefix and suffix)(petk)
- OCI8:
- Fixed incorrect reference counting(Dmitry, Tianfang Yang)
- Opcache
- Fixed bug #75255 (Request hangs and not finish)(Dmitry)
- PCRE:
- Fixed bug #75285 (Broken build when system libpcre don't have jit support).
- (Remi)
- Sodium:
- Added missing bindings for libsodium > 1.0.13(Frank)
New in PHP 7.1.10 (Sep 27, 2017)
- Core:
- Fixed bug #75042 (run-tests.php issues with EXTENSION block).
- BCMath:
- Fixed bug #44995 (bcpowmod() fails if scale != 0).
- Fixed bug #46781 (BC math handles minus zero incorrectly).
- Fixed bug #54598 (bcpowmod() may return 1 if modulus is 1).
- Fixed bug #75178 (bcpowmod() misbehaves for non-integer base or modulus).
- CLI server:
- Fixed bug #70470 (Built-in server truncates headers spanning over TCP packets).
- CURL:
- Fixed bug #75093 (OpenSSL support not detected).
- GD:
- Fixed bug #75124 (gdImageGrayScale() may produce colors).
- Fixed bug #75139 (libgd/gd_interpolation.c:1786: suspicious if ?).
- Gettext:
- Fixed bug #73730 (textdomain(null) throws in strict mode).
- Intl:
- Fixed bug #75090 (IntlGregorianCalendar doesn't have constants from parent class).
- Fixed bug #75193 (segfault in collator_convert_object_to_string).
- PDO_OCI:
- Fixed bug #74631 (PDO_PCO with PHP-FPM: OCI environment initialized before PHP-FPM sets it up).
- SPL:
- Fixed bug #75155 (AppendIterator::append() is broken when appending another AppendIterator).
- Fixed bug #75173 (incorrect behavior of AppendIterator::append in foreach loop).
- Standard:
- Fixed bug #75152 (signed integer overflow in parse_iv).
- Fixed bug #75097 (gethostname fails if your host name is 64 chars long).
New in PHP 7.1.9 (Aug 31, 2017)
- Core:
- Fixed bug #74947 (Segfault in scanner on INF number).
- Fixed bug #74954 (null deref and segfault in zend_generator_resume()).
- Fixed bug #74725 (html_errors=1 breaks unhandled exceptions).
- Fixed bug #75063 (Main CWD initialized with wrong codepage).
- cURL:
- Fixed bug #74125 (Fixed finding CURL on systems with multiarch support).
- Date:
- Fixed bug #75002 (Null Pointer Dereference in timelib_time_clone).
- Intl:
- Fixed bug #74993 (Wrong reflection on some locale_* functions).
- Mbstring:
- Fixed bug #71606 (Segmentation fault mb_strcut with HTML-ENTITIES encoding).
- cmb)
- Fixed bug #62934 (mb_convert_kana() does not convert iteration marks).
- Nikita)
- Fixed bug #75001 (Wrong reflection on mb_eregi_replace).
- MySQLi:
- Fixed bug #74968 (PHP crashes when calling mysqli_result::fetch_object with an abstract class).
- OCI8:
- Expose oci_unregister_taf_callback()
- Opcache:
- Fixed bug #74980 (Narrowing occurred during type inference).
- phar:
- Fixed bug #74991 (include_path has a 4096 char limit in some cases).
- Reflection:
- Fixed bug #74949 (null pointer dereference in _function_string).
- Session:
- Fixed bug #74892 (Url Rewriting (trans_sid) not working on urls that start with "#").
- Fixed bug #74833 (SID constant created with wrong module number).
- SimpleXML:
- Fixed bug #74950 (nullpointer deref in simplexml_element_getDocNamespaces).
- SPL:
- Fixed bug #75049 (spl_autoload_unregister can't handle spl_autoload_functions results).
- Fixed bug #74669 (Unserialize ArrayIterator broken).
- Fixed bug #74977 (Appending AppendIterator leads to segfault).
- Fixed bug #75015 (Crash in recursive iterator destructors).
- Standard:
- Fixed bug #75075 (unpack with X* causes infinity loop).
- Fixed bug #74103 (heap-use-after-free when unserializing invalid array size).
- Fixed bug #75054 (A Denial of Service Vulnerability was found when performing deserialization).
- WDDX:
- Fixed bug #73793 (WDDX uses wrong decimal seperator).
- XMLRPC:
- Fixed bug #74975 (Incorrect xmlrpc serialization for classes with declared properties).
New in PHP 7.2.0 RC 1 (Aug 30, 2017)
- Core:
- Fixed #75042 run-tests.php issues with EXTENSION block).
- CURL:
- Fixed bug #75093 (OpenSSL support not detected).
- Better fix for #74125 (use pkg-config instead of curl-config).
- GD:
- Fixed bug #75111 (Memory disclosure or DoS via crafted .bmp image).
- Fixed bug #75124 (gdImageGrayScale() may produce colors).
- Intl:
- Fixed bug #75090 (IntlGregorianCalendar doesn't have constants from parent
- class).
- PCRE:
- Fixed bug #75089 (preg_grep() is not reporting PREG_BAD_UTF8_ERROR after
- first input string).
- PDO_OCI:
- Fixed bug #74631 (PDO_PCO with PHP-FPM: OCI environment initialized
- before PHP-FPM sets it up).
- SQLite3:
- Update to Sqlite 3.20.1.
- Standard:
- Fixed bug #75097 (gethostname fails if your host name is 64 chars long).
New in PHP 7.2.0 Beta 3 (Aug 17, 2017)
- Core:
- Fixed bug #75063 (Main CWD initialized with wrong codepage).
- Date:
- Fixed bug #75002 (Null Pointer Dereference in timelib_time_clone).
- FTP:
- Added ftp_append() function.
- Mbstring:
- Fixed bug #75001 (Wrong reflection on mb_eregi_replace).
- SQLite3:
- Updated to SQLite 3.20.0.
- SPL:
- Fixed bug #75049 (spl_autoload_unregister can't handle spl_autoload_functions results).
- Added spl_object_id().
- Standard:
- Fixed bug #75075 (unpack with X* causes infinity loop).
- Fixed bug #74103 (heap-use-after-free when unserializing invalid array size).
- Fixed bug #75054 (A Denial of Service Vulnerability was found when performing deserialization).
- WDDX:
- Fixed bug #73793 (WDDX uses wrong decimal seperator).
- XMLRPC:
- Fixed bug #74975 (Incorrect xmlrpc serialization for classes with declared properties).
New in PHP 7.1.8 (Aug 3, 2017)
- Core:
- Fixed bug #74832 (Loading PHP extension with already registered function
- name leads to a crash).
- Fixed bug #74780 (parse_url() broken when query string contains colon).
- Fixed bug #74761 (Unary operator expected error on some systems).
- Fixed bug #73900 (Use After Free in unserialize() SplFixedArray).
- Fixed bug #74923 (Crash when crawling through network share).
- Fixed bug #74913 (fixed incorrect poll.h include).
- Fixed bug #74906 (fixed incorrect errno.h include).
- Date:
- Fixed bug #74852 (property_exists returns true on unknown DateInterval
- property).
- OCI8:
- Fixed bug #74625 (Integer overflow in oci_bind_array_by_name).
- Opcache:
- Fixed bug #74623 (Infinite loop in type inference when using HTMLPurifier).
- OpenSSL:
- Fixed bug #74798 (pkcs7_en/decrypt does not work if x0a is used in content).
- Added OPENSSL_DONT_ZERO_PAD_KEY constant to prevent key padding and fix bug
- 71917 (openssl_open() returns junk on envelope < 16 bytes) and bug #72362
- OpenSSL Blowfish encryption is incorrect for short keys).
- PDO:
- Fixed bug #69356 (PDOStatement::debugDumpParams() truncates query).
- SPL:
- Fixed bug #73471 (PHP freezes with AppendIterator).
- SQLite3:
- Fixed bug #74883 (SQLite3::__construct() produces "out of memory" exception with invalid flags).
- Wddx:
- Fixed bug #73173 (huge memleak when wddx_unserialize).
- zlib:
- Fixed bug #73944 (dictionary option of inflate_init() does not work).
New in PHP 7.2.0 Beta 1 (Jul 20, 2017)
- The much anticipated Sodium extension
- Opcache improvements
- Countable support for DOMNodeList and DOMNamedNodeMap
- Improved handling for invalid UTF8 in json_decode()
- And many bugfixes
New in PHP 7.1.7 (Jul 7, 2017)
- Core:
- Fixed bug #74738 (Multiple [PATH=] and [HOST=] sections not properly parsed).
- Fixed bug #74658 (Undefined constants in array properties result in broken properties).
- Fixed misparsing of abstract unix domain socket names.
- Fixed bug #74603 (PHP INI Parsing Stack Buffer Overflow Vulnerability).
- Fixed bug #74101, bug #74614 (Unserialize Heap Use-After-Free (READ: 1) in zval_get_type).
- Fixed bug #74111 (Heap buffer overread (READ: 1) finish_nested_data from unserialize).
- Fixed bug #74819 (wddx_deserialize() heap out-of-bound read via php_parse_date()).
- Date:
- Fixed bug #74639 (implement clone for DatePeriod and DateInterval).
- DOM:
- Fixed bug #69373 (References to deleted XPath query results).
- GD:
- Fixed bug #74435 (Buffer over-read into uninitialized memory).
- Intl:
- Fixed bug #73473 (Stack Buffer Overflow in msgfmt_parse_message).
- Fixed bug #74705 (Wrong reflection on Collator::getSortKey and collator_get_sort_key).
- Mbstring:
- Add oniguruma upstream fix (CVE-2017-9224, CVE-2017-9226, CVE-2017-9227, CVE-2017-9228, CVE-2017-9229) (Remi, Mamoru TASAKA)
- OCI8:
- Add TAF callback (PR #2459).
- Opcache:
- Fixed bug #74663 (Segfault with opcache.memory_protect and validate_timestamp).
- Revert opcache.enable_cli to default disabled.
- OpenSSL:
- Fixed bug #74720 (pkcs7_en/decrypt does not work if x1a is used in content).
- Fixed bug #74651 (negative-size-param (-1) in memcpy in zif_openssl_seal()).
- PDO_OCI:
- Support Instant Client 12.2 in --with-pdo-oci configure option.
- Reflection:
- Fixed bug #74673 (Segfault when cast Reflection object to string with undefined constant).
- SPL:
- Fixed bug #74478 (null coalescing operator failing with SplFixedArray).
- FTP:
- Fixed bug #74598 (ftp:// wrapper ignores context arg).
- PHAR:
- Fixed bug #74386 (Phar::__construct reflection incorrect).
- SOAP:
- Fixed bug #74679 (Incorrect conversion array with WSDL_CACHE_MEMORY).
- Streams:
- Fixed bug #74556 (stream_socket_get_name() returns '