@@ -126,6 +126,22 @@ PHP 8.4 UPGRADE NOTES
126
126
has changed. Consult https://github.com/PCRE2Project/pcre2/blob/master/NEWS
127
127
for a full changelog.
128
128
129
+ - PCNTL:
130
+ . The functions pcntl_sigprocmask(), pcntl_sigwaitinfo() and
131
+ pcntl_sigtimedwait() now throw:
132
+ - A ValueError if the $signals array is empty (except for
133
+ pcntl_sigprocmask() if the $mode is SIG_SETMASK).
134
+ - A TypeError if a value of the $signals array is not an integer
135
+ - A ValueError if a value of the $signals array is not a valid signal number
136
+ Moreover, those functions now always return false on failure.
137
+ In some case previously it could return the value -1.
138
+ . The function pcntl_sigprocmask() will also now throw:
139
+ - A ValueError if $mode is not one of SIG_BLOCK, SIG_UNBLOCK, or SIG_SETMASK
140
+ . The function pcntl_sigtimedwait() will also now throw:
141
+ - A ValueError if $seconds is less than 0
142
+ - A ValueError if $nanoseconds is less than 0 or greater than 1e9
143
+ - A ValueError if both $seconds and $nanoseconds are 0
144
+
129
145
- PDO_DBLIB:
130
146
. setAttribute, DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER and DBLIB_ATTR_DATETIME_CONVERT
131
147
have been changed to set value as a bool.
@@ -143,22 +159,6 @@ PHP 8.4 UPGRADE NOTES
143
159
. The DSN's credentials, when set, are given priority over their PDO
144
160
constructor counterparts, being closer to the documentation states.
145
161
146
- - PCNTL:
147
- . The functions pcntl_sigprocmask(), pcntl_sigwaitinfo() and
148
- pcntl_sigtimedwait() now throw:
149
- - A ValueError if the $signals array is empty (except for
150
- pcntl_sigprocmask() if the $mode is SIG_SETMASK).
151
- - A TypeError if a value of the $signals array is not an integer
152
- - A ValueError if a value of the $signals array is not a valid signal number
153
- Moreover, those functions now always return false on failure.
154
- In some case previously it could return the value -1.
155
- . The function pcntl_sigprocmask() will also now throw:
156
- - A ValueError if $mode is not one of SIG_BLOCK, SIG_UNBLOCK, or SIG_SETMASK
157
- . The function pcntl_sigtimedwait() will also now throw:
158
- - A ValueError if $seconds is less than 0
159
- - A ValueError if $nanoseconds is less than 0 or greater than 1e9
160
- - A ValueError if both $seconds and $nanoseconds are 0
161
-
162
162
- SimpleXML:
163
163
. Get methods called, or casting to a string on a SimpleXMLElement will no
164
164
longer implicitly reset the iterator data, unless explicitly rewound.
@@ -301,6 +301,18 @@ PHP 8.4 UPGRADE NOTES
301
301
openssl_pkey_get_details as well as openssl_sign and openssl_verify were
302
302
extended to support those keys.
303
303
304
+ - PCRE:
305
+ . The bundled pcre2lib has been updated to version 10.44.
306
+ As a consequence, LoongArch JIT support has been added, spaces
307
+ are now allowed between braces in Perl-compatible items, and
308
+ variable-length lookbehind assertions are now supported.
309
+ . With pcre2lib version 10.44, the maximum length of named capture groups
310
+ has changed from 32 to 128.
311
+ . Added support for the "r" (PCRE2_EXTRA_CASELESS_RESTRICT) modifier, as well
312
+ as the (?r) mode modifier. When enabled along with the case-insensitive
313
+ modifier ("i"), the expression locks out mixing of ASCII and non-ASCII
314
+ characters.
315
+
304
316
- PDO:
305
317
. Added support for driver-specific subclasses.
306
318
RFC: https://wiki.php.net/rfc/pdo_driver_specific_subclasses
@@ -353,18 +365,6 @@ PHP 8.4 UPGRADE NOTES
353
365
- Phar:
354
366
. Added support for the unix timestamp extension for zip archives.
355
367
356
- - PCRE:
357
- . The bundled pcre2lib has been updated to version 10.44.
358
- As a consequence, LoongArch JIT support has been added, spaces
359
- are now allowed between braces in Perl-compatible items, and
360
- variable-length lookbehind assertions are now supported.
361
- . With pcre2lib version 10.44, the maximum length of named capture groups
362
- has changed from 32 to 128.
363
- . Added support for the "r" (PCRE2_EXTRA_CASELESS_RESTRICT) modifier, as well
364
- as the (?r) mode modifier. When enabled along with the case-insensitive
365
- modifier ("i"), the expression locks out mixing of ASCII and non-ASCII
366
- characters.
367
-
368
368
- POSIX:
369
369
. Added constant POSIX_SC_CHILD_MAX
370
370
. Added constant POSIX_SC_CLK_TCK
@@ -602,6 +602,12 @@ PHP 8.4 UPGRADE NOTES
602
602
. The behavior of mb_strcut is more consistent now on invalid UTF-8 and UTF-16
603
603
strings. (For valid UTF-8 and UTF-16 strings, there is no change.)
604
604
605
+ - ODBC:
606
+ . Parameter $row of odbc_fetch_object(), odbc_fetch_array(), and
607
+ odbc_fetch_into() now has a default value of null, consistent with
608
+ odbc_fetch_row(). Previously, the default values were -1, -1, and 0,
609
+ respectively.
610
+
605
611
- OpenSSL:
606
612
. The extra_attributes parameter in openssl_csr_new sets CSR attributes
607
613
instead of subject DN which was incorrectly done previously.
@@ -613,12 +619,6 @@ PHP 8.4 UPGRADE NOTES
613
619
for OpenSSL version below 3.2 (-1 is returned for such fields). The
614
620
OpenSSL version 3.3+ does not load such certificates already.
615
621
616
- - ODBC:
617
- . Parameter $row of odbc_fetch_object(), odbc_fetch_array(), and
618
- odbc_fetch_into() now has a default value of null, consistent with
619
- odbc_fetch_row(). Previously, the default values were -1, -1, and 0,
620
- respectively.
621
-
622
622
- Output:
623
623
. Output handler status flags passed to the flags parameter of ob_start
624
624
are now cleared.
@@ -869,7 +869,7 @@ PHP 8.4 UPGRADE NOTES
869
869
- MBString:
870
870
. Unicode data tables have been updated to Unicode 15.1.
871
871
872
- - mysqli :
872
+ - Mysqli :
873
873
. The unused and undocumented constant MYSQLI_SET_CHARSET_DIR
874
874
has been removed.
875
875
@@ -879,10 +879,10 @@ PHP 8.4 UPGRADE NOTES
879
879
- PDO:
880
880
. The class constants are typed now.
881
881
882
- - pdo_pgsql :
882
+ - PDO_PGSQL :
883
883
. The pdo_pgsql extension now requires at least libpq 10.0.
884
884
885
- - pgsql :
885
+ - PgSQL :
886
886
. The pgsql extension now requires at least libpq 10.0.
887
887
888
888
- Reflection:
0 commit comments