News and Updates

SQLAlchemy 1.0.14 Released

permalink

SQLAlchemy release 1.0.14 is now available.

This is the latest release in the 1.0 series which includes a variety of bug fixes that have accumulated since the last 1.0 release. This release happens to only feature Core and dialect level changes; none are ORM specific. All applicable fixes here are also in the 1.1 series, most of which are already released as of 1.1.0b2. As the 1.1 series moves towards final release, the 1.0 series will move into "maintenance" mode with very few additional changes being made.

Users should review the changelog for 1.0.14 at Changelog; we'd like to thank the many contributors who helped with this release.

SQLAlchemy 1.0.14 is available on the Download Page.

SQLAlchemy 1.1.0b2 Released

permalink

SQLAlchemy release 1.1.0b2 is now available.

A few small issues were reported with 1.1.0b1 which are resolved here. Assuming things remain fairly quiet during the beta releases, 1.1.0 final will be released in the coming weeks. Typically, a lot more regressions are reported once the beta stage is left as that's when the general population starts using the release.

Users should carefully review the What's New in SQLAlchemy 1.1? document as well as the Changelog to note which behaviors and issues are affected. We'd like to thank the many contributors who helped with this release.

SQLAlchemy 1.1.0b2 is available on the Download Page.

SQLAlchemy 1.1.0b1 Released

permalink

SQLAlchemy release 1.1.0b1 is now available.

This is the first beta release in the new 1.1 series of SQLAlchemy. Users are encouraged to ensure that their pip installations are up-to-date, so that version 1.1.0b1 will only install if explcitly specified using the --pre flag.

The 1.1 series includes a wide variety of enhancements and behavioral improvements across all areas, including Core, ORM and dialects. In particular, the 1.1 series has an especially long list of new capabilities targeted at the Postgresql database. This is largely thanks to a much larger volume of user contributions to the codebase this time around, as well as a focus on Postgresql overall as this platform continues to add new features at a very high rate.

Key highlights of version 1.1 include:

  • Sesion lifecycle events - Within the ORM, the entire Session lifecycle is now trackable via events on a per-object basis, allowing code to be notified when objects are added to sessions, when they become persistent, detached, deleted, etc.
  • CTE support for INSERT, UPDATE, DELETE - Common table expressions are now fully compatible with INSERT, UPDATE and DELETE expressions, as is most commonly used with Postgresql.
  • JSON / ARRAY Support in Core, MySQL JSON - The Postgresql JSON and ARRAY types are greatly enhanced, and are built on top of Core versions of these constructs that work generically without the need to import special Postgresql datatypes. The JSON type in particular also works on newer MySQL versions (as of version 5.7) and provides some degree of behavioral parity vs. the Postgresql version.
  • Support for LATERAL, TABLESAMPLE, WITHIN GROUP - among a number of newly supported SQL standard constructs are these widely requested SQL constructs, all supported by the Postgresql backend.
  • Support for INSERT..ON CONFLICT - SQLAlchemy's first foray into the realm of "upserts" is provided via Postgresql 9.5's "INSERT..ON CONFLICT" syntax, now fully supported using a Postgresql specific version of the insert() function.
  • Result set improvements - the internal mechanics of result sets are further enhanced to take more advantage of positional column targeting, that is, matching up columns from a SQL expression object to the result row itself based on the known position in the row, rather than through matching string names. This improves both the resiliency of the result set system (much fewer "can't find column X in row" types of errors) as well as its performance.

Users should carefully review the What's New in SQLAlchemy 1.1? document as well as the Changelog to note which behaviors and issues are affected. We'd like to thank the many contributors who helped with this release.

SQLAlchemy 1.1.0b1 is available on the Download Page.

SQLAlchemy 1.0.13 Released

permalink

SQLAlchemy release 1.0.13 is now available.

Release 1.0.13 fixes a variety of issues targeted at the 1.0 series that have been resolved over the past several weeks. Fixes include small issues repaired in the ORM, Core, Postgresql, Oracle, SQL Server dialects. Most issues are very minor with the exception of one issue involving Oracle LOB types in conjunction with query caching (such as that used by the sqlalchemy.ext.baked) extension which would cause result set fetches to fail.

Changelog for 1.0.13 is at:

Changelog

SQLAlchemy 1.0.13 is available on the Download Page.

SQLAlchemy 1.0.12 Released

permalink

SQLAlchemy release 1.0.12 is now available.

Release 1.0.12 is a bug fix release resolving a handful of issues reported in the past few weeks. Primary development continues on the 1.1 series which is slated for initial releases in the spring.

1.0.12 includes relatively minor fixes, including a revision to a fix made for version 1.0.10 where we're attempting to report on the "cause" of an error that is interrupted by a later failure to emit a ROLLBACK on the MySQL platform. While Python 3 solves this problem using exception chaining and cause reporting, on Python 2 we emit a warning so that the cause isn't totally concealed. The condition has been expanded to emit this warning in a much wider range of scenarios.

Changelog for 1.0.12 is at:

Changelog

SQLAlchemy 1.0.12 is available on the Download Page.