News and Updates

SQLAlchemy 1.0.5 Released


SQLAlchemy release 1.0.5 is now available.

Release 1.0.5 is mostly a bugfix release, in particular repairing some issues with MutableType as well as improving support for Postgresql under Pypy.

It also has an improvement to the SQL Server dialect which removes an old legacy system of attempting to rewrite SQL statements that include a schema qualifier; the system remains in place by default for the 1.0 series, however can be disabled using a new create_engine() flag. As the flag will most likely be reversed in the 1.1 series, a warning is emitted when schema-qualified tables are used without a true/false setting for this flag. SQL Server applications that use remote schemas will want to begin experimenting with disabling this behavior in preparation for it being disabled by default.

Changelog for 1.0.5 is at:


SQLAlchemy 1.0.5 is available on the Download Page.

SQLAlchemy 1.0.4 Released


SQLAlchemy release 1.0.4 is now available.

With release 1.0.4 we are pretty much through all the bumps we had in the 0.9 to 1.0 movement. Four additional very minor regressions are solved in this release. Most prominently, another issue regarding recent enhancements to the Query.column_descriptions collection, also slated for release in 0.9.10, was fixed.

Changelog for 1.0.4 is at:


SQLAlchemy 1.0.4 is available on the Download Page.

SQLAlchemy 1.0.3 Released


SQLAlchemy release 1.0.3 is now available.

Release 1.0.3 is the latest in a series of weekly releases intended to quickly address remaining small regressions that have come up since the 1.0.0 release. One fairly serious unit-of-work regression regarding SQL expressions is fixed, the new behavior regarding textual expressions with "ORDER BY" has been scaled back a bit to better suit now-deprecated use cases, a little-used ORM event hook was repaired as it prevented the SQLSoup package from working, and the metadata "on create/on drop" events experienced a format change in one of the lesser used arguments being passed, which was reverted to its previous form.

The release also includes a few additional bug fixes and a series of new features within the connection pool / dialect system to allow for better visibility and customization of the connectivity process.

Changelog for 1.0.3 is at:


SQLAlchemy 1.0.3 is available on the Download Page.

SQLAlchemy 1.0.2 Released


SQLAlchemy release 1.0.2 is now available.

As additional regressions are still being reported, we would like to get these changes out as fast as possible so that early adopters are working on a 1.0 version that is most representative of what its final form will be. 1.0.2 includes two additional fixes, one of which was particularly thorny in that it was already "fixed" in 1.0.0b4, but was not fixed correctly, regarding the placement of plain label names in GROUP BY expressions; so the incorrect fix is reverted and the original regression from 0.9 is resolved as well.

Changelog for 1.0.2 is at:


SQLAlchemy 1.0.2 is available on the Download Page.

SQLAlchemy 1.0.1 Released


SQLAlchemy release 1.0.1 is now available.

This is a quick bug-fix release that repairs several new regressions identified in the 1.0.0 release, not found during the beta period. All users of 1.0.0 are encouraged to upgrade to 1.0.1.

Key elements of this release include fixes regarding the NEVER_SET symbol leaking into queries in some cases, fixes to SQLite when using DDL in conjunction with referential integrity enabled, a fix to the EXISTS construct which primarily impacts queries that use special datatypes, and repairs to the Firebird dialect regarding the new LIMIT/OFFSET features.

In order to accommodate some of these fixes, there are three additional behavioral changes in 1.0.1; a new warning is emitted when using DDL with SQLite in conjunction with mutually-dependent foreign keys (e.g. a reference cycle), a new warning is emitted when running ORM relationship comparisons when the target object contains the value None for any of the Python-side column values, and a change is made regarding which data values are used within a relationship comparison that uses the != operator, in order to make the behavior consistent with that of the == operator as used in the same context. The migration notes contains updates for all three of these changes, and they are each linked directly from the changelog which should be carefully reviewed.

Changelog for 1.0.1 is at:


SQLAlchemy 1.0.1 is available on the Download Page.