From: Mike Bayer Date: Wed, 3 Jan 2024 01:32:38 +0000 (-0500) Subject: cherry-pick changelog from 1.4.51 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cd6d80e52b07e7c9858e55cfa2e5f32f5dee4b53;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git cherry-pick changelog from 1.4.51 --- diff --git a/doc/build/changelog/changelog_14.rst b/doc/build/changelog/changelog_14.rst index e593bb5d56..5300b0691b 100644 --- a/doc/build/changelog/changelog_14.rst +++ b/doc/build/changelog/changelog_14.rst @@ -15,7 +15,43 @@ This document details individual issue-level changes made throughout .. changelog:: :version: 1.4.51 - :include_notes_from: unreleased_14 + :released: January 2, 2024 + + .. change:: + :tags: bug, mysql + :tickets: 10650 + :versions: 2.0.24 + + Fixed regression introduced by the fix in ticket :ticket:`10492` when using + pool pre-ping with PyMySQL version older than 1.0. + + .. change:: + :tags: bug, orm + :tickets: 10782 + :versions: 2.0.24, 1.4.51 + + Improved a fix first implemented for :ticket:`3208` released in version + 0.9.8, where the registry of classes used internally by declarative could + be subject to a race condition in the case where individual mapped classes + are being garbage collected at the same time while new mapped classes are + being constructed, as can happen in some test suite configurations or + dynamic class creation environments. In addition to the weakref check + already added, the list of items being iterated is also copied first to + avoid "list changed while iterating" errors. Pull request courtesy Yilei + Yang. + + + .. change:: + :tags: bug, asyncio + :tickets: 10813 + :versions: 1.4.51, 2.0.25 + + Fixed critical issue in asyncio version of the connection pool where + calling :meth:`_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 plain ``threading.Lock()`` which would then cause + deadlocks in an asyncio context when using concurrency features like + ``asyncio.gather()``. .. changelog:: :version: 1.4.50 diff --git a/doc/build/changelog/unreleased_14/10650.rst b/doc/build/changelog/unreleased_14/10650.rst deleted file mode 100644 index dce6b4c75a..0000000000 --- a/doc/build/changelog/unreleased_14/10650.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: bug, mysql - :tickets: 10650 - :versions: 2.0.24 - - Fixed regression introduced by the fix in ticket :ticket:`10492` when using - pool pre-ping with PyMySQL version older than 1.0. diff --git a/doc/build/changelog/unreleased_14/10782.rst b/doc/build/changelog/unreleased_14/10782.rst deleted file mode 100644 index d7b219a365..0000000000 --- a/doc/build/changelog/unreleased_14/10782.rst +++ /dev/null @@ -1,15 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 10782 - :versions: 2.0.24, 1.4.51 - - Improved a fix first implemented for :ticket:`3208` released in version - 0.9.8, where the registry of classes used internally by declarative could - be subject to a race condition in the case where individual mapped classes - are being garbage collected at the same time while new mapped classes are - being constructed, as can happen in some test suite configurations or - dynamic class creation environments. In addition to the weakref check - already added, the list of items being iterated is also copied first to - avoid "list changed while iterating" errors. Pull request courtesy Yilei - Yang. - diff --git a/doc/build/changelog/unreleased_14/10813.rst b/doc/build/changelog/unreleased_14/10813.rst deleted file mode 100644 index d4f72d8e0b..0000000000 --- a/doc/build/changelog/unreleased_14/10813.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. change:: - :tags: bug, asyncio - :tickets: 10813 - :versions: 1.4.51, 2.0.25 - - Fixed critical issue in asyncio version of the connection pool where - calling :meth:`_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 plain ``threading.Lock()`` which would then cause - deadlocks in an asyncio context when using concurrency features like - ``asyncio.gather()``.