News and Updates

SQLAlchemy 0.8.0b1 Released
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
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.

SQLAlchemy 0.7.8 Released
permalink

SQLAlchemy 0.7.8 is released. This is a maintenance release containing significant bug fixes applied to both the 0.7 and 0.8 SQLAlchemy series.

Significant issues resolved include a memory leak identified when the C extensions were installed in conjunction with usage of the Pyodbc DBAPI driver, and possibly other drivers that use a custom non-tuple for result rows; as well as a Python 3 issue where the execute() method of Engine and Connection would not interpret positional arguments correctly. Users who are using the Pyodbc driver in conjunction with the C extensions on any platform are encouraged to upgrade.

There's also a new dialect added that should allow usage of the new MySQL service provided by Google App Engine.

Overall, 0.7.8 has few changes versus 0.7.7, particularly within the ORM component, save for a few fixes. Users are advised to fully test existing applications before upgrading in any case.

For a full list of changes including all bug fixes, see CHANGES.

Download SQLAlchemy 0.7.8 on the download page.

Architecture of Open Source Applications, Volume II Now Available
permalink

I'm very pleased to announce that The Architecture of Open Source Applications, Volume II is now available. The AOSA volumes feature in-depth discussions of various open source applications, including Berkeley DB, Sendmail, and Git. Volume II includes my own contributed chapter which I wrote over the course of many weeks last year.

In my chapter, SQLAlchemy, I cover from a software development perspective how the various pieces of SQLAlchemy were conceived and how they fit together. The history of major architectural decisions as well as influencing software are also discussed. Users of SQLAlchemy are encouraged to gain a deeper perspective over how SQLAlchemy came to be the way it is by reading this chapter.

I highly recommend purchasing the book directly from Lulu.com. When purchasing from Lulu, all royalties are donated to Amnesty International. The full text of the book is also available for free on the website directly.

SQLAlchemy 0.7.7 Released
permalink

SQLAlchemy 0.7.7 is now available. This is the first release of the 0.7 series subsequent to the promotion of the 0.8 series to trunk. It nearly two dozen bug fixes and features, including some significant ORM issues that have been resolved.

Development is now proceeding with the 0.8 series, which begins to push 0.7 into maintenance mode. Bug fixes and some features are being backported to 0.7 as is possible. The 0.6 series also launches 0.6.9 at the same time as 0.7.7, in an effort to "push out" all the pending fixes for both the 0.6 and 0.7 series, so that development on 0.8 can continue.

While changes from 0.7.6 to 0.7.7 are intended to be fully backwards compatible, existing installations running on 0.7 should refer to the CHANGES file to determine if and how they may be impacted by the fixes in 0.7.7 before upgrading, and users are advised to fully test their applications against 0.7.7 before promoting to production.

For a full list of changes including all bug fixes, see CHANGES.

Download SQLAlchemy 0.7.7 on the download page.