1.4.41
Released: September 6, 2022
orm
-
[orm] [bug] [events] Fixed event listening issue where event listeners added to a superclass
would be lost if a subclass were created which then had its own listeners
associated. The practical example is that of thesessionmaker
class created after events have been associated with the
_orm.Session
class.References: #8467
-
[orm] [bug] Hardened the cache key strategy for the
_orm.aliased()
and
_orm.with_polymorphic()
constructs. While no issue involving actual
statements being cached can easily be demonstrated (if at all), these two
constructs were not including enough of what makes them unique in their
cache keys for caching on the aliased construct alone to be accurate.References: #8401
-
[orm] [bug] [regression] Fixed regression appearing in the 1.4 series where a joined-inheritance
query placed as a subquery within an enclosing query for that same entity
would fail to render the JOIN correctly for the inner query. The issue
manifested in two different ways prior and subsequent to version 1.4.18
(related issue #6595), in one case rendering JOIN twice, in the
other losing the JOIN entirely. To resolve, the conditions under which
"polymorphic loading" are applied have been scaled back to not be invoked
for simple joined inheritance queries.References: #8456
-
[orm] [bug] Fixed issue in
sqlalchemy.ext.mutable
extension where collection
links to the parent object would be lost if the object were merged with
Session.merge()
while also passingSession.merge.load
as False.References: #8446
-
[orm] [bug] Fixed issue involving
_orm.with_loader_criteria()
where a closure
variable used as bound parameter value within the lambda would not carry
forward correctly into additional relationship loaders such as
_orm.selectinload()
and_orm.lazyload()
after the statement
were cached, using the stale originally-cached value instead.References: #8399
sql
-
[sql] [bug] Fixed issue where use of the
_sql.table()
construct, passing a string
for the_sql.table.schema
parameter, would fail to take the
"schema" string into account when producing a cache key, thus leading to
caching collisions if multiple, same-named_sql.table()
constructs
with different schemas were used.References: #8441
asyncio
-
[asyncio] [bug] Integrated support for asyncpg's
terminate()
method call for cases
where the connection pool is recycling a possibly timed-out connection,
where a connection is being garbage collected that wasn't gracefully
closed, as well as when the connection has been invalidated. This allows
asyncpg to abandon the connection without waiting for a response that may
incur long timeouts.References: #8419
mssql
-
[mssql] [bug] [regression] Fixed regression caused by the fix for #8231 released in 1.4.40
where connection would fail if the user did not have permission to query
thedm_exec_sessions
ordm_pdw_nodes_exec_sessions
system views
when trying to determine the current transaction isolation level.References: #8475