-
-
Notifications
You must be signed in to change notification settings - Fork 204
Open
Labels
PHP: 8.3Status: to be implementedType: enhancementType: metaRepo strategy/structure relatedRepo strategy/structure related
Description
This is just an issue to keep track of which of the implemented RFCs for PHP 8.3 have been addressed.
This list should be updated when additional RFCs are accepted/implemented.
To Do
Everything is assigned to a contributor
Aside from the RFCs, there are also the changes which were made outside of the RFC process and are listed in:
Claimed
- Marking overridden methods (#[\Override])
Status: TODO / needs a good think, see Further improve attribute detection/flagging #1935
Owner: @jrfnl - Arbitrary static variable initializers
Status: Under investigation, see PHP 8.3: Arbitrary static variable initializers #1986
Owner: @afilina - Make unserialize() emit a warning for trailing data
Status: Under investigation, see PHP 8.3: Make unserialize() emit a warning for trailing bytes #1987
Owner: @afilina - Improve unserialize() error handling
Status: Under investigation, see PHP 8.3: Improve unserialize() error handling #1988
Owner: @afilina - Readonly amendments
Status: Under investigation, see PHP 8.3: Readonly amendments #1989
Owner: @afilina - Saner array_(sum|product)()
Status: Under investigation, see PHP 8.3: Saner array_(sum|product)() #1990
Owner: @afilina - Define proper semantics for range() function
Status: Under investigation, see PHP 8.3: Define proper semantics for range() function #1991
Owner: @afilina - Randomizer Additions
Status: Under investigation, see PHP 8.3: Randomizer Additions #1992
Owner: @afilina - Use exceptions by default in SQLite3 extension
New class is handled in PR PHP 8.3 | NewClasses: detect SQLite3Exception class (RFC) #1936, but there is more to do related to this RFC.
Status: Under investigation, see PHP 8.3: Use exceptions by default in SQLite3 extension #1994
Owner: @afilina - Deprecate functions with overloaded signatures
Sublist:- DatePeriod::__construct()
👉🏻 This deprecation won't actually take effect until PHP 8.4, though a replacement method will be added in PHP 8.3.
Status: Under investigation, see PHP 8.3 / 8.4: DatePeriod::__construct() replacement/deprecation #1977
Owner: @afilina - dba_fetch()
Status: Under investigation, see PHP 8.3: deprecate dba_fetch() #1978
Owner: @afilina - FFI::cast(), FFI::new(), and FFI::type()
Status: Under investigation, see PHP 8.3: deprecate FFI::cast(), FFI::new(), and FFI::type() #1979
Owner: @afilina - Phar::setStub()
Status: Under investigation, see PHP 8.3: deprecate Phar::setStub() #1980
Owner: @afilina - ReflectionMethod::__construct()
👉🏻 This deprecation won't actually take effect until PHP 8.4, though a replacement method will be added in PHP 8.3.
Status: Under investigation, see PHP 8.3: ReflectionMethod::__construct() replacement #1981
Owner: @afilina - ReflectionProperty::setValue()
Status: Under investigation, see PHP 8.3: ReflectionProperty::setValue() #1982
Owner: @afilina
- DatePeriod::__construct()
Has PR
- Deprecations for PHP 8.3
Sublist:- Passing negative $widths to mb_strimwidth() - PR PHP 8.3 | ✨ New
PHPCompatibility.ParameterValues.RemovedMbStrimWidthNegativeWidthsniff (RFC) #1615 - The NumberFormatter::TYPE_CURRENCY constant - PR PHP 8.5: Deprecate NumberFormatter::TYPE_CURRENCY #1975
- MT_RAND_PHP - PR PHP 8.3 | RemovedConstants: recognize
MT_RAND_PHP(RFC) #1623 - Deprecate calling ''ldap_connect'' with 2 parameters - PR PHP 8.3 | ✨ New
PHPCompatibility.ParameterValues.RemovedLdapConnectSignaturessniff (RFC) #1620
- Passing negative $widths to mb_strimwidth() - PR PHP 8.3 | ✨ New
- Dynamic class constant fetch - PR PHP 8.3: New sniff to detect dynamic class constant fetch #1974
- Typed Class Constants - PR ✨ PHP 8.3 | New
PHPCompatibility.Classes.NewTypedConstantssniff #1808 - Deprecate remains of string evaluated code assertions - PR PHP 8.3 | Various sniffs: deprecate remains of string evaluated code assertions (RFC) #1618
- mb_str_pad - PR PHP 8.3 | NewFunctions: detect use of
mb_str_pad()(RFC) #1625 - More Appropriate Date/Time Exceptions - PR PHP 8.3 | NewClasses: detect new DateTime Error + Exception classes (RFC) #1937
- json_validate function - PR PHP 8.3 | NewFunctions: detect use of
json_validate()(RFC) #1622 - Use exceptions by default in SQLite3 extension - PR PHP 8.3 | NewClasses: detect SQLite3Exception class (RFC) #1936
- Deprecate functions with overloaded signatures
Sublist:- get_class() and get_parent_class() - PR PHP 8.3 | ✨ New
PHPCompatibility.ParameterValues.RemovedGetClassNoArgssniff (RFC) #1614 - IntlCalendar::set() - PR PHP 8.4 | RemovedFunctions: account for deprecation of intlcal_set() (RFC) #1674
- IntlGregorianCalendar::__construct() - PR PHP 8.4 | RemovedFunctions: account for deprecation of intlgregcal_create_instance() (RFC) #1676
- ldap_connect() - PR PHP 8.3 | NewFunctions: recognize ldap_connect_wallet() and ldap_exop_sync() (RFC) #1626 + PHP 8.4 | ParameterValues/RemovedLdapConnectSignatures: account for deprecation of three+ param signature (RFC) #1671
- ldap_exop() - PR PHP 8.3 | NewFunctions: recognize ldap_connect_wallet() and ldap_exop_sync() (RFC) #1626 + PHP 8.4 | RemovedFunctionParameters: account for deprecation of overloaded ldap_exop() signature (RFC) #1673
- pg_fetch_result(), pg_field_prtlen(), and pg_field_is_null() - PR PHP 8.4 | OptionalToRequiredFunctionParameters: account for deprecation of overloaded pg_*() signatures (RFC) #1736
👉🏻 This deprecation won't actually take effect until PHP 8.4. - session_set_save_handler() - PR PHP 8.4 | RemovedFunctionParameters: account for deprecation of overloaded session_set_save_handler() signature (RFC) #1677
- stream_context_set_option() - PR PHP 8.3 | NewFunctions: recognize
stream_context_set_options()(RFC) #1631 + PHP 8.4 | OptionalToRequiredFunctionParameters: account for deprecation of overloaded stream_context_set_option() signature (RFC) #1672
- get_class() and get_parent_class() - PR PHP 8.3 | ✨ New
Reviewed and concluded non-sniffable
- Deprecations for PHP 8.3
Unnecessary crypt() related constantsRFC rejectedGlobal Mersenne Twister - vote 1RFC rejected*rand*()functionsGlobal Mersenne Twister - vote 2RFC accepted, but as it was a vote which was dependent on vote 1, nothing will change.*shuffle*()functions
- Deprecate functions with overloaded signatures
array_keys()RFC rejected
- Path to Saner Increment/Decrement operators
Investigated by @afilina and concluded non-sniffable. See investigation notes in PHP 8.3: Path to Saner Increment/Decrement operators #1985.
Process
If anyone starts work on updating PHPCompatibility to handle any of these issues, please either update the above list (if you can) or leave a comment below, so one of the maintainers can update the list.
Once PHP 8.3 comes out, individual issues should be opened for the changes which remain at that point in time.
mbomb007
Metadata
Metadata
Assignees
Labels
PHP: 8.3Status: to be implementedType: enhancementType: metaRepo strategy/structure relatedRepo strategy/structure related