@@ -19,12 +19,6 @@ PHP 8.5 UPGRADE NOTES
19191. Backward Incompatible Changes
2020========================================
2121
22- - BZ2:
23- . bzcompress() now throws a ValueError when $block_size is not between
24- 1 and 9.
25- . bzcompress() now throws a ValueError when $work_factor is not between
26- 0 and 250.
27-
2822- Core:
2923 . It is no longer possible to use "array" and "callable" as class alias names
3024 in class_alias().
@@ -55,6 +49,15 @@ PHP 8.5 UPGRADE NOTES
5549 ReflectionAttribute::newInstance() was called an error would be thrown.
5650 The error can be delayed from compilation to runtime using the new
5751 #[\DelayedTargetValidation] attribute.
52+ . The disable_classes INI setting has been removed as it causes various
53+ engine assumptions to be broken.
54+ RFC: https://wiki.php.net/rfc/deprecations_php_8_5#remove_disable_classes_ini_setting
55+
56+ - BZ2:
57+ . bzcompress() now throws a ValueError when $block_size is not between
58+ 1 and 9.
59+ . bzcompress() now throws a ValueError when $work_factor is not between
60+ 0 and 250.
5861
5962- DOM:
6063 . Cloning a DOMNamedNodeMap, DOMNodeList, Dom\NamedNodeMap, Dom\NodeList,
@@ -424,6 +427,51 @@ PHP 8.5 UPGRADE NOTES
424427 . The "uri:" DSN scheme has been deprecated due to security concerns with
425428 DSNs coming from remote URIs.
426429 RFC: https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_pdo_s_urischeme
430+ . Driver specific constants in the PDO class have been deprecated.
431+ List of affected constants and their replacement:
432+ PDO::DBLIB_ATTR_CONNECTION_TIMEOUT => Pdo\Dblib::ATTR_CONNECTION_TIMEOUT
433+ PDO::DBLIB_ATTR_QUERY_TIMEOUT => Pdo\Dblib::ATTR_QUERY_TIMEOUT
434+ PDO::DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER => Pdo\Dblib::ATTR_STRINGIFY_UNIQUEIDENTIFIER
435+ PDO::DBLIB_ATTR_VERSION => Pdo\Dblib::ATTR_VERSION
436+ PDO::DBLIB_ATTR_TDS_VERSION => Pdo\Dblib::ATTR_TDS_VERSION
437+ PDO::DBLIB_ATTR_SKIP_EMPTY_ROWSETS => Pdo\Dblib::ATTR_SKIP_EMPTY_ROWSETS
438+ PDO::DBLIB_ATTR_DATETIME_CONVERT => Pdo\Dblib::ATTR_DATETIME_CONVERT
439+ PDO::FB_ATTR_DATE_FORMAT => Pdo\Firebird::ATTR_DATE_FORMAT
440+ PDO::FB_ATTR_TIME_FORMAT => Pdo\Firebird::ATTR_TIME_FORMAT
441+ PDO::FB_ATTR_TIMESTAMP_FORMAT => Pdo\Firebird::ATTR_TIMESTAMP_FORMAT
442+ PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => Pdo\Mysql::ATTR_USE_BUFFERED_QUERY
443+ PDO::MYSQL_ATTR_LOCAL_INFILE => Pdo\Mysql::ATTR_LOCAL_INFILE
444+ PDO::MYSQL_ATTR_LOCAL_INFILE_DIRECTORY => Pdo\Mysql::ATTR_LOCAL_INFILE_DIRECTORY
445+ PDO::MYSQL_ATTR_INIT_COMMAND => Pdo\Mysql::ATTR_INIT_COMMAND
446+ PDO::MYSQL_ATTR_MAX_BUFFER_SIZE => Pdo\Mysql::ATTR_MAX_BUFFER_SIZE
447+ PDO::MYSQL_ATTR_READ_DEFAULT_FILE => Pdo\Mysql::ATTR_READ_DEFAULT_FILE
448+ PDO::MYSQL_ATTR_READ_DEFAULT_GROUP => Pdo\Mysql::ATTR_READ_DEFAULT_GROUP
449+ PDO::MYSQL_ATTR_COMPRESS => Pdo\Mysql::ATTR_COMPRESS
450+ PDO::MYSQL_ATTR_DIRECT_QUERY => Pdo\Mysql::ATTR_DIRECT_QUERY
451+ PDO::MYSQL_ATTR_FOUND_ROWS => Pdo\Mysql::ATTR_FOUND_ROWS
452+ PDO::MYSQL_ATTR_IGNORE_SPACE => Pdo\Mysql::ATTR_IGNORE_SPACE
453+ PDO::MYSQL_ATTR_SSL_KEY => Pdo\Mysql::ATTR_SSL_KEY
454+ PDO::MYSQL_ATTR_SSL_CERT => Pdo\Mysql::ATTR_SSL_CERT
455+ PDO::MYSQL_ATTR_SSL_CA => Pdo\Mysql::ATTR_SSL_CA
456+ PDO::MYSQL_ATTR_SSL_CAPATH => Pdo\Mysql::ATTR_SSL_CAPATH
457+ PDO::MYSQL_ATTR_SSL_CIPHER => Pdo\Mysql::ATTR_SSL_CIPHER
458+ PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => Pdo\Mysql::ATTR_SSL_VERIFY_SERVER_CERT
459+ PDO::MYSQL_ATTR_SERVER_PUBLIC_KEY => Pdo\Mysql::ATTR_SERVER_PUBLIC_KEY
460+ PDO::MYSQL_ATTR_MULTI_STATEMENTS => Pdo\Mysql::ATTR_MULTI_STATEMENTS
461+ PDO::ODBC_ATTR_USE_CURSOR_LIBRARY => Pdo\Odbc::ATTR_USE_CURSOR_LIBRARY
462+ PDO::ODBC_ATTR_ASSUME_UTF8 => Pdo\Odbc::ATTR_ASSUME_UTF8
463+ PDO::ODBC_SQL_USE_IF_NEEDED => Pdo\Odbc::SQL_USE_IF_NEEDED
464+ PDO::ODBC_SQL_USE_DRIVER => Pdo\Odbc::SQL_USE_DRIVER
465+ PDO::ODBC_SQL_USE_ODBC => Pdo\Odbc::SQL_USE_ODBC
466+ PDO::PGSQL_ATTR_DISABLE_PREPARES => Pdo\Pgsql::ATTR_DISABLE_PREPARES
467+ PDO::SQLITE_ATTR_EXTENDED_RESULT_CODES => Pdo\Sqlite::ATTR_EXTENDED_RESULT_CODES
468+ PDO::SQLITE_ATTR_OPEN_FLAGS => Pdo\Sqlite::OPEN_FLAGS
469+ PDO::SQLITE_ATTR_READONLY_STATEMENT => Pdo\Sqlite::ATTR_READONLY_STATEMENT
470+ PDO::SQLITE_DETERMINISTIC => Pdo\Sqlite::DETERMINISTIC
471+ PDO::SQLITE_OPEN_READONLY => Pdo\Sqlite::OPEN_READONLY
472+ PDO::SQLITE_OPEN_READWRITE => Pdo\Sqlite::OPEN_READWRITE
473+ PDO::SQLITE_OPEN_CREATE => Pdo\Sqlite::OPEN_CREATE
474+ RFC: https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_driver_specific_pdo_constants_and_methods
427475
428476- Reflection:
429477 . The setAccessible() methods of various Reflection objects have been
@@ -461,6 +509,9 @@ PHP 8.5 UPGRADE NOTES
461509 . Passing integers outside the interval [0, 255] to chr() is now deprecated.
462510 This is because a byte can only hold a value within this interval.
463511 RFC: https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_passing_integers_outside_the_interval_0_255_to_chr
512+ . Relying locally predefined variable $http_response_header is deprecated.
513+ Instead one should call the http_get_last_response_headers() function.
514+ RFC: https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_the_http_response_header_predefined_variable
464515
465516- XML:
466517 . The xml_parser_free() function has been deprecated, as XMLParser objects
0 commit comments