News and Updates
SQLAlchemy 0.7.2 Released
July 31, 2011 permalink
SQLAlchemy release 0.7.2 is now available. This release contains many bugfixes for bugs present in both the 0.6 and 0.7 series, as well as some 0.7 only fixes and a few new features.
0.7.2 includes behavioral enhancements to joined- and subquery-eager loading, a new feature to the typing system called with_variant() which allows a single type to act as a different type on selected backends, and improved string displays for several kinds of exceptions. The documentation has also been improved for clarity in many areas.
More features and documentation improvements are on the way for 0.7.3, including some new Declarative features. The current focus of development is on fully standardizing SQLAlchemy documentation and usage patterns on Declarative, with most direct usage of the mapper() function intended for special cases and custom ORM configurational layers, created either in-house or as part of external open source extension layers.
The full changelog for version 0.7.2 is at CHANGES.
For a full description of version 0.7 of SQLAlchemy including migration information, see What's New in SQLAlchemy 0.7?.
Download SQLAlchemy 0.7.2 on the download page.
SQLAlchemy for Django Users
July 20, 2011 permalink
Armin Ronacher introduces SQLAlchemy to the Django community in his latest post SQLAlchemy and You, a gentle introduction to the differences in philosophy between the SQLAlchemy and Django ORMs, with a good deal of specifics.
Armin is the creator of Flask, a fast-growing web framework that places an emphasis on the SQLAlchemy ORM for relational database usage.
SQLAlchemy 0.7.1 Released
June 05, 2011 permalink
SQLAlchemy release 0.7.1 is now available. This is a relatively small bugfix release for the new 0.7 series.
The release includes a workaround for a C compilation issue on 64-bit Windows systems, and a variety of other fixes. It also includes a new feature, in that the restriction on "delete-orphan" cascade for self-referential relationships has been lifted.
The full changelog for version 0.7.1 is at CHANGES.
For a full description of version 0.7 of SQLAlchemy including migration information, see What's New in SQLAlchemy 0.7?.
Download SQLAlchemy 0.7.1 on the download page.
SQLAlchemy 0.6.8 Released
June 05, 2011 permalink
SQLAlchemy release 0.6.8 is now available. This is a maintenance release for the 0.6 series - the current series of SQLAlchemy is 0.7.
The release includes a series of bugfixes, as well as a backport of 0.7's identity map implementation which fixes some stability issues.
The full changelog for version 0.6.8 is at CHANGES.
For a full description of version 0.6 of SQLAlchemy including migration information, see What's New in SQLAlchemy 0.6?.
Download SQLAlchemy 0.6.8 on the download page.
SQLAlchemy 0.7.0 Released
May 20, 2011 permalink
The SQLAlchemy project is pleased to announce version 0.7.0 of SQLAlchemy, the first production release within the 0.7 series. 0.7 represents the past year's worth of development, streamlining APIs, adding new features, solidifying the core and improving performance. Key highlights of version 0.7 include:
- New event system applies a consistent and flexible approach to the task of extending SQLAlchemy, both within the core and the ORM. The previous system of ad-hoc "extension" and "listener" classes is replaced by a single function event.listen() which can apply listeners to a wide variety of hooks. Read more at Intro to events.
- A new extension allows easy creation of "hybrid" attributes, attributes that provide Python expression behavior at the instance level and SQL expression behavior at the declarative (class) level. Read more at Hybrid Attributes.
- A new system of building so-called "mutable" attributes, column-mapped values which can change their value in-place. Detection of changes now uses change events and solves the previous issue of full unit-of-work scans for such attributes. Read more at Mutable Scalars.
- Major speed improvements, including batching of INSERT statements when possible, greatly reduced codepaths for many key operations. Check out the RunSnakeRun diagrams at A Tale of Three Profiles.
- C extensions, battle tested after a year of use in 0.6, now build by default on install for CPython platforms.
- Pypy is fully supported.
- Dialect support for Psycopg2 on Python 3, Drizzle, pymysql added.
- Documentation and example updates, including a modernized, declarative version of polymorphic associations.
- Many, many core and ORM behavioral improvements. See the almost-full list at 07Migration.
Thanks to everyone who's contributed via code, bug reports, infrastructure support, production testing. SQLAlchemy 0.7.0 is available on the download page.