ajf

Andrea Faulds

Contents

PHP RFC: PHP 5.7

Introduction

There is going to be a new major release of PHP, PHP 7, and we have agreed on a timeline for it. Because it is a major release that breaks backwards-compatibility in some areas, there have been calls to create a final minor release for the PHP 5.x line, PHP 5.7. Such a release would ease the transition from PHP 5 to PHP 7. Firstly, it would give users an extra year of official support for PHP 5. Secondly, it would allow us to add deprecation notices and pre-reserve keywords for things that will change or be added in PHP 7, in order to give users a chance to update their code.

Proposal

A final minor version of PHP 5 shall be made, PHP 5.7. Its feature freeze should coincide with that of PHP 7, however it will be released earlier (a year after the release of PHP 5.6, per the normal Release Process), in August 2015:

Proposed Milestones
Milestone Timeline Comment
1. Line up any remaining RFCs that target PHP 5.7 and PHP 7. Now - Mar 15 (4+ additional months) There are already two of these, the Make defining multiple default cases in a switch a syntax error RFC (accepted) and the Remove PHP 4 Constructors RFC (under discussion)
2. Finalize implementation & testing of changes. Mar 16 - Jun 15 (3 months)
3. Release Candidate (RC) cycles Jun 16 - Aug 15 (2 months)
4. GA/Release August 2015

Unlike normal PHP minor versions, no new features may be added to the PHP 5.7 release - any new features must go into PHP 7 instead. However, RFCs targeting PHP 7 may choose to add deprecation notices or other warnings to PHP 5.7, and pre-reserve new reserved words that will be used by PHP 7 features. Bug fixes will be allowed as usual.

References

Versions

Version Changed Date
0.2 Target August, allow reserved words
0.1 Initial version

Votes

An option needs 2/3 votes to win

Accept the PHP 5.7 RFC? (42.4% approved)
User Vote
aharvey Yes
ajf Yes
bwoebi Yes
daverandom Yes
derick No
dmitry No
francois No
fredemmott Yes
gwynne Yes
hywan No
irker Yes
jedibc Yes
jpauli No
kalle No
krakjoe No
laruence No
leigh No
levim Yes
lstrojny No
mbeccati No
mike No
nikic No
pajoye Yes
philstu Yes
rasmus No
remi Yes
rrichards No
salathe No
sixd No
stas No
thorstenr No
tyrael Yes
yunosh Yes