PHP 8.4 Codex Changelog

Newly added Improvements Changed Deprecations Removals
Extensions 1 4
INI Directives 1 3 14
Functions 34 93 61 7 218
Classes 41 3 5
Constants 63 1 6 18 150
Attributes 1
Enums 4
Interfaces 2

Removals

Extensions

Global

INI Directives

Global

Functions

ext-imap

ext-oci8

ext-pspell

Classes

ext-imap

ext-oci8

ext-pspell

Constants

imap

mysqli

oci8

pspell

Deprecations

INI Directives

Global

Constants

Core

curl

date

dom

  • DOM_PHP_ERR

    Constant deprecated

    var_dump(DOM_PHP_ERR);
    // 0
    Constant DOM_PHP_ERR is deprecated

mysqli

  • MYSQLI_STORE_RESULT_COPY_DATA

    Constant deprecated

    var_dump(MYSQLI_STORE_RESULT_COPY_DATA);
    // 16
    Constant MYSQLI_STORE_RESULT_COPY_DATA is deprecated
  • MYSQLI_REFRESH_BACKUP_LOG

    Constant deprecated

    var_dump(MYSQLI_REFRESH_BACKUP_LOG);
    // 2097152
    Constant MYSQLI_REFRESH_BACKUP_LOG is deprecated
  • MYSQLI_REFRESH_THREADS

    Constant deprecated

    var_dump(MYSQLI_REFRESH_THREADS);
    // 32
    Constant MYSQLI_REFRESH_THREADS is deprecated
  • MYSQLI_REFRESH_TABLES

    Constant deprecated

    var_dump(MYSQLI_REFRESH_TABLES);
    // 4
    Constant MYSQLI_REFRESH_TABLES is deprecated
  • MYSQLI_REFRESH_GRANT

    Constant deprecated

    var_dump(MYSQLI_REFRESH_GRANT);
    // 1
    Constant MYSQLI_REFRESH_GRANT is deprecated
  • MYSQLI_REFRESH_HOSTS

    Constant deprecated

    var_dump(MYSQLI_REFRESH_HOSTS);
    // 8
    Constant MYSQLI_REFRESH_HOSTS is deprecated
  • MYSQLI_REFRESH_LOG

    Constant deprecated

    var_dump(MYSQLI_REFRESH_LOG);
    // 2
    Constant MYSQLI_REFRESH_LOG is deprecated
  • MYSQLI_REFRESH_STATUS

    Constant deprecated

    var_dump(MYSQLI_REFRESH_STATUS);
    // 16
    Constant MYSQLI_REFRESH_STATUS is deprecated
  • MYSQLI_REFRESH_MASTER

    Constant deprecated

    var_dump(MYSQLI_REFRESH_MASTER);
    // 128
    Constant MYSQLI_REFRESH_MASTER is deprecated
  • MYSQLI_REFRESH_REPLICA

    Constant deprecated

    var_dump(MYSQLI_REFRESH_REPLICA);
    // 64
    Constant MYSQLI_REFRESH_REPLICA is deprecated
  • MYSQLI_REFRESH_SLAVE

    Constant deprecated

    var_dump(MYSQLI_REFRESH_SLAVE);
    // 64
    Constant MYSQLI_REFRESH_SLAVE is deprecated

soap

  • SOAP_FUNCTIONS_ALL

    Constant deprecated

    var_dump(SOAP_FUNCTIONS_ALL);
    // 999
    Constant SOAP_FUNCTIONS_ALL is deprecated

Functions

ext-intl

ext-mysqli

ext-random

ext-xml

Changed

Extensions

Global

INI Directives

Global

Constants

Core

  • E_ALL

    Constant value changed from 32767 to 30719

curl

pcre

pgsql

standard

Functions

ext-date

ext-enchant

ext-hash

ext-libxml

ext-openssl

ext-pgsql

ext-shmop

Core

ext-zip

Classes

ext-dom

  • DOMXPath

    Cloning class objects is no longer allowed

ext-gmp

  • GMP

    Class is marked final

ext-SPL

Newly added

Constants

Core

curl

dom

ldap

libxml

mysqli

openssl

pcntl

pgsql

posix

sockets

tokenizer

xml

Functions

ext-bcmath

Core

ext-dom

ext-intl

ext-mbstring

ext-pcntl

ext-pgsql

Core

ext-Zend OPcache

Classes

ext-bcmath

Core

ext-dba

ext-dom

ext-odbc

ext-pdo_dblib

ext-PDO_Firebird

ext-pdo_mysql

ext-PDO_ODBC

ext-pdo_pgsql

ext-pdo_sqlite

ext-Reflection

ext-soap

Core

Attributes

Core

Enums

ext-dom

ext-pcntl

ext-Reflection

Core

Interfaces

ext-dom

Improvements

Constants

curl

Functions

Core

  • trigger_error

    Return type changed: bool to true

    - trigger_error(string $message, int $error_level = E_USER_NOTICE): bool
    + trigger_error(string $message, int $error_level = E_USER_NOTICE): true
  • user_error

    Return type changed: bool to true

    - user_error(string $message, int $error_level = E_USER_NOTICE): bool
    + user_error(string $message, int $error_level = E_USER_NOTICE): true

ext-curl

ext-dba

  • dba_open

    Return type added: Dba\Connection|false

      dba_open(
          string $path,
          string $mode,
          ?string $handler = null,
          int $permission = 0644,
          int $map_size = 0,
          ?int $flags = null
    -   )
    +   ): Dba\Connection|false
  • dba_sync

    Parameter type added for parameter #1 ($dba): Dba\Connection

    - dba_sync($dba): bool
    + dba_sync(Dba\Connection $dba): bool
  • dba_replace

    Parameter type added for parameter #3 ($dba): Dba\Connection

      dba_replace(
          array|string $key,
          string $value,
    -     $dba
    +     Dba\Connection $dba
        ): bool
  • dba_popen

    Return type added: Dba\Connection|false

      dba_popen(
          string $path,
          string $mode,
          ?string $handler = null,
          int $permission = 0644,
          int $map_size = 0,
          ?int $flags = null
    -   )
    +   ): Dba\Connection|false
  • dba_optimize

    Parameter type added for parameter #1 ($dba): Dba\Connection

    - dba_optimize($dba): bool
    + dba_optimize(Dba\Connection $dba): bool
  • dba_nextkey

    Parameter type added for parameter #1 ($dba): Dba\Connection

    - dba_nextkey($dba): string|false
    + dba_nextkey(Dba\Connection $dba): string|false
  • dba_insert

    Parameter type added for parameter #3 ($dba): Dba\Connection

      dba_insert(
          array|string $key,
          string $value,
    -     $dba
    +     Dba\Connection $dba
        ): bool
  • dba_firstkey

    Parameter type added for parameter #1 ($dba): Dba\Connection

    - dba_firstkey($dba): string|false
    + dba_firstkey(Dba\Connection $dba): string|false
  • dba_exists

    Parameter type added for parameter #2 ($dba): Dba\Connection

    - dba_exists(array|string $key, $dba): bool
    + dba_exists(array|string $key, Dba\Connection $dba): bool
  • dba_delete

    Parameter type added for parameter #2 ($dba): Dba\Connection

    - dba_delete(array|string $key, $dba): bool
    + dba_delete(array|string $key, Dba\Connection $dba): bool
  • dba_close

    Parameter type added for parameter #1 ($dba): Dba\Connection

    - dba_close($dba): void
    + dba_close(Dba\Connection $dba): void

ext-fileinfo

  • finfo_set_flags

    Return type changed: bool to true

    - finfo_set_flags(finfo $finfo, int $flags): bool
    + finfo_set_flags(finfo $finfo, int $flags): true

ext-gettext

  • textdomain

    Parameter default value added for position #1 ($domain): null

    - textdomain(?string $domain): string
    + textdomain(?string $domain = null): string
  • bindtextdomain

    Parameter default value added for position #2 ($directory): null

    - bindtextdomain(string $domain, ?string $directory): string|false
    + bindtextdomain(string $domain, ?string $directory = null): string|false
  • bind_textdomain_codeset

    Parameter default value added for position #2 ($codeset): null

    - bind_textdomain_codeset(string $domain, ?string $codeset): string|false
    + bind_textdomain_codeset(string $domain, ?string $codeset = null): string|false

ext-hash

  • hash_update

    Return type changed: bool to true

    - hash_update(HashContext $context, string $data): bool
    + hash_update(HashContext $context, string $data): true

ext-intl

  • locale_set_default

    Return type changed: bool to true

    - locale_set_default(string $locale): bool
    + locale_set_default(string $locale): true
  • collator_set_strength

    Return type changed: bool to true

    - collator_set_strength(Collator $object, int $strength): bool
    + collator_set_strength(Collator $object, int $strength): true
  • resourcebundle_get
    • Return type changed: mixed to ResourceBundle|array|string|int|null
    • Parameter type added for parameter #2 ($index): string|int
      resourcebundle_get(
          ResourceBundle $bundle,
    -     $index,
    +     string|int $index,
          bool $fallback = true
    -   ): mixed
    +   ): ResourceBundle|array|string|int|null

ext-ldap

  • ldap_exop

    Parameter default value changed for position #4 ($controls): NULL to null

      ldap_exop(
          LDAP\Connection $ldap,
          string $request_oid,
          ?string $request_data = null,
    -     ?array $controls = NULL,
    +     ?array $controls = null,
          &$response_data = <default>,
          &$response_oid = null
        ): LDAP\Result|bool
  • ldap_exop_sync

    Parameter default value changed for position #4 ($controls): NULL to null

      ldap_exop_sync(
          LDAP\Connection $ldap,
          string $request_oid,
          ?string $request_data = null,
    -     ?array $controls = NULL,
    +     ?array $controls = null,
          &$response_data = null,
          &$response_oid = null
        ): LDAP\Result|bool

ext-mysqli

  • mysqli_report

    Return type changed: bool to true

    - mysqli_report(int $flags): bool
    + mysqli_report(int $flags): true

ext-odbc

  • odbc_procedurecolumns
    • Return type added: Odbc\Result|false
    • Parameter type added for parameter #1 ($odbc): Odbc\Connection
      odbc_procedurecolumns(
    -     $odbc,
    +     Odbc\Connection $odbc,
          ?string $catalog = null,
          ?string $schema = null,
          ?string $procedure = null,
          ?string $column = null
    -   )
    +   ): Odbc\Result|false
  • odbc_primarykeys
    • Return type added: Odbc\Result|false
    • Parameter type added for parameter #1 ($odbc): Odbc\Connection
      odbc_primarykeys(
    -     $odbc,
    +     Odbc\Connection $odbc,
          ?string $catalog,
          string $schema,
          string $table
    -   )
    +   ): Odbc\Result|false
  • odbc_prepare
    • Return type added: Odbc\Result|false
    • Parameter type added for parameter #1 ($odbc): Odbc\Connection
    - odbc_prepare($odbc, string $query)
    + odbc_prepare(Odbc\Connection $odbc, string $query): Odbc\Result|false
  • odbc_pconnect
    • Return type added: Odbc\Connection|false
    • Parameter type changed for parameter #2 ($user): string to ?string
    • Parameter default value added for position #2 ($user): null
    • Parameter type changed for parameter #3 ($password): string to ?string
    • Parameter default value added for position #3 ($password): null
      odbc_pconnect(
          string $dsn,
    -     string $user,
    +     ?string $user = null,
    -     string $password,
    +     ?string $password = null,
          int $cursor_option = SQL_CUR_USE_DRIVER
    -   )
    +   ): Odbc\Connection|false
  • odbc_num_rows

    Parameter type added for parameter #1 ($statement): Odbc\Result

    - odbc_num_rows($statement): int
    + odbc_num_rows(Odbc\Result $statement): int
  • odbc_num_fields

    Parameter type added for parameter #1 ($statement): Odbc\Result

    - odbc_num_fields($statement): int
    + odbc_num_fields(Odbc\Result $statement): int
  • odbc_next_result

    Parameter type added for parameter #1 ($statement): Odbc\Result

    - odbc_next_result($statement): bool
    + odbc_next_result(Odbc\Result $statement): bool
  • odbc_longreadlen
    • Return type changed: bool to true
    • Parameter type added for parameter #1 ($statement): Odbc\Result
    - odbc_longreadlen($statement, int $length): bool
    + odbc_longreadlen(Odbc\Result $statement, int $length): true
  • odbc_gettypeinfo
    • Return type added: Odbc\Result|false
    • Parameter type added for parameter #1 ($odbc): Odbc\Connection
    - odbc_gettypeinfo($odbc, int $data_type = 0)
    + odbc_gettypeinfo(Odbc\Connection $odbc, int $data_type = 0): Odbc\Result|false
  • odbc_free_result
    • Return type changed: bool to true
    • Parameter type added for parameter #1 ($statement): Odbc\Result
    - odbc_free_result($statement): bool
    + odbc_free_result(Odbc\Result $statement): true
  • odbc_foreignkeys
    • Return type added: Odbc\Result|false
    • Parameter type added for parameter #1 ($odbc): Odbc\Connection
      odbc_foreignkeys(
    -     $odbc,
    +     Odbc\Connection $odbc,
          ?string $pk_catalog,
          string $pk_schema,
          string $pk_table,
          string $fk_catalog,
          string $fk_schema,
          string $fk_table
    -   )
    +   ): Odbc\Result|false
  • odbc_procedures
    • Return type added: Odbc\Result|false
    • Parameter type added for parameter #1 ($odbc): Odbc\Connection
      odbc_procedures(
    -     $odbc,
    +     Odbc\Connection $odbc,
          ?string $catalog = null,
          ?string $schema = null,
          ?string $procedure = null
    -   )
    +   ): Odbc\Result|false
  • odbc_result

    Parameter type added for parameter #1 ($statement): Odbc\Result

    - odbc_result($statement, string|int $field): string|bool|null
    + odbc_result(Odbc\Result $statement, string|int $field): string|bool|null
  • odbc_result_all
      #[\Deprecated]
    - odbc_result_all($statement, string $format = ""): int|false
    + odbc_result_all(Odbc\Result $statement, string $format = ""): int|false
  • odbc_data_source

    Parameter type added for parameter #1 ($odbc): Odbc\Connection

    - odbc_data_source($odbc, int $fetch_type): array|false|null
    + odbc_data_source(Odbc\Connection $odbc, int $fetch_type): array|false|null
  • odbc_rollback

    Parameter type added for parameter #1 ($odbc): Odbc\Connection

    - odbc_rollback($odbc): bool
    + odbc_rollback(Odbc\Connection $odbc): bool
  • odbc_setoption

    Parameter type added for parameter #1 ($odbc): Odbc\Connection|Odbc\Result

      odbc_setoption(
    -     $odbc,
    +     Odbc\Connection|Odbc\Result $odbc,
          int $which,
          int $option,
          int $value
        ): bool
  • odbc_specialcolumns
    • Return type added: Odbc\Result|false
    • Parameter type added for parameter #1 ($odbc): Odbc\Connection
      odbc_specialcolumns(
    -     $odbc,
    +     Odbc\Connection $odbc,
          int $type,
          ?string $catalog,
          string $schema,
          string $table,
          int $scope,
          int $nullable
    -   )
    +   ): Odbc\Result|false
  • odbc_statistics
    • Return type added: Odbc\Result|false
    • Parameter type added for parameter #1 ($odbc): Odbc\Connection
      odbc_statistics(
    -     $odbc,
    +     Odbc\Connection $odbc,
          ?string $catalog,
          string $schema,
          string $table,
          int $unique,
          int $accuracy
    -   )
    +   ): Odbc\Result|false
  • odbc_tableprivileges
    • Return type added: Odbc\Result|false
    • Parameter type added for parameter #1 ($odbc): Odbc\Connection
      odbc_tableprivileges(
    -     $odbc,
    +     Odbc\Connection $odbc,
          ?string $catalog,
          string $schema,
          string $table
    -   )
    +   ): Odbc\Result|false
  • odbc_tables
    • Return type added: Odbc\Result|false
    • Parameter type added for parameter #1 ($odbc): Odbc\Connection
      odbc_tables(
    -     $odbc,
    +     Odbc\Connection $odbc,
          ?string $catalog = null,
          ?string $schema = null,
          ?string $table = null,
          ?string $types = null
    -   )
    +   ): Odbc\Result|false
  • odbc_field_scale

    Parameter type added for parameter #1 ($statement): Odbc\Result

    - odbc_field_scale($statement, int $field): int|false
    + odbc_field_scale(Odbc\Result $statement, int $field): int|false
  • odbc_autocommit

    Parameter type added for parameter #1 ($odbc): Odbc\Connection

    - odbc_autocommit($odbc, ?bool $enable = null): int|bool
    + odbc_autocommit(Odbc\Connection $odbc, ?bool $enable = null): int|bool
  • odbc_binmode
    • Return type changed: bool to true
    • Parameter type added for parameter #1 ($statement): Odbc\Result
    - odbc_binmode($statement, int $mode): bool
    + odbc_binmode(Odbc\Result $statement, int $mode): true
  • odbc_close

    Parameter type added for parameter #1 ($odbc): Odbc\Connection

    - odbc_close($odbc): void
    + odbc_close(Odbc\Connection $odbc): void
  • odbc_columnprivileges
    • Return type added: Odbc\Result|false
    • Parameter type added for parameter #1 ($odbc): Odbc\Connection
      odbc_columnprivileges(
    -     $odbc,
    +     Odbc\Connection $odbc,
          ?string $catalog,
          string $schema,
          string $table,
          string $column
    -   )
    +   ): Odbc\Result|false
  • odbc_columns
    • Return type added: Odbc\Result|false
    • Parameter type added for parameter #1 ($odbc): Odbc\Connection
      odbc_columns(
    -     $odbc,
    +     Odbc\Connection $odbc,
          ?string $catalog = null,
          ?string $schema = null,
          ?string $table = null,
          ?string $column = null
    -   )
    +   ): Odbc\Result|false
  • odbc_commit

    Parameter type added for parameter #1 ($odbc): Odbc\Connection

    - odbc_commit($odbc): bool
    + odbc_commit(Odbc\Connection $odbc): bool
  • odbc_connect
    • Return type added: Odbc\Connection|false
    • Parameter type changed for parameter #2 ($user): string to ?string
    • Parameter default value added for position #2 ($user): null
    • Parameter type changed for parameter #3 ($password): string to ?string
    • Parameter default value added for position #3 ($password): null
      odbc_connect(
          string $dsn,
    -     string $user,
    +     ?string $user = null,
    -     string $password,
    +     ?string $password = null,
          int $cursor_option = SQL_CUR_USE_DRIVER
    -   )
    +   ): Odbc\Connection|false
  • odbc_cursor

    Parameter type added for parameter #1 ($statement): Odbc\Result

    - odbc_cursor($statement): string|false
    + odbc_cursor(Odbc\Result $statement): string|false
  • odbc_do
    • Return type added: Odbc\Result|false
    • Parameter type added for parameter #1 ($odbc): Odbc\Connection
    - odbc_do($odbc, string $query)
    + odbc_do(Odbc\Connection $odbc, string $query): Odbc\Result|false
  • odbc_error

    Parameter type added for parameter #1 ($odbc): ?Odbc\Connection

    - odbc_error($odbc = null): string
    + odbc_error(?Odbc\Connection $odbc = null): string
  • odbc_errormsg

    Parameter type added for parameter #1 ($odbc): ?Odbc\Connection

    - odbc_errormsg($odbc = null): string
    + odbc_errormsg(?Odbc\Connection $odbc = null): string
  • odbc_execute

    Parameter type added for parameter #1 ($statement): Odbc\Result

    - odbc_execute($statement, array $params = []): bool
    + odbc_execute(Odbc\Result $statement, array $params = []): bool
  • odbc_fetch_array
    • Parameter type added for parameter #1 ($statement): Odbc\Result
    • Parameter type changed for parameter #2 ($row): int to ?int
    • Parameter default value changed for position #2 ($row): -1 to null
    - odbc_fetch_array($statement, int $row = -1): array|false
    + odbc_fetch_array(Odbc\Result $statement, ?int $row = null): array|false
  • odbc_fetch_into
    • Parameter type added for parameter #1 ($statement): Odbc\Result
    • Parameter type changed for parameter #3 ($row): int to ?int
    • Parameter default value changed for position #3 ($row): 0 to null
      odbc_fetch_into(
    -     $statement,
    +     Odbc\Result $statement,
          &$array,
    -     int $row = 0
    +     ?int $row = null
        ): int|false
  • odbc_fetch_object
    • Parameter type added for parameter #1 ($statement): Odbc\Result
    • Parameter type changed for parameter #2 ($row): int to ?int
    • Parameter default value changed for position #2 ($row): -1 to null
    - odbc_fetch_object($statement, int $row = -1): stdClass|false
    + odbc_fetch_object(Odbc\Result $statement, ?int $row = null): stdClass|false
  • odbc_fetch_row

    Parameter type added for parameter #1 ($statement): Odbc\Result

    - odbc_fetch_row($statement, ?int $row = null): bool
    + odbc_fetch_row(Odbc\Result $statement, ?int $row = null): bool
  • odbc_field_len

    Parameter type added for parameter #1 ($statement): Odbc\Result

    - odbc_field_len($statement, int $field): int|false
    + odbc_field_len(Odbc\Result $statement, int $field): int|false
  • odbc_field_name

    Parameter type added for parameter #1 ($statement): Odbc\Result

    - odbc_field_name($statement, int $field): string|false
    + odbc_field_name(Odbc\Result $statement, int $field): string|false
  • odbc_field_num

    Parameter type added for parameter #1 ($statement): Odbc\Result

    - odbc_field_num($statement, string $field): int|false
    + odbc_field_num(Odbc\Result $statement, string $field): int|false
  • odbc_field_precision

    Parameter type added for parameter #1 ($statement): Odbc\Result

    - odbc_field_precision($statement, int $field): int|false
    + odbc_field_precision(Odbc\Result $statement, int $field): int|false
  • odbc_field_type

    Parameter type added for parameter #1 ($statement): Odbc\Result

    - odbc_field_type($statement, int $field): string|false
    + odbc_field_type(Odbc\Result $statement, int $field): string|false
  • odbc_exec
    • Return type added: Odbc\Result|false
    • Parameter type added for parameter #1 ($odbc): Odbc\Connection
    - odbc_exec($odbc, string $query)
    + odbc_exec(Odbc\Connection $odbc, string $query): Odbc\Result|false

ext-openssl

  • openssl_csr_sign
    • Optional parameter added - #7: ?string $serial_hex = null
     openssl_csr_sign(
         OpenSSLCertificateSigningRequest|string $csr,
         OpenSSLCertificate|string|null $ca_certificate,
         $private_key,
         int $days,
         ?array $options = null,
    -    int $serial = 0
    +    int $serial = 0,
    +    ?string $serial_hex = null
       ): OpenSSLCertificate|false

ext-pgsql

  • pg_select

    Parameter default value added for position #3 ($conditions): []

      pg_select(
          PgSql\Connection $connection,
          string $table_name,
    -     array $conditions,
    +     array $conditions = [],
          int $flags = PGSQL_DML_EXEC,
          int $mode = PGSQL_ASSOC
        ): array|string|false

ext-SimpleXML

  • simplexml_import_dom

    Parameter type changed for parameter #1 ($node): SimpleXMLElement|DOMNode to object

    - simplexml_import_dom(SimpleXMLElement|DOMNode $node, ?string $class_name = SimpleXMLElement::class): ?SimpleXMLElement
    + simplexml_import_dom(object $node, ?string $class_name = SimpleXMLElement::class): ?SimpleXMLElement

ext-sockets

  • socket_create_listen

    Parameter default value changed for position #2 ($backlog): 128 to SOMAXCONN

    - socket_create_listen(int $port, int $backlog = 128): Socket|false
    + socket_create_listen(int $port, int $backlog = SOMAXCONN): Socket|false

Core

  • stream_context_set_options

    Return type changed: bool to true

    - stream_context_set_options($context, array $options): bool
    + stream_context_set_options($context, array $options): true
  • long2ip

    Return type changed: string|false to string

    - long2ip(int $ip): string|false
    + long2ip(int $ip): string
  • stream_context_set_params

    Return type changed: bool to true

    - stream_context_set_params($context, array $params): bool
    + stream_context_set_params($context, array $params): true
  • stream_bucket_append

    Parameter type changed for parameter #2 ($bucket): object to StreamBucket

    - stream_bucket_append($brigade, object $bucket): void
    + stream_bucket_append($brigade, StreamBucket $bucket): void
  • round
    • Parameter type changed for parameter #3 ($mode): int to RoundingMode|int
    • Parameter default value changed for position #3 ($mode): PHP_ROUND_HALF_UP to RoundingMode::HalfAwayFromZero
      round(
          int|float $num,
          int $precision = 0,
    -     int $mode = PHP_ROUND_HALF_UP
    +     RoundingMode|int $mode = RoundingMode::HalfAwayFromZero
        ): float
  • print_r

    Return type changed: string|bool to string|true

    - print_r(mixed $value, bool $return = false): string|bool
    + print_r(mixed $value, bool $return = false): string|true
  • highlight_string

    Return type changed: string|bool to string|true

    - highlight_string(string $string, bool $return = false): string|bool
    + highlight_string(string $string, bool $return = false): string|true
  • stream_context_set_option

    Return type changed: bool to true

      stream_context_set_option(
          $context,
          array|string $wrapper_or_options,
          ?string $option_name = null,
          mixed $value = <default>
    -   ): bool
    +   ): true
  • stream_bucket_prepend

    Parameter type changed for parameter #2 ($bucket): object to StreamBucket

    - stream_bucket_prepend($brigade, object $bucket): void
    + stream_bucket_prepend($brigade, StreamBucket $bucket): void
  • stream_bucket_new

    Return type changed: object to StreamBucket

    - stream_bucket_new($stream, string $buffer): object
    + stream_bucket_new($stream, string $buffer): StreamBucket
  • stream_bucket_make_writeable

    Return type changed: ?object to ?StreamBucket

    - stream_bucket_make_writeable($brigade): ?object
    + stream_bucket_make_writeable($brigade): ?StreamBucket

ext-xml

  • xml_set_character_data_handler

    Parameter type added for parameter #2 ($handler): callable|string|null

    - xml_set_character_data_handler(XMLParser $parser, $handler): true
    + xml_set_character_data_handler(XMLParser $parser, callable|string|null $handler): true
  • xml_set_default_handler

    Parameter type added for parameter #2 ($handler): callable|string|null

    - xml_set_default_handler(XMLParser $parser, $handler): true
    + xml_set_default_handler(XMLParser $parser, callable|string|null $handler): true
  • xml_set_element_handler
    • Parameter type added for parameter #2 ($start_handler): callable|string|null
    • Parameter type added for parameter #3 ($end_handler): callable|string|null
      xml_set_element_handler(
          XMLParser $parser,
    -     $start_handler,
    +     callable|string|null $start_handler,
    -     $end_handler
    +     callable|string|null $end_handler
        ): true
  • xml_set_end_namespace_decl_handler

    Parameter type added for parameter #2 ($handler): callable|string|null

    - xml_set_end_namespace_decl_handler(XMLParser $parser, $handler): true
    + xml_set_end_namespace_decl_handler(XMLParser $parser, callable|string|null $handler): true
  • xml_set_external_entity_ref_handler

    Parameter type added for parameter #2 ($handler): callable|string|null

    - xml_set_external_entity_ref_handler(XMLParser $parser, $handler): true
    + xml_set_external_entity_ref_handler(XMLParser $parser, callable|string|null $handler): true
  • xml_set_notation_decl_handler

    Parameter type added for parameter #2 ($handler): callable|string|null

    - xml_set_notation_decl_handler(XMLParser $parser, $handler): true
    + xml_set_notation_decl_handler(XMLParser $parser, callable|string|null $handler): true
  • xml_set_processing_instruction_handler

    Parameter type added for parameter #2 ($handler): callable|string|null

    - xml_set_processing_instruction_handler(XMLParser $parser, $handler): true
    + xml_set_processing_instruction_handler(XMLParser $parser, callable|string|null $handler): true
  • xml_set_unparsed_entity_decl_handler

    Parameter type added for parameter #2 ($handler): callable|string|null

    - xml_set_unparsed_entity_decl_handler(XMLParser $parser, $handler): true
    + xml_set_unparsed_entity_decl_handler(XMLParser $parser, callable|string|null $handler): true
  • xml_set_start_namespace_decl_handler

    Parameter type added for parameter #2 ($handler): callable|string|null

    - xml_set_start_namespace_decl_handler(XMLParser $parser, $handler): true
    + xml_set_start_namespace_decl_handler(XMLParser $parser, callable|string|null $handler): true
Subscribe to PHP.Watch newsletter for monthly updates

You will receive an email on last Wednesday of every month and on major PHP releases with new articles related to PHP, upcoming changes, new features and what's changing in the language. No marketing emails, no selling of your contacts, no click-tracking, and one-click instant unsubscribe from any email you receive.