April 10, 2015 Fabien Potencier

Symfony 2.7 beta1 is going to be released later today and it is going to be the next LTS (Long-Term-Support release). People still on Symfony 2.3 have a year (until May 2016) to upgrade to Symfony 2.7.

Symfony 2.7 is a special release. Even if it comes with more than 100 new features (big and small), a lot of work was done on the deprecation notices framework. These notices help you easily upgrade to Symfony 3.0 starting today, and they also ensure that everything works as expected in the core framework: compatibility between Symfony 2.7 and 3.0 where applicable, no usage of deprecated features in the core framework, ...

As I already explained a few months ago, the 3.0 version is a semantic version bump. 3.0 is allowed to break backward compatibility; but not by adding new features or by breaking compatibility; Symfony 3.0 breaks backward compatibility because the compatibility layer introduced in all 2.x versions will be removed. So, all new features from 3.0 were introduced in 2.x versions already. And because 2.7 is feature-freezed now, it means that all features for 3.0 are already known and we cannot deprecate anything anymore... and that's a problem. Because all the work done in 3.0 won't have an easy upgrade path anymore starting from today. Of course there is a solution.

I've talked with a lot of people about the best solution to address this problem and I came up with a simple and efficient solution: the need for a Symfony 2.8 version. This version will work as any other 2.x versions, we will be able to add new features, deprecated other ones, and provide a good upgrade path to Symfony 3.0.

Symfony 2.8 will be released in November 2015 at the same time as Symfony 3.0. Symfony 2.8 is going to be a LTS release as well to allow people to still have a year to upgrade from 2.8 to 3.2 when it comes out (3.2 being the next LTS release and the first one of the 3.x branch).

Let me recap: