News and Updates

SQLAlchemy 1.3.0b2 Released


SQLAlchemy release 1.3.0b2 is now available.

As the second beta release in the 1.3 series, version 1.3.0b2 has a focus on looking towards the future, ensuring that all features and behaviors that are long since deprecated fully emit a warning as such to better allow them to be removed in subsequent releases, as well as that some major new deprecations are added. The goal is to apply more focus to the ORM and Core usage APIs to allow easier transition to an eventual next generation version of SQLAlchemy suited to a Python 3 only world.

Major changes in 1.3.0b2 include:

  • The AliasedClass construct may now be specified as the target for a relationship, fully replacing the remaining rationale for the "non primary mapper" feature which becomes deprecated.
  • The convert_unicode parameter on Engine and String is deprecated, as unicode handling is now supplied by all supported DBAPIs.
  • The "threadlocal" engine strategy, long an obsolete behavior, is finally deprecated.
  • Deprecation warning are emitted for all functions, methods, and parameters that have already been noted in the documentation as deprecated.

For an overview of what's new in the 1.3 series, see Whats New in 1.3? Full changelog is available at Changelog.

SQLAlchemy 1.3.0b2 is available on the Download Page.

SQLAlchemy 1.2.16 Released


SQLAlchemy release 1.2.16 is now available.

Release 1.2.16 includes a series of dialect and engine-level fixes, including one 1.2 regression involving Unicode decoding of DBAPI exception messages that contain non-ascii characters.

Changelog for 1.2.16 is at Changelog.

SQLAlchemy 1.2.16 is available on the Download Page.

SQLAlchemy 1.2.15 Released


SQLAlchemy release 1.2.15 is now available.

Release 1.2.15 includes a variety of ORM-level fixes, including one regression from 1.2.13 involving dynamic relationships with many-to-many relationships.

Changelog for 1.2.15 is at Changelog.

SQLAlchemy 1.2.15 is available on the Download Page.

SQLAlchemy and Related Projects move to GitHub


SQLAlchemy's primary code-hosting repository is now GitHub.

The public source repository, issue tracker and wiki moves underneath a new organization which now is the home for SQLAlchemy as well as related projects Alembic, Mako Templates, dogpile.cache, and others.

The move from Bitbucket has been under consideration for well over a year, prompted by a long and slow decline in Bitbucket's quality as well as a complete lack of features and improvements to their issue tracker, ever since being acquired by Atlassian who sought to encourage users to move to Jira instead. Most critically, SQLAlchemy and related projects desperately needed the ability to apply free-form labels and classifications to issues in order to organize for common themes, as well as a capable search system and a modern, responsive web interface.

The massive technical challenge to this move was the ability to import SQLAlchemy's 4000+ issues into GitHub's issue tracker, as well as the many hundreds of issues associated with other projects. GitHub for many years lacked a usable issue import system which made the move a non-starter, but eventually a non-official issue import API was released, which after much effort was able to do just enough to make an issue import feasible, after several weeks of tweaking import scripts to format issues and their changes as well as to move thousands of web requests over a rate-limited system without being blocked.

Most recently, alternative self hosted systems like Gitea, which looks extremely promising, were considered as well, but in the end, SQLAlchemy would like to do everything it can to encourage community involvement, so it is hoped that the GitHub move will have this effect.

In addition to the move to GitHub, the SQLAlchemy organization has been set up as the owning namespace for these projects to further emphasize that SQLAlchemy is more than just "zzzeek".

SQLAlchemy 1.3.0b1 Released


SQLAlchemy release 1.3.0b1 is now available.

This is the initial beta release in the 1.3 series of SQLAlchemy, the latest iteration of new features and behavioral improvements. Highlights of 1.3 include:

  • Performance improvements to the new "select in" loader strategy, such that a JOIN is no longer used at all to load collections
  • JSON support for SQLite
  • Support for SQLite's "ON CONFLICT" constraint directive
  • Improvements to the new "expanding" bound parameter used for "IN" expressions, such that empty "IN" expressions are now supported
  • new schema naming convention features and support for automatic truncation of long names
  • a series of architectural and API improvements to the association proxy extension
  • architectural and behavioral improvements to the Query.join() method
  • Improvements to rendering and reflection of FULLTEXT indexes on MySQL
  • Support for pyodbc's "fast executemany" mode for SQL Server
  • Architectural improvements and updates to the cx_oracle dialect to keep up with the high velocity of changes being made to this DBAPI upstream

Release 1.3 includes approximately 39 individual improvements and features.

For an overview of what's new in the 1.3 series, see Whats New in 1.3? Full changelog is available at Changelog.

SQLAlchemy 1.3.0b1 is available on the Download Page.