SQLAlchemy 0.6.9, a maintenance release of the 0.6 branch, is now available.
The 0.6 series has not seen a release since 0.6.8 was released nearly a year ago. During that time, the 0.7 series has gone through over six releases, gaining many new features and bug fixes. A portion of these fixes have been backported to 0.6 since 0.6.8, including twelve ORM fixes, so 0.6.9 is an effort to make these fixes widely available to those installations who have not yet upgraded to 0.7. The release coincides at the same time as release 0.7.7, which is also fast approaching maintenance-only mode with 0.8 now well underway and close to initial beta releases. Care has been taken in 0.6.9 to minimize as much as possible the potential for backwards-incompatibilities with existing code, which sometimes can occur if an application is unknowingly relying upon a buggy behavior that is then fixed. So while 0.6.9 is a very conservative release, it does still represent changes over a year's time; users are strongly urged to carefully review the CHANGES file to see exactly what's been adjusted, and to test it fully in their existing 0.6 applications before promoting it to production. Download SQLAlchemy 0.6.9 at: http://www.sqlalchemy.org/download.html 0.6.9 ===== - general - Adjusted the "importlater" mechanism, which is used internally to resolve import cycles, such that the usage of __import__ is completed when the import of sqlalchemy or sqlalchemy.orm is done, thereby avoiding any usage of __import__ after the application starts new threads, fixes [ticket:2279]. - orm - Fixed bug whereby the source clause used by query.join() would be inconsistent if against a column expression that combined multiple entities together. [ticket:2197] - [bug] fixed inappropriate evaluation of user-mapped object in a boolean context within query.get() [ticket:2310]. - Fixed bug apparent only in Python 3 whereby sorting of persistent + pending objects during flush would produce an illegal comparison, if the persistent object primary key is not a single integer. [ticket:2228] - Fixed bug where query.join() + aliased=True from a joined-inh structure to itself on relationship() with join condition on the child table would convert the lead entity into the joined one inappropriately. [ticket:2234] - Fixed bug whereby mapper.order_by attribute would be ignored in the "inner" query within a subquery eager load. [ticket:2287]. - Fixed bug whereby if a mapped class redefined __hash__() or __eq__() to something non-standard, which is a supported use case as SQLA should never consult these, the methods would be consulted if the class was part of a "composite" (i.e. non-single-entity) result set. [ticket:2215] - Fixed subtle bug that caused SQL to blow up if: column_property() against subquery + joinedload + LIMIT + order by the column property() occurred. [ticket:2188]. - The join condition produced by with_parent as well as when using a "dynamic" relationship against a parent will generate unique bindparams, rather than incorrectly repeating the same bindparam. [ticket:2207]. - Repaired the "no statement condition" assertion in Query which would attempt to raise if a generative method were called after from_statement() were called. [ticket:2199]. - Cls.column.collate("some collation") now works. [ticket:1776] - [bug] Fixed the error formatting raised when a tuple is inadvertently passed to session.query() [ticket:2297]. - engine - Backported the fix for [ticket:2317] introduced in 0.7.4, which ensures that the connection is in a valid state before attempting to call rollback()/prepare()/release() on savepoint and two-phase transactions. - sql - Fixed two subtle bugs involving column correspondence in a selectable, one with the same labeled subquery repeated, the other when the label has been "grouped" and loses itself. Affects [ticket:2188]. - Fixed bug whereby "warn on unicode" flag would get set for the String type when used with certain dialects. This bug is not in 0.7. - Fixed bug whereby with_only_columns() method of Select would fail if a selectable were passed. [ticket:2270]. However, the FROM behavior is still incorrect here, so you need 0.7 in any case for this use case to be usable. - schema - Added an informative error message when ForeignKeyConstraint refers to a column name in the parent that is not found. - postgresql - Fixed bug related to [ticket:2141] whereby the same modified index behavior in PG 9 affected primary key reflection on a renamed column. [ticket:2291]. - mysql - Fixed OurSQL dialect to use ansi-neutral quote symbol "'" for XA commands instead of '"'. [ticket:2186]. - a CREATE TABLE will put the COLLATE option after CHARSET, which appears to be part of MySQL's arbitrary rules regarding if it will actually work or not. [ticket:2225] - mssql - [bug] Decode incoming values when retrieving list of index names and the names of columns within those indexes. [ticket:2269] - oracle - Added ORA-00028 to disconnect codes, use cx_oracle _Error.code to get at the code, [ticket:2200]. - repaired the oracle.RAW type which did not generate the correct DDL. [ticket:2220] - added CURRENT to reserved word list. [ticket:2212] - examples - Adjusted dictlike-polymorphic.py example to apply the CAST such that it works on PG, other databases. [ticket:2266] -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.