Changelog

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

VersionFunctionDescription
PECL 3.0.0IntlDateFormatter::formatSupport for providing IntlCalendar objects to the datetime parameter was added.
8.3.0 / 1.22.2ZipArchive::addFileZipArchive::LENGTH_TO_END and ZipArchive::LENGTH_UNCHECKED were added.
 ZipArchive::replaceFileZipArchive::LENGTH_TO_END and ZipArchive::LENGTH_UNCHECKED were added.
8.3.0 / 1.22.1ZipArchive::addFileZipArchive::FL_OPEN_FILE_NOW was added.
 ZipArchive::addGlobZipArchive::FL_OPEN_FILE_NOW was added.
 ZipArchive::replaceFileZipArchive::FL_OPEN_FILE_NOW was added.
8.3.0DOMDocument::loadThis function now has a tentative bool return type.
 DOMDocument::loadHTMLThis function now has a tentative bool return type.
 DOMDocument::loadHTMLFileThis function now has a tentative bool return type.
 DOMDocument::loadXMLThis function now has a tentative bool return type.
 easter_dateOn 64-bit systems, the year parameter now accepts values within the range of 1970 to 2,000,000,000.
 imagerotateThe unused ignore_transparent has been completely removed.
 strrchrThe before_needle parameter was added.
8.2.9DateTimeImmutable::createFromFormatThe (space) specifier now also supports NBSP (U+A0) and NNBSP (U+202F) characters.
8.2.0ArrayIterator::asortThe return type is true now; previously, it was bool.
 ArrayIterator::ksortThe return type is true now; previously, it was bool.
 ArrayIterator::natcasesortThe return type is true now; previously, it was bool.
 ArrayIterator::natsortThe return type is true now; previously, it was bool.
 ArrayIterator::uasortThe return type is true now; previously, it was bool.
 ArrayIterator::uksortThe return type is true now; previously, it was bool.
 ArrayObject::asortThe return type is true now; previously, it was bool.
 ArrayObject::ksortThe return type is true now; previously, it was bool.
 ArrayObject::natcasesortThe return type is true now; previously, it was bool.
 ArrayObject::natsortThe return type is true now; previously, it was bool.
 ArrayObject::uasortThe return type is true now; previously, it was bool.
 ArrayObject::uksortThe return type is true now; previously, it was bool.
 DateInterval::__constructOnly the y to f, invert, and days will be visible, including a new from_string boolean property.
 DateInterval::createFromDateStringOnly the from_string and date_string properties will be visible when a DateInterval is created with this method.
 DatePeriod::__constructThe DatePeriod::INCLUDE_END_DATE constant has been added.
 DateTimeInterface::formatThe format characters X and x have been added.
 DateTimeImmutable::createFromFormatThe X and x format specifiers have been added.
 DateTimeImmutable::getLastErrorsBefore PHP 8.2.0, this function did not return false when there were no warnings or errors. Instead, it would always return the documented array structure.
 FilesystemIterator::__constructPrior to PHP 8.2.0, FilesystemIterator::SKIP_DOTS was always set and could not be removed.
 arsortThe return type is true now; previously, it was bool.
 asortThe return type is true now; previously, it was bool.
 curl_getinfoIntroduced CURLINFO_PROXY_ERROR, CURLINFO_REFERER, CURLINFO_RETRY_AFTER.
 curl_multi_setoptIntroduced CURLMOPT_MAX_CONCURRENT_STREAMS.
 dba_fetchdba_fetch's optional skip argument is now at the end in line with PHP userland semantics. The previously overloaded signature is still accepted but discouraged.
 dba_openhandler is now nullable.
 dba_openflags is added.
 dba_popenflags is added.
 getimagesizeNow returns the actual image dimensions, bits and channels of AVIF images; previously, the dimensions were reported as 0x0, and bits and channels were not reported at all.
 idateAdds the N (ISO-8601 day of the week) and o (ISO-8601 year) format characters.
 iterator_countThe type of iterator has been widened from Traversable to Traversablearray.
 iterator_to_arrayThe type of iterator has been widened from Traversable to Traversablearray.
 krsortThe return type is true now; previously, it was bool.
 ksortThe return type is true now; previously, it was bool.
 lcfirstCase conversion no longer depends on the locale set with setlocale. Only ASCII characters will be converted.
 mb_convert_kanaA ValueError is now thrown if the combination of different modes is invalid.
 natcasesortThe return type is true now; previously, it was bool.
 natsortThe return type is true now; previously, it was bool.
 pg_closeThe return type is true now; previously, it was bool.
 pg_untraceThe return type is true now; previously, it was bool.
 random_bytesIn case of a CSPRNG failure, this function will now throw a Random\RandomException. Previously a plain Exception was thrown.
 random_intIn case of a CSPRNG failure, this function will now throw a Random\RandomException. Previously a plain Exception was thrown.
 rsortThe return type is true now; previously, it was bool.
 setcookieThe date format of the cookie is now 'D, d M Y H:i:s \G\M\T'; previously it was 'D, d-M-Y H:i:s T'.
 snmp_set_enum_printThe return type is true now; previously, it was bool.
 snmp_set_oid_output_formatThe return type is true now; previously, it was bool.
 snmp_set_quick_printThe return type is true now; previously, it was bool.
 snmp_set_valueretrievalThe return type is true now; previously, it was bool.
 sortThe return type is true now; previously, it was bool.
 str_ireplaceCase folding no longer depends on the locale set with setlocale. Only ASCII case folding will be done. Non-ASCII bytes will be compared by their byte value.
 str_splitIf string is empty an empty array is now returned. Previously an array containing a single empty string was returned.
 strcasecmpThis function now returns -1 or 1, where it previously returned a negative or positive number.
 strcmpThis function now returns -1 or 1, where it previously returned a negative or positive number.
 striposCase folding no longer depends on the locale set with setlocale. Only ASCII case folding will be done. Non-ASCII bytes will be compared by their byte value.
 stristrCase folding no longer depends on the locale set with setlocale. Only ASCII case folding will be done. Non-ASCII bytes will be compared by their byte value.
 strnatcasecmpThis function now returns -1 or 1, where it previously returned a negative or positive number.
 strnatcmpThis function now returns -1 or 1, where it previously returned a negative or positive number.
 strncasecmpThis function now returns -1 or 1, where it previously returned a negative or positive number.
 strncmpThis function now returns -1 or 1, where it previously returned a negative or positive number.
 strriposCase folding no longer depends on the locale set with setlocale. Only ASCII case folding will be done. Non-ASCII bytes will be compared by their byte value.
 strtolowerCase conversion no longer depends on the locale set with setlocale. Only ASCII characters will be converted.
 strtoupperCase conversion no longer depends on the locale set with setlocale. Only ASCII characters will be converted.
 substr_compareThis function now returns -1 or 1, where it previously returned a negative or positive number.
 uasortThe return type is true now; previously, it was bool.
 ucfirstCase conversion no longer depends on the locale set with setlocale. Only ASCII characters will be converted.
 ucwordsCase conversion no longer depends on the locale set with setlocale. Only ASCII characters will be converted.
 uksortThe return type is true now; previously, it was bool.
 usortThe return type is true now; previously, it was bool.
 utf8_decodeThis function has been deprecated.
 utf8_encodeThis function has been deprecated.
 var_exportExported class names are now fully qualified; previously, the leading backslash was ommitted.
 IntlCalendar::clearThe return type is true now; previously, it was bool.
 IntlCalendar::setThe return type is true now; previously, it was bool.
 IntlCalendar::setFirstDayOfWeekThe return type is true now; previously, it was bool.
 IntlCalendar::setLenientThe return type is true now; previously, it was bool.
 IntlCalendar::setRepeatedWallTimeOptionThe return type is true now; previously, it was bool.
 IntlCalendar::setSkippedWallTimeOptionThe return type is true now; previously, it was bool.
 ReflectionEnum::getBackingTypeThe return type is now declared as ?ReflectionNamedType. Previously, ?ReflectionType was declared.
8.1.14, 8.2.1SplFileObject::__toStringChanged from an alias of SplFileObject::fgets to an implementation of SplFileObject::current which returns a CSV string when the SplFileObject::READ_CSV flag is set.
8.1.0DateTime::setTimeThe behaviour with double existing hours (during the fall-back DST transition) changed. Previously PHP would pick the second occurrence (after the DST transition), instead of the first occurrence (before DST transition).
 DateTimeImmutable::setTimeThe behaviour with double existing hours (during the fall-back DST transition) changed. Previously PHP would pick the second occurrence (after the DST transition), instead of the first occurrence (before DST transition).
 DirectoryIterator::keyWhen the iterator is uninitialized, an Error is thrown now. Previously, the method returned false.
 DOMDocument::createCommentIn case of an error, a DomException is thrown now. Previously, false was returned.
 DOMDocument::createDocumentFragmentIn case of an error, a DomException is thrown now. Previously, false was returned.
 DOMDocument::createTextNodeIn case of an error, a DomException is thrown now. Previously, false was returned.
 currentCalling this function on objects is deprecated. Either convert the object to an array using get_mangled_object_vars first, or use the methods provided by a class that implements Iterator, such as ArrayIterator, instead.
 date_sunriseThis function has been deprecated in favor of date_sun_info.
 date_sunsetThis function has been deprecated in favor of date_sun_info.
 dba_popenhandler is now nullable.
 endCalling this function on objects is deprecated. Either convert the object to an array using get_mangled_object_vars first, or use the methods provided by a class that implements Iterator, such as ArrayIterator, instead.
 finfo_bufferThe finfo parameter expects an finfo instance now; previously, a resource was expected.
 finfo_closeThe finfo parameter expects an finfo instance now; previously, a resource was expected.
 finfo_fileThe finfo parameter expects an finfo instance now; previously, a resource was expected.
 finfo_openReturns an finfo instance now; previously, a resource was returned.
 finfo_set_flagsThe finfo parameter expects an finfo instance now; previously, a resource was expected.
 fputcsvThe optional eol parameter has been added.
 ftp_allocThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_appendThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_cdupThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_chdirThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_chmodThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_closeThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_connectReturns an FTP\Connection instance now; previously, a resource was returned.
 ftp_deleteThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_execThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_fgetThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_fputThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_getThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_get_optionThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_loginThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_mdtmThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_mkdirThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_mlsdThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_nb_continueThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_nb_fgetThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_nb_fputThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_nb_getThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_nb_putThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_nlistThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_pasvThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_putThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_pwdThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_rawThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_rawlistThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_renameThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_rmdirThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_set_optionThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_siteThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_sizeThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 ftp_ssl_connectReturns an FTP\Connection instance now; previously, a resource was returned.
 ftp_systypeThe ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.
 get_html_translation_tableflags changed from ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
 hashThe options parameter has been added.
 hash_algosSupport for MurmurHash3 and xxHash algorithms has been added.
 hash_fileThe options parameter has been added.
 hash_initThe options parameter has been added.
 html_entity_decodeflags changed from ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
 htmlentitiesflags changed from ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
 htmlspecialcharsflags changed from ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
 htmlspecialchars_decodeflags changed from ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
 imagecharThe font parameter now accepts both an GdFont instance and an int; previously only int was accepted.
 imagecharupThe font parameter now accepts both an GdFont instance and an int; previously only int was accepted.
 imagefilledpolygonThe parameter num_points has been deprecated.
 imagefontheightThe font parameter now accepts both an GdFont instance and an int; previously only int was accepted.
 imagefontwidthThe font parameter now accepts both an GdFont instance and an int; previously only int was accepted.
 imageloadfontReturns an GdFont instance now; previously, an int was returned.
 imageopenpolygonThe parameter num_points has been deprecated.
 imagepolygonThe parameter num_points has been deprecated.
 imagestringThe font parameter now accepts both an GdFont instance and an int; previously only int was accepted.
 imagestringupThe font parameter now accepts both an GdFont instance and an int; previously only int was accepted.
 imagetypesIMG_AVIF added.
 imap_appendThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_bodyThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_bodystructThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_checkThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_clearflag_fullThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_closeThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_createmailboxThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_deleteThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_deletemailboxThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_expungeThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_fetch_overviewThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_fetchbodyThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_fetchheaderThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_fetchmimeThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_fetchstructureThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_gcThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_get_quotaThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_get_quotarootThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_getaclThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_getmailboxesThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_getsubscribedThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_headerinfoThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_headersThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_listThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_listscanThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_lsubThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_mail_copyThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_mail_moveThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_mailboxmsginfoThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_msgnoThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_num_msgThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_num_recentThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_openReturns an IMAP\Connection instance now; previously, a resource was returned.
 imap_pingThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_renamemailboxThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_reopenThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_savebodyThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_searchThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_set_quotaThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_setaclThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_setflag_fullThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_sortThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_statusThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_subscribeThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_threadThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_uidThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_undeleteThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 imap_unsubscribeThe imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
 ini_setvalue now accepts any scalar type (including null). Previously, only string values were accepted.
 keyCalling this function on objects is deprecated. Either convert the object to an array using get_mangled_object_vars first, or use the methods provided by a class that implements Iterator, such as ArrayIterator, instead.
 ldap_addThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_add_extReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_add_extThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_bindThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_bind_extThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_bind_extReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_compareThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_connectReturns an LDAP\Connection instance now; previously, a resource was returned.
 ldap_count_entriesThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_count_entriesThe result parameter expects an LDAP\Result instance now; previously, a valid ldap result resource was expected.
 ldap_count_referencesThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_count_referencesThe result parameter expects an LDAP\Result instance now; previously, a valid ldap result resource was expected.
 ldap_deleteThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_delete_extReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_delete_extThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_errnoThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_errorThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_exopThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_exop_passwdThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_exop_refreshThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_exop_whoamiThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_first_attributeThe entry parameter expects an LDAP\ResultEntry instance now; previously, a valid ldap result entry resource was expected.
 ldap_first_attributeThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_first_entryThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_first_entryReturns an LDAP\ResultEntry instance now; previously, a resource was returned.
 ldap_first_entryThe result parameter expects an LDAP\Result instance now; previously, a valid ldap result resource was expected.
 ldap_free_resultThe result parameter expects an LDAP\Result instance now; previously, a valid ldap result resource was expected.
 ldap_get_attributesThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_get_attributesThe entry parameter expects an LDAP\ResultEntry instance now; previously, a valid ldap result entry resource was expected.
 ldap_get_dnThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_get_dnThe entry parameter expects an LDAP\ResultEntry instance now; previously, a valid ldap result entry resource was expected.
 ldap_get_entriesThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_get_entriesThe result parameter expects an LDAP\Result instance now; previously, a valid ldap result resource was expected.
 ldap_get_optionThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_get_valuesThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_get_valuesThe entry parameter expects an LDAP\ResultEntry instance now; previously, a valid ldap result entry resource was expected.
 ldap_get_values_lenThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_get_values_lenThe entry parameter expects an LDAP\ResultEntry instance now; previously, a valid ldap result entry resource was expected.
 ldap_listThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_listReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_mod_addThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_mod_delThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_mod_replaceThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_modify_batchThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_mod_add_extThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_mod_add_extReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_mod_del_extReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_mod_del_extThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_mod_replace_extThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_mod_replace_extReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_next_attributeThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_next_attributeThe entry parameter expects an LDAP\ResultEntry instance now; previously, a valid ldap result entry resource was expected.
 ldap_next_entryThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_next_entryThe entry parameter expects an LDAP\ResultEntry instance now; previously, a valid ldap result entry resource was expected.
 ldap_next_entryReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_parse_exopThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_parse_exopThe result parameter expects an LDAP\Result instance now; previously, a valid ldap result resource was expected.
 ldap_parse_resultThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_parse_resultThe result parameter expects an LDAP\Result instance now; previously, a valid ldap result resource was expected.
 ldap_readReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_readThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_renameThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_rename_extReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_rename_extThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_sasl_bindThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_searchThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_searchReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_set_optionThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_set_rebind_procThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 ldap_unbindThe ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
 mb_check_encodingCalling this function with null as value or without argument is deprecated.
 mhashThis function has been deprecated. Use the hash_*() functions instead.
 mhash_countThis function has been deprecated. Use the hash_*() functions instead.
 mhash_get_block_sizeThis function has been deprecated. Use the hash_*() functions instead.
 mhash_get_hash_nameThis function has been deprecated. Use the hash_*() functions instead.
 mhash_keygen_s2kThis function has been deprecated. Use the hash_*() functions instead.
 nextCalling this function on objects is deprecated. Either convert the object to an array using get_mangled_object_vars first, or use the methods provided by a class that implements Iterator, such as ArrayIterator, instead.
 odbc_result_allThis function has been deprecated.
 openssl_cms_encryptThe default cipher algorithm (cipher_algo) is now AES-128-CBC (OPENSSL_CIPHER_AES_128_CBC). Previously, PKCS7/CMS was used (OPENSSL_CIPHER_RC2_40).
 openssl_decrypttag is now nullable.
 openssl_pkcs7_encryptThe default cipher algorithm (cipher_algo) is now AES-128-CBC (OPENSSL_CIPHER_AES_128_CBC). Previously, PKCS7/CMS was used (OPENSSL_CIPHER_RC2_40).
 pg_affected_rowsThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_cancel_queryThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_client_encodingThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_closeThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_connectReturns an PgSql\Connection instance now; previously, a resource was returned.
 pg_connect_pollThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_connection_busyThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_connection_resetThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_connection_statusThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_consume_inputThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_convertThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_copy_fromThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_copy_toThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_dbnameThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_deleteThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_end_copyThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_escape_byteaThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_escape_identifierThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_escape_literalThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_escape_stringThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_executeThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_executeReturns an PgSql\Result instance now; previously, a resource was returned.
 pg_fetch_allThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_fetch_all_columnsThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_fetch_arrayThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_fetch_assocThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_fetch_objectThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_fetch_resultThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_fetch_rowThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_field_is_nullThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_field_nameThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_field_numThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_field_prtlenThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_field_sizeThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_field_tableThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_field_typeThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_field_type_oidThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_flushThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_free_resultThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_get_notifyThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_get_pidThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_get_resultThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_get_resultReturns an PgSql\Result instance now; previously, a resource was returned.
 pg_hostThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_insertThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_insertReturns an PgSql\Result instance now; previously, a resource was returned.
 pg_last_errorThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_last_noticeThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_last_oidThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_lo_closeThe lob parameter expects an PgSql\Lob instance now; previously, a resource was expected.
 pg_lo_createThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_lo_exportThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_lo_importThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_lo_openThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_lo_openReturns an PgSql\Lob instance now; previously, a resource was returned.
 pg_lo_readThe lob parameter expects an PgSql\Lob instance now; previously, a resource was expected.
 pg_lo_read_allThe lob parameter expects an PgSql\Lob instance now; previously, a resource was expected.
 pg_lo_seekThe lob parameter expects an PgSql\Lob instance now; previously, a resource was expected.
 pg_lo_tellThe lob parameter expects an PgSql\Lob instance now; previously, a resource was expected.
 pg_lo_truncateThe lob parameter expects an PgSql\Lob instance now; previously, a resource was expected.
 pg_lo_unlinkThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_lo_writeThe lob parameter expects an PgSql\Lob instance now; previously, a resource was expected.
 pg_meta_dataThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_num_fieldsThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_num_rowsThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_optionsThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_parameter_statusThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_pconnectReturns an PgSql\Connection instance now; previously, a resource was returned.
 pg_pingThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_portThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_prepareThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_prepareReturns an PgSql\Result instance now; previously, a resource was returned.
 pg_put_lineThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_queryReturns an PgSql\Result instance now; previously, a resource was returned.
 pg_queryThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_query_paramsReturns an PgSql\Result instance now; previously, a resource was returned.
 pg_query_paramsThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_result_errorThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_result_error_fieldThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_result_seekThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_result_statusThe result parameter expects an PgSql\Result instance now; previously, a resource was expected.
 pg_selectThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_send_executeThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_send_prepareThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_send_queryThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_send_query_paramsThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_set_client_encodingThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_set_error_verbosityThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_socketThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_traceThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_transaction_statusThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_ttyThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_untraceThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_updateThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 pg_versionThe connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.
 prevCalling this function on objects is deprecated. Either convert the object to an array using get_mangled_object_vars first, or use the methods provided by a class that implements Iterator, such as ArrayIterator, instead.
 pspell_add_to_personalThe dictionary parameter expects an PSpell\Dictionary instance now; previously, a resource was expected.
 pspell_add_to_sessionThe dictionary parameter expects an PSpell\Dictionary instance now; previously, a resource was expected.
 pspell_checkThe dictionary parameter expects an PSpell\Dictionary instance now; previously, a resource was expected.
 pspell_clear_sessionThe dictionary parameter expects an PSpell\Dictionary instance now; previously, a resource was expected.
 pspell_config_createReturns an PSpell\Config instance now; previously, a resource was returned.
 pspell_config_data_dirThe config parameter expects an PSpell\Config instance now; previously, a resource was expected.
 pspell_config_dict_dirThe config parameter expects an PSpell\Config instance now; previously, a resource was expected.
 pspell_config_ignoreThe config parameter expects an PSpell\Config instance now; previously, a resource was expected.
 pspell_config_modeThe config parameter expects an PSpell\Config instance now; previously, a resource was expected.
 pspell_config_personalThe config parameter expects an PSpell\Config instance now; previously, a resource was expected.
 pspell_config_replThe config parameter expects an PSpell\Config instance now; previously, a resource was expected.
 pspell_config_runtogetherThe config parameter expects an PSpell\Config instance now; previously, a resource was expected.
 pspell_config_save_replThe config parameter expects an PSpell\Config instance now; previously, a resource was expected.
 pspell_newReturns an PSpell\Dictionary instance now; previously, a resource was returned.
 pspell_new_configThe config parameter expects an PSpell\Config instance now; previously, a resource was expected.
 pspell_new_configReturns an PSpell\Dictionary instance now; previously, a resource was returned.
 pspell_new_personalReturns an PSpell\Dictionary instance now; previously, a resource was returned.
 pspell_save_wordlistThe dictionary parameter expects an PSpell\Dictionary instance now; previously, a resource was expected.
 pspell_store_replacementThe dictionary parameter expects an PSpell\Dictionary instance now; previously, a resource was expected.
 pspell_suggestThe dictionary parameter expects an PSpell\Dictionary instance now; previously, a resource was expected.
 resetCalling this function on objects is deprecated. Either convert the object to an array using get_mangled_object_vars first, or use the methods provided by a class that implements Iterator, such as ArrayIterator, instead.
 snmp3_getThe auth_protocol now accepts "SHA256" and "SHA512" when supported by libnetsnmp.
 snmp3_getnextThe auth_protocol now accepts "SHA256" and "SHA512" when supported by libnetsnmp.
 snmp3_real_walkThe auth_protocol now accepts "SHA256" and "SHA512" when supported by libnetsnmp.
 snmp3_walkThe auth_protocol now accepts "SHA256" and "SHA512" when supported by libnetsnmp.
 stream_selectmicroseconds is now nullable.
 strptimeThis function has been deprecated. Use date_parse_from_format instead (for locale-independent parsing), or IntlDateFormatter::parse (for locale-dependent parsing)
 IntlDateFormatter::createParameters dateType and timeType are now optional.
 MultipleIterator::currentA RuntimeException is now thrown if MultipleIterator::current is called on an invalid iterator. Previously, false was returned.
 MultipleIterator::keyA RuntimeException is now thrown if MultipleIterator::key is called on an invalid iterator. Previously, false was returned.
 mysqli_driver::$report_modeThe default value is now MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT. Previously, it was MYSQLI_REPORT_OFF.
 mysqli_result::fetch_allNow also available when linking against libmysqlclient.
 mysqli_stmt::executeThe optional params parameter has been added.
 mysqli_stmt::next_resultNow also available when linking against libmysqlclient.
 mysqli::__constructmysqli::connect now returns true instead of null on success.
 mysqli::$client_infoThe object-oriented style mysqli::get_client_info has been deprecated.
 mysqli::$client_infoCalling mysqli_get_client_info with the mysql argument has been deprecated. This function never required a parameter, but incorrectly allowed it as an optional parameter.
 mysqli::initThe object-oriented style mysqli::init method has been deprecated. Replace calls to parent::init with parent::__construct.
 Phar::buildFromDirectoryPhar::buildFromDirectory no longer returns false.
 Phar::buildFromIteratorPhar::buildFromIterator no longer returns false.
 PharData::buildFromDirectoryPharData::buildFromDirectory no longer returns false.
 PharData::buildFromIteratorPharData::buildFromIterator no longer returns false.
 ReflectionFunctionAbstract::isStaticThis method has been pulled up. Previously, it was only defined in ReflectionMethod.
 ReflectionClassConstant::getNameThrows an Error in case the name property has not been initialized. Previously, the method returned false on failure.
 ReflectionExtension::__cloneThis method is no longer final.
 ReflectionFunctionAbstract::__cloneThis method is no longer final.
 ReflectionParameter::__cloneThis method is no longer final.
 ReflectionProperty::__cloneThis method is no longer final.
 ReflectionProperty::getValuePrivate and protected properties can be accessed by ReflectionProperty::getValue right away. Previously, they needed to be made accessible by calling ReflectionProperty::setAccessible; otherwise a ReflectionException was thrown.
 ReflectionProperty::setValuePrivate and protected properties can be accessed by ReflectionProperty::setValue right away. Previously, they needed to be made accessible by calling ReflectionProperty::setAccessible; otherwise a ReflectionException was thrown.
 ReflectionZendExtension::__cloneThis method is no longer final.
 SimpleXMLElement::currentAn Error is now thrown if SimpleXMLElement::current is called on an invalid iterator. Previously, null was returned.
 SimpleXMLElement::keyAn Error is now thrown if SimpleXMLElement::key is called on an invalid iterator. Previously, false was returned.
 SplFileObject::fputcsvThe optional eol parameter has been added.
 SplObjectStorage::currentSplObjectStorage::current now throws an Error exception if the current position is invalid. Previously, false was returned instead.
8.0.21, 8.1.8, 8.2.0DateTime::createFromFormatNow throws ValueError when NULL-bytes are passed into datetime, which previously was silently ignored.
 DateTimeImmutable::createFromFormatNow throws ValueError when NULL-bytes are passed into datetime, which previously was silently ignored.
 date_parse_from_formatNow throws ValueError when NULL-bytes are passed into datetime, which previously was silently ignored.
8.0.5imageinterlaceimageinterlace returns a bool now; previously it returned an int (non-zero for interlaced images, zero otherwise).
8.0.3DOMDocument::getElementsByTagNameNSnamespace is nullable now.
 DOMElement::getElementsByTagNameNSnamespace is nullable now.
 DOMImplementation::createDocumentnamespace is now nullable.
 finfo::__constructmagic_database is nullable now.
 bind_textdomain_codesetcodeset is nullable now. Previously, it was not possible to retrieve the currently set encoding.
 bindtextdomaindirectory is nullable now. Previously, it was not possible to retrieve the currently set directory.
 finfo_openmagic_database is nullable now.
 imagegdfile is now nullable.
 imagegd2file is now nullable.
 SoapClient::__setLocationlocation is nullable now.
 SoapVar::__constructtypeName, typeNamespace, nodeName,and nodeNamespace are nullable now.
8.0.0, PECL OCI8 3.0.0oci_connectconnection_string is now nullable.
 oci_errorconnection_or_statement is now nullable.
 oci_lob_copylength is now nullable.
 oci_new_collectionschema is now nullable.
 oci_new_connectconnection_string is now nullable.
 OCICollection::appendThe OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
 OCICollection::assignThe OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
 OCICollection::assignElemThe OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
 OCICollection::freeThe OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
 OCICollection::getElemThe OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
 OCICollection::maxThe OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
 OCICollection::sizeThe OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
 OCICollection::trimThe OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
 OCILob::appendThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::closeThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::eofThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::eraseThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::eraseoffset and length are now nullable.
 OCILob::exportThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::exportoffset and length are now nullable.
 OCILob::flushThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::freeThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::getBufferingThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::importThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::loadThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::readThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::rewindThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::saveThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::saveFileThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::seekThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::setBufferingThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::sizeThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::tellThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::truncateThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::writelength is now nullable.
 OCILob::writeThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::writeTemporaryThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::writeToFileoffset and length are now nullable.
 OCILob::writeToFileThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
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 no longer returns false on failure.
 ZipArchive::getStatusStringThis method can be called on closed archive.
8.0.0CURLFile::__constructmime_type and posted_filename are nullable now; previously their default was 0.
 DateInterval::__constructW can be combined with D.
 DateTime::createFromImmutableThe method returns an instance of the currently invoked class now. Previously, it created a new instance of DateTime.
 DateTimeInterface::formatThe format character p has been added.
 DateTimeInterface::getTimestampThese functions no longer return false on failure.
 DateTimeImmutable::createFromMutableThe method returns an instance of the currently invoked class now. Previously, it created a new instance of DateTimeImmutable.
 DateTimeZone::listIdentifiersPrior to this version, false was returned on failure.
 Directory::closeNo parameter is accepted. Previously, a directory handle could be passed as argument.
 Directory::readNo parameter is accepted. Previously, a directory handle could be passed as argument.
 Directory::rewindNo parameter is accepted. Previously, a directory handle could be passed as argument.
 DirectoryIterator::__constructNow throws a ValueError if directory is an empty string; previously it threw a RuntimeException.
 DOMDocument::loadCalling this function statically will now throw an Error. Previously, an E_DEPRECATED was raised.
 DOMDocument::loadHTMLCalling this function statically will now throw an Error. Previously, an E_DEPRECATED was raised.
 DOMDocument::loadHTMLFileCalling this function statically will now throw an Error. Previously, an E_DEPRECATED was raised.
 DOMDocument::loadXMLCalling this function statically will now throw an Error. Previously, an E_DEPRECATED was raised.
 DOMImplementation::createDocumentCalling this function statically will now throw an Error. Previously, an E_DEPRECATED was raised.
 DOMImplementation::createDocumentdoctype is now nullable.
 DOMImplementation::createDocumentTypeCalling this function statically will now throw an Error. Previously, an E_DEPRECATED was raised.
 DOMImplementation::hasFeatureCalling this function statically will now throw an Error. Previously, an E_DEPRECATED was raised.
 FFI::cdeflib is nullable now.
 FFI::stringsize is nullable now; previously, its default was 0.
 FilesystemIterator::__constructNow throws a ValueError if directory is an empty string; previously it threw a RuntimeException.
 absnum no longer accepts internal objects which support numeric conversion.
 apache_notenote_value is nullable now.
 array_chunkIf length is less than 1, a ValueError will be thrown now; previously, an error of level E_WARNING has been raised instead, and the function returned null.
 array_columnObjects in columns indicated by index_key parameter will no longer be cast to string and will now throw a TypeError instead.
 array_combinearray_combine will now throw a ValueError if the number of elements for each array is not equal; previously this function returned false instead.
 array_diffThis function can now be called with only one parameter. Formerly, at least two parameters have been required.
 array_diff_assocThis function can now be called with only one parameter. Formerly, at least two parameters have been required.
 array_diff_keyThis function can now be called with only one parameter. Formerly, at least two parameters have been required.
 array_fillarray_fill now throws a ValueError if count is out of range; previously E_WARNING was raised, and the function returned false.
 array_filterIf callback expects a parameter to be passed by reference, this function will now emit an E_WARNING.
 array_filtercallback is nullable now.
 array_intersectThis function can now be called with only one parameter. Formerly, at least two parameters have been required.
 array_intersect_assocThis function can now be called with only one parameter. Formerly, at least two parameters have been required.
 array_intersect_keyThis function can now be called with only one parameter. Formerly, at least two parameters have been required.
 array_mapIf callback expects a parameter to be passed by reference, this function will now emit an E_WARNING.
 array_reduceIf callback expects a parameter to be passed by reference, this function will now emit an E_WARNING.
 array_splicelength is nullable now.
 array_walkIf callback expects the second or third parameter to be passed by reference, this function will now emit an E_WARNING.
 assertDeclaring a function called assert() inside a namespace is no longer allowed, and issues E_COMPILE_ERROR.
 assertIf description is an instance of Throwable, the object is thrown if the assertion fails, regardless of the value of assert.exception.
 assertassert will no longer evaluate string arguments, instead they will be treated like any other argument. assert($a == $b) should be used instead of assert('$a == $b'). The assert.quiet_eval php.ini directive and the ASSERT_QUIET_EVAL constant have also been removed, as they would no longer have any effect.
 assertIf description is an instance of Throwable, no user callback is called even if it set.
 assert_optionsIf option is not a valid option, a ValueError is now thrown. Previously false was returned.
 bcaddscale is now nullable.
 bccompscale is now nullable.
 bcdivscale is now nullable.
 bcmodscale is now nullable.
 bcmulscale is now nullable.
 bcpowmodscale is now nullable.
 bcscalescale is now nullable.
 bcsqrtscale now needs to be between 0 and 2147483647; previously, negative scales have been silently treated as 0.
 bcsqrtscale is now nullable.
 bcsqrtIf num is not a well-formed BCMath numeric string, or less than 0, a ValueError is thrown. Previously, E_WARNING was raised instead.
 bcsubscale is now nullable.
 bzdecompressThe type of use_less_memory has been changed from int to bool. Previously, the default value was 0.
 bzwritelength is nullable now.
 call_user_func_arrayargs keys will now be interpreted as parameter names, instead of being silently ignored.
 ceilnum no longer accepts internal objects which support numeric conversion.
 com_event_sinksink_interface is nullable now.
 com_get_active_objectcodepage is nullable now.
 constantIf the constant is not defined, constant now throws an Error exception; previously an E_WARNING was generated, and null was returned.
 convert_uuencodePrior to this version, trying to convert an empty string returned false for no particular reason.
 countcount will now throw TypeError on invalid countable types passed to the value parameter.
 count_charsPrior to this version, the function returned false on failure.
 cryptThe salt is no longer optional.
 curl_closehandle expects a CurlHandle instance now; previously, a resource was expected.
 curl_copy_handleOn success, this function returns a CurlHandle instance now; previously, a resource was returned.
 curl_copy_handlehandle expects a CurlHandle instance now; previously, a resource was expected.
 curl_errnohandle expects a CurlHandle instance now; previously, a resource was expected.
 curl_errorhandle expects a CurlHandle instance now; previously, a resource was expected.
 curl_escapehandle expects a CurlHandle instance now; previously, a resource was expected.
 curl_exechandle expects a CurlHandle instance now; previously, a resource was expected.
 curl_getinfohandle expects a CurlHandle instance now; previously, a resource was expected.
 curl_getinfooption is nullable now; previously, the default was 0.
 curl_initurl is nullable now.
 curl_initOn success, this function returns a CurlHandle instance now; previously, a resource was returned.
 curl_multi_add_handlehandle expects a CurlHandle instance now; previously, a resource was expected.
 curl_multi_add_handlemulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 curl_multi_closemulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 curl_multi_errnoThe function no longer returns false on failure.
 curl_multi_errnomulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 curl_multi_execmulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 curl_multi_getcontenthandle expects a CurlHandle instance now; previously, a resource was expected.
 curl_multi_info_readmulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 curl_multi_initOn success, this function returns a CurlMultiHandle instance now; previously, a resource was returned.
 curl_multi_remove_handlemulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 curl_multi_remove_handlehandle expects a CurlHandle instance now; previously, a resource was expected.
 curl_multi_selectmulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 curl_multi_setoptmulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 curl_pausehandle expects a CurlHandle instance now; previously, a resource was expected.
 curl_resethandle expects a CurlHandle instance now; previously, a resource was expected.
 curl_setopthandle expects a CurlHandle instance now; previously, a resource was expected.
 curl_setopt_arrayhandle expects a CurlHandle instance now; previously, a resource was expected.
 curl_share_closeshare_handle expects a CurlShareHandle instance now; previously, a resource was expected.
 curl_share_errnoThe function no longer returns false on failure.
 curl_share_errnoshare_handle expects a CurlShareHandle instance now; previously, a resource was expected.
 curl_share_initThis function returns a CurlShareHandle instance now; previously, a resource was returned.
 curl_share_setoptshare_handle expects a CurlShareHandle instance now; previously, a resource was expected.
 curl_unescapehandle expects a CurlHandle instance now; previously, a resource was expected.
 curl_versionThe optional age parameter has been removed.
 datetimestamp is nullable now.
 date_sunriselatitude, longitude, zenith and utcOffset are nullable now.
 date_sunsetlatitude, longitude, zenith and utcOffset are nullable now.
 definePassing true to case_insensitive now emits an E_WARNING. Passing false is still allowed.
 deflate_addcontext expects a DeflateContext instance now; previously, a resource was expected.
 deflate_initOn success, this function returns a DeflateContext instance now; previously, a resource was returned.
 dircontext is now nullable.
 dom_import_simplexmlThis function no longer returns null on failure.
 easter_dateA ValueError is now thrown when year is outside the allowed range. Previously, an E_WARNING was raised and the function returned false.
 easter_dateyear is nullable now.
 easter_daysyear is nullable now.
 enchant_broker_describebroker expects an EnchantBroker instance now; previoulsy, a resource was expected.
 enchant_broker_describePrior to this version, the function returned false on failure.
 enchant_broker_dict_existsbroker expects an EnchantBroker instance now; previoulsy, a resource was expected.
 enchant_broker_freebroker expects an EnchantBroker instance now; previoulsy, a resource was expected.
 enchant_broker_free_dictdictionary expects a EnchantDictionary now; previoulsy, a resource was expected.
 enchant_broker_get_dict_pathbroker expects an EnchantBroker instance now; previoulsy, a resource was expected.
 enchant_broker_get_errorbroker expects an EnchantBroker instance now; previoulsy, a resource was expected.
 enchant_broker_initOn success, this function returns an EnchantBroker instance now; previoulsy, a resource was retured.
 enchant_broker_list_dictsbroker expects an EnchantBroker instance now; previoulsy, a resource was expected.
 enchant_broker_list_dictsPrior to this version, the function returned false on failure.
 enchant_broker_request_dictOn success, this function returns an EnchantDictionary instance now; previoulsy, a resource was retured.
 enchant_broker_request_dictbroker expects an EnchantBroker instance now; previoulsy, a resource was expected.
 enchant_broker_request_pwl_dictOn success, this function returns an EnchantDictionary instance now; previoulsy, a resource was retured.
 enchant_broker_request_pwl_dictbroker expects an EnchantBroker instance now; previoulsy, a resource was expected.
 enchant_broker_set_dict_pathbroker expects an EnchantBroker instance now; previoulsy, a resource was expected.
 enchant_broker_set_orderingbroker expects an EnchantBroker instance now; previoulsy, a resource was expected.
 enchant_dict_adddictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
 enchant_dict_add_to_sessiondictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
 enchant_dict_checkdictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
 enchant_dict_describePrior to this version, the function returned false on failure.
 enchant_dict_describedictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
 enchant_dict_get_errordictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
 enchant_dict_is_addeddictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
 enchant_dict_quick_checkdictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
 enchant_dict_store_replacementdictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
 enchant_dict_suggestdictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
 error_logdestination and additional_headers are now nullable.
 error_reportingerror_level is nullable now.
 execIf command is empty or contains null bytes, exec now throws a ValueError. Previously it emitted an E_WARNING and returned false.
 exif_read_datarequired_sections is nullable now.
 explodeexplode will now throw ValueError when separator parameter is given an empty string (""). Previously, explode returned false instead.
 fgetcsvlength is now nullable.
 file_get_contentslength is nullable now.
 finfo_buffercontext is nullable now.
 finfo_filecontext is nullable now.
 floatvalThe error level when converting from object was changed from E_NOTICE to E_WARNING.
 floornum no longer accepts internal objects which support numeric conversion.
 fprintfThrow a ValueError if [precision] is less than zero or bigger than PHP_INT_MAX; previously this function emitted a E_WARNING instead.
 fprintfThis function no longer returns false on failure.
 fprintfThrow a ArgumentCountError when less arguments are given than required; previously this function emitted a E_WARNING instead.
 fprintfThrow a ValueError if [width] is less than zero or bigger than PHP_INT_MAX; previously this function emitted a E_WARNING instead.
 fprintfThrow a ValueError if the number of arguments is zero; previously this function emitted a E_WARNING instead.
 fsockopentimeout is nullable now.
 fwritelength is nullable now.
 get_called_classCalling this function from outside a class, will now throw an Error. Previously, an E_WARNING was raised and the function returned false.
 get_classCalling this function from outside a class, without any arguments, will now throw an Error. Previously, an E_WARNING was raised and the function returned false.
 get_class_methodsThe object_or_class parameter now only accepts objects or valid class names.
 get_defined_functionsThe default value of the exclude_disabled parameter has been changed from false to true.
 get_headersThe associative has been changed from int to bool.
 get_parent_classThe object_or_class parameter now only accepts objects or valid class names.
 get_resourcestype is nullable now.
 getdatetimestamp is nullable now.
 getenvThe name is now nullable.
 gmdatetimestamp is nullable now.
 gmmktimehour is no longer optional. If you need a Unix timestamp, use time.
 gmmktimeminute, second, month, day and year are nullable now.
 gmp_binomialThis function no longer returns false on failure.
 gmp_exportThis function no longer returns false on failure.
 gmp_importThis function no longer returns false on failure.
 gmp_random_seedIf seed is invalid, gmp_random_seed now throws a ValueError. Previously it emitted an E_WARNING and returned false.
 gmstrftimetimestamp is nullable now.
 grapheme_substrThe function now consistently clamps out-of-bounds offsets to the string boundary. Previously, false was returned instead of the empty string in some cases.
 gzgetslength is nullable now; previously, the default was 1024.
 gzwritelength is nullable now; previously, the default was 0.
 hashhash now throws a ValueError exception if algo is unknown; previously, false was returned instead.
 hash_hkdfNow throws a ValueError exception on error. Previously, false was returned and an E_WARNING message was emitted.
 hash_hmacNow throws a ValueError exception if algo is unknown or is a non-cryptographic hash function; previously, false was returned instead.
 hash_hmac_fileNow throws a ValueError exception if algo is unknown or is a non-cryptographic hash function; previously, false was returned instead.
 hash_initNow throws an ValueError exception if the algo is unknown or is a non-cryptographic hash function, or if key is empty. Previously, false was returned and an E_WARNING message was emitted.
 hash_pbkdf2Now throws a ValueError exception on error. Previously, false was returned and an E_WARNING message was emitted.
 hash_update_filestream_context is now nullable.
 header_removename is nullable now.
 html_entity_decodeencoding is nullable now.
 htmlentitiesencoding is nullable now.
 http_build_queryarg_separator is now nullable.
 iconv_mime_decodeencoding is nullable now.
 iconv_mime_decode_headersencoding is nullable now.
 iconv_strlenencoding is nullable now.
 iconv_strposencoding is nullable now.
 iconv_strrposencoding is nullable now.
 iconv_substrlength and encoding are nullable now.
 idatetimestamp is nullable now.
 ignore_user_abortenable is nullable now.
 imageaffineOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imageaffineclip is now nullable.
 imagealphablendingimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imageantialiasimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagearcimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagebmpThe type of compressed is bool now; formerly it was int.
 imagebmpimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagecharimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagecharupimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagecolorallocateimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagecolorallocatealphaimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagecoloratimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagecolorclosestimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagecolorclosesthwbimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagecolordeallocateimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagecolorexactimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagecolorexactalphaimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagecolormatchimage1 and image2 expect GdImage instances now; previously, resources were expected.
 imagecolorresolveimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagecolorresolvealphaimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagecolorsetimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagecolorsforindeximage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagecolorsforindeximagecolorsforindex now throws a ValueError exception if color is out of range; previously, false was returned instead.
 imagecolorstotalimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagecolortransparentimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagecolortransparentcolor is now nullable.
 imageconvolutionimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagecopydst_image and src_image expect GdImage instances now; previously, resources were expected.
 imagecopymergedst_image and src_image expect GdImage instances now; previously, resources were expected.
 imagecopymergegraydst_image and src_image expect GdImage instances now; previously, resources were expected.
 imagecopyresampleddst_image and src_image expect GdImage instances now; previously, resources were expected.
 imagecopyresizeddst_image and src_image expect GdImage instances now; previously, resources were expected.
 imagecreateOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecreatefrombmpOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecreatefromgdOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecreatefromgd2On success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecreatefromgd2partOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecreatefromgifOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecreatefromjpegOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecreatefrompngOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecreatefromstringOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecreatefromtgaOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecreatefromwbmpOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecreatefromwebpOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecreatefromxbmOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecreatefromxpmOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecreatetruecolorOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecropimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagecropOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecropautoOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecropautoimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagedashedlineimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagedestroyThis function is a NOP now.
 imagedestroyimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imageellipseimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagefillimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagefilledarcimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagefilledellipseimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagefilledpolygonimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagefilledrectangleimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagefilltoborderimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagefilterimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imageflipimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagefttextimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagegammacorrectimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagegdimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagegd2image expects a GdImage instance now; previously, a valid gd resource was expected.
 imagegetclipimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagegetinterpolationimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagegifimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagegrabscreenOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagegrabwindowOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagegrabwindowclient_area expects a bool now; previously it expected an int.
 imageinterlaceimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imageinterlaceenable expects a bool now; previously it expected an int.
 imageistruecolorimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagejpegimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagelayereffectimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagelineimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imageopenpolygonimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagepalettecopydst and src expect GdImage instances now; previously, resources were expected.
 imagepalettetotruecolorimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagepngimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagepolygonimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagerectangleimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imageresolutionresolution_x and resolution_y are now nullable.
 imagerotateimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagerotateOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagerotateThe unused ignore_transparent expects a bool now; previously it expected an int.
 imagesavealphaimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagescaleOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagescaleimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagesetbrushimage and brush expect GdImage instances now; previously, resources were expected.
 imagesetclipimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagesetinterpolationimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagesetpixelimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagesetthicknessimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagesettileimage and tile expect GdImage instances now; previously, resources were expected.
 imagestringimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagestringupimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagesximage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagesyimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagetruecolortopaletteimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagettfbboxThe options has been added.
 imagettftextThe options has been added.
 imagewbmpforeground_color is nullable now.
 imagewbmpimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagewebpimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagexbmimage expects a GdImage instance now; previously, a valid gd resource was expected.
 imagexbmforeground_color is now nullable.
 imagexbmThe fourth parameter, which was unused, has been removed.
 imap_appendoptions and internal_date are now nullable.
 imap_headerinfoThe unused defaulthost parameter has been removed.
 imap_mailadditional_headers, cc, bcc, and return_path are now nullable.
 imap_sortreverse is now bool instead of int.
 imap_sortsearch_criteria and charset are now nullable.
 implodePassing the separator after the array is no longer supported.
 inflate_addcontext expects an InflateContext instance now; previously, a resource was expected.
 inflate_get_read_lencontext expects an InflateContext instance now; previously, a resource was expected.
 inflate_get_statuscontext expects an InflateContext instance now; previously, a resource was expected.
 inflate_initOn success, this function returns an InflateContext instance now; previously, a resource was returned.
 intvalThe error level when converting from object was changed from E_NOTICE to E_WARNING.
 is_numericNumeric strings ending with whitespace ("42 ") will now return true. Previously, false was returned instead.
 jdtounixThis function no longer returns false on failure, but raises a ValueError instead.
 ldap_addcontrols is nullable now; previously, it defaulted to [].
 ldap_add_extcontrols is nullable now; previously, it defaulted to [].
 ldap_bind_extcontrols is nullable now; previously, it defaulted to [].
 ldap_comparecontrols is nullable now; previously, it defaulted to [].
 ldap_control_paged_resultThis function has been removed.
 ldap_control_paged_result_responseThis function has been removed.
 ldap_deletecontrols is nullable now; previously, it defaulted to [].
 ldap_delete_extcontrols is nullable now; previously, it defaulted to [].
 ldap_exop_passwdcontrols is nullable now; previously, it defaulted to [].
 ldap_first_attributeThe unused third parameter ber_identifier is no longer accepted.
 ldap_listcontrols is nullable now; previously, it defaulted to [].
 ldap_mod_addcontrols is nullable now; previously, it defaulted to [].
 ldap_mod_delcontrols is nullable now; previously, it defaulted to [].
 ldap_mod_replacecontrols is nullable now; previously, it defaulted to [].
 ldap_modify_batchcontrols is nullable now; previously, it defaulted to [].
 ldap_mod_add_extcontrols is nullable now; previously, it defaulted to [].
 ldap_mod_del_extcontrols is nullable now; previously, it defaulted to [].
 ldap_mod_replace_extcontrols is nullable now; previously, it defaulted to [].
 ldap_next_attributeThe unused third parameter ber_identifier is no longer accepted.
 ldap_readcontrols is nullable now; previously, it defaulted to [].
 ldap_renamecontrols is nullable now; previously, it defaulted to [].
 ldap_rename_extcontrols is nullable now; previously, it defaulted to [].
 ldap_sasl_binddn, password, mech, realm, authc_id, authz_id and props are nullable now.
 ldap_searchcontrols is nullable now; previously, it defaulted to [].
 ldap_set_rebind_proccallback is nullable now.
 ldap_sortThis function has been removed.
 levenshteinPrior to this version, levenshtein had to be called with either two or five arguments.
 levenshteinPrior to this version, levenshtein would return -1 if one of the argument strings is longer than 255 characters.
 libxml_use_internal_errorsuse_errors is nullable now. Previously, its default was false.
 localtimetimestamp is nullable now.
 maxAs string to number comparisons were changed, max no longer returns a different value based on the argument order in those cases.
 maxmax throws a ValueError on failure now; previously, false was returned and an E_WARNING error was emitted.
 mb_check_encodingvalue and encoding are nullable now.
 mb_chrencoding is nullable now.
 mb_convert_encodingfrom_encoding is nullable now.
 mb_convert_encodingmb_convert_encoding will now throw a ValueError when from_encoding is passed an invalid encoding.
 mb_convert_encodingmb_convert_encoding will now throw a ValueError when to_encoding is passed an invalid encoding.
 mb_convert_kanaencoding is nullable now.
 mb_decode_numericentityencoding is nullable now.
 mb_detect_orderencoding is nullable now.
 mb_encode_mimeheadercharset and transfer_encoding are nullable now.
 mb_encode_numericentityencoding is nullable now.
 mb_encoding_aliasesIf the encoding is unknown, a ValueError is now thrown; previously an E_WARNING was emitted, and the function returned false.
 mb_eregThis function returns true on success now. Previously, it returned the byte length of the matched string if a match for pattern was found in string and matches was passed. If the optional parameter matches was not passed or the length of the matched string was 0, this function returned 1.
 mb_ereg_matchoptions is nullable now.
 mb_ereg_replaceoptions is nullable now.
 mb_ereg_replace_callbackoptions is nullable now.
 mb_ereg_searchpattern and options are nullable now.
 mb_ereg_search_initpattern and options are nullable now.
 mb_ereg_search_pospattern and options are nullable now.
 mb_ereg_search_regspattern and options are nullable now.
 mb_eregiThis function returns true on success now. Previously, it returned the byte length of the matched string if a match for pattern was found in string and matches was passed. If the optional parameter matches was not passed or the length of the matched string was 0, this function returned 1.
 mb_eregi_replaceoptions is nullable now.
 mb_get_infoThe types "func_overload" and "func_overload_list" are no longer supported.
 mb_http_inputtype is nullable now.
 mb_http_outputencoding is nullable now.
 mb_internal_encodingencoding is nullable now.
 mb_internal_encodingNow throws a ValueError if encoding is an invalid encoding. Previously a E_WARNING was emitted instead.
 mb_languagelanguage is nullable now.
 mb_ordencoding is nullable now.
 mb_parse_strThe second parameter was no longer optional.
 mb_regex_encodingencoding is nullable now.
 mb_regex_set_optionsIf the parameter options is given and not null, the previous options are returned. Formerly, the current options have been returned.
 mb_regex_set_optionsThe "e" option now throws a ValueError.
 mb_regex_set_optionsoptions is nullable now.
 mb_scrubencoding is nullable now.
 mb_send_mailadditional_params is nullable now.
 mb_str_splitThis function no longer returns false on failure.
 mb_str_splitencoding is nullable now.
 mb_strcutencoding is nullable now.
 mb_strimwidthencoding is nullable now.
 mb_striposencoding is nullable now.
 mb_striposneedle now accepts an empty string.
 mb_stristrencoding is nullable now.
 mb_stristrneedle now accepts an empty string.
 mb_strlenencoding is nullable now.
 mb_strposencoding is nullable now.
 mb_strposneedle now accepts an empty string.
 mb_strrchrneedle now accepts an empty string.
 mb_strrchrencoding is nullable now.
 mb_strrichrneedle now accepts an empty string.
 mb_strrichrencoding is nullable now.
 mb_strriposencoding is nullable now.
 mb_strriposneedle now accepts an empty string.
 mb_strrposneedle now accepts an empty string.
 mb_strrposPassing the encoding as the third argument instead of an offset has been removed.
 mb_strrposencoding is nullable now.
 mb_strstrneedle now accepts an empty string.
 mb_strstrencoding is nullable now.
 mb_strwidthencoding is nullable now.
 mb_substitute_characterPassing an empty string to substitute_character is no longer supported; "none" should be passed instead.
 mb_substitute_characterencoding is nullable now.
 mb_substrencoding is nullable now.
 mb_substr_countencoding is nullable now.
 metaphoneThe function returned false on failure.
 mhashkey is now nullable.
 minAs string to number comparisons were changed, min no longer returns a different value based on the argument order in those cases.
 minmin throws a ValueError on failure now; previously, false was returned and an E_WARNING error was emitted.
 mktimehour is no longer optional. If you need a Unix timestamp, use time.
 mktimeminute, second, month, day and year are nullable now.
 msg_get_queueOn success, this function returns a SysvMessageQueue instance now; previously, a resource was returned.
 msg_receivequeue expects a SysvMessageQueue instance now; previously, a resource was expected.
 msg_remove_queuequeue expects a SysvMessageQueue instance now; previously, a resource was expected.
 msg_sendqueue expects a SysvMessageQueue instance now; previously, a resource was expected.
 msg_set_queuequeue expects a SysvMessageQueue instance now; previously, a resource was expected.
 msg_stat_queuequeue expects a SysvMessageQueue instance now; previously, a resource was expected.
 number_formatPrior to this version, number_format accepted one, two, or four parameters (but not three).
 ob_implicit_flushThe enable expects a bool value now; previously, an int was expected.
 odbc_columnsschema, table and column are now nullable.
 odbc_errorodbc is nullable now.
 odbc_errormsgodbc is nullable now.
 odbc_execflags was removed.
 odbc_fetch_rowrow is nullable now.
 odbc_procedurecolumnsPrior to this version, the function could only be called with either one or five arguments.
 odbc_proceduresPrior to this version, the function could only be called with either one or four arguments.
 odbc_tablesschema, table and types are now nullable.
 opendircontext is now nullable.
 openssl_csr_exportcsr accepts an OpenSSLCertificateSigningRequest instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
 openssl_csr_export_to_filecsr accepts an OpenSSLCertificateSigningRequest instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
 openssl_csr_get_public_keyOn success, this function returns an OpenSSLAsymmetricKey instance now; previously, a resource of type OpenSSL key was returned.
 openssl_csr_get_public_keycsr accepts an OpenSSLCertificateSigningRequest instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
 openssl_csr_get_subjectcsr accepts an OpenSSLCertificateSigningRequest instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
 openssl_csr_newprivate_key accepts an OpenSSLAsymmetricKey instance now; previously, a resource of type OpenSSL key was accepted.
 openssl_csr_newOn success, this function returns an OpenSSLCertificateSigningRequest instance now; previously, a resource of type OpenSSL X.509 CSR was returned.
 openssl_csr_signOn success, this function returns an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was returned.
 openssl_csr_signprivate_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
 openssl_csr_signca_certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
 openssl_csr_signcsr accepts an OpenSSLCertificateSigningRequest instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
 openssl_dh_compute_keyprivate_key accepts an OpenSSLAsymmetricKey now; previously, a resource of type OpenSSL key was accepted.
 openssl_free_keykey accepts an OpenSSLAsymmetricKey now; previously, a resource of type OpenSSL key was accepted.
 openssl_free_keyThis function is now deprecated as it doesn't have an effect anymore.
 openssl_opencipher_algo is no longer an optional parameter.
 openssl_openprivate_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 CSR was accepted.
 openssl_pkcs7_decryptprivate_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 CSR was accepted.
 openssl_pkcs7_encryptcertificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
 openssl_pkcs7_signprivate_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 CSR was accepted.
 openssl_pkcs7_signcertificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
 openssl_pkcs7_verifysigners_certificates_filename, untrusted_certificates_filename, content and output_filename are nullable now.
 openssl_pkcs12_exportcertificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
 openssl_pkcs12_exportprivate_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
 openssl_pkcs12_export_to_fileprivate_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
 openssl_pkcs12_export_to_filecertificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
 openssl_pkey_exportkey accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
 openssl_pkey_export_to_filekey accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
 openssl_pkey_freekey accepts an OpenSSLAsymmetricKey now; previously, a resource of type OpenSSL key was accepted.
 openssl_pkey_freeThis function is now deprecated as it doesn't have an effect anymore.
 openssl_pkey_get_detailskey accepts an OpenSSLAsymmetricKey now; previously, a resource of type OpenSSL key was accepted.
 openssl_pkey_get_privateOn success, this function returns an OpenSSLAsymmetricKey instance now; previously, a resource of type OpenSSL key was returned.
 openssl_pkey_get_privateprivate_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
 openssl_pkey_get_privatepassphrase is nullable now.
 openssl_pkey_get_publicOn success, this function returns an OpenSSLAsymmetricKey instance now; previously, a resource of type OpenSSL key was returned.
 openssl_pkey_get_publicpublic_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
 openssl_pkey_newOn success, this function returns an OpenSSLAsymmetricKey instance now; previously, a resource of type OpenSSL key was returned.
 openssl_private_decryptprivate_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
 openssl_private_encryptprivate_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
 openssl_public_decryptpublic_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
 openssl_public_encryptpublic_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
 openssl_random_pseudo_bytesstrong_result is nullable now.
 openssl_sealcipher_algo is no longer an optional parameter.
 openssl_sealpublic_key accepts an array of OpenSSLAsymmetricKey instances now; previously, an array of resources of type OpenSSL key was accepted.
 openssl_sealiv is nullable now.
 openssl_signprivate_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
 openssl_spki_newprivate_key accepts an OpenSSLAsymmetricKey instance now; previously, a resource of type OpenSSL key was accepted.
 openssl_verifypublic_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
 openssl_x509_check_private_keycertificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
 openssl_x509_check_private_keyprivate_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
 openssl_x509_checkpurposecertificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
 openssl_x509_checkpurposeuntrusted_certificates_file is nullable now.
 openssl_x509_exportcertificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
 openssl_x509_export_to_filecertificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
 openssl_x509_fingerprintcertificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
 openssl_x509_freecertificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
 openssl_x509_freeThis function is now deprecated as it doesn't have an effect anymore.
 openssl_x509_parsecertificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
 openssl_x509_readOn success, this function returns an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was returned.
 openssl_x509_readcertificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
 openssl_x509_verifypublic_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
 openssl_x509_verifycertificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
 packThis function no longer returns false on failure.
 parse_strresult is no longer optional.
 parse_urlparse_url will now distinguish absent and empty queries and fragments.
 passthruIf command is empty or contains null bytes, passthru now throws a ValueError. Previously it emitted an E_WARNING and returned false.
 password_hashThe algo parameter is nullable now.
 password_hashpassword_hash no longer returns false on failure, instead a ValueError will be thrown if the password hashing algorithm is not valid, or an Error if the password hashing failed for an unknown error.
 pcntl_async_signalsenable is nullable now.
 pcntl_getpriorityprocess_id is nullable now.
 pcntl_setpriorityprocess_id is nullable now.
 pfsockopentimeout is nullable now.
 pg_client_encodingconnection is now nullable.
 pg_closeconnection is now nullable.
 pg_dbnameconnection is now nullable.
 pg_end_copyconnection is now nullable.
 pg_fetch_allpg_fetch_all will now return an empty array instead of false for result sets with zero rows.
 pg_hostconnection is now nullable.
 pg_last_errorconnection is now nullable.
 pg_lo_writelength is now nullable.
 pg_optionsconnection is now nullable.
 pg_pingconnection is now nullable.
 pg_portconnection is now nullable.
 pg_traceconnection is now nullable.
 pg_ttyconnection is now nullable.
 pg_untraceconnection is now nullable.
 pg_versionconnection is now nullable.
 phpversionextension is nullable now.
 printfThis function no longer returns false on failure.
 printfThrow a ValueError if the number of arguments is zero; previously this function emitted a E_WARNING instead.
 printfThrow a ValueError if [width] is less than zero or bigger than PHP_INT_MAX; previously this function emitted a E_WARNING instead.
 printfThrow a ValueError if [precision] is less than zero or bigger than PHP_INT_MAX; previously this function emitted a E_WARNING instead.
 printfThrow a ArgumentCountError when less arguments are given than required; previously this function emitted a E_WARNING instead.
 readdirdir_handle is now nullable.
 readline_infovar_name and value are nullable now.
 readline_read_historyfilename is nullable now.
 readline_write_historyfilename is nullable now.
 rewinddirdir_handle is now nullable.
 roundnum no longer accepts internal objects which support numeric conversion.
 sapi_windows_vt100_supportenable is now nullable.
 scandircontext is now nullable.
 sem_acquiresemaphore expects a SysvSemaphore instance now; previously, a resource was expected.
 sem_getThe type of auto_release has been changed from int to bool.
 sem_getOn success, this function returns a SysvSemaphore instance now; previously, a resource was returned.
 sem_releasesemaphore expects a SysvSemaphore instance now; previously, a resource was expected.
 sem_removesemaphore expects a SysvSemaphore instance now; previously, a resource was expected.
 session_cache_expirevalue is nullable now.
 session_cache_limitervalue is nullable now.
 session_idid is nullable now.
 session_module_namemodule is nullable now.
 session_namename is nullable now.
 session_save_pathpath is nullable now.
 session_set_cookie_paramspath, domain, secure and httponly are nullable now.
 set_error_handlererrcontext was removed, and will no longer be passed to user callbacks.
 shm_attachsize is nullable now.
 shm_attachOn success, this function returns an SysvSharedMemory instance now; previously, a resource was returned.
 shm_detachshm expects a SysvSharedMemory instance now; previously, a resource was expected.
 shm_get_varshm expects a SysvSharedMemory instance now; previously, a resource was expected.
 shm_has_varshm expects a SysvSharedMemory instance now; previously, a resource was expected.
 shm_put_varshm expects a SysvSharedMemory instance now; previously, a resource was expected.
 shm_removeshm expects a SysvSharedMemory instance now; previously, a resource was expected.
 shm_remove_varshm expects a SysvSharedMemory instance now; previously, a resource was expected.
 shmop_closeshmop expects a Shmop instance now; previously, a resource was expected.
 shmop_deleteshmop expects a Shmop instance now; previously, a resource was expected.
 shmop_openOn success, this function returns an Shmop instance now; previously, a resource was returned.
 shmop_openIf mode is invalid, or size is less than or equal to zero, a ValueError is thrown; previously E_WARNING was emitted instead, and the function returned false.
 shmop_readIf offset or size are out of range, a ValueError is thrown; previously E_WARNING was emitted, and false was returned,
 shmop_readshmop expects a Shmop instance now; previously, a resource was expected.
 shmop_sizeshmop expects a Shmop instance now; previously, a resource was expected.
 shmop_writePrior to PHP 8.0.0, false was returned on failure.
 shmop_writeshmop expects a Shmop instance now; previously, a resource was expected.
 sleepThe function throws a ValueError on negative seconds; previously, an E_WARNING was raised instead, and the function returned false.
 socket_acceptOn success, this function returns a Socket instance now; previously, a resource was returned.
 socket_addrinfo_bindaddress is an AddressInfo instance now; previously, it was a resource.
 socket_addrinfo_bindOn success, this function returns a Socket instance now; previously, a resource was returned.
 socket_addrinfo_connectOn success, this function returns a Socket instance now; previously, a resource was returned.
 socket_addrinfo_connectaddress is an AddressInfo instance now; previously, it was a resource.
 socket_addrinfo_explainaddress is an AddressInfo instance now; previously, it was a resource.
 socket_addrinfo_lookupservice is nullable now.
 socket_addrinfo_lookupOn success, this function returns a array of AddressInfo instances now; previously, an array of resources was returned.
 socket_bindsocket is a Socket instance now; previously, it was a resource.
 socket_clear_errorsocket is nullable now.
 socket_clear_errorsocket is a Socket instance now; previously, it was a resource.
 socket_closesocket is a Socket instance now; previously, it was a resource.
 socket_connectport is nullable now.
 socket_connectsocket is a Socket instance now; previously, it was a resource.
 socket_createOn success, this function returns a Socket instance now; previously, a resource was returned.
 socket_create_listenOn success, this function returns a Socket instance now; previously, a resource was returned.
 socket_create_pairpair is a reference to an array of Socket instances now; previously, it was a reference to an array of resources.
 socket_export_streamsocket is a Socket instance now; previously, it was a resource.
 socket_get_optionsocket is a Socket instance now; previously, it was a resource.
 socket_getpeernamesocket is a Socket instance now; previously, it was a resource.
 socket_getsocknamesocket is a Socket instance now; previously, it was a resource.
 socket_import_streamOn success, this function returns a Socket instance now; previously, a resource was returned.
 socket_last_errorsocket is a Socket instance now; previously, it was a resource.
 socket_last_errorsocket is nullable now.
 socket_listensocket is a Socket instance now; previously, it was a resource.
 socket_readsocket is a Socket instance now; previously, it was a resource.
 socket_recvsocket is a Socket instance now; previously, it was a resource.
 socket_recvfromsocket is a Socket instance now; previously, it was a resource.
 socket_recvmsgsocket is a Socket instance now; previously, it was a resource.
 socket_sendsocket is a Socket instance now; previously, it was a resource.
 socket_sendmsgsocket is a Socket instance now; previously, it was a resource.
 socket_sendtoport is nullable now.
 socket_sendtosocket is a Socket instance now; previously, it was a resource.
 socket_set_blocksocket is a Socket instance now; previously, it was a resource.
 socket_set_nonblocksocket is a Socket instance now; previously, it was a resource.
 socket_set_optionsocket is a Socket instance now; previously, it was a resource.
 socket_shutdownsocket is a Socket instance now; previously, it was a resource.
 socket_writesocket is a Socket instance now; previously, it was a resource.
 socket_writelength is nullable now.
 socket_wsaprotocol_info_exportsocket is a Socket instance now; previously, it was a resource.
 socket_wsaprotocol_info_importOn success, this function returns a Socket instance now; previously, a resource was returned.
 soundexPrior to this version, calling the function with an empty string returned false for no particular reason.
 spl_autoloadfile_extensions is now nullable.
 spl_autoload_extensionsfile_extensions is now nullable.
 spl_autoload_functionsReturn value was updated to always be an array; previously this function returned false if the autoload queue wasn't activated.
 spl_autoload_registercallback is now nullable.
 sprintfThis function no longer returns false on failure.
 sprintfThrow a ArgumentCountError when less arguments are given than required; previously this function emitted a E_WARNING instead.
 sprintfThrow a ValueError if [precision] is less than zero or bigger than PHP_INT_MAX; previously this function emitted a E_WARNING instead.
 sprintfThrow a ValueError if [width] is less than zero or bigger than PHP_INT_MAX; previously this function emitted a E_WARNING instead.
 sprintfThrow a ValueError if the number of arguments is zero; previously this function emitted a E_WARNING instead.
 str_splitIf length is less than 1, a ValueError will be thrown now; previously, an error of level E_WARNING has been raised instead, and the function returned false.
 str_word_countcharacters is nullable now.
 strcspnlength is nullable now.
 stream_context_createoptions and params are now nullable.
 stream_context_get_defaultoptions is now nullable.
 stream_copy_to_streamlength is now nullable.
 stream_get_contentslength is now nullable.
 stream_set_chunk_sizeA ValueError is now thrown if size is less than 1 or greater than PHP_INT_MAX. Previously, an E_WARNING level error was emitted and false was returned.
 stream_socket_accepttimeout is now nullable.
 stream_socket_clienttimeout and context are now nullable.
 stream_socket_enable_cryptosession_stream is now nullable.
 stream_socket_servercontext is nullable now.
 strftimetimestamp is nullable now.
 strip_tagsallowed_tags is nullable now.
 striposPassing an int as needle is no longer supported.
 striposneedle now accepts an empty string.
 stristrPassing an int as needle is no longer supported.
 strposneedle now accepts an empty string.
 strposPassing an int as needle is no longer supported.
 strrchrPassing an int as needle is no longer supported.
 strrchrneedle now accepts an empty string.
 strriposPassing an int as needle is no longer supported.
 strriposneedle now accepts an empty string.
 strrposneedle now accepts an empty string.
 strrposPassing an int as needle is no longer supported.
 strspnlength is nullable now.
 strstrPassing an int as needle is no longer supported.
 strstrneedle now accepts an empty string.
 strtotimebaseTimestamp is nullable now.
 substrThe function returns an empty string where it previously returned false.
 substrlength is nullable now. When length is explicitly set to null, the function returns a substring finishing at the end of the string, when it previously returned an empty string.
 substr_comparelength is nullable now.
 substr_countlength is nullable now.
 substr_replacelength is nullable now.
 touchmtime and atime are now nullable.
 uasortIf callback expects a parameter to be passed by reference, this function will now emit an E_WARNING.
 uksortIf callback expects a parameter to be passed by reference, this function will now emit an E_WARNING.
 umaskmask is nullable now.
 unixtojdtimestamp is nullable now.
 usortIf callback expects a parameter to be passed by reference, this function will now emit an E_WARNING.
 vfprintfThrow a ValueError if [precision] is less than zero or bigger than PHP_INT_MAX; previously this function emitted a E_WARNING instead.
 vfprintfThrow a ValueError if [width] is less than zero or bigger than PHP_INT_MAX; previously this function emitted a E_WARNING instead.
 vfprintfThrow a ValueError if the number of arguments is zero; previously this function emitted a E_WARNING instead.
 vfprintfThis function no longer returns false on failure.
 vfprintfThrow a ValueError when less arguments are given than required; previously this function emitted a E_WARNING instead.
 vprintfThrow a ValueError if [precision] is less than zero or bigger than PHP_INT_MAX; previously this function emitted a E_WARNING instead.
 vprintfThrow a ValueError when less arguments are given than required; previously this function emitted a E_WARNING instead.
 vprintfThis function no longer returns false on failure.
 vprintfThrow a ValueError if the number of arguments is zero; previously this function emitted a E_WARNING instead.
 vprintfThrow a ValueError if [width] is less than zero or bigger than PHP_INT_MAX; previously this function emitted a E_WARNING instead.
 vsprintfThrow a ValueError if [precision] is less than zero or bigger than PHP_INT_MAX; previously this function emitted a E_WARNING instead.
 vsprintfThrow a ValueError if [width] is less than zero or bigger than PHP_INT_MAX; previously this function emitted a E_WARNING instead.
 vsprintfThrow a ValueError when less arguments are given than required; previously this function emitted a E_WARNING instead.
 vsprintfThis function no longer returns false on failure.
 vsprintfThrow a ValueError if the number of arguments is zero; previously this function emitted a E_WARNING instead.
 xml_get_current_byte_indexparser expects an XMLParser instance now; previously, a valid xml resource was expected.
 xml_get_current_column_numberparser expects an XMLParser instance now; previously, a valid xml resource was expected.
 xml_get_current_line_numberparser expects an XMLParser instance now; previously, a valid xml resource was expected.
 xml_get_error_codeparser expects an XMLParser instance now; previously, a valid xml resource was expected.
 xml_parseparser expects an XMLParser instance now; previously, a valid xml resource was expected.
 xml_parse_into_structparser expects an XMLParser instance now; previously, a valid xml resource was expected.
 xml_parser_createencoding is nullable now.
 xml_parser_createThis function returns an XMLParser instance now; previously, a resource was returned, or false on failure.
 xml_parser_create_nsThis function returns an XMLParser instance now; previously, a resource was returned, or false on failure.
 xml_parser_create_nsencoding is nullable now.
 xml_parser_freeparser expects an XMLParser instance now; previously, a valid xml resource was expected.
 xml_parser_get_optionparser expects an XMLParser instance now; previously, a valid xml resource was expected.
 xml_parser_get_optionA ValueError is now thrown if option is invalid.
 xml_parser_set_optionA ValueError is now thrown if option is invalid.
 xml_parser_set_optionparser expects an XMLParser instance now; previously, a valid xml resource was expected.
 xml_set_character_data_handlerparser expects an XMLParser instance now; previously, a valid xml resource was expected.
 xml_set_default_handlerparser expects an XMLParser instance now; previously, a valid xml resource was expected.
 xml_set_element_handlerparser expects an XMLParser instance now; previously, a valid xml resource was expected.
 xml_set_end_namespace_decl_handlerparser expects an XMLParser instance now; previously, a valid xml resource was expected.
 xml_set_external_entity_ref_handlerparser expects an XMLParser instance now; previously, a valid xml resource was expected.
 xml_set_notation_decl_handlerparser expects an XMLParser instance now; previously, a valid xml resource was expected.
 xml_set_objectparser expects an XMLParser instance now; previously, a valid xml resource was expected.
 xml_set_processing_instruction_handlerparser expects an XMLParser instance now; previously, a valid xml resource was expected.
 xml_set_start_namespace_decl_handlerparser expects an XMLParser instance now; previously, a valid xml resource was expected.
 xml_set_unparsed_entity_decl_handlerparser expects an XMLParser instance now; previously, a valid xml resource was expected.
 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.
 GlobIterator::__constructNow throws a ValueError if directory is an empty string; previously it threw a RuntimeException.
 IntlCalendar::setMinimalDaysInFirstWeekA ValueError is now thrown on invalid input. Previously, false was returned.
 IntlTimeZone::getIDForWindowsIDregion is now nullable.
 LimitIterator::__constructNow throws a ValueError if limit is less than -1; previously it threw a RuntimeException.
 LimitIterator::__constructNow throws a ValueError if offset is less than 0; previously it threw a RuntimeException.
 Locale::getDisplayLanguagedisplayLocale is nullable now.
 Locale::getDisplayNamedisplayLocale is nullable now.
 Locale::getDisplayRegiondisplayLocale is nullable now.
 Locale::getDisplayScriptdisplayLocale is nullable now.
 Locale::getDisplayVariantdisplayLocale is nullable now.
 mysqli_result::fetch_objectconstructor_args now accepts [] for constructors with 0 parameters; previously an exception was thrown.
 mysqli_result::field_seekThis function now always returns true. Previously it returned false on failure.
 mysqli_stmt::closeThis function now always returns true. Previously it returned false on failure.
 mysqli_stmt::__constructquery is now nullable.
 mysqli::begin_transactionname is now nullable.
 mysqli::closeThis function now always returns true. Previously it returned false on failure.
 mysqli::commitname is now nullable.
 mysqli::debugThis function now always returns true. Previously it returned false on failure.
 mysqli::rollbackname is now nullable.
 NumberFormatter::createpattern is nullable now.
 PDOStatement::fetchAllThis method always returns an array now, while previously false may have been returned on failure.
 Phar::addFilelocalName is now nullable.
 Phar::buildFromIteratorbaseDirectory is now nullable.
 Phar::compressextension is now nullable.
 Phar::convertToDataformat, compression, and extension are now nullable.
 Phar::convertToExecutableformat, compression, and extension are now nullable.
 Phar::createDefaultStubindex and webIndex are now nullable.
 Phar::decompressextension is now nullable.
 Phar::getMetadataThe parameter unserializeOptions has been added.
 Phar::setDefaultStubwebIndex is nullable now.
 Phar::setSignatureAlgorithmprivateKey is now nullable.
 Phar::webPharfileNotFoundScript and rewrite are nullable now.
 PharData::addFilelocalName is now nullable.
 PharData::buildFromIteratorbaseDirectory is now nullable.
 PharData::compressextension is now nullable.
 PharData::convertToDataformat, compression, and extension are now nullable.
 PharData::convertToExecutableformat, compression, and localName are now nullable.
 PharData::decompressextension is now nullable.
 PharData::setDefaultStubwebIndex is nullable now.
 PharData::setSignatureAlgorithmprivateKey is now nullable.
 PharFileInfo::getMetadataThe parameter unserializeOptions has been added.
 PharFileInfo::isCompressedcompression is now nullable.
 RecursiveDirectoryIterator::__constructNow throws a ValueError if directory is an empty string; previously it threw a RuntimeException.
 RecursiveIteratorIterator::getSubIteratorlevel is now nullable.
 ReflectionClass::getConstantsfilter has been added.
 ReflectionClass::getReflectionConstantsfilter has been added.
 ReflectionFunction::invokeArgsargs keys will now be interpreted as parameter names, instead of being silently ignored.
 ReflectionMethod::getClosureobject is now nullable.
 ReflectionMethod::invokeArgsargs keys will now be interpreted as parameter names, instead of being silently ignored.
 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.
 ReflectionProperty::getValueobject is nullable now.
 ReflectionProperty::isInitializedobject is nullable now.
 SimpleXMLElement::asXMLfilename is nullable now.
 SoapClient::__doRequestThe type of oneWay is bool now; formerly it was int.
 SoapClient::__setCookievalue is now nullable.
 SoapServer::handlerequest is now nullable.
 SplFileInfo::getFileInfoclass is now nullable.
 SplFileInfo::getPathInfoclass is now nullable.
 SplFileInfo::openFilecontext is now nullable.
 SplFixedArray::__constructNow throws a ValueError if size is a negative; previously it threw a InvalidArgumentException.
 tidy::__constructfilename, config, encoding and useIncludePath are nullable now.
 tidy::parseFileconfig and encoding are nullable now.
 tidy::parseStringconfig and encoding are nullable now.
 tidy::repairFileconfig and encoding are nullable now.
 tidy::repairFiletidy::repairFile is a static method now.
 tidy::repairStringtidy::repairString is a static method now.
 tidy::repairStringconfig and encoding are nullable now.
 tidy::repairStringThis function no longer accepts the useIncludePath parameter.
 XMLReader::getAttributeThis function can no longer return false.
 XMLReader::getAttributeNsThis function can no longer return false.
 XMLReader::lookupNamespaceThis function can no longer return false.
 XMLReader::nextname is nullable now.
 XMLReader::openXMLReader::open is now declared as static method, but can still be called on an XMLReader instance.
 XMLReader::XMLXMLReader::XML is now declared as static method, but can still be called on an XMLReader instance.
 XMLWriter::endAttributewriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::endCdatawriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::endCommentwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::endDocumentwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::endDtdwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::endDtdAttlistwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::endDtdElementwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::endDtdEntitywriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::endElementwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::endPiwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::flushwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::flushThis function can no longer return false.
 XMLWriter::fullEndElementwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::openMemoryThis function returns now an XMLWriter instance on success. Previouly, a resource has been returned in this case.
 XMLWriter::openUriThis function returns now an XMLWriter instance on success. Previouly, a resource has been returned in this case.
 XMLWriter::outputMemorywriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::setIndentwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::setIndentStringwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::startAttributewriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::startAttributeNswriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::startAttributeNsprefix is nullable now.
 XMLWriter::startCdatawriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::startCommentwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::startDocumentwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::startDtdwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::startDtdAttlistwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::startDtdElementwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::startDtdEntitywriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::startElementwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::startElementNswriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::startPiwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::textwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::writeAttributewriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::writeAttributeNswriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::writeCdatawriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::writeCommentwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::writeDtdwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::writeDtdAttlistwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::writeDtdElementwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::writeDtdEntitywriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::writeDtdEntitypublicId, systemId and notationData are nullable now.
 XMLWriter::writeElementwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::writeElementNswriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::writePiwriter expects an XMLWriter instance now; previously, a resource was expected.
 XMLWriter::writeRawwriter expects an XMLWriter instance now; previously, a resource was expected.
 ZipArchive::setEncryptionIndexpassword is now nullable.
 ZipArchive::setEncryptionNamepassword is now nullable.
7.4.4proc_openAdded the create_new_console option to the 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.
 chrThe function no longer silently accepts unsupported codepoints, and casts these to 0.
 curl_versionThe optional age parameter has been deprecated; if a value is passed, it is ignored.
 currentInstances of SPL classes are now treated like empty objects that have no properties instead of calling the Iterator method with the same name as this function.
 endInstances of SPL classes are now treated like empty objects that have no properties instead of calling the Iterator method with the same name as this function.
 fgetcsvThe escape parameter now also accepts an empty string to disable the proprietary escape mechanism.
 fputcsvThe escape 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.
 gzreadThis functions returns false on failure now; previously 0 was returned.
 gzwriteThis functions returns false on failure now; previously 0 was returned.
 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 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.
 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.
 imagefilterScatter support (IMG_FILTER_SCATTER) was added.
 implodePassing the separator after the array (i.e. using the legacy signature) has been deprecated.
 keyInstances of SPL classes are now treated like empty objects that have no properties instead of calling the Iterator method with the same name as this function.
 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.
 nextInstances of SPL classes are now treated like empty objects that have no properties instead of calling the Iterator method with the same name as this function.
 octdecPassing invalid characters will now generate a deprecation notice. The result will still be computed as if the invalid characters did not exist.
 openssl_random_pseudo_bytesThe function no longer returns false on failure, but throws an Exception instead.
 password_hashThe algo parameter expects a string now, but still accepts ints for backward compatibility.
 password_hashThe sodium extension provides an alternative implementation for Argon2 passwords.
 password_needs_rehashThe algo parameter expects a string now, but still accepts ints for backward compatibility.
 preg_replace_callbackThe flags parameter was added.
 preg_replace_callback_arrayThe flags parameter was added.
 prevInstances of SPL classes are now treated like empty objects that have no properties instead of calling the Iterator method with the same name as this function.
 proc_openproc_open now also accepts an array for the command.
 proc_openAdded the create_process_group option to the options parameter.
 resetInstances of SPL classes are now treated like empty objects that have no properties instead of calling the Iterator method with the same name as this function.
 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.
 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.
 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 allowed_tags now alternatively accepts an array.
 unserializeAdded the max_depth element of options to set the maximum depth of structures permitted during unserialization.
 Locale::lookupdefaultLocale is nullable now.
 mysqli::__constructAll parameters are now nullable.
 mysqli::real_connectAll parameters are now nullable.
 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::bindParamparam now also supports the @param notation.
 SQLite3Stmt::bindValueparam now also supports the @param notation.
7.3.24, 7.4.12jdtounixThe upper limit of julian_day 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 map_size parameter.
 dba_popenThe lmdb driver now supports an additional map_size parameter.
7.3.0DateTimeImmutable::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.
 assertDeclaring a function called assert() inside a namespace became deprecated. Such declaration now emits an E_DEPRECATED.
 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.
 imagecreatefromstringWEBP is supported now (if supported by the libgd in use).
 is_countableis_countable has been added.
 json_decodeJSON_THROW_ON_ERROR flags was added.
 json_encodeJSON_THROW_ON_ERROR flags was added.
 ldap_addSupport for controls added
 ldap_compareSupport for controls added
 ldap_deleteSupport for controls added
 ldap_exopSupport for serverctrls added
 ldap_exop_passwdSupport for controls added
 ldap_listSupport for controls added
 ldap_mod_addSupport for controls added
 ldap_mod_delSupport for controls added
 ldap_mod_replaceSupport for controls added
 ldap_modify_batchSupport for controls added
 ldap_mod_add_extSupport for controls added
 ldap_mod_del_extSupport for controls added
 ldap_mod_replace_extSupport for controls added
 ldap_parse_resultSupport for controls added
 ldap_readSupport for controls added
 ldap_renameSupport for controls added
 ldap_rename_extSupport for controls added
 ldap_searchSupport for controls 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 lifetime_or_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 int as needle has been deprecated.
 stristrPassing an int as needle has been deprecated.
 strposPassing an int as needle has been deprecated.
 strrchrPassing an int as needle has been deprecated.
 strriposPassing an int as needle has been deprecated.
 strrposPassing an int as needle has been deprecated.
 strstrPassing an int 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.2.19, 7.3.6, 7.4.0DatePeriod::__constructrecurrences must be greater than 0 now.
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 haystack.
7.2.12DateInterval::formatThe F and f format will now always be positive.
7.2.0array_uniqueIf 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.
 bcmodnum1 and num2 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 value 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.
 date_sun_infoThe calculation was fixed with regards to local midnight instead of local noon, which changes the results slightly.
 exif_read_dataThe file parameter now supports both local files and 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 file parameter now supports both local files and 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 flags were added.
 json_decodeassociative is nullable now.
 json_encodeJSON_INVALID_UTF8_IGNORE, and JSON_INVALID_UTF8_SUBSTITUTE flags were added.
 mailThe additional_headers parameter now also accepts an array.
 mb_check_encodingThis function now also accepts an array as value. Formerly, only strings have been supported.
 mb_convert_encodingThis function now also accepts an array as string. 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 num would be -0.01.
 openssl_pkcs7_verifyThe output_filename 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.
 preg_quotedelimiter is nullable now.
 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 from the XML extension to the core of PHP. In previous versions, it was only available if the XML extension was installed.
 utf8_encodeThis function has been moved from the XML extension to the core of PHP. In previous versions, it was only available if the XML extension was installed.
 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.
 ReflectionClass::getMethodsfilter is nullable now.
 ReflectionClass::getPropertiesfilter is nullable now.
 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 datetime 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::setTimeThe microsecond parameter was added.
 DateTimeImmutable::__constructFrom now on microseconds are filled with actual value. Not with '00000'.
 DateTimeImmutable::setTimeThe microsecond parameter was added.
 DateTimeZone::listIdentifierscountryCode is nullable now.
 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 name can now be omitted to retrieve an associative array of all environment variables.
 getimagesizeAdded WebP support.
 getoptAdded the rest_index parameter.
 grapheme_extractSupport for negative offsets 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 float values.
 json_encodeJSON_UNESCAPED_LINE_TERMINATORS flags 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 ip has been changed from string to int.
 mb_eregmb_ereg will now set matches to an empty array, if nothing matched. Formerly, matches was not modified in that case.
 mb_ereg_replaceThe function checks whether string is valid for the current encoding.
 mb_ereg_replaceThe e modifier has been deprecated.
 mb_ereg_replace_callbackThe function checks whether string is valid for the current encoding.
 mb_ereg_search_setposSupport for negative offsets has been added.
 mb_eregimb_eregi will now set matches to an empty array, if nothing matched. Formerly, matches was not modified in that case.
 mb_eregi_replaceThe e modifier has been deprecated.
 mb_eregi_replaceThe function checks whether string is valid for the current encoding.
 mb_regex_set_optionsThe "e" option now emits an E_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_newoptions 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 option 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 siginfo of the specific signal. This data is only supplied if the operating system has the siginfo_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 mode parameter was added.
 pg_last_noticeThe mode parameter was added.
 pg_selectThe mode 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.
 tempnamtempnam now emits a notice when falling back to the temp directory of the system.
 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 bool is given, unserialize returns false and issues an E_WARNING.
 ReflectionType::__toStringReflectionType::__toString has been deprecated.
 SessionHandler::gcPrior to this version, the function returned true on success.
 SessionHandlerInterface::gcPrior to this version, the function returned true on success.
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 string 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.
 SplFileObject::getCsvControlAdded the escape character to the returned array.
 SQLite3::__constructThe filename can now be empty to use a private, temporary on-disk database.
7.0.9getenvThe local_only parameter has been added.
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.0definearray values are allowed.
 dirnameAdded the optional levels parameter.
 getrusageThis function is now supported on Windows.
5.5.0/PECL 3.0.0IntlDateFormatter::setCalendarIt became possible to pass an IntlCalendar object.
add a note

User Contributed Notes

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