@@ -126,6 +126,22 @@ PHP 8.4 UPGRADE NOTES
126126 has changed. Consult https://github.com/PCRE2Project/pcre2/blob/master/NEWS
127127 for a full changelog.
128128
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+
129145- PDO_DBLIB:
130146 . setAttribute, DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER and DBLIB_ATTR_DATETIME_CONVERT
131147 have been changed to set value as a bool.
@@ -143,22 +159,6 @@ PHP 8.4 UPGRADE NOTES
143159 . The DSN's credentials, when set, are given priority over their PDO
144160 constructor counterparts, being closer to the documentation states.
145161
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-
162162- SimpleXML:
163163 . Get methods called, or casting to a string on a SimpleXMLElement will no
164164 longer implicitly reset the iterator data, unless explicitly rewound.
@@ -301,6 +301,18 @@ PHP 8.4 UPGRADE NOTES
301301 openssl_pkey_get_details as well as openssl_sign and openssl_verify were
302302 extended to support those keys.
303303
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+
304316- PDO:
305317 . Added support for driver-specific subclasses.
306318 RFC: https://wiki.php.net/rfc/pdo_driver_specific_subclasses
@@ -353,18 +365,6 @@ PHP 8.4 UPGRADE NOTES
353365- Phar:
354366 . Added support for the unix timestamp extension for zip archives.
355367
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-
368368- POSIX:
369369 . Added constant POSIX_SC_CHILD_MAX
370370 . Added constant POSIX_SC_CLK_TCK
@@ -602,6 +602,12 @@ PHP 8.4 UPGRADE NOTES
602602 . The behavior of mb_strcut is more consistent now on invalid UTF-8 and UTF-16
603603 strings. (For valid UTF-8 and UTF-16 strings, there is no change.)
604604
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+
605611- OpenSSL:
606612 . The extra_attributes parameter in openssl_csr_new sets CSR attributes
607613 instead of subject DN which was incorrectly done previously.
@@ -613,12 +619,6 @@ PHP 8.4 UPGRADE NOTES
613619 for OpenSSL version below 3.2 (-1 is returned for such fields). The
614620 OpenSSL version 3.3+ does not load such certificates already.
615621
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-
622622- Output:
623623 . Output handler status flags passed to the flags parameter of ob_start
624624 are now cleared.
@@ -869,7 +869,7 @@ PHP 8.4 UPGRADE NOTES
869869- MBString:
870870 . Unicode data tables have been updated to Unicode 15.1.
871871
872- - mysqli :
872+ - Mysqli :
873873 . The unused and undocumented constant MYSQLI_SET_CHARSET_DIR
874874 has been removed.
875875
@@ -879,10 +879,10 @@ PHP 8.4 UPGRADE NOTES
879879- PDO:
880880 . The class constants are typed now.
881881
882- - pdo_pgsql :
882+ - PDO_PGSQL :
883883 . The pdo_pgsql extension now requires at least libpq 10.0.
884884
885- - pgsql :
885+ - PgSQL :
886886 . The pgsql extension now requires at least libpq 10.0.
887887
888888- Reflection:
0 commit comments