News and Updates
SQLAlchemy 0.8.0 Released
March 09, 2013 permalink
SQLAlchemy release 0.8.0 final is now available.
This release now sets 0.8 as the official production series of SQLAlchemy, following two beta releases.
Version 0.8 marks the most consistent, extensible and performant version of SQLAlchemy to date. The development cycle for 0.8 has been particularly long, starting in April of 2012 with a rewrite of the internals of the relationship() construct, followed by the addition of a significant amount of new functionality regarding "polymorphic" querying, and later into a major upgrade to the typing system, including an extensible operator system and type-specific SQL expression support.
Some major new features include:
- New Relationship Features
- New Polymorphic Features - with_polymorphic() and of_type()
- New Runtime Inspection System
- Extensible Operator System
- HSTORE Support
In addition, a new API for external dialects, along with an associated test suite, allows third-party dialects to be organized and tested in a consistent manner. Several new or updated SQLAlchemy dialects make use of this system, most notably an all new version of IBM DB2 for SQLAlchemy as well as sqlalchemy-akiban.
Beyond the major new additions, SQLAlchemy internals and tests continue to be improved and simplified. Long functions and classes have been broken out into compositions of small functions, which are easier to understand as well as to unit test; tests themselves are being moved from long lists of assertions within a single test into small units each containing a single assertion, with an emphasis on testing smaller units of functionality more exhaustively. The test suite has now surpassed 5000 individual tests, which are run via continuous integration against a variety of Python platforms and DBAPI implementations using on-demand Amazon EC2 instances. Coverage is also high: sqlalchemy.orm is at 95%, sqlalchemy.sql is at 94%, sqlalchemy.ext.declarative is at 99%.
For a full overview of major features and behavioral changes in SQLAlchemy, refer to the What's New? document. For a detailed list of changes in 0.8 and throughout the 0.8 series, refer to the Changelog.
SQLAlchemy 0.8.0 is available for download on the Download Page.
SQLAlchemy 0.7.10 Released
February 07, 2013 permalink
SQLAlchemy 0.7.10 is now available.
This is a bugfix release, sending out a series of fixes that have accumulated as version 0.8.0's release is imminent.
Fixes in this version include issues related to the Oracle, SQL Server, MySQL, and Google App Engine dialects, as well as a few schema related and ORM related fixes.
Full changelog is available at 0.7.10 Changelog.
Download SQLAlchemy 0.7.10 on the download page.
SQLAlchemy 0.8.0b2 Released
December 14, 2012 permalink
The second beta release of the 0.8 series is now released.
This release fixes some regressions found in 0.8.0b1 and improves upon some of what's new in 0.8. In particular, a second rework of the "pathing" mechanics which relate loader strategies to entity paths allows for more elaborate "polymorphic" loading schemes than before. The Postgresql HSTORE type has now been added fully to the Postgresql dialect, and there are many dialect-specific fixes including several for Oracle.
It is hoped that 0.8.0b2 will be the last beta before 0.8, and to encourage more user testing, the release is available on Pypi. Applications which absolutely need to stay on 0.7 should tag their requirements to "SQLAlchemy < 0.8" to prevent inadvertent installs of 0.8.
Users new to 0.8 should start by reading the What's New in 0.8 document, which introduces major new features as well as areas where applications may experience a behavioral change. The 0.8.0b2 Changelog will enumerate most changes in detail.
Download SQLAlchemy 0.8.0b2 on the download page.
SQLAlchemy 0.8.0b1 Released
October 30, 2012 permalink
The first beta release of the SQLAlchemy 0.8 series, 0.8.0b1, is released for developer evaluation.
0.8 represents the latest series of refinements to the SQLAlchemy Core and ORM libraries and features over 100 individual changes, consisting of major new features, bug fixes, and other enhancements. There are also major refactorings present in both the library and the test suite intended to improve maintainability, performance, and compability with future enhancements and external projects.
The purpose of the beta releases is to give a wide range of developers a chance to evaluate the new version against existing applications, and to alert the SQLAlchemy team of any regressions or major upgrade issues being experienced. Each major release of SQLAlchemy includes a wide array of planned but backwards-incompatible changes, including the removal of deprecated features, as well as bug fixes which change behaviors that some applications may have been relying upon.
Among many changes include improvements to the documentation system. The changelog and migration guides for SQLAlchemy are now integrated with the Sphinx documentation, where they can refer to each other as well as the rest of the SQLAlchemy documentation.
Users should start by reading the What's New in 0.8 document, which introduces major new features as well as areas where applications may experience a behavioral change. The 0.8.0b1 Changelog will enumerate most changes in detail.
Download SQLAlchemy 0.8.0b1 on the download page.
SQLAlchemy 0.7.9 Released
October 01, 2012 permalink
SQLAlchemy 0.7.9 is released. This is a maintenance release primarily containing bug fixes applied to both the 0.7 and 0.8 SQLAlchemy series.
0.7.9 includes some adjustments that will also be present in 0.8, including changes to the event-dispatch system which dramatically reduce the amount of memory used. There are also several fixes related to the relatively new common table expression (CTE) construct.
Other fixes include small bugs present in components such as the ORM, SQL generation system, and various dialect-specific bugs. 0.7.9 also has updates to its unit test system which were backported from 0.8.
The 0.8 series, which includes a long list of new features and improvements, is more or less ready for initial beta releases, and will be available for download within the coming weeks.
For a full list of changes, see CHANGES.
Download SQLAlchemy 0.7.9 on the download page.