PHP 8.0 Reached Feature-Freeze
Today marks the Feature-Freeze for PHP 8.0.
all work on adding new features is suspended, shifting the effort towards fixing bugs and improving the user experience. The addition of new features may have a disruptive effect on other parts of the program, due both to the introduction of new, untested source code or resources and to interactions with other features; thus, a feature freeze helps improve the program's stability.
For PHP, this means new RFCs for new features will not be considered for PHP 8.0 anymore.
PHP 8 comes with several major improvements such as Union Types, Match expression, named parameters, several warnings promoted to exceptions, and changes in the way concat operator, arithmetic operators, and comparison operators work. Attributes is a new feature in PHP 8.0, but it has opened several discussions lately in the mailing list to improve its functionality and syntax.
PHP 8.0 will not receive no major new features
The feature-freeze means the PHP 8.0 branch (soon to be branched in Git) will not receive any further major API changes. It's currently on Alpha 3 release, and future releases will only contain bug fixes and improvements to features that already made into PHP 8.0.
Attributes
The release-managers for PHP 8.0 has allowed an exception for the Attributes RFC. There is an on-going discussion to select a new syntax for Attributes (from @@Attr
, which was <<Attr>>
before).
No further planned deprecations
Each major PHP version typically comes with a list of functions and features that it deprecates. This is to streamline the standard PHP functions and get rid of functionality that do not belong to PHP core anymore, or are not supported by the maintainers.
PHP 8.0 comes with several deprecations, specially in its syntax. Due to the amount of changes involved, some of the planned deprecations are bumped to the next PHP version 8.1.
This includes the planned deprecations for:
strftime
,date_sunrise
,date_sunset
functionskey
/current
/next
/prev
/reset
function calls on objects as they are intended for array and iterable valuesfinfo_*
functions in favor of thefinfo
classget_class
/get_parent_class
/get_called_class
without arguments
PHP 8.0 beta
PHP 8.0 beta 1 is planned for August 08.