php-src/UPGRADING

200 lines
6.4 KiB
Plaintext
Raw Normal View History

PHP 7.3 UPGRADE NOTES
1. Backward Incompatible Changes
2. New Features
2014-05-01 10:27:38 +00:00
3. Changes in SAPI modules
4. Deprecated Functionality
5. Changed Functions
6. New Functions
7. New Classes and Interfaces
2015-02-10 07:56:18 +00:00
8. Removed Extensions and SAPIs
2014-05-01 10:27:38 +00:00
9. Other Changes to Extensions
10. New Global Constants
11. Changes to INI File Handling
2014-08-22 11:35:07 +00:00
12. Windows Support
13. Other Changes
2010-03-24 16:23:50 +00:00
2010-03-24 16:23:50 +00:00
========================================
1. Backward Incompatible Changes
2010-03-24 16:23:50 +00:00
========================================
Core:
. The ext_skel utility has been completely redesigned with new options and
some old options removed. This is now written in PHP and has no external
dependencies.
. Support for BeOS has been dropped.
2017-12-23 12:34:17 +00:00
. Exceptions thrown due to automatic conversion of warnings into exceptions
in EH_THROW mode (e.g. some DateTime exceptions) no longer populate
error_get_last() state. As such, they now work the same way as manually
thrown exceptions.
BCMath:
. All warnings thrown by BCMath functions are now using PHP's error handling.
Formerly some warnings have directly been written to stderr.
. bcmul() and bcpow() now return numbers with the requested scale. Formerly,
the returned numbers may have omitted trailing decimal zeroes.
2017-12-06 22:32:39 +00:00
SPL:
. If an SPL autoloader throws an exception, following autoloaders will not be
executed. Previously all autoloaders were executed and exceptions were
chained.
SimpleXML:
. Mathematic operations involving SimpleXML objects will now treat the text as
an integer or float, whichever is more appropriate. Previously values were
treated as integers unconditionally.
Standard:
. getimagesize() and related functions now report the mime type of BMP images
as image/bmp instead of image/x-ms-bmp, since the former has been registered
with the IANA (see RFC 7903).
========================================
2. New Features
========================================
Core:
. Array destructuring now supports reference assignments using the syntax
[&$a, [$b, &$c]] = $d. The same is also supported for list().
(RFC: https://wiki.php.net/rfc/list_reference_assignment)
2018-01-04 05:50:34 +00:00
. instancof now allows literal as the first operand,
in this case the result always be FALSE.
BCMath:
. bcscale() can now also be used as getter to retrieve the current scale in use.
========================================
2014-05-01 10:27:38 +00:00
3. Changes in SAPI modules
========================================
========================================
2014-05-01 10:27:38 +00:00
4. Deprecated Functionality
========================================
========================================
2014-05-01 10:27:38 +00:00
5. Changed Functions
========================================
2009-06-23 19:40:31 +00:00
2017-10-22 18:41:23 +00:00
JSON:
. A new flag has been added, JSON_THROW_ON_ERROR, which can be used with
json_decode() or json_encode() and causes these functions to throw a
JsonException upon an error, instead of setting the global error state that
is retrieved with json_last_error(). JSON_PARTIAL_OUTPUT_ON_ERROR takes
precedence over JSON_THROW_ON_ERROR.
(RFC: https://wiki.php.net/rfc/json_throw_on_error)
Standard:
2017-10-05 22:34:50 +00:00
. debug_zval_dump() was changed to display recursive arrays and objects
in the same way as var_dump(). Now, it doesn't display them twice.
PCRE:
. preg_quote() now also escapes the '#' character.
========================================
2014-05-01 10:27:38 +00:00
6. New Functions
========================================
2015-04-24 15:19:58 +00:00
Core:
. Added monotonic timer function hrtime([bool get_as_num]). It returns an
array of the form [seconds, nanoseconds] with the timestamp starting at
an unspecified point in the past. If the optional argument is passed as
true, the return value is an integer on 64-bit systems or float on
32-bit systems, representing the nanoseconds. The timestamp is not
adjustable and is not related to wall clock or time of day. The timers
are available under Linux, FreeBSD, Windows, Mac, SunOS, AIX and their
derivatives. If no required timers are provided by a corresponding
platform, the function returns false.
Date:
. Added the DateTime::createFromImmutable() method, which mirrors
DateTimeImmutable::createFromMutable().
GMP:
. Added gmp_binomial(n, k) for calculating binomial coefficients.
. Added gmp_lcm(a, b) for calculating the least common multiple.
. Added gmp_perfect_power(a) to check if number is a perfect power.
. Added gmp_kronecker(a, b) to compute the Kronecker symbol.
Intl:
. Added void Spoofchecker::setRestrictionLevel(int $level) method, available
when linked with ICU >= 58.1. Levels are represented as class constants
- Spoofchecker::ASCII
- Spoofchecker::HIGHLY_RESTRICTIVE
- Spoofchecker::MODERATELY_RESTRICTIVE
- Spoofchecker::MINIMALLY_RESTRICTIVE
- Spoofchecker::UNRESTRICTIVE
- Spoofchecker::SINGLE_SCRIPT_RESTRICTIVE
For the detailed documentation on the restriction levels, see
URestrictionLevel under
http://icu-project.org/apiref/icu4c/uspoof_8h.html
SPL:
. Added spl_object_id().
========================================
2014-05-01 10:27:38 +00:00
7. New Classes and Interfaces
========================================
2017-10-22 18:41:23 +00:00
JSON:
. JsonException
========================================
2015-02-10 07:56:18 +00:00
8. Removed Extensions and SAPIs
========================================
========================================
2014-05-01 10:27:38 +00:00
9. Other Changes to Extensions
========================================
2016-07-03 10:43:30 +00:00
Curl:
. libcurl >= 7.12.1 is now required
FTP:
. Set default transfer mode to binary
ODBC:
2017-07-28 08:31:48 +00:00
. Support for ODBCRouter has been removed.
. Support for Birdstep has been removed.
2017-09-07 12:27:50 +00:00
ZIP:
. Bundled libzip has been dropped,
2017-09-07 12:27:50 +00:00
system library is now required.
========================================
2014-05-01 10:27:38 +00:00
10. New Global Constants
========================================
2010-03-24 16:23:50 +00:00
2017-10-22 18:41:23 +00:00
JSON:
. JSON_THROW_ON_ERROR
PGSQL:
. Requires Postgres 9.3
- PGSQL_DIAG_SCHEMA_NAME
- PGSQL_DIAG_TABLE_NAME
- PGSQL_DIAG_COLUMN_NAME
- PGSQL_DIAG_DATATYPE_NAME
- PGSQL_DIAG_CONSTRAINT_NAME
. Requires Postgres 9.6
- PGSQL_DIAG_SEVERITY_NONLOCALIZED
========================================
2014-05-01 10:27:38 +00:00
11. Changes to INI File Handling
========================================
- birdstep.max_links
2017-09-13 22:34:26 +00:00
. This INI directive has been removed.
- opcache.inherited_hack
. This INI directive has been removed. The value has already been ignored
since PHP 5.3.0.
2014-08-22 11:35:07 +00:00
========================================
12. Windows Support
========================================
========================================
2014-08-22 11:35:07 +00:00
13. Other Changes
========================================