News and Updates
SQLAlchemy 0.8.1 Released
SQLAlchemy release 0.8.1 is now available.
This is a bugfix release which resolves many issues, some of which appeared in 0.8.0 as regressions and many more that affect all versions.
Major issues resolved include a significant rework to the Query.join() method, as well as a major fix to an issue regarding overlapping column labels affecting primarily the ORM. In total, there are 27 bug fixes listed in the Changelog. We'd like to thank the many contributors who helped with this release.
SQLAlchemy 0.8.1 is available on the Download Page.
SQLAlchemy 0.8.0 Released
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
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
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
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.