PHP 8.0 Reached Feature-Freeze

Published On04 Aug 2020

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 
How to fix `mysql_native_password` not loaded errors on MySQL 8.4

How to fix mysql_native_password not loaded errors on MySQL 8.4

How to fix the SQLSTATE[HY000] [1524] Plugin 'mysql_native_password' is not loaded errors caused in MySQL 8.4 no longer enabling the mysql_native_password plugin by default.
How to fix PHP Curl HTTPS Certificate Authority issues on Windows

How to fix PHP Curl HTTPS Certificate Authority issues on Windows

On Windows, HTTPS requests made with the Curl extension can fail because Curl has no root certificate list to validate the server certificates. This article discusses the secure and effective solutions, and highlights bad advice that can leave PHP applications insecure.
AEGIS Encryption with PHP Sodium Extension

AEGIS Encryption with PHP Sodium Extension

The Sodium extension in PHP 8.4 now supports AEGIS-128L and AEGIS256 Authenticated Encryption ciphers. They are significantly faster than AES-GCM and CHACHA20-POLY1305. This article benchmarks them and explains how to securely encrypt and decrypt data using AEGIS-128L and AEGIS256 on PHP.
Subscribe to PHP.Watch newsletter for monthly updates

You will receive an email on last Wednesday 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.