@@ -214,6 +214,7 @@ PHP 8.4 UPGRADE NOTES
214
214
. Calling simplexml_import_dom() with a non-XML object now throws a TypeError
215
215
instead of a ValueError.
216
216
217
+
217
218
- SOAP:
218
219
. SoapClient::$httpurl is now a Soap\Url object rather than a resource.
219
220
Checks using is_resource() (i.e. is_resource($client->httpurl)) should be
@@ -253,6 +254,9 @@ PHP 8.4 UPGRADE NOTES
253
254
. The "allowed_classes" option for unserialize() now throws TypeErrors and
254
255
ValueErrors if it is not an array of class names.
255
256
. http_build_query() now correctly handles backed enums.
257
+ . stream_bucket_make_writeable() and stream_bucket_new() will now return a
258
+ StreamBucket instance instead of an instance of stdClass.
259
+ RFC: https://wiki.php.net/rfc/dedicated_stream_bucket
256
260
257
261
- Tidy:
258
262
. Failures in the constructor now throw exceptions rather than emitting
@@ -318,6 +322,7 @@ PHP 8.4 UPGRADE NOTES
318
322
. Implemented lazy objects.
319
323
RFC: https://wiki.php.net/rfc/lazy-objects
320
324
325
+
321
326
- Curl:
322
327
. curl_version() returns an additional feature_list value, which is an
323
328
associative array of all known Curl features, and whether they are
@@ -343,13 +348,6 @@ PHP 8.4 UPGRADE NOTES
343
348
value can also be retrieved by passing CURLINFO_POSTTRANSFER_TIME_T to the
344
349
curl_getinfo() $option parameter. This requires libcurl 8.10.0 or later.
345
350
346
- - Date:
347
- . Added static methods
348
- DateTime[Immutable]::createFromTimestamp(int|float $timestamp): static.
349
- . Added method DateTime[Immutable]::getMicrosecond(): int.
350
- . Added method
351
- DateTime[Immutable]::setMicrosecond(int $microsecond): static.
352
-
353
351
- DOM:
354
352
. Added constant DOMNode::DOCUMENT_POSITION_DISCONNECTED.
355
353
. Added constant DOMNode::DOCUMENT_POSITION_PRECEDING.
@@ -364,9 +362,6 @@ PHP 8.4 UPGRADE NOTES
364
362
. Flushing headers without a body will now succeed. See GH-12785.
365
363
. Status page has a new field to display a memory peak.
366
364
367
- - Hash:
368
- . Added HashContext::__debugInfo().
369
-
370
365
- Intl:
371
366
. NumberFormatter::ROUND_HALFODD added to complement existing
372
367
NumberFormatter::ROUND_HALFEVEN functionality.
@@ -403,14 +398,7 @@ PHP 8.4 UPGRADE NOTES
403
398
- two-dashes and non-nested C-style comments.
404
399
RFC: https://wiki.php.net/rfc/pdo_driver_specific_parsers
405
400
406
- - PDO_DBLIB:
407
- . Added class Pdo\DbLib.
408
-
409
- - PDO_FIREBIRD:
410
- . Added class Pdo\Firebird.
411
-
412
401
- PDO_MYSQL:
413
- . Added class Pdo\Mysql.
414
402
. Added custom parser supporting:
415
403
- single and double-quoted literals, with doubling and backslash as escaping
416
404
mechanism
@@ -419,11 +407,7 @@ PHP 8.4 UPGRADE NOTES
419
407
and hash-comments
420
408
RFC: https://wiki.php.net/rfc/pdo_driver_specific_parsers
421
409
422
- - PDO_ODBC:
423
- . Added class Pdo\Odbc.
424
-
425
410
- PDO_PGSQL:
426
- . Added class Pdo\Pgsql.
427
411
. Added custom parser supporting:
428
412
- single and double quoted literals, with doubling as escaping mechanism
429
413
- C-style "escape" string literals (E'string')
@@ -433,23 +417,15 @@ PHP 8.4 UPGRADE NOTES
433
417
RFC: https://wiki.php.net/rfc/pdo_driver_specific_parsers
434
418
435
419
- PDO_SQLITE:
436
- . Added class Pdo\Sqlite.
437
420
. Added custom parser supporting:
438
421
- single, double quoted, and backtick literals, with doubling as escaping mechanism
439
422
- square brackets quoting for identifiers
440
423
- two-dashes and C-style comments (non-nested)
441
424
RFC: https://wiki.php.net/rfc/pdo_driver_specific_parsers
442
425
443
- - PgSQL:
444
- . Added pg_result_memory_size to get the visibility the memory used by a query result.
445
-
446
426
- Phar:
447
427
. Added support for the unix timestamp extension for zip archives.
448
428
449
- - POSIX:
450
- . Added constant POSIX_SC_CHILD_MAX
451
- . Added constant POSIX_SC_CLK_TCK
452
-
453
429
- Readfile:
454
430
. Added ability to change .php_history path through PHP_HISTFILE env variable.
455
431
@@ -458,9 +434,6 @@ PHP 8.4 UPGRADE NOTES
458
434
experience.
459
435
. ReflectionClassConstant::__toString() and ReflectionProperty::__toString()
460
436
now returns the attached doc comments.
461
- . ReflectionConstant was introduced.
462
- . ReflectionClassConstant::isDeprecated() was introduced.
463
- . ReflectionGenerator::isClosed() was introduced.
464
437
. Multiple methods and constants related to lazy objects were introduced:
465
438
- ReflectionClass::newLazyGhost()
466
439
- ReflectionClass::newLazyProxy()
@@ -475,7 +448,6 @@ PHP 8.4 UPGRADE NOTES
475
448
- ReflectionClass::SKIP_INITIALIZATION_ON_SERIALIZE
476
449
- ReflectionClass::SKIP_DESTRUCTOR
477
450
RFC: https://wiki.php.net/rfc/lazy-objects
478
- . ReflectionProperty::isDynamic() was introduced.
479
451
480
452
- SOAP:
481
453
. Added support for clark notation for namespaces in class map.
@@ -488,9 +460,6 @@ PHP 8.4 UPGRADE NOTES
488
460
. Session persistence now works with a shared session module.
489
461
490
462
- Standard:
491
- . stream_bucket_make_writeable() and stream_bucket_new() will now return a
492
- StreamBucket instance instead of an instance of stdClass.
493
- RFC: https://wiki.php.net/rfc/dedicated_stream_bucket
494
463
. Added a new RoundingMode enum with clearer naming and improved discoverability
495
464
compared to the PHP_ROUND_* constants.
496
465
RFC: https://wiki.php.net/rfc/correctly_name_the_rounding_mode_and_make_it_an_enum
@@ -742,7 +711,7 @@ PHP 8.4 UPGRADE NOTES
742
711
Along with these, five constants (Pdo\Firebird::TRANSACTION_ISOLATION_LEVEL,
743
712
Pdo\Firebird::READ_COMMITTED, Pdo\Firebird::REPEATABLE_READ,
744
713
Pdo\Firebird::SERIALIZABLE, Pdo\Firebird::WRITABLE_TRANSACTION) have been added.
745
- . When using persistent connections, there is now a liveness check in the
714
+ . When using persistent connections, there is now a liveliness check in the
746
715
constructor.
747
716
. The content that is built changes depending on the value of FB_API_VER in
748
717
ibase.h, so added static method Pdo\Firebird::getApiVersion() to obtain that
@@ -826,12 +795,23 @@ PHP 8.4 UPGRADE NOTES
826
795
. Added bcdivmod().
827
796
RFC: https://wiki.php.net/rfc/add_bcdivmod_to_bcmath
828
797
798
+ - Date:
799
+ . Added static methods
800
+ DateTime[Immutable]::createFromTimestamp(int|float $timestamp): static.
801
+ . Added method DateTime[Immutable]::getMicrosecond(): int.
802
+ . Added method
803
+ DateTime[Immutable]::setMicrosecond(int $microsecond): static.
804
+
829
805
- DOM:
830
806
. Added DOMNode::compareDocumentPosition().
831
807
. Added DOMXPath::registerPhpFunctionNS().
832
808
RFC: https://wiki.php.net/rfc/improve_callbacks_dom_and_xsl
833
809
. Added DOMXPath::quote() to quote a string for use in an XPath expression.
834
810
Example usage: "//span[contains(text()," . $xpath->quote($string) . ")]"
811
+ . DOMNode::compareDocumentPosition()
812
+
813
+ - Hash:
814
+ . Added HashContext::__debugInfo().
835
815
836
816
- Intl:
837
817
. Added IntlDateFormatter::getIanaID()/intltz_get_iana_id() to
@@ -880,6 +860,7 @@ PHP 8.4 UPGRADE NOTES
880
860
. Added pg_jit to get informations on the server JIT support.
881
861
. Added pg_set_chunked_rows_size to allow to fetch results in chunk of
882
862
max N rows.
863
+ . Added pg_result_memory_size to get the visibility the memory used by a query result.
883
864
884
865
- Reflection:
885
866
. Multiple methods related to lazy objects were introduced:
@@ -894,6 +875,9 @@ PHP 8.4 UPGRADE NOTES
894
875
- ReflectionProperty::skipLazyInitialization()
895
876
- ReflectionProperty::setRawValueWithoutLazyInitialization()
896
877
RFC: https://wiki.php.net/rfc/lazy-objects
878
+ . ReflectionClassConstant::isDeprecated() was introduced.
879
+ . ReflectionGenerator::isClosed() was introduced.
880
+ . ReflectionProperty::isDynamic() was introduced.
897
881
898
882
- Sodium:
899
883
. Added the sodium_crypto_aead_aegis128l_*() and sodium_crypto_aead_aegis256l_*()
@@ -951,8 +935,10 @@ PHP 8.4 UPGRADE NOTES
951
935
https://wiki.php.net/rfc/fix_up_bcmath_number_class
952
936
953
937
- Core:
954
- . New RequestParseBodyException.
938
+ . RequestParseBodyException.
955
939
RFC: https://wiki.php.net/rfc/rfc1867-non-post
940
+ . #[\Deprecated] attribute.
941
+ RFC: https://wiki.php.net/rfc/deprecated_attribute
956
942
957
943
- DBA:
958
944
. Dba\Connection opaque object replacing DBA resources
@@ -975,6 +961,38 @@ PHP 8.4 UPGRADE NOTES
975
961
. Implemented "New ext-dom features in PHP 8.4" RFC.
976
962
RFC: https://wiki.php.net/rfc/dom_additions_84
977
963
964
+ - ODBC:
965
+ . Odbc\Connection
966
+ . Odbc\Result
967
+
968
+ - PDO_DBLIB:
969
+ . Pdo\DbLib.
970
+
971
+ - PDO_FIREBIRD:
972
+ . Pdo\Firebird.
973
+
974
+ - PDO_MYSQL:
975
+ . Pdo\Mysql.
976
+
977
+ - PDO_ODBC:
978
+ . Pdo\Odbc.
979
+
980
+ - PDO_PGSQL:
981
+ . Pdo\Pgsql.
982
+
983
+ - PDO_SQLITE:
984
+ . Pdo\Sqlite.
985
+
986
+ - Reflection:
987
+ . ReflectionConstant
988
+
989
+ - SOAP:
990
+ . Soap\Url
991
+ . Soap\Sdl
992
+
993
+ - Standard:
994
+ . StreamBucket
995
+
978
996
========================================
979
997
8. Removed Extensions and SAPIs
980
998
========================================
@@ -1109,6 +1127,10 @@ PHP 8.4 UPGRADE NOTES
1109
1127
- PgSQL:
1110
1128
. PGSQL_TUPLES_CHUNK
1111
1129
1130
+ - POSIX:
1131
+ . POSIX_SC_CHILD_MAX
1132
+ . POSIX_SC_CLK_TCK
1133
+
1112
1134
- Sockets:
1113
1135
. SO_EXCLUSIVEADDRUSE (Windows only).
1114
1136
. SOCK_CONN_DGRAM (NetBSD only).
0 commit comments