php-src/NEWS

2044 lines
74 KiB
Plaintext
Raw Normal View History

2015-07-21 22:36:36 +08:00
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2020, PHP 7.4.9
2020-06-23 16:29:42 +08:00
- Apache:
. Fixed bug #79030 (Upgrade apache2handler's php_apache_sapi_get_request_time
to return usec). (Herbert256)
- COM:
. Fixed bug #63208 (BSTR to PHP string conversion not binary safe). (cmb)
2020-06-26 16:31:55 +08:00
- Core:
. Fixed bug #79740 (serialize() and unserialize() methods can not be called
statically). (Nikita)
. Fixede bug #79783 (Segfault in php_str_replace_common). (Nikita)
2020-06-26 16:31:55 +08:00
- Fileinfo:
. Fixed bug #79756 (finfo_file crash (FILEINFO_MIME)). (cmb)
- FTP:
. Fixed bug #55857 (ftp_size on large files). (cmb)
- Reflection:
. Fixed bug #79487 (::getStaticProperties() ignores property modifications).
(cmb, Nikita)
. Fixed bug #69804 ()::getStaticPropertyValue() throws on protected props).
(cmb, Nikita)
- Standard:
. Fixed bug #70362 (Can't copy() large 'data://' with open_basedir). (cmb)
?? ??? 2020, PHP 7.4.8
- Core:
. Fixed bug #79649 (Altering disable_functions from module init corrupts
memory). (Laruence)
. Fixed bug #79595 (zend_init_fpu() alters FPU precision). (cmb, Nikita)
. Fixed bug #79650 (php-win.exe 100% cpu lockup). (cmb)
. Fixed bug #79668 (get_defined_functions(true) may miss functions). (cmb,
Nikita)
. Fixed bug #79657 ("yield from" hangs when invalid value encountered).
(Nikita)
. Fixed bug #79683 (Fake reflection scope affects __toString()). (Nikita)
. Fixed possibly unsupported timercmp() usage. (cmb)
- Exif:
. Fixed bug #79687 (Sony picture - PHP Warning - Make, Model, MakerNotes).
(cmb)
2020-06-10 22:44:17 +08:00
- Fileinfo:
. Fixed bug #79681 (mime_content_type/finfo returning incorrect mimetype).
(cmb)
- 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).
(cmb)
- PDO SQLite:
. Fixed bug #79664 (PDOStatement::getColumnMeta fails on empty result set).
(cmb)
- phpdbg:
. Fixed bug #73926 (phpdbg will not accept input on restart execution). (cmb)
. Fixed bug #73927 (phpdbg fails with windows error prompt at "watch array").
(cmb)
. Fixed several mostly Windows related phpdbg bugs. (cmb)
- 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)
11 Jun 2020, PHP 7.4.7
2020-04-28 15:10:50 +08:00
- Core:
2020-05-15 15:43:38 +08:00
. Fixed bug #79599 (coredump in set_error_handler). (Laruence)
. Fixed bug #79566 (Private SHM is not private on Windows). (cmb)
. Fixed bug #79489 (.user.ini does not inherit). (cmb)
. Fixed bug #79600 (Regression in 7.4.6 when yielding an array based
generator). (Nikita)
- FFI:
. Fixed bug #79571 (FFI: var_dumping unions may segfault). (cmb)
- GD:
. Fixed bug #79615 (Wrong GIF header written in GD GIFEncode). (sageptr, cmb)
- MySQLnd:
. Fixed bug #79596 (MySQL FLOAT truncates to int some locales). (cmb)
- Opcache:
. Fixed bug #79588 (Boolean opcache settings ignore on/off values). (cmb)
. Fixed bug #79548 (Preloading segfault with inherited method using static
variable). (Nikita)
. Fixed bug #79603 (RTD collision with opcache). (Nikita)
- Standard:
. Fixed bug #79561 (dns_get_record() fails with DNS_ALL). (cmb)
2020-05-26 18:47:26 +08:00
14 May 2020, PHP 7.4.6
2020-03-31 21:57:12 +08:00
- Core:
. Fixed bug #79536 (zend_clear_exception prevent exception's destructor to be
called). (Laruence)
. 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)
- 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)
2020-04-01 15:26:20 +08:00
- MBString:
. Fixed bug #79441 (Segfault in mb_chr() if internal encoding is unsupported).
(Girgias)
2020-03-31 21:57:12 +08:00
- 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)
2020-05-26 18:47:26 +08:00
16 Apr 2020, PHP 7.4.5
2020-03-03 17:19:31 +08:00
- Core:
. Fixed bug #79364 (When copy empty array, next key is unspecified). (cmb)
. Fixed bug #78210 (Invalid pointer address). (cmb, Nikita)
- CURL:
. Fixed bug #79199 (curl_copy_handle() memory leak). (cmb)
- Date:
. Fixed bug #79396 (DateTime hour incorrect during DST jump forward). (Nate
Brunette)
. Fixed bug #74940 (DateTimeZone loose comparison always true). (cmb)
- FPM:
. Implement request #77062 (Allow numeric [UG]ID in FPM listen.{owner,group})
(Andre Nathan)
- Iconv:
. Fixed bug #79200 (Some iconv functions cut Windows-1258). (cmb)
- OPcache:
. Fixed bug #79412 (Opcache chokes and uses 100% CPU on specific script).
(Dmitry)
- Session:
. Fixed bug #79413 (session_create_id() fails for active sessions). (cmb)
- Shmop:
. Fixed bug #79427 (Integer Overflow in shmop_open()). (cmb)
- SimpleXML:
. Fixed bug #61597 (SXE properties may lack attributes and content). (cmb)
- SOAP:
. Fixed bug #79357 (SOAP request segfaults when any request parameter is
missing). (Nikita)
- Spl:
. Fixed bug #75673 (SplStack::unserialize() behavior). (cmb)
. Fixed bug #79393 (Null coalescing operator failing with SplFixedArray).
(cmb)
- Standard:
2020-04-14 14:53:35 +08:00
. Fixed bug #79330 (shell_exec() silently truncates after a null byte). (stas)
2020-04-15 00:18:18 +08:00
. Fixed bug #79465 (OOB Read in urldecode()). (CVE-2020-7067) (stas)
. Fixed bug #79410 (system() swallows last chunk if it is exactly 4095 bytes
without newline). (Christian Schneider)
2020-03-20 18:17:29 +08:00
- Zip:
. Fixed Bug #79296 (ZipArchive::open fails on empty file). (Remi)
2020-03-29 20:23:28 +08:00
. Fixed bug #79424 (php_zip_glob uses gl_pathc after call to globfree).
(Max Rees)
2020-03-20 18:17:29 +08:00
19 Mar 2020, PHP 7.4.4
2020-02-04 18:38:29 +08:00
- Core:
. Fixed bug #79244 (php crashes during parsing INI file). (Laruence)
. Fixed bug #63206 (restore_error_handler does not restore previous errors
mask). (Mark Plomer)
- COM:
. Fixed bug #66322 (COMPersistHelper::SaveToFile can save to wrong location).
(cmb)
. Fixed bug #79242 (COM error constants don't match com_exception codes on
x86). (cmb)
. Fixed bug #79247 (Garbage collecting variant objects segfaults). (cmb)
. Fixed bug #79248 (Traversing empty VT_ARRAY throws com_exception). (cmb)
. Fixed bug #79299 (com_print_typeinfo prints duplicate variables). (Litiano
Moura)
. Fixed bug #79332 (php_istreams are never freed). (cmb)
. Fixed bug #79333 (com_print_typeinfo() leaks memory). (cmb)
- CURL:
. Fixed bug #79019 (Copied cURL handles upload empty file). (cmb)
. Fixed bug #79013 (Content-Length missing when posting a curlFile with
curl). (cmb)
- DOM:
2020-02-14 16:21:13 +08:00
. Fixed bug #77569: (Write Access Violation in DomImplementation). (Nikita,
cmb)
. Fixed bug #79271 (DOMDocumentType::$childNodes is NULL). (cmb)
2020-01-22 16:17:00 +08:00
- Enchant:
. Fixed bug #79311 (enchant_dict_suggest() fails on big endian architecture).
(cmb)
- EXIF:
. Fixed bug #79282 (Use-of-uninitialized-value in exif). (CVE-2020-7064)
(Nikita)
- Fileinfo:
. Fixed bug #79283 (Segfault in libmagic patch contains a buffer
overflow). (cmb)
- FPM:
. Fixed bug #77653 (operator displayed instead of the real error message).
(Jakub Zelenka)
. Fixed bug #79014 (PHP-FPM & Primary script unknown). (Jakub Zelenka)
- MBstring:
. Fixed bug #79371 (mb_strtolower (UTF-32LE): stack-buffer-overflow at
php_unicode_tolower_full). (CVE-2020-7065) (cmb)
- MySQLi:
. Fixed bug #64032 (mysqli reports different client_version). (cmb)
- MySQLnd:
. Implemented FR #79275 (Support auth_plugin_caching_sha2_password on
Windows). (cmb)
- Opcache:
. Fixed bug #79252 (preloading causes php-fpm to segfault during exit).
(Nikita)
2020-01-29 17:57:44 +08:00
- PCRE:
. Fixed bug #79188 (Memory corruption in preg_replace/preg_replace_callback
and unicode). (Nikita)
. Fixed bug #79241 (Segmentation fault on preg_match()). (Nikita)
. Fixed bug #79257 (Duplicate named groups (?J) prefer last alternative even
if not matched). (Nikita)
2020-01-29 17:57:44 +08:00
- PDO_ODBC:
. Fixed bug #79038 (PDOStatement::nextRowset() leaks column values). (cmb)
- Reflection:
. Fixed bug #79062 (Property with heredoc default value returns false for
getDocComment). (Nikita)
- SQLite3:
. Fixed bug #79294 (::columnType() may fail after SQLite3Stmt::reset()). (cmb)
- Standard:
. Fixed bug #79329 (get_headers() silently truncates after a null byte).
(CVE-2020-7066) (cmb)
. Fixed bug #79254 (getenv() w/o arguments not showing changes). (cmb)
. Fixed bug #79265 (Improper injection of Host header when using fopen for
http requests). (Miguel Xavier Penha Neto)
2020-02-28 17:36:12 +08:00
- Zip:
. Fixed bug #79315 (ZipArchive::addFile doesn't honor start/length
parameters). (Remi)
20 Feb 2020, PHP 7.4.3
2019-11-15 19:06:17 +08:00
- Core:
. Fixed bug #79146 (cscript can fail to run on some systems). (clarodeus)
. Fixed bug #79155 (Property nullability lost when using multiple property
definition). (Nikita)
. Fixed bug #78323 (Code 0 is returned on invalid options). (Ivan Mikheykin)
. Fixed bug #78989 (Delayed variance check involving trait segfaults).
(Nikita)
. Fixed bug #79174 (cookie values with spaces fail to round-trip). (cmb)
. Fixed bug #76047 (Use-after-free when accessing already destructed
backtrace arguments). (Nikita)
- CURL:
. Fixed bug #79078 (Hypothetical use-after-free in curl_multi_add_handle()).
(cmb)
- FFI:
. Fixed bug #79096 (FFI Struct Segfault). (cmb)
- IMAP:
. Fixed bug #79112 (IMAP extension can't find OpenSSL libraries at configure
time). (Nikita)
2020-02-20 17:55:17 +08:00
- Intl:
. Fixed bug #79212 (NumberFormatter::format() may detect wrong type). (cmb)
- Libxml:
. Fixed bug #79191 (Error in SoapClient ctor disables DOMDocument::save()).
(Nikita, cmb)
- MBString:
. Fixed bug #79149 (SEGV in mb_convert_encoding with non-string encodings).
(cmb)
- MySQLi:
. Fixed bug #78666 (Properties may emit a warning on var_dump()). (kocsismate)
- MySQLnd:
. Fixed bug #79084 (mysqlnd may fetch wrong column indexes with MYSQLI_BOTH).
(cmb)
. Fixed bug #79011 (MySQL caching_sha2_password Access denied for password
with more than 20 chars). (Nikita)
- Opcache:
. Fixed bug #79114 (Eval class during preload causes class to be only half
available). (Laruence)
. Fixed bug #79128 (Preloading segfaults if preload_user is used). (Nikita)
2020-01-30 21:55:58 +08:00
. Fixed bug #79193 (Incorrect type inference for self::$field =& $field).
(Nikita)
- OpenSSL:
. Fixed bug #79145 (openssl memory leak). (cmb, Nikita)
- Phar:
2020-02-18 02:35:42 +08:00
. Fixed bug #79082 (Files added to tar with Phar::buildFromIterator have
all-access permissions). (CVE-2020-7063) (stas)
. Fixed bug #79171 (heap-buffer-overflow in phar_extract_file).
2020-02-18 18:09:37 +08:00
(CVE-2020-7061) (cmb)
. Fixed bug #76584 (PharFileInfo::decompress not working). (cmb)
2020-01-17 18:37:35 +08:00
- Reflection:
. Fixed bug #79115 (ReflectionClass::isCloneable call reflected class
__destruct). (Nikita)
2020-02-18 02:35:42 +08:00
- Session:
. Fixed bug #79221 (Null Pointer Dereference in PHP Session Upload Progress).
(CVE-2020-7062) (stas)
2019-12-16 09:10:28 +08:00
- Standard:
. Fixed bug #78902 (Memory leak when using stream_filter_append). (liudaixiao)
. Fixed bug #78969 (PASSWORD_DEFAULT should match PASSWORD_BCRYPT instead of being null). (kocsismate)
2019-12-16 09:10:28 +08:00
- Testing:
. Fixed bug #78090 (bug45161.phpt takes forever to finish). (cmb)
- XSL:
. Fixed bug #70078 (XSL callbacks with nodes as parameter leak memory). (cmb)
- Zip:
2020-02-03 17:09:12 +08:00
. Add ZipArchive::CM_LZMA2 and ZipArchive::CM_XZ constants (since libzip 1.6.0). (Remi)
. Add ZipArchive::RDONLY (since libzip 1.0.0). (Remi)
. Add ZipArchive::ER_* missing constants. (Remi)
. Add ZipArchive::LIBZIP_VERSION constant. (Remi)
. Fixed bug #73119 (Wrong return for ZipArchive::addEmptyDir Method). (Remi)
2020-01-09 01:26:14 +08:00
23 Jan 2020, PHP 7.4.2
2019-12-11 00:55:36 +08:00
- Core:
. Preloading support on Windows has been disabled. (Nikita)
. Fixed bug #79022 (class_exists returns True for classes that are not ready
to be used). (Laruence)
. Fixed bug #78929 (plus signs in cookie values are converted to spaces).
(Alexey Kachalin)
. Fixed bug #78973 (Destructor during CV freeing causes segfault if opline
never saved). (Nikita)
. Fixed bug #78776 (Abstract method implementation from trait does not check
"static"). (Nikita)
. Fixed bug #78999 (Cycle leak when using function result as temporary).
(Dmitry)
. Fixed bug #79008 (General performance regression with PHP 7.4 on Windows).
(cmb)
. Fixed bug #79002 (Serializing uninitialized typed properties with __sleep
makes unserialize throw). (Nikita)
- CURL:
. Fixed bug #79033 (Curl timeout error with specific url and post). (cmb)
. Fixed bug #79063 (curl openssl does not respect PKG_CONFIG_PATH). (Nikita)
- Date:
. Fixed bug #79015 (undefined-behavior in php_date.c). (cmb)
- DBA:
. Fixed bug #78808 ([LMDB] MDB_MAP_FULL: Environment mapsize limit reached).
(cmb)
2019-12-31 00:22:50 +08:00
- Exif:
. Fixed bug #79046 (NaN to int cast undefined behavior in exif). (Nikita)
- Fileinfo:
. Fixed bug #74170 (locale information change after mime_content_type).
(Sergei Turchanov)
- GD:
. Fixed bug #79067 (gdTransformAffineCopy() may use unitialized values). (cmb)
. Fixed bug #79068 (gdTransformAffineCopy() changes interpolation method).
(cmb)
- Libxml:
. Fixed bug #79029 (Use After Free's in XMLReader / XMLWriter). (Laruence)
- OPcache:
. Fixed bug #78961 (erroneous optimization of re-assigned $GLOBALS). (Dmitry)
. Fixed bug #78950 (Preloading trait method with static variables). (Nikita)
. Fixed bug #78903 (Conflict in RTD key for closures results in crash).
(Nikita)
. Fixed bug #78986 (Opcache segfaults when inheriting ctor from immutable
into mutable class). (Nikita)
. Fixed bug #79040 (Warning Opcode handlers are unusable due to ASLR). (cmb)
. Fixed bug #79055 (Typed property become unknown with OPcache file cache).
(Nikita)
2019-12-11 00:55:36 +08:00
- Pcntl:
. Fixed bug #78402 (Converting null to string in error message is bad DX).
(SATŌ Kentarō)
- PDO_PgSQL:
. Fixed bug #78983 (pdo_pgsql config.w32 cannot find libpq-fe.h). (SATŌ
Kentarō)
. Fixed bug #78980 (pgsqlGetNotify() overlooks dead connection). (SATŌ
Kentarō)
. Fixed bug #78982 (pdo_pgsql returns dead persistent connection). (SATŌ
Kentarō)
- Session:
. Fixed bug #79031 (Session unserialization problem). (Nikita)
- Shmop:
. Fixed bug #78538 (shmop memory leak). (cmb)
2020-01-03 17:40:51 +08:00
- Sqlite3:
. Fixed bug #79056 (sqlite does not respect PKG_CONFIG_PATH during
compilation). (Nikita)
- Spl:
. Fixed bug #78976 (SplFileObject::fputcsv returns -1 on failure). (cmb)
- Standard:
. Fixed bug #79000 (Non-blocking socket stream reports EAGAIN as error).
(Nikita)
. Fixed bug #54298 (Using empty additional_headers adding extraneous CRLF).
(cmb)
2019-12-18 21:18:03 +08:00
18 Dec 2019, PHP 7.4.1
2019-11-15 19:06:17 +08:00
- Core:
. Fixed bug #78810 (RW fetches do not throw "uninitialized property"
exception). (Nikita)
. Fixed bug #78868 (Calling __autoload() with incorrect EG(fake_scope) value).
(Antony Dovgal, Dmitry)
. Fixed bug #78296 (is_file fails to detect file). (cmb)
. Fixed bug #78883 (fgets(STDIN) fails on Windows). (cmb)
2019-12-04 16:40:48 +08:00
. Fixed bug #78898 (call_user_func(['parent', ...]) fails while other
succeed). (Nikita)
. Fixed bug #78904 (Uninitialized property triggers __get()). (Nikita)
. Fixed bug #78926 (Segmentation fault on Symfony cache:clear). (Nikita)
2019-11-15 19:06:17 +08:00
- GD:
. Fixed bug #78849 (GD build broken with -D SIGNED_COMPARE_SLOW). (cmb)
. Fixed bug #78923 (Artifacts when convoluting image with transparency).
(wilson chen)
2019-11-17 22:52:36 +08:00
- FPM:
. Fixed bug #76601 (Partially working php-fpm ater incomplete reload).
(Maksim Nikulin)
. Fixed bug #78889 (php-fpm service fails to start). (Jakub Zelenka)
. Fixed bug #78916 (php-fpm 7.4.0 don't send mail via mail()).
(Jakub Zelenka)
2019-11-17 22:52:36 +08:00
- Intl:
. Implemented FR #78912 (INTL Support for accounting format). (cmb)
- Mysqlnd:
. Fixed bug #78823 (ZLIB_LIBS not added to EXTRA_LIBS). (Arjen de Korte)
- OPcache:
2019-11-18 19:36:01 +08:00
. Fixed $x = (bool)$x; with opcache (should emit undeclared variable notice).
(Tyson Andre)
. Fixed bug #78935 (Preloading removes classes that have dependencies).
(Nikita, Dmitry)
- PCRE:
. Fixed bug #78853 (preg_match() may return integer > 1). (cmb)
- Reflection:
. Fixed bug #78895 (Reflection detects abstract non-static class as abstract
static. IS_IMPLICIT_ABSTRACT is not longer used). (Dmitry)
- Standard:
. Fixed bug #77638 (var_export'ing certain class instances segfaults). (cmb)
. Fixed bug #78840 (imploding $GLOBALS crashes). (cmb)
. Fixed bug #78833 (Integer overflow in pack causes out-of-bound access).
(cmb)
. Fixed bug #78814 (strip_tags allows / in tag name => whitelist bypass).
(cmb)
2019-11-05 23:56:19 +08:00
2019-11-24 17:23:33 +08:00
28 Nov 2019, PHP 7.4.0
2019-10-29 16:50:32 +08:00
- Core:
2019-11-24 17:23:33 +08:00
. Implemented RFC: Deprecate curly brace syntax for accessing array elements
and string offsets.
https://wiki.php.net/rfc/deprecate_curly_braces_array_access (Andrey Gromov)
. Implemented RFC: Deprecations for PHP 7.4.
https://wiki.php.net/rfc/deprecations_php_7_4 (Kalle, Nikita)
. Fixed bug #52752 (Crash when lexing). (Nikita)
. Fixed bug #60677 (CGI doesn't properly validate shebang line contains #!).
(Nikita)
2019-11-24 17:23:33 +08:00
. Fixed bug #71030 (Self-assignment in list() may have inconsistent behavior).
(Nikita)
2019-11-24 17:23:33 +08:00
. Fixed bug #72530 (Use After Free in GC with Certain Destructors). (Nikita)
. Fixed bug #75921 (Inconsistent: No warning in some cases when stdObj is
created on the fly). (David Walker)
. Implemented FR #76148 (Add array_key_exists() to the list of specially
compiled functions). (Majkl578)
. Fixed bug #76430 (__METHOD__ inconsistent outside of method).
(Ryan McCullagh, Nikita)
. Fixed bug #76451 (Aliases during inheritance type checks affected by
opcache). (Nikita)
. Implemented FR #77230 (Support custom CFLAGS and LDFLAGS from environment).
(cmb)
2019-11-24 17:23:33 +08:00
. Fixed bug #77345 (Stack Overflow caused by circular reference in garbage
collection). (Alexandru Patranescu, Nikita, Dmitry)
. Fixed bug #77812 (Interactive mode does not support PHP 7.3-style heredoc).
(cmb, Nikita)
2019-11-24 17:23:33 +08:00
. Fixed bug #77877 (call_user_func() passes $this to static methods).
(Dmitry)
. Fixed bug #78066 (PHP eats the first byte of a program that comes from
process substitution). (Nikita)
2019-06-13 15:37:30 +08:00
. Fixed bug #78151 (Segfault caused by indirect expressions in PHP 7.4a1).
(Nikita)
2019-06-13 16:59:01 +08:00
. Fixed bug #78154 (SEND_VAR_NO_REF does not always send reference). (Nikita)
2019-06-19 22:35:12 +08:00
. Fixed bug #78182 (Segmentation fault during by-reference property
assignment). (Nikita)
2019-11-24 17:23:33 +08:00
. Fixed bug #78212 (Segfault in built-in webserver). (cmb)
. Fixed bug #78220 (Can't access OneDrive folder). (cmb, ab)
. Fixed bug #78226 (Unexpected __set behavior with typed properties). (Nikita)
. Fixed bug #78239 (Deprecation notice during string conversion converted to
exception hangs). (Nikita)
. Fixed bug #78335 (Static properties/variables containing cycles report as
leak). (Nikita)
. Fixed bug #78340 (Include of stream wrapper not reading whole file).
(Nikita)
2019-11-24 17:23:33 +08:00
. Fixed bug #78344 (Segmentation fault on zend_check_protected). (Nikita)
. Fixed bug #78356 (Array returned from ArrayAccess is incorrectly unpacked
as argument). (Nikita)
. Fixed bug #78379 (Cast to object confuses GC, causes crash). (Dmitry)
. Fixed bug #78386 (fstat mode has unexpected value on PHP 7.4). (cmb)
. Fixed bug #78396 (Second file_put_contents in Shutdown hangs script).
(Nikita)
. Fixed bug #78406 (Broken file includes with user-defined stream filters).
(Nikita)
. Fixed bug #78438 (Corruption when __unserializing deeply nested structures).
(cmb, Nikita)
. Fixed bug #78441 (Parse error due to heredoc identifier followed by digit).
(cmb)
. Fixed bug #78454 (Consecutive numeric separators cause OOM error).
(Theodore Brown)
. Fixed bug #78460 (PEAR installation failure). (Peter Kokot, L. Declercq)
. Fixed bug #78531 (Crash when using undefined variable as object). (Dmitry)
. Fixed bug #78535 (auto_detect_line_endings value not parsed as bool).
(bugreportuser)
. Fixed bug #78604 (token_get_all() does not properly tokenize FOO<?php with
short_open_tag=0). (Nikita)
. Fixed bug #78614 (Does not compile with DTRACE anymore).
(tz at FreeBSD dot org)
. Fixed bug #78620 (Out of memory error). (cmb, Nikita)
. Fixed bug #78632 (method_exists() in php74 works differently from php73 in
checking priv. methods). (Nikita)
. Fixed bug #78644 (SEGFAULT in ZEND_UNSET_OBJ_SPEC_VAR_CONST_HANDLER).
(Nikita)
. Fixed bug #78658 (Memory corruption using Closure::bindTo). (Nikita)
. Fixed bug #78656 (Parse errors classified as highest log-level). (Erik
Lundin)
. Fixed bug #78662 (stream_write bad error detection). (Remi)
. Fixed bug #78768 (redefinition of typedef zend_property_info). (Nikita)
. Fixed bug #78788 (./configure generates invalid php_version.h). (max)
. Fixed incorrect usage of QM_ASSIGN instruction. It must not return IS_VAR.
As a side effect, this allowed passing left hand list() "by reference",
instead of compile-time error. (Dmitry)
2019-05-03 04:34:46 +08:00
- CLI:
. The built-in CLI server now reports the request method in log files.
(Simon Welsh)
- COM:
. Deprecated registering of case-insensitive constants from typelibs. (cmb)
2019-11-24 17:23:33 +08:00
. Fixed bug #78650 (new COM Crash). (cmb)
. Fixed bug #78694 (Appending to a variant array causes segfault). (cmb)
2018-09-18 08:31:07 +08:00
- CURL:
. Fixed bug #76480 (Use curl_multi_wait() so that timeouts are respected).
(Pierrick)
. Implemented FR #77711 (CURLFile should support UNICODE filenames). (cmb)
. Deprecated CURLPIPE_HTTP1. (cmb)
. Deprecated $version parameter of curl_version(). (cmb)
2018-08-28 16:17:33 +08:00
2018-10-10 18:00:57 +08:00
- Date:
2019-11-24 17:23:33 +08:00
. Updated timelib to 2018.02. (Derick)
. Fixed bug #69044 (discrepency between time and microtime). (krakjoe)
. Fixed bug #70153 (\DateInterval incorrectly unserialized). (Maksim Iakunin)
2018-10-10 18:00:57 +08:00
. Fixed bug #75232 (print_r of DateTime creating side-effect). (Nikita)
2019-11-24 17:23:33 +08:00
. Fixed bug #78383 (Casting a DateTime to array no longer returns its
properties). (Nikita)
. Fixed bug #78751 (Serialising DatePeriod converts DateTimeImmutable). (cmb)
2018-10-10 18:00:57 +08:00
2019-11-24 17:23:33 +08:00
- Exif:
. Fixed bug #78333 (Exif crash (bus error) due to wrong alignment and
invalid cast). (Nikita)
. Fixed bug #78256 (heap-buffer-overflow on exif_process_user_comment).
(CVE-2019-11042) (Stas)
. Fixed bug #78222 (heap-buffer-overflow on exif_scan_thumbnail).
(CVE-2019-11041) (Stas)
2019-01-14 16:47:50 +08:00
2019-11-24 17:23:33 +08:00
- Fileinfo:
2019-05-30 19:59:21 +08:00
. Fixed bug #78075 (finfo_file treats JSON file as text/plain). (Anatol)
2019-11-24 17:23:33 +08:00
. Fixed bug #78183 (finfo_file shows wrong mime-type for .tga file).
(Anatol)
2019-05-30 19:59:21 +08:00
- Filter:
2019-11-24 17:23:33 +08:00
. The filter extension no longer has the --with-pcre-dir on Unix builds,
allowing the extension to be once more compiled as shared using
./configure. (Kalle)
2019-11-24 17:23:33 +08:00
- FFI:
. Added FFI extension. (Dmitry)
. Fixed bug #78488 (OOB in ZEND_FUNCTION(ffi_trampoline)). (Dmitry)
. Fixed bug #78543 (is_callable() on FFI\CData throws Exception). (cmb)
. Fixed bug #78716 (Function name mangling is wrong for some parameter
types). (cmb)
. Fixed bug #78762 (Failing FFI::cast() may leak memory). (cmb)
. Fixed bug #78761 (Zend memory heap corruption with preload and casting).
(cmb)
. Implement FR #78270 (Support __vectorcall convention with FFI). (cmb)
. Added missing FFI::isNull(). (Philip Hofstetter)
- FPM:
. Implemented FR #72510 (systemd service should be hardened). (Craig Andrews)
2019-11-24 17:23:33 +08:00
. Fixed bug #74083 (master PHP-fpm is stopped on multiple reloads).
(Maksim Nikulin)
. Fixed bug #78334 (fpm log prefix message includes wrong stdout/stderr
notation). (Tsuyoshi Sadakata)
. Fixed bug #78599 (env_path_info underflow in fpm_main.c can lead to RCE).
(CVE-2019-11043) (Jakub Zelenka)
- GD:
. Implemented the scatter filter (IMG_FILTER_SCATTER). (Kalle)
. The bundled libgd behaves now like system libgd wrt. IMG_CROP_DEFAULT never
falling back to IMG_CROP_SIDES.
. The default $mode parameter of imagecropauto() has been changed to
IMG_CROP_DEFAULT; passing -1 is now deprecated.
. Added support for aspect ratio preserving scaling to a fixed height for
imagescale(). (Andreas Treichel)
2019-11-24 17:23:33 +08:00
. Added TGA read support. (cmb)
. Fixed bug #73291 (imagecropauto() $threshold differs from external libgd).
(cmb)
. Fixed bug #76324 (cannot detect recent versions of freetype with
pkg-config). (Eli Schwartz)
. Fixed bug #78314 (missing freetype support/functions with external gd).
(Remi)
- GMP:
. Fixed bug #78574 (broken shared build). (Remi)
- Hash:
. The hash extension is now an integral part of PHP and cannot be disabled
as per RFC: https://wiki.php.net/rfc/permanent_hash_ext. (Kalle)
. Implemented FR #71890 (crc32c checksum algorithm). (Andrew Brampton)
2019-11-24 17:23:33 +08:00
- Iconv:
. Fixed bug #78342 (Bus error in configure test for iconv //IGNORE). (Rainer
Jung)
. Fixed bug #78642 (Wrong libiconv version displayed). (gedas at martynas,
cmb).
- Libxml:
. Fixed bug #78279 (libxml_disable_entity_loader settings is shared between
requests (cgi-fcgi)). (Nikita)
2019-05-02 04:38:17 +08:00
- InterBase:
2019-05-02 04:35:30 +08:00
. Unbundled the InterBase extension and moved it to PECL. (Kalle)
- Intl:
. Raised requirements to ICU ≥ 50.1. (cmb)
. Changed ResourceBundle to implement Countable. (LeSuisse)
. Changed default of $variant parameter of idn_to_ascii() and idn_to_utf8().
(cmb)
- LDAP:
. Deprecated ldap_control_paged_result_response and ldap_control_paged_result
2019-11-24 17:23:33 +08:00
- LiteSpeed:
. Updated to LiteSpeed SAPI V7.5 (Fixed clean shutdown). (George Wang)
. Updated to LiteSpeed SAPI V7.4.3 (increased response header count limit from
100 to 1000, added crash handler to cleanly shutdown PHP request, added
CloudLinux mod_lsapi mode). (George Wang)
. Fixed bug #76058 (After "POST data can't be buffered", using php://input
makes huge tmp files). (George Wang)
- MBString:
. Fixed bug #77907 (mb-functions do not respect default_encoding). (Nikita)
2019-11-24 17:23:33 +08:00
. Fixed bug #78579 (mb_decode_numericentity: args number inconsistency).
(cmb)
. Fixed bug #78609 (mb_check_encoding() no longer supports stringable
objects). (cmb)
- MySQLi:
. Fixed bug #67348 (Reading $dbc->stat modifies $dbc->affected_rows).
(Derick)
. Fixed bug #76809 (SSL settings aren't respected when persistent connections
are used). (fabiomsouto)
. Fixed bug #78179 (MariaDB server version incorrectly detected). (cmb)
. Fixed bug #78213 (Empty row pocket). (cmb)
- MySQLnd:
. Fixed connect_attr issues and added the _server_host connection attribute.
(Qianqian Bu)
. Fixed bug #60594 (mysqlnd exposes 160 lines of stats in phpinfo). (PeeHaa)
- ODBC:
. Fixed bug #78473 (odbc_close() closes arbitrary resources). (cmb)
Implemented preloading RFC: https://wiki.php.net/rfc/preload. Squashed commit of the following: commit 106c815fffb8eb3efe00a27a5229cb1f8ffc9736 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Nov 14 16:36:44 2018 +0300 Added NEWS entry commit 1dacd5e20b7043368ef9e80db296d1781134b6fd Merge: d516139abf ba99aa133c Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Nov 14 16:33:37 2018 +0300 Merge branch 'master' into preload * master: Fixed issues related to optimization and persitence of classes linked with interfaces, traits or internal classes. Added possiblity to avoid signal handlers reinitialization on each request. commit d516139abf5ffbd495ee6037f1dc04a1cfe588a7 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Nov 14 16:13:15 2018 +0300 Override opcache.preload for testing commit 162b154d0bbfbaf8ef93975f7e56a1353236903d Merge: 45fdd034ce 8bda22592e Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Nov 14 15:38:09 2018 +0300 Merge branch 'master' into preload * master: (34 commits) Eliminate useless $this related check Eliminate useless $this related checks Replace zend_parse_method_parameters() by zend_parse_parameters() and avoid useless checks. Replace getThis() by EX(This), when additional check is not necessary. Fixed tests Validate length on socket_write Fix compilation on x32 Fix #77141: Signedness issue in SOAP when precision=-1 Support SQLite3 @name notation Remove lexer files generated by RE2C Update libmagic.patch [ci skip] Update libmagic.patch [ci skip] Fork test with pcre.jit=0 Rework magic data Fix regex Fix regex Rework magic data Sync one more upstream libmagic piece Suppress already used warning Ignore getaddrinfo failed message ... commit 45fdd034ceceb68e8fb23bd6e70d627f17dfd411 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Nov 9 13:07:03 2018 +0300 Properly resolve magic method of preloaded classes inherited from internal ones. commit 34645aeb4272b71a81a7e0d91f27eded557b78be Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Nov 8 15:29:17 2018 +0300 Don't preload constants defined during preload script excution. commit cef0d67c3e5aac89b3d606fbd8d445225c07c83f Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Nov 7 15:56:54 2018 +0300 Support for class aliasses commit 08ffc9a552c7cf4fbff1a4b3d2de4e7c33f4120d Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Nov 7 15:34:39 2018 +0300 Resolve constants only in linked classes commit 8d3429cda83c87646eef0006d5cda075f2400b24 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Nov 6 11:56:39 2018 +0300 Fixed preloading of references to internal classes. commit 7ae3a47d20e83f7d804506c6d50f6a392199260b Merge: 9b0a53ed1c 049f239cfc Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Nov 6 11:37:15 2018 +0300 Merge branch 'master' into preload * master: Update NEWS [ci skip] Update NEWS [ci skip] Update libmagic.patch [ci skip] Update libmagic.patch [ci skip] Declare function proto in header Declare function proto in header Fix #76825: Undefined symbols ___cpuid_count NEWS Fix: #77110 undefined symbol zend_string_equal_val in C++ build Fix #77105: Use position:sticky for <th> in `phpinfo()` Implement handling for JIT recognition when cross compiling Backport 7f5f4601 for 7.2 Fix #76348: WSDL_CACHE_MEMORY causes Segmentation fault Rework places in libmagic regarding previous CVE-2014-3538 fixes Change the way JIT availability is checked Fix a test for ldap extension Fixed bug #77092 Future-proof email addresses commit 9b0a53ed1cd5995efae0d71e1941d1db4ef6ba39 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Nov 2 14:54:44 2018 +0300 We don't need preload_restart() here commit 0bd17bd43890423e1e98a5925f11cea93da3df55 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Nov 2 14:44:30 2018 +0300 EG(*) may be not initializd at this point - use CG(*). commit b610467051d8a3687a60ffc2957bc353cb6b3bd4 Merge: 3a9d90f74a 67e0138c0d Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Nov 2 11:33:37 2018 +0300 Merge branch 'master' into preload * master: Future-proof email addresses... Update email addresses. We're still @Zend, but future proofing it... commit 3a9d90f74a3d890cb59658d604d5a202e3aee256 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Nov 1 15:19:48 2018 +0300 Fexed resolution of method clones commit aea85c65bd1795d0750dee6ac0e476acd2ac9dd7 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Nov 1 11:45:50 2018 +0300 Prevent inlining of method copied from trait commit 36b644fbb738e7548ccb436e5d04d653d93cce14 Merge: 7a20781d2e b91690c892 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Nov 1 10:56:02 2018 +0300 Merge branch 'master' into preload * master: Fix stray newline that caused this test to fail Fix session tests that fail if error_log is set This test needs to log to stdout Fix error condition Fixed bug #77081 ftruncate() changes seek pointer in c mode Fix and improve test case commit 7a20781d2ee694262f913a612d8b0b6a24ceff7b Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 31 00:52:46 2018 +0300 Added test commit 4a57b5d563f9c9616f3c236f57ccd09d8a66f146 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 31 00:50:21 2018 +0300 Fixed preloading of classes linked with traits commit 68c4f99e23695e74eafa43097ecab62392bad3ee Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Oct 30 16:25:14 2018 +0300 Added test commit 38ab7ef4cf429dcfd5dfb18f844242cdf3a4d61f Merge: eb6e2c529f bf38e6c10a Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Oct 30 16:14:39 2018 +0300 Merge branch 'master' into preload * master: Keep original value of "prototype" commit eb6e2c529f8cedf6823346387dd8b0ba6a4f045b Merge: 562049510f 2fefa8c61e Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Oct 30 15:35:39 2018 +0300 Merge branch 'master' into preload * master: Call function_add_ref() in proper place Updated to version 2018.7 (2018g) Updated to version 2018.7 (2018g) Updated to version 2018.7 (2018g) Reslove inherited op_array references once afrer all optimizations. commit 562049510f605c21cd46fc3b6f97ed15bfe7b0dc Merge: e806cb732a 4828fb7b6b Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Oct 30 10:29:49 2018 +0300 Merge branch 'master' into preload * master: [ci skip] Update NEWS [ci skip] Update NEWS [ci skip] Update NEWS fix bug #77079 Add missing null initialization Remove redundant mbfl_string_init calls Use zend_string for mbstring last encoding cache commit e806cb732a2a3f1e409528988a0571421c541078 Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 29 22:32:15 2018 +0300 Fixed double-free commit 2f697ef8af0e7b21c47707b2d688880e8c987a8b Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 29 22:07:32 2018 +0300 typo commit c559f22b3e61b38761831d9610889d28ba6875e0 Merge: 310631cc05 ea2e67876a Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 29 21:59:27 2018 +0300 Merge branch 'master' into preload * master: Stop Apache if PHP wasn't started successful. Execute zend_post_startup() with module_initialized flag set. Removed dead code Fix mb_strrpos() with encoding passed as 3rd param commit 310631cc0565ac87091c4f1a8a9f739a13e7e778 Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 29 16:48:42 2018 +0300 Stop Apache if PHP wasn't started successful. commit 0a24d7ba8f3280507c9663b32e14030212cf8491 Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 29 16:25:49 2018 +0300 Avoid use-after-free in main thread commit 17a3cb4a2ab271c2b2357c04e36efa64e02444ff Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 29 15:25:17 2018 +0300 Execute zend_post_startup() with module_initialized flag set. commit 6d4b22c518bec956e9632fad4329360304d17fd7 Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 29 14:12:20 2018 +0300 Override SAPI.ub_write and SAPI.flush for preloading commit 386c9d3470168f70afe5d3b72a58ea0c0da1519c Merge: d7fbb4d402 359f19edc9 Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 29 13:49:24 2018 +0300 Merge branch 'master' into preload * master: Optimize substr() edge-case conditions [ci skip] Update UPGRADING Fix #71592: External entity processing never fails Add TIDY_TAG_* constants supported by libtidy 5 Add is_iterable to opcache Optimizer commit d7fbb4d402a18c8fd1c49e0c92afd9f9e513bc7a Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Oct 26 13:11:54 2018 +0300 Restore preload state if it was already loaded in another process. commit 0fe9ea1c07822b5d4672cece2c180bf9795e16e4 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Oct 26 12:29:06 2018 +0300 Removed dead code commit 3a2d1bcc1fd27b6983522c262931fc0187c0afef Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Oct 26 00:19:40 2018 +0300 Support for builds without ZEND_SIGNALS commit e6b76ecb4beea3b922bf7529050e3828f745dedb Merge: 4531fbf931 68694c9997 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Oct 25 23:43:25 2018 +0300 Merge branch 'master' into preload * master: Don't wrap php_module_shutdown() with zend_try. executor_globals are released in ZTS build, and this leads to crash. [ci skip] Fix indentation in UPGRADING. commit 4531fbf9310bfb7bb579134cc84e8c10c5d42059 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Oct 25 22:44:49 2018 +0300 Disable linking and preloading of classes those parent or one of interface or trait is an internal class. commit a594a618ce98242c1d273eb9ede75b4f6b4635d8 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Oct 25 22:30:51 2018 +0300 Cleanup - remove useless ZCSG(saved_map_ptr_last) - move preloaded classes/functions clean-up code back into better place commit ab9a40f63cfa1a205b8f853b7e0c2ce61edabb32 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Oct 25 20:52:51 2018 +0300 Added support for preloaded classes/functions in ZTS build commit e3c65db099517082b66dd20ea57e1bda649a7aa5 Merge: 4f57c1e029 33e777acbf Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Oct 25 20:52:26 2018 +0300 Merge branch 'master' into preload * master: Improved shared interned strings handling. The previous implementation worked incorrectly in ZTS build. It changed strings only in function/class tables of one thread. Now all threads gets the same shared interned strings. Also, on shutdown, we don't try to replace SHM interned strings back to process strings, but delay dettachment of SHM instead. Don't use request heap at shutdown Don't optimize function if inference failed Fixed bug #77058 Improve "narrowing" error message bump versions commit 4f57c1e029ce9c24bd699ea61b05973c4665bc32 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Oct 25 15:29:58 2018 +0300 Cleanup (move preload_shutdown() call to better place) commit 26587a95c071cf9dd098199eb3708fca8adae243 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Oct 25 14:30:51 2018 +0300 eol commit d70cb10480fdc7d814495150cd48e43d4147138f Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Oct 25 14:30:20 2018 +0300 cleanup commit aabe685dbb887e91c240b6c5553193889bcfc540 Merge: d9fc51bc3b 40808ac41e Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Oct 25 12:42:51 2018 +0300 Merge branch 'master' into preload * master: Remove unused var Remove ext/json parser files generated by bison Fix run-tests.php for running phpdbg and certain test sections Normalize .gitignore commit d9fc51bc3bdfbd7f4149a884b09e3c09a41f7a8d Merge: b5ffba0faf b6ef8998d5 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 24 15:59:24 2018 +0300 Merge branch 'master' into preload * master: Fixed reseting of interned strings buffer. commit b5ffba0fafb4d940336d5f5fe93950dad1d8d779 Merge: e4a7ef0c43 a404383118 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 24 12:46:28 2018 +0300 Merge branch 'master' into preload * master: Fixed build in directory different from source commit e4a7ef0c431ec97cdd00e44dfa0ef17887d1e5e3 Merge: 811f20aaa5 d1e14e2cc0 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 24 11:59:43 2018 +0300 Merge branch 'master' into preload * master: (29 commits) Make php_plain_files_wrapper to be writable (workaround for swoole) Remove phpdbg parser files generated by bison Fix conflicts in phpdbg parser Refetetch function name on exceptional path to allow better code on fast code path. fix typo in sysvsem.c Fixed bug #50675 bump to 7.2.13-dev [ci skip] Update NEWS wrt. php-7.3.0RC4 tagging Inlining in the most frequently used code paths Fixed test failurs introduced by 9c144e0d8217d1ef7a83c2498214308b21af749f Use persistent strings only for persistent connections Fix accessibility checks for dynamic properties Updated to version 2018.6 (2018f) Updated to version 2018.6 (2018f) Updated to version 2018.6 (2018f) Fix arginfo and clean up fpm_get_status Defragment two Zend related Makefile fragments together [ci skip] Remove automake and aclocal in comments Fix #75282: xmlrpc_encode_request() crashes Fix tests for ICU 63.1 ... commit 811f20aaa5030035666d9f325dd7c64632c70a50 Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 22 14:10:49 2018 +0300 Added information about preloading to opcache_get_status() commit 093e8b1bbffdc07d217a543613ea14c3eeac710e Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Oct 19 13:46:23 2018 +0300 Added warning message commit a2ba970ce3d0ac51ebfbe1bfc2dc7b99b9750a75 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Oct 19 13:35:40 2018 +0300 Added test commit b67e28367c11db50360e664a7ad6ac95b393f2e4 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Oct 19 13:33:12 2018 +0300 Don't preload functions declared at run-time. commit b0139dc22854ee000586ef83c149d7d25181da60 Merge: a609520adb 3fe698b904 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Oct 19 13:23:14 2018 +0300 Merge branch 'master' into preload * master: Mark "top-level" functions. Don't initialize static_member_tables during start-up, when inherit internal classes. [ci skip] Update NEWS [ci skip] Update NEWS [ci skip] Update NEWS Fix #77035: The phpize and ./configure create redundant .deps file Remove outdated PEAR artefacts Fix tests/output/bug74815.phpt generating errors.log Revert "Use C++ symbols, when C++11 or upper is compiled" Use C++ symbols, when C++11 or upper is compiled Added new line Remove stamp-h Move all testing docs to qa.php.net Fix a typo in UPGRADING.INTERNALS Fix test when it's run on another drive [ci skip] Update UPGRADING wrt. tidyp support Fixed incorrect reallocation Fix #77027: tidy::getOptDoc() not available on Windows Run CI tests under opcache.protect_memory=1 commit a609520adbc0bf12701d467bae4a016fde43231e Merge: ac8f45f61b b6ac50f9e6 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 17:01:05 2018 +0300 Merge branch 'master' into preload * master: Fixed comment Micro optimizations Mark "top-level" classes commit ac8f45f61b561af9aee629232bc3705143ceaac3 Merge: 632b30b545 d57cd36e47 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 15:53:41 2018 +0300 Merge branch 'master' into preload * master: Immutable clases and op_arrays. commit 632b30b5451c8fdf0879a3ba4d937ff4ecfc8ce7 Merge: d33908a99a cd0c36c3f9 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 15:04:43 2018 +0300 Merge branch 'immutable' into preload * immutable: Remove the "auto" encoding Fixed bug #77025 Add vtbls for EUC-TW encoding commit cd0c36c3f943849e5b97a8dbe2dd029fbeab3df9 Merge: 4740dabb84 ad6738e886 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 14:43:38 2018 +0300 Merge branch 'master' into immutable * master: Remove the "auto" encoding Fixed bug #77025 Add vtbls for EUC-TW encoding commit d33908a99a3c746f188e268df3db541591f6fcc2 Merge: 21e0bebca3 4740dabb84 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 14:14:23 2018 +0300 Merge branch 'immutable' into preload * immutable: Reverted back ce->iterator_funcs_ptr. Initialize ce->iterator_funcs_ptr fields in immutable classes. commit 4740dabb843c6d4f7f866b4a2456073c9eaf4c77 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 14:12:28 2018 +0300 Reverted back ce->iterator_funcs_ptr. Initialize ce->iterator_funcs_ptr fields in immutable classes. commit 21e0bebca3e6fff3c3484ee46f9aa3ac4e98eaeb Merge: c78277ae84 ad7a78b253 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 12:29:59 2018 +0300 Merge branch 'immutable' into preload * immutable: Added comment Added type cast Moved static class members initialization into the proper place. Removed redundand assertion Removed duplicate code Hide offset encoding magic in ZEND_MAP_PTR_IS_OFFSET(), ZEND_MAP_PTR_OFFSET2PTR() and ZEND_MAP_PTR_PTR2OFFSET() macros. typo Remove unused variable makefile_am_files Classify object handlers are required/optional Add support for getting SKIP_TAGSTART and SKIP_WHITE options Remove some obsolete config_vars.mk occurrences Remove bsd_converted from .gitignore Remove configuration parser and scanners ignores Remove obsolete buildconf.stamp from .gitignore [ci skip] Add magicdata.patch exception to .gitignore Remove outdated ext/spl/examples items from .gitignore Remove unused test.inc in ext/iconv/tests commit ad7a78b253be970db70c2251e66f9297d8e7f829 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:46:30 2018 +0300 Added comment commit 0276ea51875bab37be01a4dc5e5a047c5698c571 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:42:43 2018 +0300 Added type cast commit c63fc5d5f19c58498108d1698055b2b442227eb3 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:36:51 2018 +0300 Moved static class members initialization into the proper place. commit b945548e9306b1826c881918858b5e5aa3eb3002 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:21:03 2018 +0300 Removed redundand assertion commit d5a41088401814c829847db212488f8aae39bcd2 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:19:13 2018 +0300 Removed duplicate code commit 8dadca8864e66de70a24bdf1181bcf7dd8fb27d7 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:05:43 2018 +0300 Hide offset encoding magic in ZEND_MAP_PTR_IS_OFFSET(), ZEND_MAP_PTR_OFFSET2PTR() and ZEND_MAP_PTR_PTR2OFFSET() macros. commit 9ef07c88bd76801e2d4fbfeab3ebfd6e6a67ac5f Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 10:48:29 2018 +0300 typo commit a06f0f3d3aba53e766046221ee44fb9720389ecc Merge: 94099586ec 3412345ffe Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 10:47:07 2018 +0300 Merge branch 'master' into immutable * master: Remove unused variable makefile_am_files Classify object handlers are required/optional Add support for getting SKIP_TAGSTART and SKIP_WHITE options Remove some obsolete config_vars.mk occurrences Remove bsd_converted from .gitignore Remove configuration parser and scanners ignores Remove obsolete buildconf.stamp from .gitignore [ci skip] Add magicdata.patch exception to .gitignore Remove outdated ext/spl/examples items from .gitignore Remove unused test.inc in ext/iconv/tests commit c78277ae84b21067744d1701949e4e1fadd8872a Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Oct 16 17:25:35 2018 +0300 Preloadsing support for opcache restart commit f76a955c02f6a033d4656d5e0d9dad9a8e83cc86 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Oct 16 13:52:36 2018 +0300 Fixed incorrect signal handlers overriding commit 0810ce0d8165d4b752267f035f9fa0aaa1698ceb Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 15 23:38:48 2018 +0300 An attempt to implemnt "preloading" ability. commit 94099586ec599117581ca01c15b1f6c5f749e23a Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 15 23:34:01 2018 +0300 Immutable clases and op_arrays
2018-11-14 21:46:05 +08:00
- Opcache:
. Implemented preloading RFC: https://wiki.php.net/rfc/preload. (Dmitry)
2019-11-24 17:23:33 +08:00
. Add opcache.preload_user INI directive. (Dmitry)
. Added new INI directive opcache.cache_id (Windows only). (cmb)
. Fixed bug #78106 (Path resolution fails if opcache disabled during request).
(Nikita)
. Fixed bug #78175 (Preloading segfaults at preload time and at runtime).
(Dmitry)
. Fixed bug #78202 (Opcache stats for cache hits are capped at 32bit NUM).
(cmb)
. Fixed bug #78271 (Invalid result of if-else). (Nikita)
. Fixed bug #78341 (Failure to detect smart branch in DFA pass). (Nikita)
. Fixed bug #78376 (Incorrect preloading of constant static properties).
(Dmitry)
. Fixed bug #78429 (opcache_compile_file(__FILE__); segfaults). (cmb)
. Fixed bug #78512 (Cannot make preload work). (Dmitry)
. Fixed bug #78514 (Preloading segfaults with inherited typed property).
(Nikita)
. Fixed bug #78654 (Incorrectly computed opcache checksum on files with
non-ascii characters). (mhagstrand)
Implemented preloading RFC: https://wiki.php.net/rfc/preload. Squashed commit of the following: commit 106c815fffb8eb3efe00a27a5229cb1f8ffc9736 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Nov 14 16:36:44 2018 +0300 Added NEWS entry commit 1dacd5e20b7043368ef9e80db296d1781134b6fd Merge: d516139abf ba99aa133c Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Nov 14 16:33:37 2018 +0300 Merge branch 'master' into preload * master: Fixed issues related to optimization and persitence of classes linked with interfaces, traits or internal classes. Added possiblity to avoid signal handlers reinitialization on each request. commit d516139abf5ffbd495ee6037f1dc04a1cfe588a7 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Nov 14 16:13:15 2018 +0300 Override opcache.preload for testing commit 162b154d0bbfbaf8ef93975f7e56a1353236903d Merge: 45fdd034ce 8bda22592e Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Nov 14 15:38:09 2018 +0300 Merge branch 'master' into preload * master: (34 commits) Eliminate useless $this related check Eliminate useless $this related checks Replace zend_parse_method_parameters() by zend_parse_parameters() and avoid useless checks. Replace getThis() by EX(This), when additional check is not necessary. Fixed tests Validate length on socket_write Fix compilation on x32 Fix #77141: Signedness issue in SOAP when precision=-1 Support SQLite3 @name notation Remove lexer files generated by RE2C Update libmagic.patch [ci skip] Update libmagic.patch [ci skip] Fork test with pcre.jit=0 Rework magic data Fix regex Fix regex Rework magic data Sync one more upstream libmagic piece Suppress already used warning Ignore getaddrinfo failed message ... commit 45fdd034ceceb68e8fb23bd6e70d627f17dfd411 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Nov 9 13:07:03 2018 +0300 Properly resolve magic method of preloaded classes inherited from internal ones. commit 34645aeb4272b71a81a7e0d91f27eded557b78be Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Nov 8 15:29:17 2018 +0300 Don't preload constants defined during preload script excution. commit cef0d67c3e5aac89b3d606fbd8d445225c07c83f Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Nov 7 15:56:54 2018 +0300 Support for class aliasses commit 08ffc9a552c7cf4fbff1a4b3d2de4e7c33f4120d Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Nov 7 15:34:39 2018 +0300 Resolve constants only in linked classes commit 8d3429cda83c87646eef0006d5cda075f2400b24 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Nov 6 11:56:39 2018 +0300 Fixed preloading of references to internal classes. commit 7ae3a47d20e83f7d804506c6d50f6a392199260b Merge: 9b0a53ed1c 049f239cfc Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Nov 6 11:37:15 2018 +0300 Merge branch 'master' into preload * master: Update NEWS [ci skip] Update NEWS [ci skip] Update libmagic.patch [ci skip] Update libmagic.patch [ci skip] Declare function proto in header Declare function proto in header Fix #76825: Undefined symbols ___cpuid_count NEWS Fix: #77110 undefined symbol zend_string_equal_val in C++ build Fix #77105: Use position:sticky for <th> in `phpinfo()` Implement handling for JIT recognition when cross compiling Backport 7f5f4601 for 7.2 Fix #76348: WSDL_CACHE_MEMORY causes Segmentation fault Rework places in libmagic regarding previous CVE-2014-3538 fixes Change the way JIT availability is checked Fix a test for ldap extension Fixed bug #77092 Future-proof email addresses commit 9b0a53ed1cd5995efae0d71e1941d1db4ef6ba39 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Nov 2 14:54:44 2018 +0300 We don't need preload_restart() here commit 0bd17bd43890423e1e98a5925f11cea93da3df55 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Nov 2 14:44:30 2018 +0300 EG(*) may be not initializd at this point - use CG(*). commit b610467051d8a3687a60ffc2957bc353cb6b3bd4 Merge: 3a9d90f74a 67e0138c0d Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Nov 2 11:33:37 2018 +0300 Merge branch 'master' into preload * master: Future-proof email addresses... Update email addresses. We're still @Zend, but future proofing it... commit 3a9d90f74a3d890cb59658d604d5a202e3aee256 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Nov 1 15:19:48 2018 +0300 Fexed resolution of method clones commit aea85c65bd1795d0750dee6ac0e476acd2ac9dd7 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Nov 1 11:45:50 2018 +0300 Prevent inlining of method copied from trait commit 36b644fbb738e7548ccb436e5d04d653d93cce14 Merge: 7a20781d2e b91690c892 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Nov 1 10:56:02 2018 +0300 Merge branch 'master' into preload * master: Fix stray newline that caused this test to fail Fix session tests that fail if error_log is set This test needs to log to stdout Fix error condition Fixed bug #77081 ftruncate() changes seek pointer in c mode Fix and improve test case commit 7a20781d2ee694262f913a612d8b0b6a24ceff7b Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 31 00:52:46 2018 +0300 Added test commit 4a57b5d563f9c9616f3c236f57ccd09d8a66f146 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 31 00:50:21 2018 +0300 Fixed preloading of classes linked with traits commit 68c4f99e23695e74eafa43097ecab62392bad3ee Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Oct 30 16:25:14 2018 +0300 Added test commit 38ab7ef4cf429dcfd5dfb18f844242cdf3a4d61f Merge: eb6e2c529f bf38e6c10a Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Oct 30 16:14:39 2018 +0300 Merge branch 'master' into preload * master: Keep original value of "prototype" commit eb6e2c529f8cedf6823346387dd8b0ba6a4f045b Merge: 562049510f 2fefa8c61e Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Oct 30 15:35:39 2018 +0300 Merge branch 'master' into preload * master: Call function_add_ref() in proper place Updated to version 2018.7 (2018g) Updated to version 2018.7 (2018g) Updated to version 2018.7 (2018g) Reslove inherited op_array references once afrer all optimizations. commit 562049510f605c21cd46fc3b6f97ed15bfe7b0dc Merge: e806cb732a 4828fb7b6b Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Oct 30 10:29:49 2018 +0300 Merge branch 'master' into preload * master: [ci skip] Update NEWS [ci skip] Update NEWS [ci skip] Update NEWS fix bug #77079 Add missing null initialization Remove redundant mbfl_string_init calls Use zend_string for mbstring last encoding cache commit e806cb732a2a3f1e409528988a0571421c541078 Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 29 22:32:15 2018 +0300 Fixed double-free commit 2f697ef8af0e7b21c47707b2d688880e8c987a8b Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 29 22:07:32 2018 +0300 typo commit c559f22b3e61b38761831d9610889d28ba6875e0 Merge: 310631cc05 ea2e67876a Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 29 21:59:27 2018 +0300 Merge branch 'master' into preload * master: Stop Apache if PHP wasn't started successful. Execute zend_post_startup() with module_initialized flag set. Removed dead code Fix mb_strrpos() with encoding passed as 3rd param commit 310631cc0565ac87091c4f1a8a9f739a13e7e778 Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 29 16:48:42 2018 +0300 Stop Apache if PHP wasn't started successful. commit 0a24d7ba8f3280507c9663b32e14030212cf8491 Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 29 16:25:49 2018 +0300 Avoid use-after-free in main thread commit 17a3cb4a2ab271c2b2357c04e36efa64e02444ff Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 29 15:25:17 2018 +0300 Execute zend_post_startup() with module_initialized flag set. commit 6d4b22c518bec956e9632fad4329360304d17fd7 Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 29 14:12:20 2018 +0300 Override SAPI.ub_write and SAPI.flush for preloading commit 386c9d3470168f70afe5d3b72a58ea0c0da1519c Merge: d7fbb4d402 359f19edc9 Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 29 13:49:24 2018 +0300 Merge branch 'master' into preload * master: Optimize substr() edge-case conditions [ci skip] Update UPGRADING Fix #71592: External entity processing never fails Add TIDY_TAG_* constants supported by libtidy 5 Add is_iterable to opcache Optimizer commit d7fbb4d402a18c8fd1c49e0c92afd9f9e513bc7a Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Oct 26 13:11:54 2018 +0300 Restore preload state if it was already loaded in another process. commit 0fe9ea1c07822b5d4672cece2c180bf9795e16e4 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Oct 26 12:29:06 2018 +0300 Removed dead code commit 3a2d1bcc1fd27b6983522c262931fc0187c0afef Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Oct 26 00:19:40 2018 +0300 Support for builds without ZEND_SIGNALS commit e6b76ecb4beea3b922bf7529050e3828f745dedb Merge: 4531fbf931 68694c9997 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Oct 25 23:43:25 2018 +0300 Merge branch 'master' into preload * master: Don't wrap php_module_shutdown() with zend_try. executor_globals are released in ZTS build, and this leads to crash. [ci skip] Fix indentation in UPGRADING. commit 4531fbf9310bfb7bb579134cc84e8c10c5d42059 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Oct 25 22:44:49 2018 +0300 Disable linking and preloading of classes those parent or one of interface or trait is an internal class. commit a594a618ce98242c1d273eb9ede75b4f6b4635d8 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Oct 25 22:30:51 2018 +0300 Cleanup - remove useless ZCSG(saved_map_ptr_last) - move preloaded classes/functions clean-up code back into better place commit ab9a40f63cfa1a205b8f853b7e0c2ce61edabb32 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Oct 25 20:52:51 2018 +0300 Added support for preloaded classes/functions in ZTS build commit e3c65db099517082b66dd20ea57e1bda649a7aa5 Merge: 4f57c1e029 33e777acbf Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Oct 25 20:52:26 2018 +0300 Merge branch 'master' into preload * master: Improved shared interned strings handling. The previous implementation worked incorrectly in ZTS build. It changed strings only in function/class tables of one thread. Now all threads gets the same shared interned strings. Also, on shutdown, we don't try to replace SHM interned strings back to process strings, but delay dettachment of SHM instead. Don't use request heap at shutdown Don't optimize function if inference failed Fixed bug #77058 Improve "narrowing" error message bump versions commit 4f57c1e029ce9c24bd699ea61b05973c4665bc32 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Oct 25 15:29:58 2018 +0300 Cleanup (move preload_shutdown() call to better place) commit 26587a95c071cf9dd098199eb3708fca8adae243 Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Oct 25 14:30:51 2018 +0300 eol commit d70cb10480fdc7d814495150cd48e43d4147138f Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Oct 25 14:30:20 2018 +0300 cleanup commit aabe685dbb887e91c240b6c5553193889bcfc540 Merge: d9fc51bc3b 40808ac41e Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Oct 25 12:42:51 2018 +0300 Merge branch 'master' into preload * master: Remove unused var Remove ext/json parser files generated by bison Fix run-tests.php for running phpdbg and certain test sections Normalize .gitignore commit d9fc51bc3bdfbd7f4149a884b09e3c09a41f7a8d Merge: b5ffba0faf b6ef8998d5 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 24 15:59:24 2018 +0300 Merge branch 'master' into preload * master: Fixed reseting of interned strings buffer. commit b5ffba0fafb4d940336d5f5fe93950dad1d8d779 Merge: e4a7ef0c43 a404383118 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 24 12:46:28 2018 +0300 Merge branch 'master' into preload * master: Fixed build in directory different from source commit e4a7ef0c431ec97cdd00e44dfa0ef17887d1e5e3 Merge: 811f20aaa5 d1e14e2cc0 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 24 11:59:43 2018 +0300 Merge branch 'master' into preload * master: (29 commits) Make php_plain_files_wrapper to be writable (workaround for swoole) Remove phpdbg parser files generated by bison Fix conflicts in phpdbg parser Refetetch function name on exceptional path to allow better code on fast code path. fix typo in sysvsem.c Fixed bug #50675 bump to 7.2.13-dev [ci skip] Update NEWS wrt. php-7.3.0RC4 tagging Inlining in the most frequently used code paths Fixed test failurs introduced by 9c144e0d8217d1ef7a83c2498214308b21af749f Use persistent strings only for persistent connections Fix accessibility checks for dynamic properties Updated to version 2018.6 (2018f) Updated to version 2018.6 (2018f) Updated to version 2018.6 (2018f) Fix arginfo and clean up fpm_get_status Defragment two Zend related Makefile fragments together [ci skip] Remove automake and aclocal in comments Fix #75282: xmlrpc_encode_request() crashes Fix tests for ICU 63.1 ... commit 811f20aaa5030035666d9f325dd7c64632c70a50 Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 22 14:10:49 2018 +0300 Added information about preloading to opcache_get_status() commit 093e8b1bbffdc07d217a543613ea14c3eeac710e Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Oct 19 13:46:23 2018 +0300 Added warning message commit a2ba970ce3d0ac51ebfbe1bfc2dc7b99b9750a75 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Oct 19 13:35:40 2018 +0300 Added test commit b67e28367c11db50360e664a7ad6ac95b393f2e4 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Oct 19 13:33:12 2018 +0300 Don't preload functions declared at run-time. commit b0139dc22854ee000586ef83c149d7d25181da60 Merge: a609520adb 3fe698b904 Author: Dmitry Stogov <dmitry@zend.com> Date: Fri Oct 19 13:23:14 2018 +0300 Merge branch 'master' into preload * master: Mark "top-level" functions. Don't initialize static_member_tables during start-up, when inherit internal classes. [ci skip] Update NEWS [ci skip] Update NEWS [ci skip] Update NEWS Fix #77035: The phpize and ./configure create redundant .deps file Remove outdated PEAR artefacts Fix tests/output/bug74815.phpt generating errors.log Revert "Use C++ symbols, when C++11 or upper is compiled" Use C++ symbols, when C++11 or upper is compiled Added new line Remove stamp-h Move all testing docs to qa.php.net Fix a typo in UPGRADING.INTERNALS Fix test when it's run on another drive [ci skip] Update UPGRADING wrt. tidyp support Fixed incorrect reallocation Fix #77027: tidy::getOptDoc() not available on Windows Run CI tests under opcache.protect_memory=1 commit a609520adbc0bf12701d467bae4a016fde43231e Merge: ac8f45f61b b6ac50f9e6 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 17:01:05 2018 +0300 Merge branch 'master' into preload * master: Fixed comment Micro optimizations Mark "top-level" classes commit ac8f45f61b561af9aee629232bc3705143ceaac3 Merge: 632b30b545 d57cd36e47 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 15:53:41 2018 +0300 Merge branch 'master' into preload * master: Immutable clases and op_arrays. commit 632b30b5451c8fdf0879a3ba4d937ff4ecfc8ce7 Merge: d33908a99a cd0c36c3f9 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 15:04:43 2018 +0300 Merge branch 'immutable' into preload * immutable: Remove the "auto" encoding Fixed bug #77025 Add vtbls for EUC-TW encoding commit cd0c36c3f943849e5b97a8dbe2dd029fbeab3df9 Merge: 4740dabb84 ad6738e886 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 14:43:38 2018 +0300 Merge branch 'master' into immutable * master: Remove the "auto" encoding Fixed bug #77025 Add vtbls for EUC-TW encoding commit d33908a99a3c746f188e268df3db541591f6fcc2 Merge: 21e0bebca3 4740dabb84 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 14:14:23 2018 +0300 Merge branch 'immutable' into preload * immutable: Reverted back ce->iterator_funcs_ptr. Initialize ce->iterator_funcs_ptr fields in immutable classes. commit 4740dabb843c6d4f7f866b4a2456073c9eaf4c77 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 14:12:28 2018 +0300 Reverted back ce->iterator_funcs_ptr. Initialize ce->iterator_funcs_ptr fields in immutable classes. commit 21e0bebca3e6fff3c3484ee46f9aa3ac4e98eaeb Merge: c78277ae84 ad7a78b253 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 12:29:59 2018 +0300 Merge branch 'immutable' into preload * immutable: Added comment Added type cast Moved static class members initialization into the proper place. Removed redundand assertion Removed duplicate code Hide offset encoding magic in ZEND_MAP_PTR_IS_OFFSET(), ZEND_MAP_PTR_OFFSET2PTR() and ZEND_MAP_PTR_PTR2OFFSET() macros. typo Remove unused variable makefile_am_files Classify object handlers are required/optional Add support for getting SKIP_TAGSTART and SKIP_WHITE options Remove some obsolete config_vars.mk occurrences Remove bsd_converted from .gitignore Remove configuration parser and scanners ignores Remove obsolete buildconf.stamp from .gitignore [ci skip] Add magicdata.patch exception to .gitignore Remove outdated ext/spl/examples items from .gitignore Remove unused test.inc in ext/iconv/tests commit ad7a78b253be970db70c2251e66f9297d8e7f829 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:46:30 2018 +0300 Added comment commit 0276ea51875bab37be01a4dc5e5a047c5698c571 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:42:43 2018 +0300 Added type cast commit c63fc5d5f19c58498108d1698055b2b442227eb3 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:36:51 2018 +0300 Moved static class members initialization into the proper place. commit b945548e9306b1826c881918858b5e5aa3eb3002 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:21:03 2018 +0300 Removed redundand assertion commit d5a41088401814c829847db212488f8aae39bcd2 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:19:13 2018 +0300 Removed duplicate code commit 8dadca8864e66de70a24bdf1181bcf7dd8fb27d7 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:05:43 2018 +0300 Hide offset encoding magic in ZEND_MAP_PTR_IS_OFFSET(), ZEND_MAP_PTR_OFFSET2PTR() and ZEND_MAP_PTR_PTR2OFFSET() macros. commit 9ef07c88bd76801e2d4fbfeab3ebfd6e6a67ac5f Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 10:48:29 2018 +0300 typo commit a06f0f3d3aba53e766046221ee44fb9720389ecc Merge: 94099586ec 3412345ffe Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 10:47:07 2018 +0300 Merge branch 'master' into immutable * master: Remove unused variable makefile_am_files Classify object handlers are required/optional Add support for getting SKIP_TAGSTART and SKIP_WHITE options Remove some obsolete config_vars.mk occurrences Remove bsd_converted from .gitignore Remove configuration parser and scanners ignores Remove obsolete buildconf.stamp from .gitignore [ci skip] Add magicdata.patch exception to .gitignore Remove outdated ext/spl/examples items from .gitignore Remove unused test.inc in ext/iconv/tests commit c78277ae84b21067744d1701949e4e1fadd8872a Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Oct 16 17:25:35 2018 +0300 Preloadsing support for opcache restart commit f76a955c02f6a033d4656d5e0d9dad9a8e83cc86 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Oct 16 13:52:36 2018 +0300 Fixed incorrect signal handlers overriding commit 0810ce0d8165d4b752267f035f9fa0aaa1698ceb Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 15 23:38:48 2018 +0300 An attempt to implemnt "preloading" ability. commit 94099586ec599117581ca01c15b1f6c5f749e23a Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 15 23:34:01 2018 +0300 Immutable clases and op_arrays
2018-11-14 21:46:05 +08:00
2018-11-15 04:45:24 +08:00
- OpenSSL:
2019-04-29 01:48:35 +08:00
. Added TLS 1.3 support to streams including new tlsv1.3 stream.
(Codarren Velvindron, Jakub Zelenka)
2018-11-15 04:45:24 +08:00
. Added openssl_x509_verify function. (Ben Scholzen)
. openssl_random_pseudo_bytes() now throws in error conditions.
(Sammy Kaye Powers)
2019-11-24 17:23:33 +08:00
. Changed the default config path (Windows only). (cmb)
. Fixed bug #78231 (Segmentation fault upon stream_socket_accept of exported
socket-to-stream). (Nikita)
. Fixed bug #78391 (Assertion failure in openssl_random_pseudo_bytes).
(Nikita)
. Fixed bug #78775 (TLS issues from HTTP request affecting other encrypted
connections). (Nikita)
- Pcntl:
. Fixed bug #77335 (PHP is preventing SIGALRM from specifying SA_RESTART).
(Nikita)
2018-11-15 04:45:24 +08:00
- PCRE:
. Implemented FR #77094 (Support flags in preg_replace_callback). (Nikita)
. Fixed bug #72685 (Repeated UTF-8 validation of same string in UTF-8 mode).
(Nikita)
. Fixed bug #73948 (Preg_match_all should return NULLs on trailing optional
capture groups).
2019-11-24 17:23:33 +08:00
. Fixed bug #78338 (Array cross-border reading in PCRE). (cmb)
. Fixed bug #78349 (Bundled pcre2 library missing LICENCE file). (Peter Kokot)
- PDO:
2019-11-24 17:23:33 +08:00
. Implemented FR #71885 (Allow escaping question mark placeholders).
https://wiki.php.net/rfc/pdo_escape_placeholders (Matteo)
. Fixed bug #77849 (Disable cloning of PDO handle/connection objects).
(camporter)
2019-11-24 17:23:33 +08:00
. Implemented FR #78033 (PDO - support username & password specified in
DSN). (sjon)
- PDO_Firebird:
. Implemented FR #65690 (PDO_Firebird should also support dialect 1).
(Simonov Denis)
. Implemented FR #77863 (PDO firebird support type Boolean in input
parameters). (Simonov Denis)
- PDO_MySQL:
. Fixed bug #41997 (SP call yields additional empty result set). (cmb)
. Fixed bug #78623 (Regression caused by "SP call yields additional empty
result set"). (cmb)
2018-12-03 20:56:14 +08:00
2018-10-01 13:24:04 +08:00
- PDO_OCI:
2019-02-11 14:05:36 +08:00
. Support Oracle Database tracing attributes ACTION, MODULE,
CLIENT_INFO, and CLIENT_IDENTIFIER. (Cameron Porter)
2018-10-01 13:52:22 +08:00
. Implemented FR #76908 (PDO_OCI getColumnMeta() not implemented).
2018-10-01 13:24:04 +08:00
(Valentin Collet, Chris Jones, Remi)
2018-09-21 21:00:07 +08:00
- PDO_SQLite:
. Implemented sqlite_stmt_readonly in PDO_SQLite. (BohwaZ)
. Raised requirements to SQLite 3.5.0. (cmb)
2019-11-24 17:23:33 +08:00
. Fixed bug #78192 (SegFault when reuse statement after schema has changed).
(Vincent Quatrevieux)
. Fixed bug #78348 (Remove -lrt from pdo_sqlite.so). (Peter Kokot)
- Phar:
. Fixed bug #77919 (Potential UAF in Phar RSHUTDOWN). (cmb)
2018-09-21 21:00:07 +08:00
- phpdbg:
. Fixed bug #76596 (phpdbg support for display_errors=stderr). (kabel)
. Fixed bug #76801 (too many open files). (alekitto)
. Fixed bug #77800 (phpdbg segfaults on listing some conditional breakpoints).
(krakjoe)
. Fixed bug #77805 (phpdbg build fails when readline is shared). (krakjoe)
2019-11-24 17:23:33 +08:00
- Recode:
. Unbundled the recode extension. (cmb)
- Reflection:
. Fixed bug #76737 (Unserialized reflection objects are broken, they
shouldn't be serializable). (Nikita)
. Fixed bug #78263 (\ReflectionReference::fromArrayElement() returns null
while item is a reference). (Nikita)
. Fixed bug #78410 (Cannot "manually" unserialize class that is final and
extends an internal one). (Nikita)
. Fixed bug #78697 (ReflectionClass::implementsInterface - inaccurate error
message with traits). (villfa)
. Fixed bug #78774 (ReflectionNamedType on Typed Properties Crash). (Nikita)
- Session:
. Fixed bug #78624 (session_gc return value for user defined session
handlers). (bshaffer)
- SimpleXML:
. Implemented FR #65215 (SimpleXMLElement could register as implementing
Countable). (LeSuisse)
2019-11-24 17:23:33 +08:00
. Fixed bug #75245 (Don't set content of elements with only whitespaces).
(eriklundin)
- Sockets:
. Fixed bug #67619 (Validate length on socket_write). (thiagooak)
2019-11-24 17:23:33 +08:00
. Fixed bug #78665 (Multicasting may leak memory). (cmb)
2017-07-19 00:00:34 +08:00
- sodium:
. Fixed bug #77646 (sign_detached() strings not terminated). (Frank)
2019-11-24 17:23:33 +08:00
. Fixed bug #78510 (Partially uninitialized buffer returned by
sodium_crypto_generichash_init()). (Frank Denis, cmb)
. Fixed bug #78516 (password_hash(): Memory cost is not in allowed range).
(cmb, Nikita)
- SPL:
. Fixed bug #77518 (SeekableIterator::seek() should accept 'int' typehint as
documented). (Nikita)
. Fixed bug #78409 (Segfault when creating instance of ArrayIterator without
constructor). (Nikita)
. Fixed bug #78436 (Missing addref in SplPriorityQueue EXTR_BOTH mode).
(Nikita)
. Fixed bug #78456 (Segfault when serializing SplDoublyLinkedList). (Nikita)
2018-12-03 20:56:14 +08:00
2018-09-16 05:12:25 +08:00
- SQLite3:
. Unbundled libsqlite. (cmb)
. Raised requirements to SQLite 3.7.4. (cmb)
. Forbid (un)serialization of SQLite3, SQLite3Stmt and SQLite3Result. (cmb)
. Added support for the SQLite @name notation. (cmb, BohwaZ)
. Added SQLite3Stmt::getSQL() to retrieve the SQL of the statement. (Bohwaz)
2019-11-24 17:23:33 +08:00
. Implement FR ##70950 (Make SQLite3 Online Backup API available). (BohwaZ)
2019-01-25 18:12:34 +08:00
2018-08-29 22:12:18 +08:00
- Standard:
2019-11-24 17:23:33 +08:00
. Implemented password hashing registry RFC:
https://wiki.php.net/rfc/password_registry. (Sara)
. Implemented RFC where password_hash() has argon2i(d) implementations from
ext/sodium when PHP is built without libargon:
https://wiki.php.net/rfc/sodium.argon.hash (Sara)
Allow empty $escape to eschew escaping CSV Albeit CSV is still a widespread data exchange format, it has never been officially standardized. There exists, however, the “informational” RFC 4180[1] which has no notion of escape characters, but rather defines `escaped` as strings enclosed in double-quotes where contained double-quotes have to be doubled. While this concept is supported by PHP's implementation (`$enclosure`), the `$escape` sometimes interferes, so that `fgetcsv()` is unable to correctly parse externally generated CSV, and `fputcsv()` is sometimes generating non-compliant CSV. Since PHP's `$escape` concept is availble for many years, we cannot drop it for BC reasons (even though many consider it as bug). Instead we allow to pass an empty string as `$escape` parameter to the respective functions, which results in ignoring/omitting any escaping, and as such is more inline with RFC 4180. It is noteworthy that this is almost no userland BC break, since formerly most functions did not accept an empty string, and failed in this case. The only exception was `str_getcsv()` which did accept an empty string, and used a backslash as escape character then (which appears to be unintended behavior, anyway). The changed functions are `fputcsv()`, `fgetcsv()` and `str_getcsv()`, and also the `::setCsvControl()`, `::getCsvControl()`, `::fputcsv()`, and `::fgetcsv()` methods of `SplFileObject`. The implementation also changes the type of the escape parameter of the PHP_APIs `php_fgetcsv()` and `php_fputcsv()` from `char` to `int`, where `PHP_CSV_NO_ESCAPE` means to ignore/omit escaping. The parameter accepts the same values as `isalpha()` and friends, i.e. “the value of which shall be representable as an `unsigned char` or shall equal the value of the macro `EOF`. If the argument has any other value, the behavior is undefined.” This is a subtle BC break, since the character `chr(128)` has the value `-1` if `char` is signed, and so likely would be confused with `EOF` when converted to `int`. We consider this BC break to be acceptable, since it's rather unlikely that anybody uses `chr(128)` as escape character, and it easily can be fixed by casting all `escape` arguments to `unsigned char`. This patch implements the feature requests 38301[2] and 51496[3]. [1] <https://tools.ietf.org/html/rfc4180> [2] <https://bugs.php.net/bug.php?id=38301> [3] <https://bugs.php.net/bug.php?id=51496>
2018-12-02 23:28:18 +08:00
. Implemented FR #38301 (field enclosure behavior in fputcsv). (cmb)
. Implemented FR #51496 (fgetcsv should take empty string as an escape). (cmb)
2019-11-24 17:23:33 +08:00
. Fixed bug #73535 (php_sockop_write() returns 0 on error, can be used to
trigger Denial of Service). (Nikita)
. Fixed bug #74764 (Bindto IPv6 works with file_get_contents but fails with
stream_socket_client). (Ville Hukkamäki)
. Fixed bug #76859 (stream_get_line skips data if used with data-generating
filter). (kkopachev)
2019-02-13 11:14:32 +08:00
. Implemented FR #77377 (No way to handle CTRL+C in Windows). (Anatol)
2019-11-24 17:23:33 +08:00
. Fixed bug #77930 (stream_copy_to_stream should use mmap more often).
(Nikita)
. Implemented FR #78177 (Make proc_open accept command array). (Nikita)
. Fixed bug #78208 (password_needs_rehash() with an unknown algo should always
return true). (Sara)
. Fixed bug #78241 (touch() does not handle dates after 2038 in PHP 64-bit). (cmb)
. Fixed bug #78282 (atime and mtime mismatch). (cmb)
. Fixed bug #78326 (improper memory deallocation on stream_get_contents()
with fixed length buffer). (Albert Casademont)
. Fixed bug #78346 (strip_tags no longer handling nested php tags). (cmb)
. Fixed bug #78506 (Error in a php_user_filter::filter() is not reported).
(Nikita)
. Fixed bug #78549 (Stack overflow due to nested serialized input). (Nikita)
. Fixed bug #78759 (array_search in $GLOBALS). (Nikita)
2019-11-24 17:23:33 +08:00
- Testing:
. Fixed bug #78684 (PCRE bug72463_2 test is sending emails on Linux). (cmb)
- Tidy:
. Added TIDY_TAG_* constants for HTML5 elements. (cmb)
. Fixed bug #76736 (wrong reflection for tidy_get_head, tidy_get_html,
tidy_get_root, and tidy_getopt) (tandre)
- WDDX:
. Deprecated and unbundled the WDDX extension. (cmb)
2019-11-24 17:23:33 +08:00
- Zip:
. Fixed bug #78641 (addGlob can modify given remove_path value). (cmb)
2019-11-24 03:00:51 +08:00
21 Nov 2019, PHP 7.3.12
- Core:
. Fixed bug #78658 (Memory corruption using Closure::bindTo). (Nikita)
. Fixed bug #78656 (Parse errors classified as highest log-level). (Erik
Lundin)
. Fixed bug #78752 (Segfault if GC triggered while generator stack frame is
being destroyed). (Nikita)
. Fixed bug #78689 (Closure::fromCallable() doesn't handle
[Closure, '__invoke']). (Nikita)
- COM:
. Fixed bug #78694 (Appending to a variant array causes segfault). (cmb)
- Date:
. Fixed bug #70153 (\DateInterval incorrectly unserialized). (Maksim Iakunin)
. Fixed bug #78751 (Serialising DatePeriod converts DateTimeImmutable). (cmb)
- Iconv:
. Fixed bug #78642 (Wrong libiconv version displayed). (gedas at martynas,
cmb).
- OpCache:
. Fixed bug #78654 (Incorrectly computed opcache checksum on files with
non-ascii characters). (mhagstrand)
. Fixed bug #78747 (OpCache corrupts custom extension result). (Nikita)
- OpenSSL:
. Fixed bug #78775 (TLS issues from HTTP request affecting other encrypted
connections). (Nikita)
- Reflection:
. Fixed bug #78697 (ReflectionClass::ImplementsInterface - inaccurate error
message with traits). (villfa)
- Sockets:
. Fixed bug #78665 (Multicasting may leak memory). (cmb)
24 Oct 2019, PHP 7.3.11
- Core:
. Fixed bug #78535 (auto_detect_line_endings value not parsed as bool).
(bugreportuser)
. Fixed bug #78620 (Out of memory error). (cmb, Nikita)
- Exif :
. Fixed bug #78442 ('Illegal component' on exif_read_data since PHP7)
(Kalle)
- FPM:
. Fixed bug #78599 (env_path_info underflow in fpm_main.c can lead to RCE).
(CVE-2019-11043) (Jakub Zelenka)
. Fixed bug #78413 (request_terminate_timeout does not take effect after
fastcgi_finish_request). (Sergei Turchanov)
- MBString:
. Fixed bug #78633 (Heap buffer overflow (read) in mb_eregi). (cmb)
. Fixed bug #78579 (mb_decode_numericentity: args number inconsistency).
(cmb)
. Fixed bug #78609 (mb_check_encoding() no longer supports stringable
objects). (cmb)
- MySQLi:
. Fixed bug #76809 (SSL settings aren't respected when persistent connections
are used). (fabiomsouto)
- Mysqlnd:
. Fixed bug #78525 (Memory leak in pdo when reusing native prepared
statements). (Nikita)
- PCRE:
. Fixed bug #78272 (calling preg_match() before pcntl_fork() will freeze
child process). (Nikita)
- PDO_MySQL:
. Fixed bug #78623 (Regression caused by "SP call yields additional empty
result set"). (cmb)
- Session:
. Fixed bug #78624 (session_gc return value for user defined session
handlers). (bshaffer)
- Standard:
. Fixed bug #76342 (file_get_contents waits twice specified timeout).
(Thomas Calvet)
. Fixed bug #78612 (strtr leaks memory when integer keys are used and the
subject string shorter). (Nikita)
. Fixed bug #76859 (stream_get_line skips data if used with data-generating
filter). (kkopachev)
- Zip:
. Fixed bug #78641 (addGlob can modify given remove_path value). (cmb)
26 Sep 2019, PHP 7.3.10
- Core:
. Fixed bug #78220 (Can't access OneDrive folder). (cmb, ab)
. Fixed bug #77922 (Double release of doc comment on inherited shadow
property). (Nikita)
. Fixed bug #78441 (Parse error due to heredoc identifier followed by digit).
(cmb)
. Fixed bug #77812 (Interactive mode does not support PHP 7.3-style heredoc).
(cmb, Nikita)
- FastCGI:
. Fixed bug #78469 (FastCGI on_accept hook is not called when using named
pipes on Windows). (Sergei Turchanov)
- FPM:
. Fixed bug #78334 (fpm log prefix message includes wrong stdout/stderr
notation). (Tsuyoshi Sadakata)
- Intl:
. Ensure IDNA2003 rules are used with idn_to_ascii() and idn_to_utf8()
when requested. (Sara)
- MBString:
. Fixed bug #78559 (Heap buffer overflow in mb_eregi). (cmb)
- MySQLnd:
. Fixed connect_attr issues and added the _server_host connection attribute.
(Qianqian Bu)
- ODBC:
. Fixed bug #78473 (odbc_close() closes arbitrary resources). (cmb)
- PDO_MySQL:
. Fixed bug #41997 (SP call yields additional empty result set). (cmb)
- sodium:
. Fixed bug #78510 (Partially uninitialized buffer returned by
sodium_crypto_generichash_init()). (Frank Denis, cmb)
29 Aug 2019, PHP 7.3.9
- Core:
. Fixed bug #78363 (Buffer overflow in zendparse). (Nikita)
. Fixed bug #78379 (Cast to object confuses GC, causes crash). (Dmitry)
. Fixed bug #78412 (Generator incorrectly reports non-releasable $this as GC
child). (Nikita)
- Curl:
. Fixed bug #77946 (Bad cURL resources returned by curl_multi_info_read()).
(Abyr Valg)
- Exif:
. Fixed bug #78333 (Exif crash (bus error) due to wrong alignment and
invalid cast). (Nikita)
- FPM:
. Fixed bug #77185 (Use-after-free in FPM master event handling).
(Maksim Nikulin)
- Iconv:
. Fixed bug #78342 (Bus error in configure test for iconv //IGNORE). (Rainer
Jung)
- LiteSpeed:
. Updated to LiteSpeed SAPI V7.5 (Fixed clean shutdown). (George Wang)
- MBString:
. Fixed bug #78380 (Oniguruma 6.9.3 fixes CVEs). (CVE-2019-13224) (Stas)
- MySQLnd:
. Fixed bug #78179 (MariaDB server version incorrectly detected). (cmb)
. Fixed bug #78213 (Empty row pocket). (cmb)
- Opcache:
. Fixed bug #77191 (Assertion failure in dce_live_ranges() when silencing is
used). (Nikita)
- Standard:
. Fixed bug #69100 (Bus error from stream_copy_to_stream (file -> SSL stream)
with invalid length). (Nikita)
. Fixed bug #78282 (atime and mtime mismatch). (cmb)
. Fixed bug #78326 (improper memory deallocation on stream_get_contents()
with fixed length buffer). (Albert Casademont)
. Fixed bug #78346 (strip_tags no longer handling nested php tags). (cmb)
01 Aug 2019, PHP 7.3.8
- Core:
. Added syslog.filter=raw option. (Erik Lundin)
. Fixed bug #78212 (Segfault in built-in webserver). (cmb)
- Date:
. Fixed bug #69044 (discrepency between time and microtime). (krakjoe)
. Updated timelib to 2018.02. (Derick)
- EXIF:
. Fixed bug #78256 (heap-buffer-overflow on exif_process_user_comment).
(CVE-2019-11042) (Stas)
. Fixed bug #78222 (heap-buffer-overflow on exif_scan_thumbnail).
(CVE-2019-11041) (Stas)
- FTP:
. Fixed bug #78039 (FTP with SSL memory leak). (Nikita)
- Libxml:
. Fixed bug #78279 (libxml_disable_entity_loader settings is shared between
requests (cgi-fcgi)). (Nikita)
- LiteSpeed:
. Updated to LiteSpeed SAPI V7.4.3 (increased response header count limit from
100 to 1000, added crash handler to cleanly shutdown PHP request, added
CloudLinux mod_lsapi mode). (George Wang)
. Fixed bug #76058 (After "POST data can't be buffered", using php://input
makes huge tmp files). (George Wang)
- Openssl:
. Fixed bug #78231 (Segmentation fault upon stream_socket_accept of exported
socket-to-stream). (Nikita)
- Opcache:
. Fixed bug #78189 (file cache strips last character of uname hash). (cmb)
. Fixed bug #78202 (Opcache stats for cache hits are capped at 32bit NUM).
(cmb)
. Fixed bug #78271 (Invalid result of if-else). (Nikita)
. Fixed bug #78291 (opcache_get_configuration doesn't list all directives).
(Andrew Collington)
. Fixed bug #78341 (Failure to detect smart branch in DFA pass). (Nikita)
- PCRE:
. Fixed bug #78197 (PCRE2 version check in configure fails for "##.##-xxx"
version strings). (pgnet, Peter Kokot)
. Fixed bug #78338 (Array cross-border reading in PCRE). (cmb)
- PDO_Sqlite:
. Fixed bug #78192 (SegFault when reuse statement after schema has changed).
(Vincent Quatrevieux)
- Phar:
. Fixed bug #77919 (Potential UAF in Phar RSHUTDOWN). (cmb)
- Phpdbg:
. Fixed bug #78297 (Include unexistent file memory leak). (Nikita)
- SQLite:
. Upgraded to SQLite 3.28.0. (cmb)
- Standard:
. Fixed bug #78241 (touch() does not handle dates after 2038 in PHP 64-bit). (cmb)
. Fixed bug #78269 (password_hash uses weak options for argon2). (Remi)
04 Jul 2019, PHP 7.3.7
- Core:
. Fixed bug #76980 (Interface gets skipped if autoloader throws an exception).
(Nikita)
- DOM:
. Fixed bug #78025 (segfault when accessing properties of DOMDocumentType).
(cmb)
- MySQLi:
. Fixed bug #77956 (When mysqli.allow_local_infile = Off, use a meaningful
error message). (Sjon Hortensius)
. Fixed bug #38546 (bindParam incorrect processing of bool types).
(camporter)
- MySQLnd:
. Fixed bug #77955 (Random segmentation fault in mysqlnd from php-fpm).
(Nikita)
- Opcache:
. Fixed bug #78015 (Incorrect evaluation of expressions involving partials
arrays in SCCP). (Nikita)
. Fixed bug #78106 (Path resolution fails if opcache disabled during request).
(Nikita)
- OpenSSL:
. Fixed bug #78079 (openssl_encrypt_ccm.phpt fails with OpenSSL 1.1.1c).
(Jakub Zelenka)
- phpdbg:
. Fixed bug #78050 (SegFault phpdbg + opcache on include file twice).
(Nikita)
- Sockets:
. Fixed bug #78038 (Socket_select fails when resource array contains
references). (Nikita)
- Sodium:
. Fixed bug #78114 (segfault when calling sodium_* functions from eval). (cmb)
- Standard:
. Fixed bug #77135 (Extract with EXTR_SKIP should skip $this).
(Craig Duncan, Dmitry)
. Fixed bug #77937 (preg_match failed). (cmb, Anatol)
- Zip:
. Fixed bug #76345 (zip.h not found). (Michael Maroszek)
30 May 2019, PHP 7.3.6
- cURL:
. Implemented FR #72189 (Add missing CURL_VERSION_* constants). (Javier
Spagnoletti)
- Date:
. Fixed bug #77909 (DatePeriod::__construct() with invalid recurrence count
value). (Ignace Nyamagana Butera)
- EXIF:
. Fixed bug #77988 (heap-buffer-overflow on php_jpg_get16).
(CVE-2019-11040) (Stas)
- FPM:
. Fixed bug #77934 (php-fpm kill -USR2 not working). (Jakub Zelenka)
. Fixed bug #77921 (static.php.net doesn't work anymore). (Peter Kokot)
- GD:
. Fixed bug #77943 (imageantialias($image, false); does not work). (cmb)
. Fixed bug #77973 (Uninitialized read in gdImageCreateFromXbm).
(CVE-2019-11038) (cmb)
- Iconv:
. Fixed bug #78069 (Out-of-bounds read in iconv.c:_php_iconv_mime_decode()
due to integer overflow). (CVE-2019-11039). (maris dot adam)
- JSON:
. Fixed bug #77843 (Use after free with json serializer). (Nikita)
- Opcache:
. Fixed possible crashes, because of inconsistent PCRE cache and opcache
SHM reset. (Alexey Kalinin, Dmitry)
- PDO_MySQL:
. Fixed bug #77944 (Wrong meta pdo_type for bigint on LLP64). (cmb)
- Reflection:
. Fixed bug #75186 (Inconsistent reflection of Closure:::__invoke()). (Nikita)
- Session:
. Fixed bug #77911 (Wrong warning for session.sid_bits_per_character). (cmb)
- SOAP:
. Fixed bug #77945 (Segmentation fault when constructing SoapClient with
WSDL_CACHE_BOTH). (Nikita)
- SPL:
. Fixed bug #77024 (SplFileObject::__toString() may return array). (Craig
Duncan)
- SQLite:
. Fixed bug #77967 (Bypassing open_basedir restrictions via file uris). (Stas)
- Standard:
. Fixed bug #77931 (Warning for array_map mentions wrong type). (Nikita)
. Fixed bug #78003 (strip_tags output change since PHP 7.3). (cmb)
02 May 2019, PHP 7.3.5
- Core:
. Fixed bug #77903 (ArrayIterator stops iterating after offsetSet call).
(Nikita)
- CLI:
. Fixed bug #77794 (Incorrect Date header format in built-in server).
(kelunik)
- EXIF
. Fixed bug #77950 (Heap-buffer-overflow in _estrndup via exif_process_IFD_TAG).
(CVE-2019-11036) (Stas)
- Interbase:
. Fixed bug #72175 (Impossibility of creating multiple connections to
Interbase with php 7.x). (Nikita)
- Intl:
. Fixed bug #77895 (IntlDateFormatter::create fails in strict mode if $locale
= null). (Nikita)
- 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).
(Yasuo Ohgaki, Stas)
- MySQLi:
. Fixed bug #77773 (Unbuffered queries leak memory - MySQLi / mysqlnd).
(Nikita)
- 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).
(camporter)
- phpdbg:
. Fixed bug #76801 (too many open files). (alekitto)
. Fixed bug #77800 (phpdbg segfaults on listing some conditional breakpoints).
(krakjoe)
. Fixed bug #77805 (phpdbg build fails when readline is shared). (krakjoe)
- Reflection:
. Fixed bug #77772 (ReflectionClass::getMethods(null) doesn't work). (Nikita)
. Fixed bug #77882 (Different behavior: always calls destructor). (Nikita)
- Standard:
. Fixed bug #77793 (Segmentation fault in extract() when overwriting
reference with itself). (Nikita)
. Fixed bug #77844 (Crash due to null pointer in parse_ini_string with
INI_SCANNER_TYPED). (Nikita)
. Fixed bug #77853 (Inconsistent substr_compare behaviour with empty
haystack). (Nikita)
04 Apr 2019, PHP 7.3.4
- 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)
- EXIF:
. Fixed bug #77753 (Heap-buffer-overflow in php_ifd_get32s). (CVE-2019-11034)
(Stas)
. Fixed bug #77831 (Heap-buffer-overflow in exif_iif_add_value).
(CVE-2019-11035) (Stas)
- 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)
- PCRE:
. Fixed bug #76127 (preg_split does not raise an error on invalid UTF-8).
(Nikita)
- Phar:
. Fixed 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)
07 Mar 2019, PHP 7.3.3
- Core:
. Fixed bug #77589 (Core dump using parse_ini_string with numeric sections).
(Laruence)
. Fixed bug #77329 (Buffer Overflow via overly long Error Messages).
(Dmitry)
. Fixed bug #77494 (Disabling class causes segfault on member access).
(Dmitry)
. Fixed bug #77498 (Custom extension Segmentation fault when declare static
property). (Nikita)
. Fixed bug #77530 (PHP crashes when parsing `(2)::class`). (Ekin)
. Fixed bug #77546 (iptcembed broken function). (gdegoulet)
. Fixed bug #77630 (rename() across the device may allow unwanted access
during processing). (Stas)
- COM:
. Fixed bug #77621 (Already defined constants are not properly reported).
(cmb)
. Fixed bug #77626 (Persistence confusion in php_com_import_typelib()). (cmb)
- EXIF:
. Fixed bug #77509 (Uninitialized read in exif_process_IFD_in_TIFF). (Stas)
. Fixed bug #77540 (Invalid Read on exif_process_SOFn). (Stas)
. Fixed bug #77563 (Uninitialized read in exif_process_IFD_in_MAKERNOTE). (Stas)
. Fixed bug #77659 (Uninitialized read in exif_process_IFD_in_MAKERNOTE). (Stas)
- Mbstring:
. Fixed bug #77514 (mb_ereg_replace() with trailing backslash adds null byte).
(Nikita)
- 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. (Darek Slusarczyk)
- OpenSSL:
. Fixed bug #77390 (feof might hang on TLS streams in case of fragmented TLS
records). (Abyl Valg, Jakub Zelenka)
- PDO_OCI:
. Support Oracle Database tracing attributes ACTION, MODULE,
CLIENT_INFO, and CLIENT_IDENTIFIER. (Cameron Porter)
- PHAR:
. Fixed bug #77396 (Null Pointer Dereference in phar_create_or_parse_filename).
(bishop)
. Fixed bug #77586 (phar_tar_writeheaders_int() buffer overflow). (bishop)
- phpdbg:
. Fixed bug #76596 (phpdbg support for display_errors=stderr). (kabel)
- SPL:
. Fixed bug #51068 (DirectoryIterator glob:// don't support current path
relative queries). (Ahmed Abdou)
. Fixed bug #77431 (openFile() silently truncates after a null byte). (cmb)
- Standard:
. Fixed bug #77552 (Unintialized php_stream_statbuf in stat functions).
(John Stevenson)
. Fixed bug #77612 (setcookie() sets incorrect SameSite header if all of its
options filled). (Nikita)
07 Feb 2019, PHP 7.3.2
- Core:
. Fixed bug #77369 (memcpy with negative length via crafted DNS response). (Stas)
. Fixed bug #77387 (Recursion detection broken when printing GLOBALS).
(Laruence)
. Fixed bug #77376 ("undefined function" message no longer includes
namespace). (Laruence)
. Fixed bug #77357 (base64_encode / base64_decode doest not work on nested
VM). (Nikita)
. Fixed bug #77339 (__callStatic may get incorrect arguments). (Dmitry)
. Fixed bug #77317 (__DIR__, __FILE__, realpath() reveal physical path for
subst virtual drive). (Anatol)
. Fixed bug #77263 (Segfault when using 2 RecursiveFilterIterator). (Dmitry)
. Fixed bug #77447 (PHP 7.3 built with ASAN crashes in
zend_cpu_supports_avx2). (Nikita)
. Fixed bug #77484 (Zend engine crashes when calling realpath in invalid
working dir). (Anatol)
- Curl:
. Fixed bug #76675 (Segfault with H2 server push). (Pedro Magalhães)
- Fileinfo:
. Fixed bug #77346 (webm files incorrectly detected as
application/octet-stream). (Anatol)
- FPM:
. Fixed bug #77430 (php-fpm crashes with Main process exited, code=dumped,
status=11/SEGV). (Jakub Zelenka)
- GD:
. Fixed bug #73281 (imagescale(…, IMG_BILINEAR_FIXED) can cause black border).
(cmb)
. Fixed bug #73614 (gdImageFilledArc() doesn't properly draw pies). (cmb)
. Fixed bug #77272 (imagescale() may return image resource on failure). (cmb)
. Fixed bug #77391 (1bpp BMPs may fail to be loaded). (Romain Déoux, cmb)
. Fixed bug #77479 (imagewbmp() segfaults with very large images). (cmb)
- ldap:
. Fixed bug #77440 (ldap_bind using ldaps or ldap_start_tls()=exception in
libcrypto-1_1-x64.dll). (Anatol)
- Mbstring:
. Fixed bug #77428 (mb_ereg_replace() doesn't replace a substitution
variable). (Nikita)
. Fixed bug #77454 (mb_scrub() silently truncates after a null byte).
(64796c6e69 at gmail dot com)
- MySQLnd:
. Fixed bug #77308 (Unbuffered queries memory leak). (Dmitry)
. Fixed bug #75684 (In mysqlnd_ext_plugin.h the plugin methods family has
no external visibility). (Anatol)
- Opcache:
. Fixed bug #77266 (Assertion failed in dce_live_ranges). (Laruence)
. Fixed bug #77257 (value of variable assigned in a switch() construct gets
lost). (Nikita)
. Fixed bug #77434 (php-fpm workers are segfaulting in zend_gc_addre).
(Nikita)
. Fixed bug #77361 (configure fails on 64-bit AIX when opcache enabled).
(Kevin Adler)
. Fixed bug #77287 (Opcache literal compaction is incompatible with EXT
opcodes). (Nikita)
- PCRE:
. Fixed bug #77338 (get_browser with empty string). (Nikita)
- PDO:
. Fixed bug #77273 (array_walk_recursive corrupts value types leading to PDO
failure). (Nikita)
- PDO MySQL:
. Fixed bug #77289 (PDO MySQL segfaults with persistent connection).
(Lauri Kenttä)
- SOAP:
. Fixed bug #77410 (Segmentation Fault when executing method with an empty
parameter). (Nikita)
- Sockets:
. Fixed bug #76839 (socket_recvfrom may return an invalid 'from' address
on MacOS). (Michael Meyer)
- SPL:
. Fixed bug #77298 (segfault occurs when add property to unserialized empty
ArrayObject). (jhdxr)
- Standard:
. Fixed bug #77395 (segfault about array_multisort). (Laruence)
. Fixed bug #77439 (parse_str segfaults when inserting item into existing
array). (Nikita)
10 Jan 2019, PHP 7.3.1
- Core:
. Fixed bug #76654 (Build failure on Mac OS X on 32-bit Intel). (Ryandesign)
. Fixed bug #71041 (zend_signal_startup() needs ZEND_API).
(Valentin V. Bartenev)
. Fixed bug #76046 (PHP generates "FE_FREE" opcode on the wrong line).
(Nikita)
. Fixed bug #77291 (magic methods inherited from a trait may be ignored).
(cmb)
- CURL:
. Fixed bug #77264 (curl_getinfo returning microseconds, not seconds).
(Pierrick)
- COM:
. Fixed bug #77177 (Serializing or unserializing COM objects crashes). (cmb)
- Exif:
. Fixed bug #77184 (Unsigned rational numbers are written out as signed
rationals). (Colin Basnett)
- GD:
. Fixed bug #77195 (Incorrect error handling of imagecreatefromjpeg()). (cmb)
. Fixed bug #77198 (auto cropping has insufficient precision). (cmb)
. Fixed bug #77200 (imagecropauto(…, GD_CROP_SIDES) crops left but not right).
(cmb)
. Fixed bug #77269 (efree() on uninitialized Heap data in imagescale leads to
use-after-free). (cmb)
. Fixed bug #77270 (imagecolormatch Out Of Bounds Write on Heap). (cmb)
- MBString:
. Fixed bug #77367 (Negative size parameter in mb_split). (Stas)
. Fixed bug #77370 (Buffer overflow on mb regex functions - fetch_token).
(Stas)
. Fixed bug #77371 (heap buffer overflow in mb regex functions
- compile_string_node). (Stas)
. Fixed bug #77381 (heap buffer overflow in multibyte match_at). (Stas)
. Fixed bug #77382 (heap buffer overflow due to incorrect length in
expand_case_fold_string). (Stas)
. Fixed bug #77385 (buffer overflow in fetch_token). (Stas)
. Fixed bug #77394 (Buffer overflow in multibyte case folding - unicode).
(Stas)
. Fixed bug #77418 (Heap overflow in utf32be_mbc_to_code). (Stas)
- OCI8:
. Fixed bug #76804 (oci_pconnect with OCI_CRED_EXT not working). (KoenigsKind)
. Added oci_set_call_timeout() for call timeouts.
. Added oci_set_db_operation() for the DBOP end-to-end-tracing attribute.
- Opcache:
. Fixed bug #77215 (CFG assertion failure on multiple finalizing switch
frees in one block). (Nikita)
. Fixed bug #77275 (OPcache optimization problem for ArrayAccess->offsetGet).
(Nikita)
- PCRE:
. Fixed bug #77193 (Infinite loop in preg_replace_callback). (Anatol)
- PDO:
. Handle invalid index passed to PDOStatement::fetchColumn() as error. (Sergei
Morozov)
- Phar:
. Fixed bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext). (Stas)
- Soap:
. Fixed bug #77088 (Segfault when using SoapClient with null options).
(Laruence)
- Sockets:
. Fixed bug #77136 (Unsupported IPV6_RECVPKTINFO constants on macOS).
(Mizunashi Mana)
- Sodium:
. Fixed bug #77297 (SodiumException segfaults on PHP 7.3). (Nikita, Scott)
- SPL:
. Fixed bug #77359 (spl_autoload causes segfault). (Lauri Kenttä)
. Fixed bug #77360 (class_uses causes segfault). (Lauri Kenttä)
- SQLite3:
. Fixed bug #77051 (Issue with re-binding on SQLite3). (BohwaZ)
- Xmlrpc:
. Fixed bug #77242 (heap out of bounds read in xmlrpc_decode()). (cmb)
. Fixed bug #77380 (Global out of bounds read in xmlrpc base64 code). (Stas)
06 Dec 2018, PHP 7.3.0
- Core:
. Improved PHP GC. (Dmitry, Nikita)
. Redesigned the old ext_skel program written in PHP, run:
'php ext_skel.php' for all options. This means there are no dependencies,
thus making it work on Windows out of the box. (Kalle)
. Removed support for BeOS. (Kalle)
. Add PHP_VERSION to phpinfo() <title/>. (github/MattJeevas)
. Add net_get_interfaces(). (Sara, Joe, Anatol)
. Added gc_status(). (Benjamin Eberlei)
. Implemented flexible heredoc and nowdoc syntax, per
RFC https://wiki.php.net/rfc/flexible_heredoc_nowdoc_syntaxes.
(Thomas Punt)
. Added support for references in list() and array destructuring, per
RFC https://wiki.php.net/rfc/list_reference_assignment.
(David Walker)
. Improved effectiveness of ZEND_SECURE_ZERO for NetBSD and systems
without native similar feature. (devnexen)
. Added syslog.facility and syslog.ident INI entries for customizing syslog
logging. (Philip Prindeville)
. Fixed bug #75683 (Memory leak in zend_register_functions() in ZTS mode).
(Dmitry)
. Fixed bug #75031 (support append mode in temp/memory streams). (adsr)
. Fixed bug #74860 (Uncaught exceptions not being formatted properly when
error_log set to "syslog"). (Philip Prindeville)
. Fixed bug #75220 (Segfault when calling is_callable on parent).
(andrewnester)
. Fixed bug #69954 (broken links and unused config items in distributed ini
files). (petk)
. Fixed bug #74922 (Composed class has fatal error with duplicate, equal const
properties). (pmmaga)
. Fixed bug #63911 (identical trait methods raise errors during composition).
(pmmaga)
. Fixed bug #75677 (Clang ignores fastcall calling convention on variadic
function). (Li-Wen Hsu)
. Fixed bug #54043 (Remove inconsitency of internal exceptions and user
defined exceptions). (Nikita)
. Fixed bug #53033 (Mathematical operations convert objects to integers).
(Nikita)
. Fixed bug #73108 (Internal class cast handler uses integer instead of
float). (Nikita)
. Fixed bug #75765 (Fatal error instead of Error exception when base class is
not found). (Timur Ibragimov)
. Fixed bug #76198 (Wording: "iterable" is not a scalar type). (Levi Morrison)
. Fixed bug #76137 (config.guess/config.sub do not recognize RISC-V). (cmb)
. Fixed bug #76427 (Segfault in zend_objects_store_put). (Laruence)
. Fixed bug #76422 (ftruncate fails on files > 2GB). (Anatol)
. Fixed bug #76509 (Inherited static properties can be desynchronized from
their parent by ref). (Nikita)
. Fixed bug #76439 (Changed behaviour in unclosed HereDoc). (Nikita, tpunt)
. Fixed bug #63217 (Constant numeric strings become integers when used as
ArrayAccess offset). (Rudi Theunissen, Dmitry)
. Fixed bug #33502 (Some nullary functions don't check the number of
arguments). (cmb)
. Fixed bug #76392 (Error relocating sapi/cli/php: unsupported relocation
type 37). (Peter Kokot)
. The declaration and use of case-insensitive constants has been deprecated.
(Nikita)
. Added syslog.filter INI entry for syslog filtering. (Philip Prindeville)
. Fixed bug #76667 (Segfault with divide-assign op and __get + __set).
(Laruence)
. Fixed bug #76030 (RE2C_FLAGS rarely honoured) (Cristian Rodríguez)
. Fixed broken zend_read_static_property (Laruence)
. Fixed bug #76773 (Traits used on the parent are ignored for child classes).
(daverandom)
. Fixed bug #76767 (asm operand has impossible constraints in zend_operators.h).
(ondrej)
. Fixed bug #76752 (Crash in ZEND_COALESCE_SPEC_TMP_HANDLER - assertion in
_get_zval_ptr_tmp failed). (Laruence)
. Fixed bug #76820 (Z_COPYABLE invalid definition). (mvdwerve, cmb)
. Fixed bug #76510 (file_exists() stopped working for phar://). (cmb)
. Fixed bug #76869 (Incorrect bypassing protected method accessibilty check).
(Dmitry)
. Fixed bug #72635 (Undefined class used by class constant in constexpr
generates fatal error). (Nikita)
. Fixed bug #76947 (file_put_contents() blocks the directory of the file
(__DIR__)). (Anatol)
. Fixed bug #76979 (define() error message does not mention resources as
valid values). (Michael Moravec)
. Fixed bug #76825 (Undefined symbols ___cpuid_count). (Laruence, cmb)
. Fixed bug #77110 (undefined symbol zend_string_equal_val in C++ build).
(Remi)
- BCMath:
. Implemented FR #67855 (No way to get current scale in use). (Chris Wright,
cmb)
. Fixed bug #66364 (BCMath bcmul ignores scale parameter). (cmb)
. Fixed bug #75164 (split_bc_num() is pointless). (cmb)
. Fixed bug #75169 (BCMath errors/warnings bypass PHP's error handling). (cmb)
- CLI:
. Fixed bug #44217 (Output after stdout/stderr closed cause immediate exit
with status 0). (Robert Lu)
. Fixed bug #77111 (php-win.exe corrupts unicode symbols from cli
parameters). (Anatol)
- cURL:
. Expose curl constants from curl 7.50 to 7.61. (Pierrick)
. Fixed bug #74125 (Fixed finding CURL on systems with multiarch support).
(cebe)
- Date:
. Implemented FR #74668: Add DateTime::createFromImmutable() method.
(majkl578, Rican7)
. Fixed bug #75222 (DateInterval microseconds property always 0). (jhdxr)
. Fixed bug #68406 (calling var_dump on a DateTimeZone object modifies it).
(jhdxr)
. Fixed bug #76131 (mismatch arginfo for date_create). (carusogabriel)
. Updated timelib to 2018.01RC1 to address several bugs:
. Fixed bug #75577 (DateTime::createFromFormat does not accept 'v' format
specifier). (Derick)
. Fixed bug #75642 (Wrap around behaviour for microseconds is not working).
(Derick)
- DBA:
. Fixed bug #75264 (compiler warnings emitted). (petk)
- DOM:
. Fixed bug #76285 (DOMDocument::formatOutput attribute sometimes ignored).
(Andrew Nester, Laruence, Anatol)
- Fileinfo:
. Fixed bug #77095 (slowness regression in 7.2/7.3 (compared to 7.1)).
(Anatol)
- Filter:
. Added the 'add_slashes' sanitization mode (FILTER_SANITIZE_ADD_SLASHES).
(Kalle)
- FPM:
. Added fpm_get_status function. (Till Backhaus)
. Fixed bug #62596 (getallheaders() missing with PHP-FPM). (Remi)
. Fixed bug #69031 (Long messages into stdout/stderr are truncated
incorrectly) - added new log related FPM configuration options:
log_limit, log_buffering and decorate_workers_output. (Jakub Zelenka)
- ftp:
. Fixed bug #77151 (ftp_close(): SSL_read on shutdown). (Remi)
- GD:
. Added support for WebP in imagecreatefromstring(). (Andreas Treichel, cmb)
- GMP:
. Export internal structures and accessor helpers for GMP object. (Sara)
. Added gmp_binomial(n, k). (Nikita)
. Added gmp_lcm(a, b). (Nikita)
. Added gmp_perfect_power(a). (Nikita)
. Added gmp_kronecker(a, b). (Nikita)
- iconv:
. Fixed bug #53891 (iconv_mime_encode() fails to Q-encode UTF-8 string). (cmb)
. Fixed bug #77147 (Fixing 60494 ignored ICONV_MIME_DECODE_CONTINUE_ON_ERROR).
(cmb)
- IMAP:
. Fixed bug #77020 (null pointer dereference in imap_mail). (cmb)
. Fixed bug #77153 (imap_open allows to run arbitrary shell commands via
mailbox parameter). (Stas)
- Interbase:
. Fixed bug #75453 (Incorrect reflection for ibase_[p]connect). (villfa)
. Fixed bug #76443 (php+php_interbase.dll crash on module_shutdown). (Kalle)
- intl:
. Fixed bug #75317 (UConverter::setDestinationEncoding changes source instead
of destination). (andrewnester)
. Fixed bug #76829 (Incorrect validation of domain on idn_to_utf8()
function). (Anatol)
- JSON:
. Added JSON_THROW_ON_ERROR flag. (Andrea)
- LDAP:
. Added ldap_exop_refresh helper for EXOP REFRESH operation with dds overlay.
(Come)
. Added full support for sending and parsing ldap controls. (Come)
. Fixed bug #49876 (Fix LDAP path lookup on 64-bit distros). (dzuelke)
- libxml2:
. Fixed bug #75871 (use pkg-config where available). (pmmaga)
- 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)
- MBstring:
. Updated to Oniguruma 6.9.0. (cmb)
. Fixed bug #65544 (mb title case conversion-first word in quotation isn't
capitalized). (Nikita)
. Fixed bug #71298 (MB_CASE_TITLE misbehaves with curled apostrophe/quote).
(Nikita)
. Fixed bug #73528 (Crash in zif_mb_send_mail). (Nikita)
. Fixed bug #74929 (mbstring functions version 7.1.1 are slow compared to 5.3
on Windows). (Nikita)
. Fixed bug #76319 (mb_strtolower with invalid UTF-8 causes segmentation
fault). (Nikita)
. Fixed bug #76574 (use of undeclared identifiers INT_MAX and LONG_MAX). (cmb)
. Fixed bug #76594 (Bus Error due to unaligned access in zend_ini.c
OnUpdateLong). (cmb, Nikita)
. Fixed bug #76706 (mbstring.http_output_conv_mimetypes is ignored). (cmb)
. Fixed bug #76958 (Broken UTF7-IMAP conversion). (Nikita)
. Fixed bug #77025 (mb_strpos throws Unknown encoding or conversion error).
(Nikita)
. Fixed bug #77165 (mb_check_encoding crashes when argument given an empty
array). (Nikita)
- Mysqlnd:
. Fixed bug #76386 (Prepared Statement formatter truncates fractional seconds
from date/time column). (Victor Csiky)
- ODBC:
. Removed support for ODBCRouter. (Kalle)
. Removed support for Birdstep. (Kalle)
. Fixed bug #77079 (odbc_fetch_object has incorrect type signature).
(Jon Allen)
- Opcache:
. Fixed bug #76466 (Loop variable confusion). (Dmitry, Laruence, Nikita)
. Fixed bug #76463 (var has array key type but not value type). (Laruence)
. Fixed bug #76446 (zend_variables.c:73: zend_string_destroy: Assertion
`!(zval_gc_flags((str)->gc)). (Nikita, Laruence)
. Fixed bug #76711 (OPcache enabled triggers false-positive "Illegal string
offset"). (Dmitry)
. Fixed bug #77058 (Type inference in opcache causes side effects). (Nikita)
. Fixed bug #77092 (array_diff_key() - segmentation fault). (Nikita)
- OpenSSL:
. Added openssl_pkey_derive function. (Jim Zubov)
. Add min_proto_version and max_proto_version ssl stream options as well as
related constants for possible TLS protocol values. (Jakub Zelenka)
- PCRE:
. Implemented https://wiki.php.net/rfc/pcre2-migration. (Anatol, Dmitry)
. Upgrade PCRE2 to 10.32. (Anatol)
. Fixed bug #75355 (preg_quote() does not quote # control character).
(Michael Moravec)
. Fixed bug #76512 (\w no longer includes unicode characters). (cmb)
. Fixed bug #76514 (Regression in preg_match makes it fail with
PREG_JIT_STACKLIMIT_ERROR). (Anatol)
. Fixed bug #76909 (preg_match difference between 7.3 and < 7.3). (Anatol)
- PDO_DBlib:
. Implemented FR #69592 (allow 0-column rowsets to be skipped automatically).
(fandrieu)
. Expose TDS version as \PDO::DBLIB_ATTR_TDS_VERSION attribute on \PDO
instance. (fandrieu)
. Treat DATETIME2 columns like DATETIME. (fandrieu)
. Fixed bug #74243 (allow locales.conf to drive datetime format). (fandrieu)
- PDO_Firebird:
. Fixed bug #74462 (PDO_Firebird returns only NULLs for results with boolean
for FIREBIRD >= 3.0). (Dorin Marcoci)
- PDO_OCI:
. Fixed bug #74631 (PDO_PCO with PHP-FPM: OCI environment initialized
before PHP-FPM sets it up). (Ingmar Runge)
- PDO SQLite
. Add support for additional open flags
- pgsql:
. Added new error constants for pg_result_error(): PGSQL_DIAG_SCHEMA_NAME,
PGSQL_DIAG_TABLE_NAME, PGSQL_DIAG_COLUMN_NAME, PGSQL_DIAG_DATATYPE_NAME,
PGSQL_DIAG_CONSTRAINT_NAME and PGSQL_DIAG_SEVERITY_NONLOCALIZED. (Kalle)
. Fixed bug #77047 (pg_convert has a broken regex for the 'TIME WITHOUT
TIMEZONE' data type). (Andy Gajetzki)
- phar:
. Fixed bug #74991 (include_path has a 4096 char limit in some cases).
(bwbroersma)
. Fixed bug #65414 (deal with leading slash when adding files correctly).
(bishopb)
- readline:
. Added completion_append_character and completion_suppress_append options
to readline_info() if linked against libreadline. (krageon)
- Session:
. Fixed bug #74941 (session fails to start after having headers sent).
(morozov)
- SimpleXML:
. Fixed bug #54973 (SimpleXML casts integers wrong). (Nikita)
. Fixed bug #76712 (Assignment of empty string creates extraneous text node).
(cmb)
- Sockets:
. Fixed bug #67619 (Validate length on socket_write). (thiagooak)
- SOAP:
. Fixed bug #75464 (Wrong reflection on SoapClient::__setSoapHeaders).
(villfa)
. Fixed bug #70469 (SoapClient generates E_ERROR even if exceptions=1 is
used). (Anton Artamonov)
. Fixed bug #50675 (SoapClient can't handle object references correctly).
(Cameron Porter)
. Fixed bug #76348 (WSDL_CACHE_MEMORY causes Segmentation fault). (cmb)
. Fixed bug #77141 (Signedness issue in SOAP when precision=-1). (cmb)
- SPL:
. Fixed bug #74977 (Appending AppendIterator leads to segfault).
(Andrew Nester)
. Fixed bug #75173 (incorrect behavior of AppendIterator::append in foreach
loop). (jhdxr)
. Fixed bug #74372 (autoloading file with syntax error uses next autoloader,
may hide parse error). (Nikita)
. Fixed bug #75878 (RecursiveTreeIterator::setPostfix has wrong signature).
(cmb)
. Fixed bug #74519 (strange behavior of AppendIterator). (jhdxr)
. Fixed bug #76131 (mismatch arginfo for splarray constructor).
(carusogabriel)
- SQLite3:
. Updated bundled libsqlite to 3.24.0. (cmb)
- Standard:
. Added is_countable() function. (Gabriel Caruso)
. Added support for the SameSite cookie directive, including an alternative
signature for setcookie(), setrawcookie() and session_set_cookie_params().
(Frederik Bosch, pmmaga)
. Remove superfluous warnings from inet_ntop()/inet_pton(). (daverandom)
. Fixed bug #75916 (DNS_CAA record results contain garbage). (Mike,
Philip Sharp)
. Fixed unserialize(), to disable creation of unsupported data structures
through manually crafted strings. (Dmitry)
. Fixed bug #75409 (accept EFAULT in addition to ENOSYS as indicator
that getrandom() is missing). (sarciszewski)
. Fixed bug #74719 (fopen() should accept NULL as context). (Alexander Holman)
. Fixed bug #69948 (path/domain are not sanitized in setcookie). (cmb)
. Fixed bug #75996 (incorrect url in header for mt_rand). (tatarbj)
. Added hrtime() function, to get high resolution time. (welting)
. Fixed bug #48016 (stdClass::__setState is not defined although var_export()
uses it). (Andrea)
. Fixed bug #76136 (stream_socket_get_name should enclose IPv6 in brackets).
(seliver)
. Fixed bug #76688 (Disallow excessive parameters after options array).
(pmmaga)
. Fixed bug #76713 (Segmentation fault caused by property corruption).
(Laruence)
. Fixed bug #76755 (setcookie does not accept "double" type for expire time).
(Laruence)
. Fixed bug #76674 (improve array_* failure messages exposing what was passed
instead of an array). (carusogabriel)
. Fixed bug #76803 (ftruncate changes file pointer). (Anatol)
. Fixed bug #76818 (Memory corruption and segfault). (Remi)
. Fixed bug #77081 (ftruncate() changes seek pointer in c mode). (cmb, Anatol)
- Testing:
. Implemented FR #62055 (Make run-tests.php support --CGI-- sections). (cmb)
- Tidy:
. Support using tidyp instead of tidy. (devnexen)
. Fixed bug #74707 (Tidy has incorrect ReflectionFunction param counts for
functions taking tidy). (Gabriel Caruso)
. Fixed arginfo for tidy::__construct(). (Tyson Andre)
- Tokenizer:
. Fixed bug #76437 (token_get_all with TOKEN_PARSE flag fails to recognise
close tag). (Laruence)
. Fixed bug #75218 (Change remaining uncatchable fatal errors for parsing
into ParseError). (Nikita)
. Fixed bug #76538 (token_get_all with TOKEN_PARSE flag fails to recognise
close tag with newline). (Nikita)
. Fixed bug #76991 (Incorrect tokenization of multiple invalid flexible
heredoc strings). (Nikita)
- XML:
. Fixed bug #71592 (External entity processing never fails). (cmb)
- Zlib:
. Added zlib/level context option for compress.zlib wrapper. (Sara)