From: Joe Watkins Date: Fri, 6 Jan 2017 05:46:10 +0000 (+0000) Subject: Merge branch 'pull-request/1303' X-Git-Tag: php-7.2.0alpha1~625 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ee6aaee83a4a72791b0750c495538dfcf6ce7ce8;p=php Merge branch 'pull-request/1303' * pull-request/1303: Distinguish between unmatched subpatterns and empty matches in preg_*() news entry for PR #1303 --- ee6aaee83a4a72791b0750c495538dfcf6ce7ce8 diff --cc NEWS index 6520d887ed,e1d67eeadb..087f8453d4 --- a/NEWS +++ b/NEWS @@@ -1,109 -1,253 +1,112 @@@ -PHP NEWS +PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -?? ??? 20??, PHP 7.0.0 +?? ??? ????, PHP 7.2 -- CLI server: - . Refactor MIME type handling to use a hash table instead of linear search. - (Adam) - . Update the MIME type list from the one shipped by Apache HTTPD. (Adam) - . Added support for SEARCH WebDav method. (Mats Lindh) +- Calendar: + . Fix integer overflows (Joshua Rogers) - Core: - . Fixed bug #68475 (Add support for $callable() sytnax with 'Class::method'). - (Julien, Aaron Piotrowski) - . Fixed bug #69485 (Double free on zend_list_dtor). (Laruence) - . Fixed bug #69427 (Segfault on magic method __call of private method in - superclass). (Laruence) - . Improved __call() and __callStatic() magic method handling. Now they are - called in a stackless way using ZEND_CALL_TRAMPOLINE opcode, without - additional stack frame. (Laruence, Dmitry) - . Optimized strings concatenation. (Dmitry, Laruence) - . Fixed weird operators behavior. Division by zero now emits warning and - returns +/-INF, modulo by zero and intdid() throws an exception, shifts - by negative offset throw exceptions. Compile-time evaluation of division - by zero is disabled. (Dmitry, Andrea, Nikita) - . Fixed bug #69371 (Hash table collision leads to inaccessible array keys). - (Laruence) - . Fixed bug #68933 (Invalid read of size 8 in zend_std_read_property). - (Laruence, arjen at react dot com) - . Fixed bug #68252 (segfault in Zend/zend_hash.c in function - _zend_hash_del_el). (Laruence) - . Fixed bug #65598 (Closure executed via static autoload incorrectly marked as - static). (Nikita) - . Fixed bug #66811 (Cannot access static::class in lambda, writen outside of a - class). (Nikita) - . Fixed bug #69568 (call a private function in closure failed). (Nikita) - . Added PHP_INT_MIN constant. (Andrea) - . Added Closure::call() method. (Andrea) - . Fixed bug #67959 (Segfault when calling phpversion('spl')). (Florian) - . Implemented the RFC `Catchable "Call to a member function bar() on a - non-object"`. (Timm) - . Added options parameter for unserialize allowing to specify acceptable - classes (https://wiki.php.net/rfc/secure_unserialize). (Stas) - . Fixed bug #63734 (Garbage collector can free zvals that are still - referenced). (Dmitry) - . Removed ZEND_ACC_FINAL_CLASS, promoting ZEND_ACC_FINAL as final class - modifier. (Guilherme Blanco) - . is_long() & is_integer() is now an alias of is_int(). (Kalle) - . Implemented FR #55467 (phpinfo: PHP Variables with $ and single quotes). (Kalle) - . Added ?? operator. (Andrea) - . Added <=> operator. (Andrea) - . Added \u{xxxxx} Unicode Codepoint Escape Syntax. (Andrea) - . Fixed oversight where define() did not support arrays yet const syntax did. - (Andrea, Dmitry) - . Use "integer" and "float" instead of "long" and "double" in ZPP, type hint - and conversion error messages. (Andrea) - . Implemented FR #55428 (E_RECOVERABLE_ERROR when output buffering in output - buffering handler). (Kalle) - . Removed scoped calls of non-static methods from an incompatible $this - context. (Nikita) - . Removed support for #-style comments in ini files. (Nikita) - . Removed support for assigning the result of new by reference. (Nikita) - . Invalid octal literals in source code now produce compile errors, fixes - PHPSadness #31. (Andrea) - . Removed dl() function on fpm-fcgi. (Nikita) - . Removed support for hexadecimal numeric strings. (Nikita) - . Removed obsolete extensions and SAPIs. See the full list in UPGRADING. (Anatol) - . Added NULL byte protection to exec, system and passthru. (Yasuo) - . Added error_clear_last() function. (Reeze Xia) - . Fixed bug #68797 (Number 2.2250738585072012e-308 converted incorrectly). + . Removed IS_TYPE_IMMUTABLE (it's the same as COPYABLE & !REFCOUNTED). (Dmitry) + . Removed the sql.safe_mode directive. (Kalle) + . Removed support for Netware. (Kalle) + . Fixed bug #54535 (WSA cleanup executes before MSHUTDOWN). (Kalle) + . Implemented FR #69791 (Disallow mail header injections by extra headers) + (Yasuo) + . Implemented FR #49806 (proc_nice() for Windows). (Kalle) + . Fix pthreads detection when cross-compiling (ffontaine) + . Fixed memory leaks caused by exceptions thrown from destructors. (Bob, + Dmitry). + . Fixed bug #73215 (uniqid() should use better random source). (Yasuo) + . Fixed bug #73337 (try/catch not working with two exceptions inside a same + operation). (Dmitry) + . Implemented FR #72768 (Add ENABLE_VIRTUAL_TERMINAL_PROCESSING flag for + php.exe). (Michele Locati) + . Implemented "Convert numeric keys in object/array casts" RFC, fixes + bugs #53838, #61655, #66173, #70925, #72254, etc. (Andrea) + . Raised minimum supported Windows versions to Windows 7/Server 2008 R2. (Anatol) - . Improved zend_qsort(using hybrid sorting algo) for better performance, - and also renamed zend_qsort to zend_sort. (Laruence) - . Added stable sorting algo zend_insert_sort. (Laruence) - . Implemented the RFC `Scalar Type Decalarations v0.5`. (Anthony) - . Implemented the RFC `Group Use Declarations`. (Marcio) - . Implemented the RFC `Continue Output Buffering`. (Mike) - . Implemented the RFC `Constructor behaviour of internal classes`. (Dan, Dmitry) - . Implemented the RFC `Fix "foreach" behavior`. (Dmitry) - . Implemented the RFC `Generator Delegation`. (Bob) - . Implemented the RFC ` Anonymous Class Support`. (Joe, Nikita, Dmitry) - . Fixed bug #69511 (Off-by-one buffer overflow in php_sys_readlink). - (Jan Starke, Anatol) - -- Curl: - . Fixed bug #68937 (Segfault in curl_multi_exec). (Laruence) - . Removed support for unsafe file uploads. (Nikita) - Date: - . Fixed day_of_week function as it could sometimes return negative values - internally. (Derick) - . Removed $is_dst parameter from mktime() and gmmktime(). (Nikita) - . Removed date.timezone warning - (https://wiki.php.net/rfc/date.timezone_warning_removal). (Bob) - . Added "v" DateTime format modifier to get the 3-digit version of fraction - of seconds. (Mariano Iglesias) - . Implemented FR #69089: Added DateTime::RFC3339_EXTENDED to output in - RFC3339 Extended format which includes fraction of seconds (Mariano - Iglesias) - -- DBA: - . Fixed bug #62490 (dba_delete returns true on missing item (inifile)). (Mike) - . Fixed bug #68711 (useless comparisons). (bugreports at internot dot info) + . Fixed bug #69587 (DateInterval properties and isset). (jhdxr) - DOM: - . Made DOMNode::textContent writeable. (Tjerk) - -- GD: - . Made fontFetch's path parser thread-safe. (Sara) - -- Fileinfo: - . Fixed bug #66242 (libmagic: don't assume char is signed). (ArdB) - -- Filter: - . New FILTER_VALIDATE_DOMAIN and better RFC conformance for FILTER_VALIDATE_URL. (Kevin Dunglas) + . Fixed bug #67474 (getElementsByTagNameNS filter on default ns). (aboks) + +- EXIF: + . Added support for vendor specific tags for the following formats: + Samsung, DJI, Panasonic, Sony, Pentax, Minolta & Sigma/Foveon. (Kalle) + . Fixed bug #72682 (exif_read_data() fails to read all data for some + images). (Kalle) + . Fixed bug #71534 (Type confusion in exif_read_data() leading to heap + overflow in debug mode). (hlt99 at blinkenshell dot org, Kalle) + . Fixed bug #68547 (Exif Header component value check error). + (sjh21a at gmail dot com, Kalle) + . Fixed bug #66443 (Corrupt EXIF header: maximum directory nesting level + reached for some cameras). (Kalle) + . Fixed Redhat bug #1362571 (PHP not returning full results for + exif_read_data function). (Kalle) - FPM: - . Fixed bug #68945 (Unknown admin values segfault pools). (Laruence) - . Fixed bug #65933 (Cannot specify config lines longer than 1024 bytes). (Chris Wright) - . Implement request #67106 (Split main fpm config). (Elan Ruusamäe, Remi) + . Configuration to limit fpm slow log trace callers. (Sannis) -- FTP: - . Fixed bug #69082 (FTPS support on Windows). (Anatol) - -- Intl: - . Removed deprecated aliases datefmt_set_timezone_id() and - IntlDateFormatter::setTimeZoneID(). (Nikita) - -- JSON - . Replace non-free JSON parser with a parser from Jsond extension, fixes #63520 - (JSON extension includes a problematic license statement). (Jakub Zelenka) - . Fixed bug #68938 (json_decode() decodes empty string without error). - (jeremy at bat-country dot us) +- GD: + . Implemented imageresolution as getter and setter (Christoph) -- LDAP - . Fixed bug #47222 (Implement LDAP_OPT_DIAGNOSTIC_MESSAGE). (Andreas Heigl) +- GMP: + . Fixed bug #70896 (gmp_fact() silently ignores non-integer input). (Sara) -- LiteSpeed: - . Updated LiteSpeed SAPI code from V5.5 to V6.6. (George Wang) +- Mbstring: + . Implemented request #66024 (mb_chr() and mb_ord()). (Masakielastic, Yasuo) + . Implemented request #65081 (mb_scrub()). (Masakielastic, Yasuo) + . Implemented request #69086 (enhancement for mb_convert_encoding() that + handles multibyte replacement char nicely). (Masakielastic, Yasuo) + . Added array input support to mb_convert_encoding(). (Yasuo) + . Added array input support to mb_check_encoding(). (Yasuo) + . Fixed bug #69079 (enhancement for mb_substitute_character). (masakielastic) - Mcrypt: - . Fixed possible read after end of buffer and use after free. (Dmitry) - . Removed mcrypt_generic_end() alias. (Nikita) - . Removed mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb(), mcrypt_ofb(). (Nikita) - -- Opcache: - . Fixed bug #69688 (segfault with eval and opcache fast shutdown). - (Laruence) - . Added experimental (disabled by default) file based opcode cache. - (Dmitry, Laruence, Anatol) - . Fixed bug with try blocks being removed when extended_info opcode - generation is turned on. (Laruence) - . Fixed bug #68644 (strlen incorrect : mbstring + func_overload=2 +UTF-8 - + Opcache). (Laruence) - -- OpenSSL: - . Added "alpn_protocols" SSL context option allowing encrypted client/server - streams to negotiate alternative protocols using the ALPN TLS extension when - built against OpenSSL 1.0.2 or newer. Negotiated protocol information is - accessible through stream_get_meta_data() output. - . Removed "CN_match" and "SNI_server_name" SSL context options. Use automatic - detection or the "peer_name" option instead. (Nikita) - -- pcntl: - . Fixed bug #60509 (pcntl_signal doesn't decrease ref-count of old handler - when setting SIG_DFL). (Julien) - . Added wifcontinued and wcontinued. (xilon-jul) - . Added rusage support to pcntl_wait() and pcntl_waitpid(). (Anton Stepanenko, - Tony) + . The deprecated mcrypt extension has been moved to PECL. (leigh) + +- mysqlnd: + . Fixed bug #73800 (sporadic segfault with MYSQLI_OPT_INT_AND_FLOAT_NATIVE). + (vanviegen) + - PCRE: - . Removed support for the /e (PREG_REPLACE_EVAL) modifier. (Nikita) ++ . Fixed bug #61780 (Inconsistent PCRE captures in match results). (cmb) + - PDO: - . Fixed bug #59450 (./configure fails with "Cannot find php_pdo_driver.h"). - (maxime dot besson at smile dot fr) - -- PDO_mysql: - . Fixed bug #68424 (Add new PDO mysql connection attr to control multi - statements option). (peter dot wolanin at acquia dot com) + . Add "Sent SQL" to debug dump for emulated prepares. (Adam Baratz) -- PDO_pgsql: - . Removed PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT attribute in favor of - ATTR_EMULATE_PREPARES). (Nikita) - -- Reflection - . Fixed inheritance chain of Reflector interface. (Tjerk) - . Added ReflectionGenerator class. (Bob) +- PDO_DBlib: + . Fixed bug #73234 (Emulated statements let value dictate parameter type). + (Adam Baratz) + . Fixed bug #73396 (bigint columns are returned as strings). (Adam Baratz) - Session: - . Fixed bug #67694 (Regression in session_regenerate_id()). (Tjerk) - . Fixed bug #68941 (mod_files.sh is a bash-script). (bugzilla at ii.nl, Yasuo) + . Fixed bug #73461 (Prohibit session save handler recursion). (Yasuo) + . PR #2233 Removed register_globals related code and "!" can be used as $_SESSION key name. (Yasuo) + . Improved bug #73100 fix. 'user' save handler can only be set by session_set_save_handler() - SOAP: - . Fixed bug #68361 (Segmentation fault on SoapClient::__getTypes). (Laruence) - -- SPL: - . Changed ArrayIterator implementation using zend_hash_iterator_... API. - Allowed modification of iterated ArrayObject using the same behavior - as proposed in `Fix "foreach" behavior`. Removed "Array was modified - outside object and internal position is no longer valid" hack. (Dmitry) - . Implemented #67886 (SplPriorityQueue/SplHeap doesn't expose extractFlags - nor curruption state). (Julien) - . Fixed bug #66405 (RecursiveDirectoryIterator::CURRENT_AS_PATHNAME - breaks the RecursiveIterator). (Paul Garvin) - -- Sqlite3: - . Fixed bug #68260 (SQLite3Result::fetchArray declares wrong - required_num_args). (Julien) + . Fixed bug #69137 (Peer verification fails when using a proxy with SoapClient) + (Keith Smiley) + +- SQLite3: + . Update to Sqlite 3.15.2. (cmb) - Standard: - . Fixed bug #69523 (Cookie name cannot be empty). (Christoph M. Becker) - . Fixed bug #69325 (php_copy_file_ex does not pass the argument). - (imbolk at gmail dot com) - . Fixed bug #69299 (Regression in array_filter's $flag argument in PHP 7). - (Laruence) - . Removed call_user_method() and call_user_method_array() functions. (Kalle) - . Fixed user session handlers (See rfc:session.user.return-value). (Sara) - . Added intdiv() function. (Andrea) - . Improved precision of log() function for base 2 and 10. (Marc Bennewitz) - . Remove string category support in setlocale(). (Nikita) - . Remove set_magic_quotes_runtime() and its alias magic_quotes_runtime(). - (Nikita) - . Fixed bug #65272 (flock() out parameter not set correctly in windows). - (Daniel Lowrey) - . Added preg_replace_callback_array function. (Wei Dai) - . Deprecated salt option to password_hash. (Anthony) - . Fixed bug #69686 (password_verify reports back error on PHP7 will null - string). (Anthony) - . Added Windows support for getrusage(). (Kalle) - -- Streams: - . Fixed bug #68532 (convert.base64-encode omits padding bytes). - (blaesius at krumedia dot de) - . Removed set_socket_blocking() in favor of its alias stream_set_blocking(). - (Nikita) - -- XSL: - . Fixed bug #64776 (The XSLT extension is not thread safe). (Mike) - . Removed xsl.security_prefs ini option. (Nikita) - -- Zlib: - . Added deflate_init(), deflate_add(), inflate_init(), inflate_add() - functions allowing incremental/streaming compression/decompression. - (Daniel Lowrey & Bob Weinand) - -- Zip: - . Added ZipArchive::setCompressionName and ZipArchive::setCompressionIndex - methods (Remi, Cedric Delmas) - . Update bundled libzip to 1.0.1 (Remi, Anatol) - . Fixed bug #67161. (ZipArchive::getStream() returns NULL for certain file) - (Christoph M. Becker) + . Add subject to mail log. (tomsommer) + . Fixed bug #31875 (get_defined_functions additional param to exclude + disabled functions). (willianveiga) + +- XML: + . Moved utf8_encode() and utf8_decode() to the Standard extension. (Andrea) + . Fixed bug #72135 (malformed XML causes fault) (edgarsandi) + +- XMLRPC: + . Use Zend MM for allocation in bundled libxmlrpc (Joe) + +- ZIP: + . Fixed bug #70103 (ZipArchive::addGlob ignores remove_all_path option). (cmb) <<< NOTE: Insert NEWS from last stable release here prior to actual release! >>>