As the release manager of symfony 1.2, I have the pleasure to announce that we released the symfony 1.2 beta today. Head for the installation page to obtain information on how to download this release.

This post will introduce you to the main features we had planned for this release. This beta release is the first step in the direction of a stable symfony 1.2 release. Most likely we will do one or two betas during November, bringing you a release candidate (RC) and the final version of symfony 1.2 still this year. During the beta state, we try to keep API and functionality changes limited, fill some remaining gaps and fix bugs. For the RC then we will then only fix major bugs left.

1.2 may sound like a minor release, but we've actually stuffed in quite a few upgrades. Our focus was on the Forms and ORM, which combined result in the new Admin Generator. Secondary focus was to streamline the symfony API, and allowing a better foundation for plugins. As you can see this is a natural continuation of the strategy we took when building 1.1.

How to Upgrade

Please read the Upgrade from 1.1 to 1.2 documentation for details on the upgrade procedure. If you are running symfony 1.0 still and want to upgrade, you need to upgrade to 1.1 first. Of course there is documentation for this available as well.

Major Changes

New Admin Generator

The main feature of symfony 1.2 is the new Admin Generator. Based on the symfony 1.1 object oriented forms, it is a really nice piece you really want to try out. Despite its infancy, we have already updated the symfony book, and Fabien has already posted some information on it yesterday.

Also, thanks to the symfony community, symfony 1.2 admin generator will ship by default with plenty translations (18 and counting by now).

Forms

With the Admin Generator being a really heavyweight customer to the new Form Framework, it showed its strengths and weaknesses. Also a lot user feedback was taken into account, making the Form Framework even more suitable to all your needs.

Routing

Also a big contributor to the new Admin Generator was the new Object Routing Framework. I basically believe this is based on one of my ideas, but I am for sure not the only one having such ideas :-). It allows one to define routes that are executing REST actions on specific database model objects. It is really a pretty cool thing that can reduce code obtaining objects in actions greatly, making code leaner and less likely to be buggy.

Filters

The new propel:build-filters task allows building filters for model elements, reducing the need to build Propel Criteria objects yourself.

Propel

As the most important update for many, Propel has been bumped to version 1.3. The integration has been improved, so for example the connection string from propel.ini is no longer used but the database.yml instead. More love was spent on propel to make the integration even more user friendly.

Doctrine

Well, Propel got some love, but as a really big step, Doctrine became a first class citizen. This was enabled by moving Propel into a plugin, so you can already sense what we are going after by moving Prototype and Scriptaculous into the sfProtoculous core plugin. The Doctrine version of the Admin Generator is not available in this beta release, but we will work on it, so that it gets then included in the 1.2

PHP 5.2

As of symfony 1.2, the minimum PHP version requirement has been increased to 5.2.4. This allowed us to remove some hacks wasting performance and making code ugly.

What did not make it

With setting a release date for the first version of symfony 1.2 we gave timeboxing a try. This means that the time is fixed (okay, pretty much fixed) but content will be dropped from the release that did not make it:

  • The project:deploy task will be enhanced to a proper deployment task.
  • Propel migrations are under development in the sfPropelPlugin's migration branch. Look for it in symfony 1.3.

There is sill a chance that our Swift core plugin will be in 1.2. The decision on that is still open.

Read More

Be sure to read already published information on:

Ticket Status

For those curious about tickets related to the admin generator, there is a List on the Symfony New Admin Generator Wiki Page that tries to keep track of all tickets related to admin generator.

There are still many other tickets related to 1.2. As part of our release process we will now start to tackle them more aggressively. But already up today, we have fixed 80 tickets targeted for 1.2.

And in case you are interested, here is the log of all commits to the 1.2 branch.

Contribute

As always we are very open to contributions. Either translations, tickets, test cases and full blown patches. Patches for any known issues (see above) are very much appreciated. Even when you don't want or feel able to contribute to the core there is much that can be done with plugins. Kris will host the Plugin Developers Day on November 8th, and we really would like to see you there.