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.

Reply via email to