From: sskaje Date: Tue, 3 Jan 2017 10:42:27 +0000 (+0800) Subject: Merge branch 'master' into master X-Git-Tag: php-7.2.0alpha1~672^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4935f795e84e07bfe5deee46bd5f8046c89d5574;p=php Merge branch 'master' into master --- 4935f795e84e07bfe5deee46bd5f8046c89d5574 diff --cc UPGRADING index bc93640f79,0b291ebf72..fc573565ee --- a/UPGRADING +++ b/UPGRADING @@@ -81,34 -95,27 +95,28 @@@ PHP 7.2 UPGRADE NOTE ======================================== 5. Changed Functions ======================================== - - get_headers() has an extra parameter which allows passing a custom stream - context. - - The first $varname argument for getenv() is no longer mandatory, the - current environment variables will be returned as an associative array - when omitted. - - json_encode() accepts new option JSON_UNESCAPED_LINE_TERMINATORS that - disables escaping of U+2028 and U+2029 characters when - JSON_UNESCAPED_UNICODE is supplied. - - long2ip() accepts integer as parameter now - - pg_last_notice() accepts optional long parameter to specify operation. - PGSQL_NOTICE_LAST - Get last notice (Default) - PGSQL_NOTICE_ALL - Get all stored notices - PGSQL_NOTICE_CLEAR - Remove all stored notices - It returns empty string or array on successful PGSQL_NOTICE_LAST/ALL calls. - It returned FALSE for empty notice previously. - - pg_fetch_all() accepts 2nd optional result type parameter like - pg_fetch_row(). - - pg_select() accepts 4th optional result type parameter like pg_fetch_row(). - - parse_url() is more restrictive now and supports RFC3986. - - unpack() accepts an additional optional $offset argument. '@' format code - (that specifes an absolute position) is applyed to input data after - the $offset argument. - - pack() and unpack() now support float and double in both little and big endian. - - strpos(), stripos(), substr_count(), grapheme_strpos(), grapheme_stripos(), - grapheme_extract(), iconv_strpos(), mb_strimwidth(), mb_ereg_search_setpos(), - mb_strpos() and mb_stripos() now accept negative string offsets. - - substr_count() and mb_strimwidth() additionally also accept negative length. - - file_get_contents() accepts a negative seek offset if the stream is seekable. + + - Standard: + . password_hash() can generate Argon2i hashes when the algorithm is set to PASSWORD_ARGON2I. + When using PASSWORD_ARGON2I, the following cost factors may be set: 'memory_cost', 'time_cost', + and 'threads'. These cost factors will default to 'PASSWORD_ARGON2_DEFAULT_MEMORY_COST', + 'PASSWORD_ARGON2_DEFAULT_TIME_COST', and 'PASSWORD_ARGON2_DEFAULT_THREADS' respectively if not set. + . password_verify() can verify Argon2i hashes. + . password_get_info() and password_needs_rehash() can accept Argon2i hashes. + . mail()/mb_send_mail() accept array $extra_header. Array paramter is checked against RFC 2822. + Array format is + $extra_headers = [ + 'Header-Name' => 'Header value', + 'Multiple' => ['One header', 'Another header'], + 'Multiline' = "FirstLine\r\n SecondLine", + ]; + . count() now raises a warning when an invalid parameter is passed. + Only arrays and objects implementing the Countable interface should be passed. ++ . pack() and unpack() now support float and double in both little and big endian. + + - XML: + . utf8_encode() and utf8_decode() have been moved to the Standard extension + as string functions. ======================================== 6. New Functions