Php/docs/doc.changelog

From Get docs

Changelog

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

Version Function Description
PECL OCI8 1.4 oci_set_prefetch Before this release, rows must be >= 1.
PECL OCI8 1.3.4 oci_set_prefetch Before this release, prefetching was limited to the lesser

of rows rows and 1024

  • rows bytes. The byte size

restriction has now been removed.

PECL 3.0.0 IntlDateFormatter::format Support for providing IntlCalendar objects to the

value parameter was added.

8.0.0, PECL OCI8 3.0.0 OCICollection::append The OCI-Collection class was renamed to

OCICollection to align with PHP naming standards.

  OCICollection::assign The OCI-Collection class was renamed to

OCICollection to align with PHP naming standards.

  OCICollection::assignElem The OCI-Collection class was renamed to

OCICollection to align with PHP naming standards.

  OCICollection::free The OCI-Collection class was renamed to

OCICollection to align with PHP naming standards.

  OCICollection::getElem The OCI-Collection class was renamed to

OCICollection to align with PHP naming standards.

  OCICollection::max The OCI-Collection class was renamed to

OCICollection to align with PHP naming standards.

  OCICollection::size The OCI-Collection class was renamed to

OCICollection to align with PHP naming standards.

  OCICollection::trim The OCI-Collection class was renamed to

OCICollection to align with PHP naming standards.

  OCILob::append The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::close The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::eof The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::erase The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::export The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::flush The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::free The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::getBuffering The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::import The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::load The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::read The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::rewind The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::save The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::saveFile The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::seek The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::setBuffering The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::size The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::tell The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::truncate The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::write The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::writeTemporary The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

  OCILob::writeToFile The OCI-Lob class was renamed to

OCILob to align with PHP naming standards.

8.0.0 / 1.18.1 ZipArchive::addGlob "comp_method", "comp_flags",

"enc_method" and "enc_password" in options were added.

8.0.0 / 1.18.0 ZipArchive::addEmptyDir flags was added.
  ZipArchive::addFile flags was added.
  ZipArchive::addFromString flags was added.
  ZipArchive::addGlob "flags" in options was added.
  ZipArchive::getStatusString This method can be called on closed archive.
8.0.0 CURLFile::__construct mime_type and posted_filename

are nullable now; previously their default was 0.

  array_filter callback is nullable now.
  array_splice length is nullable now.
  bcadd scale is now nullable.
  bccomp scale is now nullable.
  bcdiv scale is now nullable.
  bcmod scale is now nullable.
  bcmul scale is now nullable.
  bcpowmod scale is now nullable.
  bcscale scale is now nullable.
  bcsqrt scale is now nullable.
  bcsub scale is now nullable.
  bzdecompress The type of use_less_memory has been changed from

int to bool. Previously, the default value was 0.

  bzwrite length is nullable now.
  com_event_sink sink_interface is nullable now.
  com_get_active_object codepage is nullable now.
  convert_uuencode Prior to this version, trying to convert an empty string returned FALSE

for no particular reason.

  count_chars Prior to this version, the function returned FALSE on failure.
  curl_close handle expects a CurlHandle

instance now; previously, a resource was expected.

  curl_copy_handle On success, this function returns a CurlHandle instance now;

previously, a resource was returned.

  curl_copy_handle handle expects a CurlHandle

instance now; previously, a resource was expected.

  curl_errno handle expects a CurlHandle

instance now; previously, a resource was expected.

  curl_error handle expects a CurlHandle

instance now; previously, a resource was expected.

  curl_escape handle expects a CurlHandle

instance now; previously, a resource was expected.

  curl_exec handle expects a CurlHandle

instance now; previously, a resource was expected.

  curl_getinfo handle expects a CurlHandle

instance now; previously, a resource was expected.

  curl_getinfo option is nullable now;

previously, the default was 0.

  curl_init On success, this function returns a CurlHandle instance now;

previously, a resource was returned.

  curl_init url is nullable now.
  curl_multi_add_handle multi_handle expects a CurlMultiHandle

instance now; previously, a resource was expected.

  curl_multi_add_handle handle expects a CurlHandle

instance now; previously, a resource was expected.

  curl_multi_close multi_handle expects a CurlMultiHandle

instance now; previously, a resource was expected.

  curl_multi_errno multi_handle expects a CurlMultiHandle

instance now; previously, a resource was expected.

  curl_multi_errno The function no longer returns FALSE on failure.
  curl_multi_exec multi_handle expects a CurlMultiHandle

instance now; previously, a resource was expected.

  curl_multi_getcontent handle expects a CurlHandle

instance now; previously, a resource was expected.

  curl_multi_info_read multi_handle expects a CurlMultiHandle

instance now; previously, a resource was expected.

  curl_multi_init On success, this function returns a CurlMultiHandle instance now;

previously, a resource was returned.

  curl_multi_remove_handle multi_handle expects a CurlMultiHandle

instance now; previously, a resource was expected.

  curl_multi_remove_handle handle expects a CurlHandle

instance now; previously, a resource was expected.

  curl_multi_select multi_handle expects a CurlMultiHandle

instance now; previously, a resource was expected.

  curl_multi_setopt multi_handle expects a CurlMultiHandle

instance now; previously, a resource was expected.

  curl_pause handle expects a CurlHandle

instance now; previously, a resource was expected.

  curl_reset handle expects a CurlHandle

instance now; previously, a resource was expected.

  curl_setopt handle expects a CurlHandle

instance now; previously, a resource was expected.

  curl_setopt_array handle expects a CurlHandle

instance now; previously, a resource was expected.

  curl_share_close share_handle expects a CurlShareHandle

instance now; previously, a resource was expected.

  curl_share_errno share_handle expects a CurlShareHandle

instance now; previously, a resource was expected.

  curl_share_errno The function no longer returns FALSE on failure.
  curl_share_init This function returns a CurlShareHandle instance now;

previously, a resource was returned.

  curl_share_setopt share_handle expects a CurlShareHandle

instance now; previously, a resource was expected.

  curl_unescape handle expects a CurlHandle

instance now; previously, a resource was expected.

  deflate_add context expects a DeflateContext

instance now; previously, a resource was expected.

  deflate_init On success, this function returns a DeflateContext instance now;

previously, a resource was returned.

  easter_date year is nullable now.
  easter_days year is nullable now.
  enchant_broker_describe broker expects an EnchantBroker instance now;

previoulsy, a resource was expected.

  enchant_broker_describe Prior to this version, the function returned FALSE on failure.
  enchant_broker_dict_exists broker expects an EnchantBroker instance now;

previoulsy, a resource was expected.

  enchant_broker_free broker expects an EnchantBroker instance now;

previoulsy, a resource was expected.

  enchant_broker_free_dict dictionary expects a EnchantDictionary now;

previoulsy, a resource was expected.

  enchant_broker_get_dict_path broker expects an EnchantBroker instance now;

previoulsy, a resource was expected.

  enchant_broker_get_error broker expects an EnchantBroker instance now;

previoulsy, a resource was expected.

  enchant_broker_init On success, this function returns an EnchantBroker instance now;

previoulsy, a resource was retured.

  enchant_broker_list_dicts broker expects an EnchantBroker instance now;

previoulsy, a resource was expected.

  enchant_broker_list_dicts Prior to this version, the function returned FALSE on failure.
  enchant_broker_request_dict On success, this function returns an EnchantDictionary instance now;

previoulsy, a resource was retured.

  enchant_broker_request_dict broker expects an EnchantBroker instance now;

previoulsy, a resource was expected.

  enchant_broker_request_pwl_dict On success, this function returns an EnchantDictionary instance now;

previoulsy, a resource was retured.

  enchant_broker_request_pwl_dict broker expects an EnchantBroker instance now;

previoulsy, a resource was expected.

  enchant_broker_set_dict_path broker expects an EnchantBroker instance now;

previoulsy, a resource was expected.

  enchant_broker_set_ordering broker expects an EnchantBroker instance now;

previoulsy, a resource was expected.

  enchant_dict_add_to_personal dictionary expects an EnchantDictionary instance now;

previoulsy, a resource was expected.

  enchant_dict_add_to_session dictionary expects an EnchantDictionary instance now;

previoulsy, a resource was expected.

  enchant_dict_check dictionary expects an EnchantDictionary instance now;

previoulsy, a resource was expected.

  enchant_dict_describe dictionary expects an EnchantDictionary instance now;

previoulsy, a resource was expected.

  enchant_dict_describe Prior to this version, the function returned FALSE on failure.
  enchant_dict_get_error dictionary expects an EnchantDictionary instance now;

previoulsy, a resource was expected.

  enchant_dict_is_in_session dictionary expects an EnchantDictionary instance now;

previoulsy, a resource was expected.

  enchant_dict_quick_check dictionary expects an EnchantDictionary instance now;

previoulsy, a resource was expected.

  enchant_dict_store_replacement dictionary expects an EnchantDictionary instance now;

previoulsy, a resource was expected.

  enchant_dict_suggest dictionary expects an EnchantDictionary instance now;

previoulsy, a resource was expected.

  exif_read_data required_sections is nullable now.
  finfo_buffer context is nullable now.
  finfo_file context is nullable now.
  gzwrite length is nullable now; previously, the default was

0.

  hash_update_file stream_context is now nullable.
  html_entity_decode encoding is nullable now.
  htmlentities encoding is nullable now.
  iconv_mime_decode encoding is nullable now.
  iconv_mime_decode_headers encoding is nullable now.
  iconv_strlen encoding is nullable now.
  iconv_strpos encoding is nullable now.
  iconv_strrpos encoding is nullable now.
  iconv_substr length and encoding are nullable now.
  imagexbm The fourth parameter, which was unused, has been removed.
  inflate_add context expects an InflateContext

instance now; previously, a resource was expected.

  inflate_get_read_len context expects an InflateContext

instance now; previously, a resource was expected.

  inflate_get_status context expects an InflateContext

instance now; previously, a resource was expected.

  inflate_init On success, this function returns an InflateContext instance now;

previously, a resource was returned.

  jdtounix This function no longer returns FALSE on failure, but raises a

ValueError instead.

  libxml_use_internal_errors use_errors is nullable now. Previously, its default

was FALSE.

  mb_parse_str The second parameter was no longer optional.
  mb_regex_set_options If the parameter options is given, the previous

options are returned. Formerly, the current options have been returned.

  metaphone The function returned FALSE on failure.
  mhash key is now nullable.
  msg_get_queue On success, this function returns a SysvMessageQueue instance now;

previously, a resource was returned.

  msg_receive queue expects a SysvMessageQueue

instance now; previously, a resource was expected.

  msg_remove_queue queue expects a SysvMessageQueue

instance now; previously, a resource was expected.

  msg_send queue expects a SysvMessageQueue

instance now; previously, a resource was expected.

  msg_set_queue queue expects a SysvMessageQueue

instance now; previously, a resource was expected.

  msg_stat_queue queue expects a SysvMessageQueue

instance now; previously, a resource was expected.

  parse_str result is no longer optional.
  readline_info var_name and value are nullable now.
  readline_read_history filename is nullable now.
  readline_write_history filename is nullable now.
  sem_acquire semaphore expects a SysvSemaphore

instance now; previously, a resource was expected.

  sem_get The type of auto_release has been changed from

int to bool.

  sem_get On success, this function returns a SysvSemaphore instance now;

previously, a resource was returned.

  sem_release semaphore expects a SysvSemaphore

instance now; previously, a resource was expected.

  sem_remove semaphore expects a SysvSemaphore

instance now; previously, a resource was expected.

  session_cache_expire value is nullable now.
  session_cache_limiter value is nullable now.
  session_id id is nullable now.
  session_module_name module is nullable now.
  session_name name is nullable now.
  session_save_path path is nullable now.
  session_set_cookie_params path, domain,

secure and httponly are nullable now.

  shm_attach On success, this function returns an SysvSharedMemory instance now;

previously, a resource was returned.

  shm_attach size is nullable now.
  shm_detach shm expects a SysvSharedMemory

instance now; previously, a resource was expected.

  shm_get_var shm expects a SysvSharedMemory

instance now; previously, a resource was expected.

  shm_has_var shm expects a SysvSharedMemory

instance now; previously, a resource was expected.

  shm_put_var shm expects a SysvSharedMemory

instance now; previously, a resource was expected.

  shm_remove shm expects a SysvSharedMemory

instance now; previously, a resource was expected.

  shm_remove_var shm expects a SysvSharedMemory

instance now; previously, a resource was expected.

  shmop_close shmop expects a Shmop

instance now; previously, a resource was expected.

  shmop_delete shmop expects a Shmop

instance now; previously, a resource was expected.

  shmop_open On success, this function returns an Shmop instance now;

previously, a resource was returned.

  shmop_read shmop expects a Shmop

instance now; previously, a resource was expected.

  shmop_size shmop expects a Shmop

instance now; previously, a resource was expected.

  shmop_write Prior to PHP 8.0.0, FALSE was returned on failure.
  shmop_write shmop expects a Shmop

instance now; previously, a resource was expected.

  soundex Prior to this version, calling the function with an empty string returned FALSE

for no particular reason.

  str_word_count characters is nullable now.
  strcspn length is nullable now.
  strip_tags allowed_tags is nullable now.
  stripos Passing an int as needle is no longer supported.
  stristr Passing an int as needle is no longer supported.
  strpos Passing an int as needle is no longer supported.
  strrchr Passing an int as needle is no longer supported.
  strripos Passing an int as needle is no longer supported.
  strrpos Passing an int as needle is no longer supported.
  strspn length is nullable now.
  strstr Passing an int as needle is no longer supported.
  substr The function returns an empty where it previously returned FALSE.
  substr length is nullable now.
  substr_compare length is nullable now.
  substr_count length is nullable now.
  substr_replace length is nullable now.
  unixtojd timestamp is nullable now.
  xml_get_current_byte_index parser expects an XMLParser

instance now; previously, a resource was expected.

  xml_get_current_column_number parser expects an XMLParser

instance now; previously, a resource was expected.

  xml_get_current_line_number parser expects an XMLParser

instance now; previously, a resource was expected.

  xml_get_error_code parser expects an XMLParser

instance now; previously, a resource was expected.

  xml_parse parser expects an XMLParser

instance now; previously, a resource was expected.

  xml_parse_into_struct parser expects an XMLParser

instance now; previously, a resource was expected.

  xml_parser_create This function returns an XMLParser instance now;

previously, a resource was returned, or FALSE on failure.

  xml_parser_create encoding is nullable now.
  xml_parser_create_ns This function returns an XMLParser instance now;

previously, a resource was returned, or FALSE on failure.

  xml_parser_create_ns encoding is nullable now.
  xml_parser_free parser expects an XMLParser

instance now; previously, a resource was expected.

  xml_parser_get_option parser expects an XMLParser

instance now; previously, a resource was expected.

  xml_parser_set_option parser expects an XMLParser

instance now; previously, a resource was expected.

  xml_set_character_data_handler parser expects an XMLParser

instance now; previously, a resource was expected.

  xml_set_default_handler parser expects an XMLParser

instance now; previously, a resource was expected.

  xml_set_element_handler parser expects an XMLParser

instance now; previously, a resource was expected.

  xml_set_end_namespace_decl_handler parser expects an XMLParser

instance now; previously, a resource was expected.

  xml_set_external_entity_ref_handler parser expects an XMLParser

instance now; previously, a resource was expected.

  xml_set_notation_decl_handler parser expects an XMLParser

instance now; previously, a resource was expected.

  xml_set_object parser expects an XMLParser

instance now; previously, a resource was expected.

  xml_set_processing_instruction_handler parser expects an XMLParser

instance now; previously, a resource was expected.

  xml_set_start_namespace_decl_handler parser expects an XMLParser

instance now; previously, a resource was expected.

  xml_set_unparsed_entity_decl_handler parser expects an XMLParser

instance now; previously, a resource was expected.

  XMLWriter::endAttribute writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::endCdata writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::endComment writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::endDocument writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::endDtd writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::endDtdAttlist writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::endDtdElement writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::endDtdEntity writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::endElement writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::endPi writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::flush This function can no longer return FALSE.
  XMLWriter::flush writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::fullEndElement writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::openMemory This function returns now an XMLWriter instance on success.

Previouly, a resource has been returned in this case.

  XMLWriter::openUri This function returns now an XMLWriter instance on success.

Previouly, a resource has been returned in this case.

  XMLWriter::outputMemory writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::setIndent writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::setIndentString writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::startAttribute writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::startAttributeNs prefix is nullable now.
  XMLWriter::startAttributeNs writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::startCdata writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::startComment writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::startDocument writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::startDtd writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::startDtdAttlist writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::startDtdElement writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::startDtdEntity writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::startElement writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::startElementNs writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::startPi writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::text writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::writeAttribute writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::writeAttributeNs writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::writeCdata writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::writeComment writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::writeDtd writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::writeDtdAttlist writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::writeDtdElement writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::writeDtdEntity writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::writeDtdEntity publicId, systemId and

notationData are nullable now.

  XMLWriter::writeElement writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::writeElementNs writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::writePi writer expects an XMLWriter

instance now; previously, a resource was expected.

  XMLWriter::writeRaw writer expects an XMLWriter

instance now; previously, a resource was expected.

  zip_close This function is deprecated in favor of the Object API,

see ZipArchive::close.

  zip_entry_close This function is deprecated in favor of the Object API.
  zip_entry_compressedsize This function is deprecated in favor of the Object API,

see ZipArchive::statIndex.

  zip_entry_compressionmethod This function is deprecated in favor of the Object API,

see ZipArchive::statIndex.

  zip_entry_filesize This function is deprecated in favor of the Object API,

see ZipArchive::statIndex.

  zip_entry_name This function is deprecated in favor of the Object API,

see ZipArchive::statIndex.

  zip_entry_open This function is deprecated in favor of the Object API.
  zip_entry_read This function is deprecated in favor of the Object API,

see ZipArchive::getFromIndex.

  zip_open This function is deprecated in favor of the Object API,

see ZipArchive::open.

  zip_read This function is deprecated in favor of the Object API,

see ZipArchive::statIndex.

  ReflectionParameter::getDefaultValue This method now allows getting the default value of parameters of built-in functions and

built-in class methods. Previously, a ReflectionException was thrown.

  ReflectionParameter::getDefaultValueConstantName This method now allows getting the default values' constant names of built-in functions and

built-in class methods. Previously, a ReflectionException was thrown.

  tidy::__construct filename, config,

encoding and useIncludePath are nullable now.

  tidy::parseFile config and encoding are nullable now.
  tidy::parseString config and encoding are nullable now.
  tidy::repairFile tidy::repairFile is a static method now.
  tidy::repairFile config and encoding are nullable now.
  tidy::repairString config and encoding are nullable now.
  tidy::repairString tidy::repairString is a static method now.
  tidy::repairString This function no longer accepts the useIncludePath parameter.
  XMLReader::getAttribute This function can no longer return FALSE.
  XMLReader::getAttributeNs This function can no longer return FALSE.
  XMLReader::lookupNamespace This function can no longer return FALSE.
  XMLReader::next name is nullable now.
  XMLReader::open XMLReader::open is now declared as static method,

but can still be called on an XMLReader instance.

  XMLReader::XML XMLReader::XML is now declared as static method,

but can still be called on an XMLReader instance.

7.4.4 proc_open Added the create_new_console option to the

other_options parameter.

7.4.0 array_merge This function can now be called without any parameter.

Formerly, at least one parameter has been required.

  array_merge_recursive This function can now be called without any parameter.

Formerly, at least one parameter has been required.

  base_convert Passing invalid characters will now generate a deprecation notice.

The result will still be computed as if the invalid characters did not exist.

  bindec Passing invalid characters will now generate a deprecation notice.

The result will still be computed as if the invalid characters did not exist.

  chr The function no longer silently accepts unsupported codepoints,

and casts these to 0.

  fgetcsv The escape parameter now also accepts an empty

string to disable the proprietary escape mechanism.

  fputcsv The escape_char parameter now also accepts an empty

string to disable the proprietary escape mechanism.

  get_declared_classes Previously 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_gpc This function has been deprecated.
  get_magic_quotes_runtime This function has been deprecated.
  gzread This functions returns FALSE on failure now; previously 0 was returned.
  gzwrite This functions returns FALSE on failure now; previously 0 was returned.
  hash_algos Support for crc32c has been added.
  hexdec Passing invalid characters will now generate a deprecation notice.

The result will still be computed as if the invalid characters did not exist.

  idn_to_ascii The default value of variant is now

INTL_IDNA_VARIANT_UTS46 instead of the deprecated INTL_IDNA_VARIANT_2003.

  idn_to_utf8 The default value of variant is now

INTL_IDNA_VARIANT_UTS46 instead of the deprecated INTL_IDNA_VARIANT_2003.

  imagecropauto The 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.

  imagecropauto The 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.

  imagefilter Scatter support (IMG_FILTER_SCATTER) was added.
  implode Passing the glue after the pieces

(i.e. not using the documented order of parameters) has been deprecated.

  ldap_control_paged_result This function has been deprecated.
  ldap_control_paged_result_response This function has been deprecated.
  money_format This function has been deprecated. Instead,

use NumberFormatter::formatCurrency.

  octdec Passing invalid characters will now generate a deprecation notice.

The result will still be computed as if the invalid characters did not exist.

  password_hash The algo parameter expects a string now, but still accepts

ints for backward compatibility.

  password_needs_rehash The algo parameter expects a string now, but still accepts

ints for backward compatibility.

  preg_replace_callback The flags parameter was added.
  preg_replace_callback_array The flags parameter was added.
  proc_open proc_open now also accepts an array

for the cmd.

  proc_open Added the create_process_group option to the

other_options parameter.

  stat On 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.

  stat The 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_getcsv The 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_tags The allowed_tags now alternatively accepts an array.
  SplFileObject::fgetcsv The escape parameter now also accepts an empty

string to disable the proprietary escape mechanism.

  SplFileObject::fputcsv The escape parameter now also accepts an empty

string to disable the proprietary escape mechanism.

  SplFileObject::fwrite The function now returns FALSE instead of zero on failure.
  SplFileObject::getCsvControl The escape character can now be an empty string.
  SplFileObject::setCsvControl The escape parameter now also accepts an empty

string to disable the proprietary escape mechanism.

  SQLite3Stmt::bindParam sql_param now also supports the @param

notation.

  SQLite3Stmt::bindValue sql_param now also supports the @param

notation.

7.3.24, 7.4.12 jdtounix The upper limit of julian_day has been extended. Previously,

it was 2465342 regardless of the architecture.

  tidyNode::isHtml This function has been fixed to have reasonable behavior. Previously,

almost any node was reported as being an HTML node.

7.3.15, 7.4.3 curl_setopt Introduced CURLOPT_HTTP09_ALLOWED .
7.3.14, 7.4.2 dba_open The lmdb driver now supports an additional $mapsize

parameter.

7.3.0 DateTime::createFromFormat The v format specifier has been added.
  apache_request_headers This function became available in the FPM SAPI.
  array_push This function can now be called with only one parameter. Formerly, at

least two parameters have been required.

  array_unshift This function can now be called with only one parameter. Formerly, at

least two parameters have been required.

  bcmul bcmul now returns numbers with the requested scale.

Formerly, the returned numbers may have omitted trailing decimal zeroes.

  bcpow bcpow now returns numbers with the requested scale.

Formerly, the returned numbers may have omitted trailing decimal zeroes.

  bcscale bcscale 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.

  compact compact now issues an E_NOTICE level error if a given string

refers to an unset variable. Formerly, such strings have been silently skipped.

  curl_getinfo Introduced 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_setopt Introduced 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.

  define case_insensitive has been deprecated and will be removed in version 8.0.0.
  ftp_fget The mode parameter is now optional. Formerly it

has been mandatory.

  ftp_fput The mode parameter is now optional. Formerly it

has been mandatory.

  ftp_get The mode parameter is now optional. Formerly it

has been mandatory.

  ftp_nb_fget The mode parameter is now optional. Formerly it

has been mandatory.

  ftp_nb_fput The mode parameter is now optional. Formerly it

has been mandatory.

  ftp_nb_get The mode parameter is now optional. Formerly it

has been mandatory.

  ftp_nb_put The mode parameter is now optional. Formerly it

has been mandatory.

  ftp_put The mode parameter is now optional. Formerly it

has been mandatory.

  getallheaders This function became available in the FPM SAPI.
  imagecreatefromstring WEBP is supported now (if supported by the libgd in use).
  is_countable is_countable has been added.
  json_decode JSON_THROW_ON_ERROR

flags was added.

  json_encode JSON_THROW_ON_ERROR

flags was added.

  list Support for reference assignments in array destructuring was added.
  mb_convert_case Added 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_hash Support for Argon2id passwords using PASSWORD_ARGON2ID was added.
  preg_quote The # character is now quoted
  session_get_cookie_params The "samesite" entry was added in the returned array.
  session_set_cookie_params An alternative signature supporting an lifetime_or_options

array has been added. This signature supports also setting of the SameSite cookie attribute.

  setcookie An alternative signature supporting an options

array has been added. This signature supports also setting of the SameSite cookie attribute.

  setrawcookie An alternative signature supporting an options

array has been added. This signature supports also setting of the SameSite cookie attribute.

  stripos Passing an int as needle has been deprecated.
  stristr Passing an int as needle has been deprecated.
  strpos Passing an int as needle has been deprecated.
  strrchr Passing an int as needle has been deprecated.
  strripos Passing an int as needle has been deprecated.
  strrpos Passing an int as needle has been deprecated.
  strstr Passing an int as needle has been deprecated.
  unlink On 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_export Now 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_handler The 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.3 ldap_add Support for serverctrls added
  ldap_compare Support for serverctrls added
  ldap_delete Support for serverctrls added
  ldap_exop Support for serverctrls added
  ldap_exop_passwd Support for serverctrls added
  ldap_list Support for serverctrls added
  ldap_mod_add Support for serverctrls added
  ldap_mod_del Support for serverctrls added
  ldap_mod_replace Support for serverctrls added
  ldap_modify_batch Support for serverctrls added
  ldap_parse_result Support for serverctrls added
  ldap_read Support for serverctrls added
  ldap_rename Support for serverctrls added
  ldap_search Support for serverctrls added
7.2.19, 7.3.6 SplFileObject::__toString Changed from an alias of SplFileObject::current to an alias of SplFileObject::fgets.
7.2.18, 7.3.5 substr_compare offset may now be equal to the length of haystack.
7.2.0 array_unique If 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.

  assert Usage 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.

  bcmod The scale parameter was added.
  bcmod num1 and num2 are no

longer truncated to integer, so now the behavior of bcmod follows fmod rather than the % operator.

  count count will now yield a warning on invalid countable types

passed to the value parameter.

  date_parse The 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_format The zone element of the returned array represents

seconds instead of minutes now, and its sign is inverted. For instance -120 is now 7200.

  exif_read_data Support for the following EXIF formats were added:

Samsung DJI Panasonic Sony Pentax Minolta Sigma/Foveon AGFA Kyocera Ricoh Epson

  exif_read_data The file parameter now supports both local files

and stream resources.

  exif_thumbnail The file parameter now supports both local files

and stream resources.

  get_class Prior 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.

  gettype Closed resources are now reported as 'resource (closed)'.

Previously the returned value for closed resources were 'unknown type'.

  hash_copy Accept and return HashContext instead of resource.
  hash_final Accept HashContext instead of resource.
  hash_hmac Usage of non-cryptographic hash functions (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) was disabled.
  hash_hmac_file Usage of non-cryptographic hash functions (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) was disabled.
  hash_init Usage of non-cryptographic hash functions (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) with HASH_HMAC was disabled.
  hash_init Return HashContext instead of resource.
  hash_pbkdf2 Usage of non-cryptographic hash functions (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) was disabled.
  hash_update Accept HashContext instead of resource.
  hash_update_file Accept HashContext instead of resource.
  hash_update_stream Accept HashContext instead of resource.
  idn_to_ascii INTL_IDNA_VARIANT_2003 has been deprecated; use

INTL_IDNA_VARIANT_UTS46 instead.

  idn_to_utf8 INTL_IDNA_VARIANT_2003 has been deprecated; use

INTL_IDNA_VARIANT_UTS46 instead.

  imageantialias imageantialias is now generally available. Formerly

it was only available if PHP was compiled with the bundled version of the GD library.

  imagegd imagegd now allows to output truecolor images.

Formerly, these have been implicitly converted to palette.

  imagelayereffect Added IMG_EFFECT_MULTIPLY (requires system libgd >=

2.1.1 or the bundled libgd).

  imagetypes IMG_BMP added.
  is_object is_object now returns TRUE for unserialized objects without

a class definition (class of __PHP_Incomplete_Class). Previously FALSE was returned.

  json_decode associative is nullable now.
  json_decode JSON_INVALID_UTF8_IGNORE, and

JSON_INVALID_UTF8_SUBSTITUTE flags were added.

  json_encode JSON_INVALID_UTF8_IGNORE, and

JSON_INVALID_UTF8_SUBSTITUTE flags were added.

  mail The additional_headers parameter now also accepts

an array.

  mb_check_encoding This function now also accepts an array as var.

Formerly, only strings have been supported.

  mb_convert_encoding This function now also accepts an array as val.

Formerly, only strings have been supported.

  mb_parse_str Calling mb_parse_str without the second parameter was deprecated.
  mb_send_mail The additional_headers parameter now also accepts

an array.

  mt_rand mt_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_format number_format was changed to not being able to return

-0, previously -0 could be returned for cases like where number would be -0.01.

  openssl_pkcs7_verify The p7bfilename parameter was added.
  pack float and double types supports both Big Endian and Little Endian.
  parse_str Usage of parse_str without a second parameter

now emits an E_DEPRECATED notice.

  password_hash Support for Argon2i passwords using PASSWORD_ARGON2I was added.
  preg_match The PREG_UNMATCHED_AS_NULL is now supported for the

$flags parameter.

  preg_match_all The PREG_UNMATCHED_AS_NULL is now supported for the

$flags parameter.

  preg_quote delimiter is nullable now.
  proc_nice This function is now available on Windows.
  rand 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.
  read_exif_data This function alias was deprecated.
  session_abort The return type of this function is bool now.

Formerly, it has been void.

  session_module_name It is now explicitly forbidden to set the module name to

"user". Formerly, this has been silently ignored.

  session_name session_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_reset The return type of this function is bool now.

Formerly, it has been void.

  session_set_cookie_params Returns TRUE on success or FALSE on failure. Formerly the function returned void.
  session_unset The return type of this function is bool now.

Formerly, it has been void.

  session_write_close The return type of this function is bool now.

Formerly, it has been void.

  set_error_handler errcontext became deprecated. Usage of this parameter now emits an E_DEPRECATED notice.
  unpack float and double types supports both Big Endian and Little Endian.
  utf8_decode This function has been moved to the core of PHP, and therefore lifting the requirement

on the XML extension for this function to be available.

  utf8_encode This function has been moved to the core of PHP, and therefore lifting the requirement

on the XML extension for this function to be available.

  PDOStatement::debugDumpParams PDOStatement::debugDumpParams now returns the SQL sent to

the database, including the full, raw query (including the replaced placeholders with their bounded values). Note, that this will only be available if emulated prepared statements are turned on.

  SQLite3::openBlob The flags parameter has been added, allowing to

write BLOBs; formerly only reading was supported.

7.1.24, 7.2.12, 7.3.0 xml_parser_get_option options now supports XML_OPTION_SKIP_TAGSTART

and XML_OPTION_SKIP_WHITE.

7.1.5 IntlDateFormatter::format Support for providing general DateTimeInterface objects to the

value parameter was added. Formerly, only proper DateTime objects were supported.

7.1.4 PDO::sqliteCreateFunction The flags parameter has been added.
  SQLite3::createFunction The flags parameter has been added.
7.1.0 DateInterval::format The F and f format

characters were added.

  DateTime::__construct From now on microseconds are filled with actual value. Not with '00000'.
  DateTime::setTime The microsecond parameter was added.
  array_rand The internal randomization algorithm has been changed to use the Mersenne Twister Random Number Generator instead of the libc rand function.
  curl_multi_setopt Introduced CURLMOPT_PUSHFUNCTION.
  exif_imagetype Added WebP support.
  file_get_contents Support for negative offsets has been added.
  get_headers The context parameter was added.
  getenv The varname can now be omitted to retrieve an

associative array of all environment variables.

  getimagesize Added WebP support.
  getopt Added the optind parameter.
  grapheme_extract Support for negative starts has been added.
  grapheme_stripos Support for negative offsets has been added.
  grapheme_strpos Support for negative offsets has been added.
  hash_algos Support for sha512/224, sha512/256, sha3-224, sha3-256, sha3-384 and

sha3-512 has been added.

  iconv_strpos Support for negative offsets has been added.
  json_decode An empty JSON key ("") can be encoded to the empty object property

instead of using a key with value _empty_.

  json_encode serialize_precision is

used instead of precision when encoding double values.

  json_encode JSON_UNESCAPED_LINE_TERMINATORS

flags was added.

  list It is now possible to specify keys in list. This

enables destructuring of arrays with non-integer or non-sequential keys.

  long2ip The parameter type of proper_address has been

changed from string to int.

  mb_ereg mb_ereg will now set regs to

an empty array, if nothing matched. Formerly, regs was not modified in that case.

  mb_ereg_replace The e modifier has been deprecated.
  mb_ereg_search_setpos Support for negative positions has been added.
  mb_eregi mb_eregi will now set regs to

an empty array, if nothing matched. Formerly, regs was not modified in that case.

  mb_eregi_replace The e modifier has been deprecated.
  mb_strimwidth Support for negative starts and widths has been added.
  mb_stripos Support for negative offsets has been added.
  mb_strpos Support for negative offsets has been added.
  mt_rand rand has been made an alias of mt_rand.
  mt_rand mt_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_srand srand has been made an alias of mt_srand.
  mt_srand mt_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_new configargs now also supports curve_name.
  openssl_decrypt The tag and aad parameters were added.
  openssl_encrypt The tag, aad and tag_length parameters were added.
  openssl_pkey_new The curve_name configarg was added to make it possible to create EC keys.
  output_add_rewrite_var Before 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_vars Before 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_signal As of PHP 7.1.0 the handler callback is given a second argument

containing the signinfo of the specific signal. This data is only supplied if the operating system has the signinfo_t structure. If the OS does not implement siginfo_t NULL is supplied.

  pcntl_signal_get_handler pcntl_signal_get_handler has been added.
  pg_fetch_all The result_type parameter was added.
  pg_last_notice The option parameter was added.
  pg_select The result_type parameter was added.
  rand rand has been made an alias of mt_rand.
  session_start session_start now returns FALSE and no longer

initializes $_SESSION when it failed to start the session.

  shuffle The internal randomization algorithm has been changed to use the Mersenne Twister Random Number Generator instead of the libc rand function.
  srand srand has been made an alias of mt_srand.
  str_shuffle The internal randomization algorithm has been changed to use the Mersenne Twister Random Number Generator instead of the libc rand function.
  stripos Support for negative offsets has been added.
  strpos Support for negative offsets has been added.
  substr_count Support for negative offsets and lengths has been added.

length may also be 0 now.

  unpack The optional offset has been added.
  unserialize The 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::__toString ReflectionType::__toString has been deprecated.
  SessionHandler::gc Prior to this version, the function returned TRUE on success.
  SessionHandlerInterface::gc Prior to this version, the function returned TRUE on success.
7.0.16, 7.1.2 dns_get_record Added support for CAA record type.
  fopen The 'e' option was added.
7.0.15, 7.1.1 get_defined_functions The exclude_disabled parameter has been added.
7.0.15,7.1.1 pack The "e", "E", "g" and "G" codes were added to enable byte order support for float and double.
7.0.11 iconv_substr If 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.10 imagetypes IMG_WEBP added.
  SQLite3::__construct The filename can now be empty to use a private,

temporary on-disk database.

7.0.7 curl_multi_setopt Introduced CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE,

CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_HOST_CONNECTIONS, CURLMOPT_MAX_PIPELINE_LENGTH and CURLMOPT_MAX_TOTAL_CONNECTIONS.

  curl_setopt Introduced 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.0 array_column Added the ability for the array parameter to be

an array of objects.

  assert assert is now a language construct and not a

function. assertion can now be an expression. The second parameter is now interpreted either as an exception (if a Throwable object is given), or as the description supported from PHP 5.4.8 onwards.

  current array is now always passed by value.

Prior to this version, it was passed by reference if possible, and by value otherwise.

  define array values are allowed.
  dirname Added the optional levels parameter.
  getrusage This function is now supported on Windows.
  key array is now always passed by value.

Prior to this version, it was passed by reference if possible, and by value otherwise.

  list The order that the assignment operations are performed in has

changed.

  list list expressions can no longer be completely

empty.

  list Strings can no longer be unpacked.
  set_exception_handler The type of parameter passed into exception_handler changed

from Exception to Throwable

  unserialize The options parameter has been added.
  IntlDateFormatter::setTimeZoneId This function has been removed.
5.6.25, 7.0.10 SplFileObject::getCsvControl Added the escape character to the returned array.
5.6.16 mysqli::real_connect Added the MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT flag for MySQL Native Driver
5.6.3 pack The "q", "Q", "J" and "P" codes were added to enable working with 64-bit numbers.
5.6.0 array_fill count may now be zero. Previously,

count was required to be greater than zero.

  array_filter Added optional mode parameter and constants

ARRAY_FILTER_USE_KEY and ARRAY_FILTER_USE_BOTH

  mb_regex_encoding Default encoding is changed to UTF-8. It was EUC-JP Previously.
  mcrypt_decrypt Invalid key and iv sizes

are no longer accepted. mcrypt_decrypt will now throw a warning and return FALSE if the inputs are invalid. Previously keys and IVs were padded with '\0' bytes to the next valid size.

  mcrypt_encrypt Invalid key and iv sizes

are no longer accepted. mcrypt_encrypt will now throw a warning and return FALSE if the inputs are invalid. Previously keys and IVs were padded with '\0' bytes to the next valid size.

  pg_connect Support for giving the PGSQL_CONNECT_ASYNC

constant as the connect_type was added.

  pg_convert No longer experimental. Boolean/NULL data types are supported. Unknown/unsupported

data types are escaped without validation. pg_convert can be used with any data types.

  pg_delete No longer experimental. Added PGSQL_DML_ESCAPE constant,

TRUE/FALSE and NULL data type support.

  pg_insert Unless PGSQL_DML_STRING is passed, the function

now returns the connection resource instead of TRUE on success.

  pg_insert No longer experimental. Added PGSQL_DML_ESCAPE constant,

TRUE/FALSE and NULL data type support.

  pg_lo_seek Added PostgreSQL 9.3's 64bit large object support. Both client and server must

support PostgreSQL 9.3 and PHP must be 64bit build to use 64bit large object.

  pg_lo_tell Added PostgreSQL 9.3's 64bit large object support. Both client and server must

support PostgreSQL 9.3 and PHP must be 64bit build to use 64bit large object.

  pg_lo_truncate Added truncate function. It supports PostgreSQL 9.3's 64bit large object. Both client and server must

support PostgreSQL 9.3 and PHP must be 64bit build to use 64bit large object.

  pg_meta_data No longer experimental. Added "is enum" as default attribute.

extended flag is added.

  pg_select No longer experimental. Added PGSQL_DML_ESCAPE constant,

TRUE/FALSE and NULL data type support.

  pg_update No longer experimental. Added PGSQL_DML_ESCAPE constant,

TRUE/FALSE and NULL data type support.

  stream_socket_enable_crypto The crypto_type is now optional.
  stream_socket_enable_crypto Introduce STREAM_CRYPTO_METHOD_ANY_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT, STREAM_CRYPTO_METHOD_ANY_SERVER, STREAM_CRYPTO_METHOD_TLSv1_0_SERVER, STREAM_CRYPTO_METHOD_TLSv1_1_SERVER, STREAM_CRYPTO_METHOD_TLSv1_2_SERVER.
  unserialize Manipulating the serialised data by replacing C:

with O: to force object instantiation without calling the constructor will now fail.

  ReflectionClass::newInstanceWithoutConstructor All internal classes can now be instantiated except for those declared

final.

  XMLReader::getAttributeNo XMLReader::getAttributeNo now returns NULL

if the attribute doesn't exist.

  XMLReader::getAttributeNs XMLReader::getAttributeNS now returns NULL

if the attribute doesn't exist.

5.5.38, 5.6.24, 7.0.9 getenv The local_only parameter has been added.
5.5.21, 5.6.5 SplFileObject::fputcsv Added the escape parameter.
5.5.19, 5.6.3 DateTimeZone::getOffset datetime type changed to

DateTimeInterface. Previously, DateTime.

5.5.10 DateTimeZone::__construct The timezone parameter accepts offset values.
5.5.8 DatePeriod::__construct end type changed to

DateTimeInterface. Previously, DateTime.

5.5.4 fputcsv The escape_char parameter was added
5.5.3/5.4.19 pg_delete Direct SQL injection to table_name and Indirect SQL

injection to identifiers are fixed.

  pg_insert Direct SQL injection to table_name and Indirect SQL

injection to identifiers are fixed.

  pg_select Direct SQL injection to table_name and Indirect SQL

injection to identifiers are fixed.

  pg_update Direct SQL injection to table_name and Indirect

SQL injection to identifiers are fixed.

5.5.2 DOMDocument::schemaValidate Added the flags parameter
  DOMDocument::schemaValidateSource Added the flags parameter
5.5.1 pg_unescape_bytea A warning is thrown if the input string is invalid.
5.5.0/PECL 3.0.0 IntlDateFormatter::create An IntlCalendar object is allowed for

calendar. Objects of type IntlTimeZone and DateTimeZone are allowed for timezone. Invalid timezone identifiers (including empty strings) are no longer allowed for timezone. If NULL is given for timezone, the timezone identifier given by date_default_timezone_get will be used instead of ICUʼs default.

  IntlDateFormatter::setCalendar It became possible to pass an IntlCalendar

object.

5.5.0 DatePeriod::__construct start type changed to

DateTimeInterface. Previously, DateTime.

  mysql_connect This function will generate an E_DEPRECATED

error.

  mysql_db_name The mysql_list_dbs function is deprecated,

and emits an E_DEPRECATED level error.

  mysql_pconnect This function will generate an E_DEPRECATED

error.

  mysql_tablename The mysql_tablename function is deprecated,

and emits an E_DEPRECATED level error.

  pack The "Z" code was added with equivalent functionality to "a" for Perl

compatibility.

  set_exception_handler Previously, if NULL was passed then this function returned TRUE.

It returns the previous handler since PHP 5.5.0.

  unpack Changes were made to bring this function into line with Perl:

The "a" code now retains trailing NULL bytes. The "A" code now strips all trailing ASCII whitespace (spaces, tabs, newlines, carriage returns, and NULL bytes). The "Z" code was added for NULL-padded strings, and removes trailing NULL bytes.

  IntlDateFormatter::setTimeZoneId This function has been deprecated.
  mysqli::commit Added flags and name

parameters.

  mysqli::rollback Added flags and name

parameters.

5.4.0 define_syslog_variables This function was removed from PHP.
5.3.15, 5.4.5 Collator::getSortKey Sort keys do no longer contain any NUL bytes.
5.3.0 define_syslog_variables This function now throws an E_DEPRECATED notice.
5.2.0 simplexml_load_file The optional parameter is_prefix was added.
  simplexml_load_string The optional parameter is_prefix was added.
  SimpleXMLElement::attributes The optional parameter is_prefix was added.
  SimpleXMLElement::__construct Added the ns and is_prefix parameters.
5.1.2 SimpleXMLElement::__construct Added the options and data_is_url parameters.