diff --git a/appendices/migration84/deprecated.xml b/appendices/migration84/deprecated.xml index b814148a037c..c4c8229ae0e6 100644 --- a/appendices/migration84/deprecated.xml +++ b/appendices/migration84/deprecated.xml @@ -91,7 +91,7 @@ function foo(T1 $a, ?T2 $b, T3 $c) {} This affects the exponentiation operator ** - and the pow. + and the pow function. @@ -337,7 +337,7 @@ class _MyClass {} lcg_value is now deprecated, as the function is broken in multiple ways. - Use \Random\Randomizer::getFloat instead. + Use Random\Randomizer::getFloat instead. diff --git a/appendices/migration84/incompatible.xml b/appendices/migration84/incompatible.xml index 5eda276ae96e..6e500f2484ee 100644 --- a/appendices/migration84/incompatible.xml +++ b/appendices/migration84/incompatible.xml @@ -459,10 +459,10 @@ Some DOM methods previously returned &false; or a - PHP_ERR DOMException - if a new node could not be allocated. - They now consistently throw an INVALID_STATE_ERR - DOMException. + DOMException with code + DOM_PHP_ERR if a new node could not be allocated. + They now consistently throw a DOMException + with code DOM_INVALID_STATE_ERR. This situation is extremely unlikely and the probability of being affected is low. As a result DOMImplementation::createDocument @@ -626,8 +626,8 @@ PDO_DBLIB - The DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER and - DBLIB_ATTR_DATETIME_CONVERT attributes now act as + The Pdo\Dblib::ATTR_STRINGIFY_UNIQUEIDENTIFIER and + Pdo\Dblib::ATTR_DATETIME_CONVERT attributes now act as boolean attributes instead of integer attributes. Thus setting the attribute via PDO::setAttribute and retrieving it via PDO::getAttribute expects @@ -639,7 +639,7 @@ PDO_FIREBIRD - The ATTR_AUTOCOMMIT attribute now act as + The PDO::ATTR_AUTOCOMMIT attribute now act as boolean attributes instead of integer attributes. Thus setting the attribute via PDO::setAttribute and retrieving it via PDO::getAttribute expects @@ -657,9 +657,9 @@ PDO_MYSQL - The ATTR_AUTOCOMMIT, - ATTR_EMULATE_PREPARES, and - MYSQL_ATTR_DIRECT_QUERY attributes now act as + The PDO::ATTR_AUTOCOMMIT, + PDO::ATTR_EMULATE_PREPARES, and + PDO::MYSQL_ATTR_DIRECT_QUERY attributes now act as boolean attributes instead of integer attributes. Thus setting the attribute via PDO::setAttribute and retrieving it via PDO::getAttribute expects diff --git a/appendices/migration84/other-changes.xml b/appendices/migration84/other-changes.xml index 9427ad276457..2d9e67192dac 100644 --- a/appendices/migration84/other-changes.xml +++ b/appendices/migration84/other-changes.xml @@ -371,7 +371,7 @@ The backlog parameter of - socket_create_listen( now has a default value of + socket_create_listen now has a default value of SOMAXCONN. Previously, it was 128. @@ -446,39 +446,50 @@ Rounding with <function>round</function> - The $mode parameter of the round() function has been widened to RoundingMode|int, - accepting instances of a new RoundingMode enum. + The mode parameter of the + round function has been widened to + + RoundingMode|int, + + accepting instances of a new RoundingMode enum. - - Four new modes have been added to the round() function: RoundingMode::PositiveInfinity, - RoundingMode::NegativeInfinity, RoundingMode::TowardsZero, RoundingMode::AwayFromZero. + + Four new modes have been added to the round function: + + RoundingMode::PositiveInfinity + RoundingMode::NegativeInfinity + RoundingMode::TowardsZero + RoundingMode::AwayFromZero + - + The internal implementation for rounding to integers has been rewritten to be easier to verify for correctness and to be easier to maintain. Some rounding bugs have been fixed as a result of the rewrite. - For example previously rounding 0.49999999999999994 to the nearest integer - would have resulted in 1.0 instead of the correct result 0.0. + For example previously rounding 0.49999999999999994 + to the nearest integer would have resulted in 1.0 + instead of the correct result 0.0. Additional inputs might also be affected and result in different outputs compared to earlier PHP versions. - Fixed a bug caused by "pre-rounding" of the round() function. - Previously, using "pre-rounding" to treat a value like 0.285 - (actually 0.28499999999999998) as a decimal number and round it to 0.29. + Fixed a bug caused by "pre-rounding" of the round function. + Previously, using "pre-rounding" to treat a value like 0.285 + (actually 0.28499999999999998) as a decimal number + and round it to 0.29. However, "pre-rounding" incorrectly rounds certain numbers, so this fix removes "pre-rounding" and changes the way numbers are compared, so that the values are correctly rounded as decimal numbers. - The maximum precision that can be handled by round() has been extended - by one digit. + The maximum precision that can be handled by round + has been extended by one digit. For example, round(4503599627370495.5) returned in 4503599627370495.5, but now returns 4503599627370496. @@ -617,9 +628,9 @@ Improved the performance of floating point number parsing and formatting in ZTS builds under highly concurrent loads. - This affects the printf() family of functions as well + This affects the printf family of functions as well as serialization functions such as json_encode, - or serialize(). + or serialize. @@ -642,7 +653,7 @@ DOM - The performance of DOMNode::C14N() is greatly + The performance of DOMNode::C14N is greatly improved for the case without an xpath query. This can give a time improvement of easily two order of magnitude for documents with tens of thousands of nodes. @@ -714,10 +725,10 @@ Random - Improved the performance of \Random\Randomizer, + Improved the performance of Random\Randomizer, with a specific focus on the - \Random\Randomizer::getBytes, - and getBytesFromString() methods. + Random\Randomizer::getBytes, + and Random\Randomizer::getBytesFromString methods.