News and Updates
SQLAlchemy 1.4.48 Released
April 30, 2023 permalink
SQLAlchemy 1.4.48 is now available.
Release 1.4.48 includes a critical bugfix in the SQL caching system, backported from version 2.0.12, where SQL expressions that made use of hybrid_property() in conjunction with the ORM aliased() construct would not be appropriately cached, leading to memory issues. All applications that make use of these constructs are strongly encouraged to upgrade to 1.4.48 (the same fix is in the 2.0 series at version 2.0.12).
The complete changelog for 1.4.48 is at Changelog.
SQLAlchemy 1.4.48 is available on the Download Page.
SQLAlchemy 2.0.12 Released
April 30, 2023 permalink
SQLAlchemy 2.0.12 is now available.
Release 2.0.12 includes a critical bugfix in the SQL caching system, also backported to version 1.4.48, where SQL expressions that made use of hybrid_property() in conjunction with the ORM aliased() construct would not be appropriately cached, leading to memory issues. All applications that make use of these constructs are strongly encouraged to upgrade to 2.0.12.
Links to the detailed changelog for 2.0.12 is at Changelog.
SQLAlchemy 2.0.12 is available on the Download Page.
SQLAlchemy 2.0.11 Released
April 27, 2023 permalink
SQLAlchemy release 2.0.11 is now available.
Release 2.0.11 includes a fix for a critical regression introduced in 2.0.10 as a result of the "insertmanyvalues" refactoring, for the PostgreSQL dialects using either the psycopg or psycopg2 drivers, which impacted floating point data during bulk INSERT statements.
Version 2.0.11 also includes performance enhancements to the Row construct as well as other fixes for the ORM, engine, Oracle and MSSQL components.
Links to the detailed changelog for 2.0.11 is at Changelog.
SQLAlchemy 2.0.11 is available on the Download Page.
SQLAlchemy 2.0.10 Released
April 21, 2023 permalink
SQLAlchemy release 2.0.10 is now available.
Release 2.0.10 revisits the original reason that version 2.0.9 was released quickly, involving apparent row ordering when using RETURNING with SQLAlchemy 2.0's "insertmanyvalues" feature, which had to be disabled for Microsoft SQL Server.
In version 2.0.10, "insertmanyvalues" has gained a new optional RETURNING feature called sort_by_parameter_order which enables a new set of INSERT forms and execution models which ensure these ordering guarantees take place for each of the supported backends SQL Server, PostgreSQL, SQLite and MariaDB. As a result the "insertmanyvalues" performance optimization is re-enabled for SQL Server. For other backends, while no row-ordering issues were observed or reproduced, the new guarantees change how the feature is implemented as used by the ORM. A new documentation section linked from the changelog illustrates the feature in depth.
Links to the detailed changelog for 2.0.10 is at Changelog.
SQLAlchemy 2.0.10 is available on the Download Page.
SQLAlchemy 2.0.9 Released
April 06, 2023 permalink
SQLAlchemy release 2.0.9 is now available.
Release 2.0.9 is an emergency release which includes a critical fix for SQL Server. The "insertmanyvalues" feature has been temporarily disabled for this backend, as a behavior has been identified in SQL Server itself which under some circumstances will cause the multi-row INSERT statement to insert rows in a non-deterministic order vs. the order in which they are indicated in the parameter list, which can lead to incorrect persistence decisions specific to the ORM unit of work process. An upcoming release will restore "insertmanyvalues" to SQL Server and also adjust the unit of work process to not rely upon the feature in this way; the feature will be fully supported for operations such as "bulk insert".
Links to the detailed changelog for 2.0.9 is at Changelog.
SQLAlchemy 2.0.9 is available on the Download Page.