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.
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).
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.
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.
propel:build-filters task allows building filters for model elements, reducing the need to build Propel Criteria objects yourself.
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.
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
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:
project:deploytask 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.
Be sure to read already published information on:
Testing your symfony 1.2 and older applications.
The Bleeding Edge articles cover also many smaller changes that are trying to make developer life easier.
The fresh Whats New Tutorial does provide a condensed walkthrough through the technical details of everything that is new in 1.2.
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.
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.