If you follow the Symfony2 timeline, you might have noticed that the activity has been growing steadily in the last few weeks. This is mainly due to the fact that we have more and more developers involved in the project and together, we all tweak the framework in various ways. As of today, Symfony2 is the result of the hard work of more than 70 contributors according to Github.

But the time has come to stabilize the Symfony2 API. If we want to meet our deadlines, the release plan should look something like the following:

  • Last Preview Release: January 17st (later today!);
  • Hacking Days: February 5th-6th (in San Francisco and online);
  • First Release Candidate: February 6th;
  • Hacking Day: March 5th (in Paris and online);
  • 2.0 Final Release: March 5th.

Instead of working on everything in parallel in the coming weeks, and because Symfony2 is decoupled in many standalone components, I propose to stay focus and stabilize each part one after the other. Stabilizing Symfony2 means several things:

  • Validate the way the component works;

  • Add missing features or remove some features;

  • Test the component in a real-world scenario to validate the API and fix as many bugs as possible.

  • Add as many unit tests as possible;

  • Publish a stable public API that we will keep unchanged for all 2.x Symfony versions (this is a subset of the public methods);

Of course, the time it will take to stabilize a component depends on its size and complexity.

February 6th is the most important milestone for three main reasons:

  • Major backward incompatible changes can still occur until this date; if you think that something needs to be changed and if it breaks the current API, please consider writing an email to the dev mailing-list as soon as possible;

  • Major new features won't be included after this date and will be considered for a future 2.x version;

  • If an already implemented feature is flawed or does not work as it should, and if we cannot fix it before this date, it will be dropped (this is what we did to js/css helpers and Twig tags).

Three parts of the framework needs a special attention: Form/Validator, Security, and Doctrine bundles. So, the next three weeks will be dedicated to these components.

Here is a tentative schedule:

January 17-23:

  • Main focus: Security/HttpKernel(Security)
  • DependencyInjection
  • HttpKernel(Core)

January 24-30:

  • Main focus: Doctrine*Bundle
  • BrowserKit/CssSelector/DomCrawler
  • HttpFoundation
  • FrameworkBundle

January 31-February 6:

  • Main focus: Form/Validator/Locale
  • Routing
  • EventDispatcher
  • Templating / TwigBundle

As a reminder, here are the people responsible for each main part:

  • Doctrine bundles: Jonathan Wage and Benjamin Eberlei
  • Form/Validator components: Bernhard Schussek
  • Security component: Johannes Schmitt and myself

If you want to help us, consider reading the documentation about contributing.

Of course, that does not mean that we cannot work on something else during the next three weeks. It just means that it would be better if we can make the community work on the same things at the same time.

We will coordinate our efforts through the developer mailing-list and during the weekly IRC meeting on Thrusday (more information are published each week on the dev mailing-list).

Even if we will all work as hard as possible to release the 2.0 version on March 5th, there is still the possibility to postpone the final release if we think we won't be ready in time. This will mostly depend on how many people help us in the next couple of months.