PHP 8.0 Reached Feature-Freeze

Published On2020-08-04

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 functions
  • key/current/next/prev/reset function calls on objects as they are intended for array and iterable values
  • finfo_* functions in favor of the finfo class
  • get_class/get_parent_class/get_called_class without arguments

PHP 8.0 beta

PHP 8.0 beta 1 is planned for August 08.

Recent Articles on PHP.Watch

All ArticlesFeed
GitAttributes for PHP Composer Projects

GitAttributes for PHP Composer Projects

How to use a `.gitattributes` file to reduce the package size of Composer packages.
Performance Impact of PHP Exceptions

Performance Impact of PHP Exceptions

A benchmark on the performance cost of throwing and handling PHP exceptions
Private Composer Repositories with GitLab

Private Composer Repositories with GitLab

How to create a private Composer repository with GitLab Package Registry.
Subscribe to PHP.Watch newsletter for monthly updates

You will receive an email on last Saturday of every month and on major PHP releases with new articles related to PHP, upcoming changes, new features and what's changing in the language. No marketing emails, no selling of your contacts, no click-tracking, and one-click instant unsubscribe from any email you receive.