After more that two years of development, the Propel team has released Propel 1.3 yesterday. This is a great achievement as Propel 1.3 sports a lot a new exciting features. Here are some major features available in this version:
- PDO: Propel 1.3 uses PDO to connect to the database which means that everything will be much faster than before.
- Object Instance Pooling: For a given primary key, only one object instance will ever exist even with several calls to
doSelect*()(it's not an Identity Map because the database request is still needed).
- Date Handling: The support has been improved by using the PHP 5.2 built-in
DateTimeclass, which also means that Propel 1.3 supports pre/post Epoch dates natively.
- Default Values: You can now use expressions (like
CURRENT_TIMESTAMP) for default values in your database schema.
- and also native support for One-to-One Relationships, Master-Slave connections, Identifier Quoting, Nested Sets, and much more...
Propel 1.3 and symfony 1.2
This is also a great news for symfony as Propel 1.3 will be the default version of Propel bundled with symfony 1.2. Dustin has already upgraded symfony 1.2 to use Propel 1.3. If you can't switch to Propel 1.3 for whatever reason, you will still be able to use Propel 1.2 by installing the sfPropelPlugin.
Dustin will update the
UPGRADE_TO_1_2 file in the coming days to highlight the changes you need to do to upgrade to Propel 1.3, but you can start today by reading the excellent upgrade page on the Propel wiki.
As symfony 1.2 is now in active development, the 1.2 branch may be a bit unstable over the next few weeks.
Doctrine 1.0 and symfony 1.2
As announced in the symfony 1.2 roadmap, Doctrine 1.0 will be officially supported and the sfDoctrinePlugin will be bundled with symfony 1.2. Doctrine 1.0 beta1 has been released two weeks ago and the Doctrine team will release Doctrine 1.0 final on September 1st.
I have another great news for the Doctrine community and the symfony community. Jonathan Wage, the lead developer of Doctrine, will start working full-time for Sensio Labs on September 1st. He will spend most of his time working on Doctrine and helping us with the official integration of Doctrine with sfDoctrinePlugin.