2.0.25
2.0.25
Released: January 2, 2024
orm
-
[orm] [usecase] Added preliminary support for Python 3.12 pep-695 type alias structures,
when resolving custom type maps for ORM Annotated Declarative mappings.References: #10807
-
[orm] [bug] Fixed issue where when making use of the
_orm.relationship.post_update
feature at the same time as using
a mapper version_id_col could lead to a situation where the second UPDATE
statement emitted by the post-update feature would fail to make use of the
correct version identifier, assuming an UPDATE was already emitted in that
flush which had already bumped the version counter.References: #10800
-
[orm] [bug] Fixed issue where ORM Annotated Declarative would mis-interpret the left
hand side of a relationship without any collection specified as
uselist=True if the left type were given as a class and not a string,
without using future-style annotations.References: #10815
sql
-
[sql] [bug] Improved compilation of
_sql.any_()
/_sql.all_()
in the
context of a negation of boolean comparison, will now renderNOT (expr)
rather than reversing the equality operator to not equals, allowing
finer-grained control of negations for these non-typical operators.References: #10817
typing
-
[typing] [bug] Fixed regressions caused by typing added to the
sqlalchemy.sql.functions
module in version 2.0.24, as part of #6810:- Further enhancements to pep-484 typing to allow SQL functions from `_sql.func` derived elements to work more effectively with ORM-mapped attributes ([#10801](https://www.sqlalchemy.org/trac/ticket/10801)) - Fixed the argument types passed to functions so that literal expressions like strings and ints are again interpreted correctly ([#10818](https://www.sqlalchemy.org/trac/ticket/10818))
asyncio
-
[asyncio] [bug] Fixed critical issue in asyncio version of the connection pool where
calling_asyncio.AsyncEngine.dispose()
would produce a new connection
pool that did not fully re-establish the use of asyncio-compatible mutexes,
leading to the use of a plainthreading.Lock()
which would then cause
deadlocks in an asyncio context when using concurrency features like
asyncio.gather()
.This change is also backported to: 1.4.51
References: #10813
oracle
-
[oracle] [asyncio] Added support for
oracledb
in asyncio mode, using the newly released
version of theoracledb
DBAPI that includes asyncio support. For the
2.0 series, this is a preview release, where the current implementation
does not yet have include support for
_asyncio.AsyncConnection.stream()
. Improved support is planned for
the 2.1 release of SQLAlchemy.References: #10679