People are getting nervous about the release of Symfony 2.1, and this post tries to give all the information I have at my disposal as of today.
First, I want to apologize for the lack of communication during the last few weeks, but I wanted to have a solid plan before taking any decision and before announcing anything official on this blog.
The discussion about the 2.1 release schedule started some time ago when I asked the community about the best plan for Symfony 2.1 on the developers mailing-list. I suggested two possible options back then:
Wait for the form component to stabilize before releasing Symfony 2.1;
Release 2.1 as soon as possible (by reverting some changes made on the form component -- and reintroduce them after the release).
The form component being one of the most used Symfony features and one that is not declared as stable yet, its state is very important to take into account before each release of the framework.
The plan I'm describing in this post has been taken thanks to the numerous comments (almost 80 as of now) on the mailing-list thread I've mentioned above. Thanks to all developers who contributed to the discussion.
So, based on the feedback from the community (the vast majority wanted to wait instead of releasing earlier), and after many discussions on the state of the form component with Bernhard and Victor, we chose recently that the only viable option was to wait for the form to stabilize for the following reasons:
The work needed to stabilize the form component is almost finished (all major backward compatibility breaks should be finished before Symfony Live in Paris);
Many bundles have adjusted to the form changes already, so reverting would have been a nightmare for these bundles;
Having less releases with backward compatibility breaks is better for the community (we have tried hard to keep BC whenever possible and to pack all major BC breaks for the form component in 2.1);
Documentation update would also have been more challenging as we would have to revert some doc changes as well if we had reverted some form changes;
Many blogs have already talked about the changes that occurred in forms for 2.1, so that would be confusing as well if we had reverted some of them.
Reverting all form changes to avoid some of the above issues was not even an option as some BC breaks were done to fix major bugs in the form component;
Composer is used everywhere in Symfony 2.1 and even if it has been much more stable for the last couple of weeks, waiting a bit more will help the transition a lot.
So, the release schedule for Symfony 2.1 reads as follows:
First 2.1 beta release after the hacking day at Symfony Live Paris (we will try to work hard during the hacking day to stabilize things and see how we can make the update easier -- if you have some big apps, please come and try to upgrade them with the help of Bernhard and other core team members, that will help us a lot);
First release candidate mid-July;
Final release at the end of August (releasing at the end of August means that Symfony 2.1 will be out just a year after Symfony 2.0).
What's next? After the Symfony 2.1 release, we would like to release more often. Having shorter release cycle means that we need less BC breaks. And as all the major BC breaks for the form components will have been made in 2.1, it will be much more easier to upgrade. So, expect a Symfony 2.2 release before the end of 2012.
Releasing new versions is great, but having a long term support release is even better. For Symfony 2.1, we have marked some features as deprecated because they have been replaced with something better. That makes Symfony 2.1 more compatible with applications developed for Symfony 2.0 (less hard BC breaks) and at the same time, it gives developers plenty of time to upgrade. As deprecated features will be removed in Symfony 2.3, the 2.3 version will be the first LTS release for Symfony2.
Last, but not the least, I want to talk a bit about how the Symfony community works. Like any other Open-Source project, Symfony is made by passionate developers and volunteers all around the world (more than 460 at the time of writing) and sometimes, some of the major contributors cannot dedicate as much time to the project as they would want. This has impacts on our the release cycle.
Of course, getting paid to contribute to an Open-Source project is probably the best way to ensure the best involvement on the long run, but that's pretty rare... I'm one of the few lucky ones to have this great status!
Today, I'm really happy to announce that SensioLabs has decided to give more free time to Victor Berchet so that he can dedicate more time to his work on the Symfony core; and SensioLabs has been sponsoring Bernhard Schussek's work on the form and validator components for the last couple of months and it will continue to do so for the foreseeable future.