Changelog

The following changes have been made to functions of bundled extensions.

VersionFunctionDescription
PECL OCI8 1.4oci_set_prefetchBefore this release, rows must be >= 1.
PECL OCI8 1.3.4oci_set_prefetchBefore this release, prefetching was limited to the lesser of rows rows and 1024 * rows bytes. The byte size restriction has now been removed.
PECL 3.0.0IntlDateFormatter::formatSupport for providing IntlCalendar objects to the value parameter was added.
8.0.0 / 1.18.1ZipArchive::addGlob"comp_method", "comp_flags", "enc_method" and "enc_password" in options were added.
8.0.0 / 1.18.0ZipArchive::addEmptyDirflags was added.
 ZipArchive::addFileflags was added.
 ZipArchive::addFromStringflags was added.
 ZipArchive::addGlob"flags" in options was added.
 ZipArchive::getStatusStringThis method can be called on closed archive.
8.0.0imagexbmThe fourth parameter, which was unused, has been removed.
 mb_parse_strThe second parameter was no longer optional.
 mb_regex_set_optionsIf the parameter options is given, the previous options are returned. Formerly, the current options have been returned.
 zip_closeThis function is deprecated in favor of the Object API, see ZipArchive::close.
 zip_entry_closeThis function is deprecated in favor of the Object API.
 zip_entry_compressedsizeThis function is deprecated in favor of the Object API, see ZipArchive::statIndex.
 zip_entry_compressionmethodThis function is deprecated in favor of the Object API, see ZipArchive::statIndex.
 zip_entry_filesizeThis function is deprecated in favor of the Object API, see ZipArchive::statIndex.
 zip_entry_nameThis function is deprecated in favor of the Object API, see ZipArchive::statIndex.
 zip_entry_openThis function is deprecated in favor of the Object API.
 zip_entry_readThis function is deprecated in favor of the Object API, see ZipArchive::getFromIndex.
 zip_openThis function is deprecated in favor of the Object API, see ZipArchive::open.
 zip_readThis function is deprecated in favor of the Object API, see ZipArchive::statIndex.
 ReflectionParameter::getDefaultValueThis method now allows getting the default value of parameters of built-in functions and built-in class methods. Previously, a ReflectionException was thrown.
 ReflectionParameter::getDefaultValueConstantNameThis method now allows getting the default values' constant names of built-in functions and built-in class methods. Previously, a ReflectionException was thrown.
7.4.4proc_openAdded the create_new_console option to the other_options parameter.
7.4.0array_mergeThis function can now be called without any parameter. Formerly, at least one parameter has been required.
 array_merge_recursiveThis function can now be called without any parameter. Formerly, at least one parameter has been required.
 base_convertPassing invalid characters will now generate a deprecation notice. The result will still be computed as if the invalid characters did not exist.
 bindecPassing invalid characters will now generate a deprecation notice. The result will still be computed as if the invalid characters did not exist.
 fgetcsvThe escape parameter now also accepts an empty string to disable the proprietary escape mechanism.
 fputcsvThe escape_char parameter now also accepts an empty string to disable the proprietary escape mechanism.
 get_declared_classesPreviously get_declared_classes always returned parent classes before child classes. This is no longer the case. No particular order is guaranteed for the get_declared_classes return value.
 get_magic_quotes_gpcThis function has been deprecated.
 get_magic_quotes_runtimeThis function has been deprecated.
 hash_algosSupport for crc32c has been added.
 hexdecPassing invalid characters will now generate a deprecation notice. The result will still be computed as if the invalid characters did not exist.
 idn_to_asciiThe default value of variant is now INTL_IDNA_VARIANT_UTS46 instead of the deprecated INTL_IDNA_VARIANT_2003.
 idn_to_utf8The default value of variant is now INTL_IDNA_VARIANT_UTS46 instead of the deprecated INTL_IDNA_VARIANT_2003.
 imagecropautoThe behavior of imagecropauto() in the bundled libgd has been synced with that of system libgd: IMG_CROP_DEFAULT no longer falls back to IMG_CROP_SIDES and threshold-cropping now uses the same algorithm as system libgd.
 imagecropautoThe default value of mode has been changed to IMG_CROP_AUTO. Formerly, the default value has been -1 which corresponds to IMG_CROP_DEFAULT, but passing -1 is now deprecated.
 imagefilterScatter support (IMG_FILTER_SCATTER) was added.
 implodePassing the glue after the pieces (i.e. not using the documented order of parameters) has been deprecated.
 ldap_control_paged_resultThis function has been deprecated.
 ldap_control_paged_result_responseThis function has been deprecated.
 money_formatThis function has been deprecated. Instead, use NumberFormatter::formatCurrency.
 octdecPassing invalid characters will now generate a deprecation notice. The result will still be computed as if the invalid characters did not exist.
 password_hashThe algo parameter expects a string now, but still accepts integers for backward compatibility.
 password_needs_rehashThe algo parameter expects a string now, but still accepts integers for backward compatibility.
 preg_replace_callbackThe flags parameter was added.
 preg_replace_callback_arrayThe flags parameter was added.
 proc_openAdded the create_process_group option to the other_options parameter.
 proc_openproc_open now also accepts an array for the cmd.
 statThe size, atime, mtime and ctime statistics of symlinks are always those of the target. This was previously not the case for NTS builds on Windows.
 statOn Windows, the device number is now the serial number of the volume that contains the file, and the inode number is the identifier associated with the file.
 str_getcsvThe escape parameter now interprets an empty string as signal to disable the proprietary escape mechanism. Formerly, an empty string was treated like the default parameter value.
 strip_tagsThe allowable_tags now alternatively accepts an array.
 SplFileObject::fgetcsvThe escape parameter now also accepts an empty string to disable the proprietary escape mechanism.
 SplFileObject::fputcsvThe escape parameter now also accepts an empty string to disable the proprietary escape mechanism.
 SplFileObject::fwriteThe function now returns FALSE instead of zero on failure.
 SplFileObject::getCsvControlThe escape character can now be an empty string.
 SplFileObject::setCsvControlThe escape parameter now also accepts an empty string to disable the proprietary escape mechanism.
 SQLite3Stmt::bindParamsql_param now also supports the @param notation.
 SQLite3Stmt::bindValuesql_param now also supports the @param notation.
7.3.24, 7.4.12jdtounixThe upper limit of jday has been extended. Previously, it was 2465342 regardless of the architecture.
 tidyNode::isHtmlThis function has been fixed to have reasonable behavior. Previously, almost any node was reported as being an HTML node.
7.3.15, 7.4.3curl_setoptIntroduced CURLOPT_HTTP09_ALLOWED .
7.3.14, 7.4.2dba_openThe lmdb driver now supports an additional $mapsize parameter.
7.3.0DateTime::createFromFormatThe v format specifier has been added.
 apache_request_headersThis function became available in the FPM SAPI.
 array_pushThis function can now be called with only one parameter. Formerly, at least two parameters have been required.
 array_unshiftThis function can now be called with only one parameter. Formerly, at least two parameters have been required.
 bcmulbcmul now returns numbers with the requested scale. Formerly, the returned numbers may have omitted trailing decimal zeroes.
 bcpowbcpow now returns numbers with the requested scale. Formerly, the returned numbers may have omitted trailing decimal zeroes.
 bcscalebcscale can now be used to get the current scale factor; when used as setter, it now returns the old scale value. Formerly, scale was mandatory, and bcscale always returned TRUE.
 compactcompact now issues an E_NOTICE level error if a given string refers to an unset variable. Formerly, such strings have been silently skipped.
 curl_getinfoIntroduced CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, CURLINFO_CONTENT_LENGTH_UPLOAD_T, CURLINFO_HTTP_VERSION, CURLINFO_PROTOCOL, CURLINFO_PROXY_SSL_VERIFYRESULT, CURLINFO_SCHEME, CURLINFO_SIZE_DOWNLOAD_T, CURLINFO_SIZE_UPLOAD_T, CURLINFO_SPEED_DOWNLOAD_T, CURLINFO_SPEED_UPLOAD_T, CURLINFO_APPCONNECT_TIME_T, CURLINFO_CONNECT_TIME_T, CURLINFO_FILETIME_T, CURLINFO_NAMELOOKUP_TIME_T, CURLINFO_PRETRANSFER_TIME_T, CURLINFO_REDIRECT_TIME_T, CURLINFO_STARTTRANSFER_TIME_T, CURLINFO_TOTAL_TIME_T.
 curl_setoptIntroduced CURLOPT_ABSTRACT_UNIX_SOCKET, CURLOPT_KEEP_SENDING_ON_ERROR, CURLOPT_PRE_PROXY, CURLOPT_PROXY_CAINFO, CURLOPT_PROXY_CAPATH, CURLOPT_PROXY_CRLFILE, CURLOPT_PROXY_KEYPASSWD, CURLOPT_PROXY_PINNEDPUBLICKEY, CURLOPT_PROXY_SSLCERT, CURLOPT_PROXY_SSLCERTTYPE, CURLOPT_PROXY_SSL_CIPHER_LIST, CURLOPT_PROXY_SSLKEY, CURLOPT_PROXY_SSLKEYTYPE, CURLOPT_PROXY_SSL_OPTIONS, CURLOPT_PROXY_SSL_VERIFYHOST, CURLOPT_PROXY_SSL_VERIFYPEER, CURLOPT_PROXY_SSLVERSION, CURLOPT_PROXY_TLSAUTH_PASSWORD, CURLOPT_PROXY_TLSAUTH_TYPE, CURLOPT_PROXY_TLSAUTH_USERNAME, CURLOPT_SOCKS5_AUTH, CURLOPT_SUPPRESS_CONNECT_HEADERS, CURLOPT_DISALLOW_USERNAME_IN_URL, CURLOPT_DNS_SHUFFLE_ADDRESSES, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, CURLOPT_HAPROXYPROTOCOL, CURLOPT_PROXY_TLS13_CIPHERS, CURLOPT_SSH_COMPRESSION, CURLOPT_TIMEVALUE_LARGE and CURLOPT_TLS13_CIPHERS.
 definecase_insensitive has been deprecated and will be removed in version 8.0.0.
 ftp_fgetThe mode parameter is now optional. Formerly it has been mandatory.
 ftp_fputThe mode parameter is now optional. Formerly it has been mandatory.
 ftp_getThe mode parameter is now optional. Formerly it has been mandatory.
 ftp_nb_fgetThe mode parameter is now optional. Formerly it has been mandatory.
 ftp_nb_fputThe mode parameter is now optional. Formerly it has been mandatory.
 ftp_nb_getThe mode parameter is now optional. Formerly it has been mandatory.
 ftp_nb_putThe mode parameter is now optional. Formerly it has been mandatory.
 ftp_putThe mode parameter is now optional. Formerly it has been mandatory.
 getallheadersThis function became available in the FPM SAPI.
 is_countableis_countable has been added.
 json_decodeJSON_THROW_ON_ERROR options was added.
 json_encodeJSON_THROW_ON_ERROR options was added.
 listSupport for reference assignments in array destructuring was added.
 mb_convert_caseAdded support for MB_CASE_FOLD, MB_CASE_UPPER_SIMPLE, MB_CASE_LOWER_SIMPLE, MB_CASE_TITLE_SIMPLE, and MB_CASE_FOLD_SIMPLE as mode.
 password_hashSupport for Argon2id passwords using PASSWORD_ARGON2ID was added.
 preg_quoteThe # character is now quoted
 session_get_cookie_paramsThe "samesite" entry was added in the returned array.
 session_set_cookie_paramsAn alternative signature supporting an options array has been added. This signature supports also setting of the SameSite cookie attribute.
 setcookieAn alternative signature supporting an options array has been added. This signature supports also setting of the SameSite cookie attribute.
 setrawcookieAn alternative signature supporting an options array has been added. This signature supports also setting of the SameSite cookie attribute.
 striposPassing an integer as needle has been deprecated.
 stristrPassing an integer as needle has been deprecated.
 strposPassing an integer as needle has been deprecated.
 strrchrPassing an integer as needle has been deprecated.
 strriposPassing an integer as needle has been deprecated.
 strrposPassing an integer as needle has been deprecated.
 strstrPassing an integer as needle has been deprecated.
 unlinkOn Windows, it is now possible to unlink files with handles in use, while formerly that would fail. However, it is still not possible to re-create the unlinked file, until all handles to it have been closed.
 var_exportNow exports stdClass objects as an array cast to an object ((object) array( ... )), rather than using the nonexistent method stdClass::__setState. The practical effect is that now stdClass is exportable, and the resulting code will even work on earlier versions of PHP.
 xml_set_external_entity_ref_handlerThe return value of the handler is no longer ignored if the extension has been built against libxml. Formerly, the return value has been ignored, and parsing did never stop.
7.3ldap_addSupport for serverctrls added
 ldap_compareSupport for serverctrls added
 ldap_deleteSupport for serverctrls added
 ldap_exopSupport for serverctrls added
 ldap_exop_passwdSupport for serverctrls added
 ldap_listSupport for serverctrls added
 ldap_mod_addSupport for serverctrls added
 ldap_mod_delSupport for serverctrls added
 ldap_mod_replaceSupport for serverctrls added
 ldap_modify_batchSupport for serverctrls added
 ldap_parse_resultSupport for serverctrls added
 ldap_readSupport for serverctrls added
 ldap_renameSupport for serverctrls added
 ldap_searchSupport for serverctrls added
7.2.19, 7.3.6SplFileObject::__toStringChanged from an alias of SplFileObject::current to an alias of SplFileObject::fgets.
7.2.18, 7.3.5substr_compareoffset may now be equal to the length of main_str.
7.2.0array_uniqueIf sort_flags is SORT_STRING, formerly array has been copied and non-unique elements have been removed (without packing the array afterwards), but now a new array is built by adding the unique elements. This can result in different numeric indexes.
 assertUsage of a string as the assertion became deprecated. It now emits an E_DEPRECATED notice when both assert.active and zend.assertions are set to 1.
 bcmoddividend and divisor are no longer truncated to integer, so now the behavior of bcmod follows fmod rather than the % operator.
 bcmodThe scale parameter was added.
 countcount will now yield a warning on invalid countable types passed to the array_or_countable parameter.
 date_parseThe zone element of the returned array represents seconds instead of minutes now, and its sign is inverted. For instance -120 is now 7200.
 date_parse_from_formatThe zone element of the returned array represents seconds instead of minutes now, and its sign is inverted. For instance -120 is now 7200.
 exif_read_dataThe filename parameter was renamed to stream and now supports both local files or stream resources.
 exif_read_dataSupport for the following EXIF formats were added: Samsung DJI Panasonic Sony Pentax Minolta Sigma/Foveon AGFA Kyocera Ricoh Epson
 exif_thumbnailThe filename parameter was renamed to stream and now supports both local files or stream resources.
 get_classPrior to this version the default value for object was NULL and it had the same effect as not passing any value. Now NULL has been removed as the default value for object, and is no longer a valid input.
 gettypeClosed resources are now reported as 'resource (closed)'. Previously the returned value for closed resources were 'unknown type'.
 hash_copyAccept and return HashContext instead of resource.
 hash_finalAccept HashContext instead of resource.
 hash_hmacUsage of non-cryptographic hash functions (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) was disabled.
 hash_hmac_fileUsage of non-cryptographic hash functions (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) was disabled.
 hash_initReturn HashContext instead of resource.
 hash_initUsage of non-cryptographic hash functions (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) with HASH_HMAC was disabled.
 hash_pbkdf2Usage of non-cryptographic hash functions (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) was disabled.
 hash_updateAccept HashContext instead of resource.
 hash_update_fileAccept HashContext instead of resource.
 hash_update_streamAccept HashContext instead of resource.
 idn_to_asciiINTL_IDNA_VARIANT_2003 has been deprecated; use INTL_IDNA_VARIANT_UTS46 instead.
 idn_to_utf8INTL_IDNA_VARIANT_2003 has been deprecated; use INTL_IDNA_VARIANT_UTS46 instead.
 imageantialiasimageantialias is now generally available. Formerly it was only available if PHP was compiled with the bundled version of the GD library.
 imagegdimagegd now allows to output truecolor images. Formerly, these have been implicitly converted to palette.
 imagelayereffectAdded IMG_EFFECT_MULTIPLY (requires system libgd >= 2.1.1 or the bundled libgd).
 imagetypesIMG_BMP added.
 is_objectis_object now returns TRUE for unserialized objects without a class definition (class of __PHP_Incomplete_Class). Previously FALSE was returned.
 json_decodeJSON_INVALID_UTF8_IGNORE, and JSON_INVALID_UTF8_SUBSTITUTE options were added.
 json_decodeassoc is nullable now.
 json_encodeJSON_INVALID_UTF8_IGNORE, and JSON_INVALID_UTF8_SUBSTITUTE options were added.
 mailThe additional_headers parameter now also accepts an array.
 mb_check_encodingThis function now also accepts an array as var. Formerly, only strings have been supported.
 mb_convert_encodingThis function now also accepts an array as val. Formerly, only strings have been supported.
 mb_parse_strCalling mb_parse_str without the second parameter was deprecated.
 mb_send_mailThe additional_headers parameter now also accepts an array.
 mt_randmt_rand has received a bug fix for a modulo bias bug. This means that sequences generated with a specific seed may differ from PHP 7.1 on 64-bit machines.
 number_formatnumber_format was changed to not being able to return -0, previously -0 could be returned for cases like where number would be -0.01.
 openssl_pkcs7_verifyThe p7bfilename parameter was added.
 packfloat and double types supports both Big Endian and Little Endian.
 parse_strUsage of parse_str without a second parameter now emits an E_DEPRECATED notice.
 password_hashSupport for Argon2i passwords using PASSWORD_ARGON2I was added.
 preg_matchThe PREG_UNMATCHED_AS_NULL is now supported for the $flags parameter.
 preg_match_allThe PREG_UNMATCHED_AS_NULL is now supported for the $flags parameter.
 proc_niceThis function is now available on Windows.
 randrand has received a bug fix for a modulo bias bug. This means that sequences generated with a specific seed may differ from PHP 7.1 on 64-bit machines.
 read_exif_dataThis function alias was deprecated.
 session_abortThe return type of this function is bool now. Formerly, it has been void.
 session_module_nameIt is now explicitly forbidden to set the module name to "user". Formerly, this has been silently ignored.
 session_namesession_name checks session status, previously it only checked cookie status. Therefore, older session_name allows to call session_name after session_start which may crash PHP and may result in misbehaviors.
 session_resetThe return type of this function is bool now. Formerly, it has been void.
 session_set_cookie_paramsReturns TRUE on success or FALSE on failure. Formerly the function returned void.
 session_unsetThe return type of this function is bool now. Formerly, it has been void.
 session_write_closeThe return type of this function is bool now. Formerly, it has been void.
 set_error_handlererrcontext became deprecated. Usage of this parameter now emits an E_DEPRECATED notice.
 unpackfloat and double types supports both Big Endian and Little Endian.
 utf8_decodeThis function has been moved to the core of PHP, and therefore lifting the requirement on the XML extension for this function to be available.
 utf8_encodeThis function has been moved to the core of PHP, and therefore lifting the requirement on the XML extension for this function to be available.
 PDOStatement::debugDumpParamsPDOStatement::debugDumpParams now returns the SQL sent to the database, including the full, raw query (including the replaced placeholders with their bounded values). Note, that this will only be available if emulated prepared statements are turned on.
 SQLite3::openBlobThe flags parameter has been added, allowing to write BLOBs; formerly only reading was supported.
7.1.24, 7.2.12, 7.3.0xml_parser_get_optionoptions now supports XML_OPTION_SKIP_TAGSTART and XML_OPTION_SKIP_WHITE.
7.1.5IntlDateFormatter::formatSupport for providing general DateTimeInterface objects to the value parameter was added. Formerly, only proper DateTime objects were supported.
7.1.4PDO::sqliteCreateFunctionThe flags parameter has been added.
 SQLite3::createFunctionThe flags parameter has been added.
7.1.0DateInterval::formatThe F and f format characters were added.
 DateTime::__constructFrom now on microseconds are filled with actual value. Not with '00000'.
 DateTime::setTimeThe microsecond parameter was added.
 array_randThe internal randomization algorithm has been changed to use the Mersenne Twister Random Number Generator instead of the libc rand function.
 curl_multi_setoptIntroduced CURLMOPT_PUSHFUNCTION.
 exif_imagetypeAdded WebP support.
 file_get_contentsSupport for negative offsets has been added.
 get_headersThe context parameter was added.
 getenvThe varname can now be omitted to retrieve an associative array of all environment variables.
 getimagesizeAdded WebP support.
 getoptAdded the optind parameter.
 grapheme_extractSupport for negative starts has been added.
 grapheme_striposSupport for negative offsets has been added.
 grapheme_strposSupport for negative offsets has been added.
 hash_algosSupport for sha512/224, sha512/256, sha3-224, sha3-256, sha3-384 and sha3-512 has been added.
 iconv_strposSupport for negative offsets has been added.
 json_decodeAn empty JSON key ("") can be encoded to the empty object property instead of using a key with value _empty_.
 json_encodeserialize_precision is used instead of precision when encoding double values.
 json_encodeJSON_UNESCAPED_LINE_TERMINATORS options was added.
 listIt is now possible to specify keys in list. This enables destructuring of arrays with non-integer or non-sequential keys.
 long2ipThe parameter type of proper_address has been changed from string to integer.
 mb_eregmb_ereg will now set regs to an empty array, if nothing matched. Formerly, regs was not modified in that case.
 mb_ereg_replaceThe e modifier has been deprecated.
 mb_ereg_search_setposSupport for negative positions has been added.
 mb_eregimb_eregi will now set regs to an empty array, if nothing matched. Formerly, regs was not modified in that case.
 mb_eregi_replaceThe e modifier has been deprecated.
 mb_strimwidthSupport for negative starts and widths has been added.
 mb_striposSupport for negative offsets has been added.
 mb_strposSupport for negative offsets has been added.
 mt_randrand has been made an alias of mt_rand.
 mt_randmt_rand has been updated to use the fixed, correct, version of the Mersenne Twister algorithm. To fall back to the old behaviour, use mt_srand with MT_RAND_PHP as the second parameter.
 mt_srandsrand has been made an alias of mt_srand.
 mt_srandmt_rand has been updated to use the fixed, correct, version of the Mersenne Twister algorithm. To fall back to the old behaviour, use mt_srand with MT_RAND_PHP as the second parameter.
 openssl_csr_newconfigargs now also supports curve_name.
 openssl_decryptThe tag and aad parameters were added.
 openssl_encryptThe tag, aad and tag_length parameters were added.
 openssl_pkey_newThe curve_name configarg was added to make it possible to create EC keys.
 output_add_rewrite_varBefore PHP 7.1.0, rewrite vars set by output_add_rewrite_var use the same Session module trans sid output buffer. Since PHP 7.1.0, dedicated output buffer is used, url_rewriter.tags is used solely for output functions, url_rewriter.hosts is added.
 output_reset_rewrite_varsBefore PHP 7.1.0, rewrite vars set by output_add_rewrite_var use the same Session module trans sid output buffer. Since PHP 7.1.0, dedicated output buffer is used and output_reset_rewrite_vars only removes rewrite vars defined by output_add_rewrite_var.
 pcntl_signalAs of PHP 7.1.0 the handler callback is given a second argument containing the signinfo of the specific signal. This data is only supplied if the operating system has the signinfo_t structure. If the OS does not implement siginfo_t NULL is supplied.
 pcntl_signal_get_handlerpcntl_signal_get_handler has been added.
 pg_fetch_allThe result_type parameter was added.
 pg_last_noticeThe option parameter was added.
 pg_selectThe result_type parameter was added.
 randrand has been made an alias of mt_rand.
 session_startsession_start now returns FALSE and no longer initializes $_SESSION when it failed to start the session.
 shuffleThe internal randomization algorithm has been changed to use the Mersenne Twister Random Number Generator instead of the libc rand function.
 srandsrand has been made an alias of mt_srand.
 str_shuffleThe internal randomization algorithm has been changed to use the Mersenne Twister Random Number Generator instead of the libc rand function.
 striposSupport for negative offsets has been added.
 strposSupport for negative offsets has been added.
 substr_countSupport for negative offsets and lengths has been added. length may also be 0 now.
 unpackThe optional offset has been added.
 unserializeThe allowed_classes element of options) is now strictly typed, i.e. if anything other than an array or a boolean is given, unserialize returns FALSE and issues an E_WARNING.
 ReflectionType::__toStringReflectionType::__toString has been deprecated.
7.0.16, 7.1.2dns_get_recordAdded support for CAA record type.
 fopenThe 'e' option was added.
7.0.15, 7.1.1get_defined_functionsThe exclude_disabled parameter has been added.
7.0.15,7.1.1packThe "e", "E", "g" and "G" codes were added to enable byte order support for float and double.
7.0.11iconv_substrIf str is equal to offset characters long, an empty string will be returned. Prior to this version, FALSE was returned in this case.
7.0.10imagetypesIMG_WEBP added.
 SQLite3::__constructThe filename can now be empty to use a private, temporary on-disk database.
7.0.7curl_multi_setoptIntroduced CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_HOST_CONNECTIONS, CURLMOPT_MAX_PIPELINE_LENGTH and CURLMOPT_MAX_TOTAL_CONNECTIONS.
 curl_setoptIntroduced CURL_HTTP_VERSION_2, CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE, CURL_HTTP_VERSION_2TLS, CURL_REDIR_POST_301, CURL_REDIR_POST_302, CURL_REDIR_POST_303, CURL_REDIR_POST_ALL, CURL_VERSION_KERBEROS5, CURL_VERSION_PSL, CURL_VERSION_UNIX_SOCKETS, CURLAUTH_NEGOTIATE, CURLAUTH_NTLM_WB, CURLFTP_CREATE_DIR, CURLFTP_CREATE_DIR_NONE, CURLFTP_CREATE_DIR_RETRY, CURLHEADER_SEPARATE, CURLHEADER_UNIFIED, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_HOST_CONNECTIONS, CURLMOPT_MAX_PIPELINE_LENGTH, CURLMOPT_MAX_TOTAL_CONNECTIONS, CURLOPT_CONNECT_TO, CURLOPT_DEFAULT_PROTOCOL, CURLOPT_DNS_INTERFACE, CURLOPT_DNS_LOCAL_IP4, CURLOPT_DNS_LOCAL_IP6, CURLOPT_EXPECT_100_TIMEOUT_MS, CURLOPT_HEADEROPT, CURLOPT_LOGIN_OPTIONS, CURLOPT_PATH_AS_IS, CURLOPT_PINNEDPUBLICKEY, CURLOPT_PIPEWAIT, CURLOPT_PROXY_SERVICE_NAME, CURLOPT_PROXYHEADER, CURLOPT_SASL_IR, CURLOPT_SERVICE_NAME, CURLOPT_SSL_ENABLE_ALPN, CURLOPT_SSL_ENABLE_NPN, CURLOPT_SSL_FALSESTART, CURLOPT_SSL_VERIFYSTATUS, CURLOPT_STREAM_WEIGHT, CURLOPT_TCP_FASTOPEN, CURLOPT_TFTP_NO_OPTIONS, CURLOPT_UNIX_SOCKET_PATH, CURLOPT_XOAUTH2_BEARER, CURLPROTO_SMB, CURLPROTO_SMBS, CURLPROXY_HTTP_1_0, CURLSSH_AUTH_AGENT and CURLSSLOPT_NO_REVOKE.
7.0.0array_columnAdded the ability for the input parameter to be an array of objects.
 assertassert is now a language construct and not a function. assertion can now be an expression. The second parameter is now interpreted either as an exception (if a Throwable object is given), or as the description supported from PHP 5.4.8 onwards.
 currentarray is now always passed by value. Prior to this version, it was passed by reference if possible, and by value otherwise.
 definearray values are allowed.
 dirnameAdded the optional levels parameter.
 getrusageThis function is now supported on Windows.
 is_numericStrings in hexadecimal (e.g. 0xf4c3b00c) notation are no longer regarded as numeric strings, i.e. is_numeric returns FALSE now.
 keyarray is now always passed by value. Prior to this version, it was passed by reference if possible, and by value otherwise.
 listlist expressions can no longer be completely empty.
 listStrings can no longer be unpacked.
 listThe order that the assignment operations are performed in has changed.
 set_exception_handlerThe type of parameter passed into exception_handler changed from Exception to Throwable
 shmop_closeThe type of shmid has been changed from int to resource.
 shmop_deleteThe type of shmid has been changed from int to resource.
 shmop_openThe return type of shmop_open has been changed from int to resource.
 shmop_readThe type of shmid has been changed from int to resource.
 shmop_sizeThe type of shmid has been changed from int to resource.
 shmop_writeThe type of shmid has been changed from int to resource.
 unserializeThe options parameter has been added.
 IntlDateFormatter::setTimeZoneIdThis function has been removed.
5.6.25, 7.0.10SplFileObject::getCsvControlAdded the escape character to the returned array.
5.6.16mysqli::real_connectAdded the MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT flag for MySQL Native Driver
5.6.3packThe "q", "Q", "J" and "P" codes were added to enable working with 64-bit numbers.
5.6.1sem_acquireThe $nowait parameter was added.
5.6.0array_fillnum may now be zero. Previously, num was required to be greater than zero.
 array_filterAdded optional flag parameter and constants ARRAY_FILTER_USE_KEY and ARRAY_FILTER_USE_BOTH
 mb_regex_encodingDefault encoding is changed to UTF-8. It was EUC-JP Previously.
 mcrypt_decryptInvalid key and iv sizes are no longer accepted. mcrypt_decrypt will now throw a warning and return FALSE if the inputs are invalid. Previously keys and IVs were padded with '\0' bytes to the next valid size.
 mcrypt_encryptInvalid key and iv sizes are no longer accepted. mcrypt_encrypt will now throw a warning and return FALSE if the inputs are invalid. Previously keys and IVs were padded with '\0' bytes to the next valid size.
 pg_connectSupport for giving the PGSQL_CONNECT_ASYNC constant as the connect_type was added.
 pg_convertNo longer experimental. Boolean/NULL data types are supported. Unknown/unsupported data types are escaped without validation. pg_convert can be used with any data types.
 pg_deleteNo longer experimental. Added PGSQL_DML_ESCAPE constant, TRUE/FALSE and NULL data type support.
 pg_insertNo longer experimental. Added PGSQL_DML_ESCAPE constant, TRUE/FALSE and NULL data type support.
 pg_insertUnless PGSQL_DML_STRING is passed, the function now returns the connection resource instead of TRUE on success.
 pg_lo_seekAdded PostgreSQL 9.3's 64bit large object support. Both client and server must support PostgreSQL 9.3 and PHP must be 64bit build to use 64bit large object.
 pg_lo_tellAdded PostgreSQL 9.3's 64bit large object support. Both client and server must support PostgreSQL 9.3 and PHP must be 64bit build to use 64bit large object.
 pg_lo_truncateAdded truncate function. It supports PostgreSQL 9.3's 64bit large object. Both client and server must support PostgreSQL 9.3 and PHP must be 64bit build to use 64bit large object.
 pg_meta_dataNo longer experimental. Added "is enum" as default attribute. extended flag is added.
 pg_selectNo longer experimental. Added PGSQL_DML_ESCAPE constant, TRUE/FALSE and NULL data type support.
 pg_updateNo longer experimental. Added PGSQL_DML_ESCAPE constant, TRUE/FALSE and NULL data type support.
 stream_socket_enable_cryptoThe crypto_type is now optional.
 stream_socket_enable_cryptoIntroduce STREAM_CRYPTO_METHOD_ANY_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT, STREAM_CRYPTO_METHOD_ANY_SERVER, STREAM_CRYPTO_METHOD_TLSv1_0_SERVER, STREAM_CRYPTO_METHOD_TLSv1_1_SERVER, STREAM_CRYPTO_METHOD_TLSv1_2_SERVER.
 unserializeManipulating the serialised data by replacing C: with O: to force object instantiation without calling the constructor will now fail.
 ReflectionClass::newInstanceWithoutConstructorAll internal classes can now be instantiated except for those declared final.
 XMLReader::getAttributeNoXMLReader::getAttributeNo now returns NULL if the attribute doesn't exist.
 XMLReader::getAttributeNsXMLReader::getAttributeNS now returns NULL if the attribute doesn't exist.
5.5.38, 5.6.24, 7.0.9getenvThe local_only parameter has been added.
5.5.21, 5.6.5SplFileObject::fputcsvAdded the escape parameter.
5.5.19, 5.6.3DateTimeZone::getOffsetdatetime type changed to DateTimeInterface. Previously, DateTime.
5.5.10DateTimeZone::__constructThe timezone parameter accepts offset values.
5.5.8DatePeriod::__constructend type changed to DateTimeInterface. Previously, DateTime.
5.5.4fputcsvThe escape_char parameter was added
5.5.3/5.4.19pg_deleteDirect SQL injection to table_name and Indirect SQL injection to identifiers are fixed.
 pg_insertDirect SQL injection to table_name and Indirect SQL injection to identifiers are fixed.
 pg_selectDirect SQL injection to table_name and Indirect SQL injection to identifiers are fixed.
 pg_updateDirect SQL injection to table_name and Indirect SQL injection to identifiers are fixed.
5.5.2DOMDocument::schemaValidateAdded the flags parameter
 DOMDocument::schemaValidateSourceAdded the flags parameter
5.5.1pg_unescape_byteaA warning is thrown if the input string is invalid.
5.5.0/PECL 3.0.0IntlDateFormatter::createAn IntlCalendar object is allowed for calendar. Objects of type IntlTimeZone and DateTimeZone are allowed for timezone. Invalid timezone identifiers (including empty strings) are no longer allowed for timezone. If NULL is given for timezone, the timezone identifier given by date_default_timezone_get will be used instead of ICUʼs default.
 IntlDateFormatter::setCalendarIt became possible to pass an IntlCalendar object.
5.5.0DatePeriod::__constructstart type changed to DateTimeInterface. Previously, DateTime.
 mysql_connectThis function will generate an E_DEPRECATED error.
 mysql_db_nameThe mysql_list_dbs function is deprecated, and emits an E_DEPRECATED level error.
 mysql_pconnectThis function will generate an E_DEPRECATED error.
 mysql_tablenameThe mysql_tablename function is deprecated, and emits an E_DEPRECATED level error.
 packThe "Z" code was added with equivalent functionality to "a" for Perl compatibility.
 set_exception_handlerPreviously, if NULL was passed then this function returned TRUE. It returns the previous handler since PHP 5.5.0.
 unpackChanges were made to bring this function into line with Perl: The "a" code now retains trailing NULL bytes. The "A" code now strips all trailing ASCII whitespace (spaces, tabs, newlines, carriage returns, and NULL bytes). The "Z" code was added for NULL-padded strings, and removes trailing NULL bytes.
 IntlDateFormatter::setTimeZoneIdThis function has been deprecated.
 mysqli::commitAdded flags and name parameters.
 mysqli::rollbackAdded flags and name parameters.
5.4.0define_syslog_variablesThis function was removed from PHP.
 mysqli_get_cache_statsThe mysqli_get_cache_stats was removed.
5.3.15, 5.4.5Collator::getSortKeySort keys do no longer contain any NUL bytes.
5.3.0define_syslog_variablesThis function now throws an E_DEPRECATED notice.
 mysqli_get_cache_statsThe mysqli_get_cache_stats was added as stub.
5.2.0simplexml_load_fileThe optional parameter is_prefix was added.
 simplexml_load_stringThe optional parameter is_prefix was added.
 SimpleXMLElement::attributesThe optional parameter is_prefix was added.
 SimpleXMLElement::__constructAdded the ns and is_prefix parameters.
5.1.2SimpleXMLElement::__constructAdded the options and data_is_url parameters.
add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top