As symfony 1.1 is now out of the door, it's time to talk about the next symfony version.

1.1 was a very special version for the symfony framework. As you might know, we have done a lot of work on the internal refactoring. This was needed to ease the evolution of the framework.

As this refactoring is now behind us, we can focus again on new exciting features that will ease the developer life by simplifying its day-to-day job.

Planned features

So, without further ado, here is the list of new features planned for symfony 1.2:

  • The admin generator will be rewritten from scratch to leverage the new form framework. The main goal is to provide a more customizable and a more flexible admin generator.

  • The Propel plugin and the Doctrine plugin will be bundled with symfony 1.2. So, as of symfony 1.2, the core team will officially support Doctrine as a first class citizen.

  • The development of secure applications has always been quite easy with symfony thanks to the use of the ORM, the output escaper, and the CSRF protection. Symfony 1.2 will go one step further by providing native input filtering. We will base this feature on the new filter extension bundled with PHP 5.2.

  • The framework must simplify the life of the developer on repetitive and boring activities. As most applications send emails, the Swift library, one of the most feature-full and flexible solution for sending emails in PHP, will be integrated into the core.

  • The JavaScript world evolves very quickly, with lot of great frameworks available (prototype, jQuery, Dojo, mootools, and YUI). As we don't want to force you to use a specific library, we will move all the JavaScript stuff into a plugin.

  • The project:deploy task was just a proof of concept. So, it is time to start a discussion on the features we need for a proper deployment task.

  • We will also take advantage of the new features of PHP 5.2, which will be the minimum version of PHP required to use symfony.

That's a lot of exiting stuff! Apart from the main features planned for 1.2, we will of course also have some minor new features and enhancements.

Release management

As more people join the core team, we must have a better and more transparent management process. So, 1.2 will introduce a new way of managing the symfony release lifecycle. The symfony 1.2 release will be date-driven. The release date is already set to October 2008. Yes, in just four months. To make it possible, each feature will be driven by a member of the core team:

  • Fabien Potencier: New admin generator
  • Dustin Whittle: Upgrade to Propel 1.3
  • Jonathan Wage: Doctrine integration
  • Tristan Rivoallan: Input filtering
  • Nicolas Perriault: Integration of Swift
  • Fabian Lange: Make a plugin out of all the JavaScript stuff
  • Tristan/Dustin: New project:deploy task
  • Dustin Whittle: Removal of the 1.0 compatibility plugin (sfCompatPlugin)

Among all these features, only the admin generator is a must-have. All other features are nice-to-have. The process will be the following:

  • Each feature is developed in its own branch
  • Before the release of the first 1.2 Release Candidate, the release manager will have two possibilities for each feature:

    • Merge it into the 1.2 branch (the feature must be feature complete, tested, and the documentation must be updated)
    • Postponed until the next symfony release

So, the release manager will have the last word on which features can be merged back into the 1.2 branch. I'm pretty happy that Fabian Lange will take on the responsibility of being the release manager for 1.2. He knows symfony very well, and he has already done a tremendous amount of work on the symfony 1.0 and 1.1 versions. I'm sure he will be a great release manager.