]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- 2.0.51 rel_2_0_51
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 15 Jun 2026 15:00:12 +0000 (11:00 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 15 Jun 2026 15:00:12 +0000 (11:00 -0400)
doc/build/changelog/changelog_20.rst
doc/build/changelog/unreleased_20/10827.rst [deleted file]
doc/build/changelog/unreleased_20/13207.rst [deleted file]
doc/build/changelog/unreleased_20/13355.rst [deleted file]
doc/build/changelog/unreleased_20/13356.rst [deleted file]
doc/build/changelog/unreleased_20/13370.rst [deleted file]
doc/build/changelog/unreleased_20/9427.rst [deleted file]
doc/build/conf.py

index c2286c659ce52e04dd3aa02f8942d80d621035f0..dd7570effe9e2cdd01e38fb6aebf169d0dfc336a 100644 (file)
 
 .. changelog::
     :version: 2.0.51
-    :include_notes_from: unreleased_20
+    :released: June 15, 2026
+
+    .. change::
+        :tags: bug, sql
+        :tickets: 10827
+
+        Fixed issue where :class:`_sql.StatementLambdaElement` would proxy
+        attribute access through the cached "expected" expression rather than the
+        resolved expression, causing stale closure-bound parameter values to be
+        used when a lambda statement was extended with non-lambda criteria such as
+        an additional ``.where()`` clause.  Courtesy cjc0013.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 13207
+
+        Fixed issue where :func:`_orm.subqueryload` combined with
+        :meth:`.PropComparator.of_type` and :meth:`.PropComparator.and_` would
+        silently drop the additional filter criteria, causing all related objects
+        to be loaded instead of only those matching the filter.  The
+        :class:`.LoaderCriteriaOption` was being constructed against the base
+        entity rather than the effective entity indicated by
+        :meth:`.PropComparator.of_type`.  Pull request courtesy Arya Rizky.
+
+    .. change::
+        :tags: bug, postgresql
+        :tickets: 13355
+
+        Repaired bug introduced in :ticket:`13229` where a two-phase
+        transaction recovery would not return the correct transaction
+        identifier when generating the identifiers using the ``xid()``
+        method of the psycopg connection.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 13356
+
+        Fixed bug where a failure during ``tpc_prepare()`` within
+        :meth:`_orm.Session.commit` for a two-phase session would raise
+        :class:`.IllegalStateChangeError` instead of the original database
+        exception.  The internal ``_prepare_impl()`` method's error handler
+        was unable to invoke :meth:`_orm.SessionTransaction.rollback` due
+        to a state-change guard, preventing proper cleanup and masking the
+        underlying error.
+
+    .. change::
+        :tags: bug, postgresql
+        :tickets: 13370
+
+        Fixed regular expression in the pure Python hstore result processor,
+        used when ``use_native_hstore=False`` is set, which could hang on
+        malformed hstore text containing unterminated quoted segments with
+        backslashes.  Pull request courtesy dxbjavid.
+
+    .. change::
+        :tags: bug, engine
+        :tickets: 9427
+
+        Fixed issue where :meth:`.Result.freeze` would lose track of ambiguous
+        column names present in the original :class:`.CursorResult`, causing
+        key-based access on the thawed result to silently return a value instead of
+        raising :class:`.InvalidRequestError`.  The
+        :class:`.SimpleResultMetaData` now accepts and propagates ambiguous key
+        information so that frozen, thawed, and pickled results raise consistently
+        for duplicate column names.  Pull request courtesy Saurabh Kohli.
 
 .. changelog::
     :version: 2.0.50
diff --git a/doc/build/changelog/unreleased_20/10827.rst b/doc/build/changelog/unreleased_20/10827.rst
deleted file mode 100644 (file)
index 879fa1d..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
-    :tags: bug, sql
-    :tickets: 10827
-
-    Fixed issue where :class:`_sql.StatementLambdaElement` would proxy
-    attribute access through the cached "expected" expression rather than the
-    resolved expression, causing stale closure-bound parameter values to be
-    used when a lambda statement was extended with non-lambda criteria such as
-    an additional ``.where()`` clause.  Courtesy cjc0013.
diff --git a/doc/build/changelog/unreleased_20/13207.rst b/doc/build/changelog/unreleased_20/13207.rst
deleted file mode 100644 (file)
index c7b8580..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 13207
-
-    Fixed issue where :func:`_orm.subqueryload` combined with
-    :meth:`.PropComparator.of_type` and :meth:`.PropComparator.and_` would
-    silently drop the additional filter criteria, causing all related objects
-    to be loaded instead of only those matching the filter.  The
-    :class:`.LoaderCriteriaOption` was being constructed against the base
-    entity rather than the effective entity indicated by
-    :meth:`.PropComparator.of_type`.  Pull request courtesy Arya Rizky.
diff --git a/doc/build/changelog/unreleased_20/13355.rst b/doc/build/changelog/unreleased_20/13355.rst
deleted file mode 100644 (file)
index cad4508..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: bug, postgresql
-    :tickets: 13355
-
-    Repaired bug introduced in :ticket:`13229` where a two-phase
-    transaction recovery would not return the correct transaction
-    identifier when generating the identifiers using the ``xid()``
-    method of the psycopg connection.
diff --git a/doc/build/changelog/unreleased_20/13356.rst b/doc/build/changelog/unreleased_20/13356.rst
deleted file mode 100644 (file)
index 047d36f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 13356
-
-    Fixed bug where a failure during ``tpc_prepare()`` within
-    :meth:`_orm.Session.commit` for a two-phase session would raise
-    :class:`.IllegalStateChangeError` instead of the original database
-    exception.  The internal ``_prepare_impl()`` method's error handler
-    was unable to invoke :meth:`_orm.SessionTransaction.rollback` due
-    to a state-change guard, preventing proper cleanup and masking the
-    underlying error.
diff --git a/doc/build/changelog/unreleased_20/13370.rst b/doc/build/changelog/unreleased_20/13370.rst
deleted file mode 100644 (file)
index 26e8945..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: bug, postgresql
-    :tickets: 13370
-
-    Fixed regular expression in the pure Python hstore result processor,
-    used when ``use_native_hstore=False`` is set, which could hang on
-    malformed hstore text containing unterminated quoted segments with
-    backslashes.  Pull request courtesy dxbjavid.
diff --git a/doc/build/changelog/unreleased_20/9427.rst b/doc/build/changelog/unreleased_20/9427.rst
deleted file mode 100644 (file)
index a601fe9..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-.. change::
-    :tags: bug, engine
-    :tickets: 9427
-
-    Fixed issue where :meth:`.Result.freeze` would lose track of ambiguous
-    column names present in the original :class:`.CursorResult`, causing
-    key-based access on the thawed result to silently return a value instead of
-    raising :class:`.InvalidRequestError`.  The
-    :class:`.SimpleResultMetaData` now accepts and propagates ambiguous key
-    information so that frozen, thawed, and pickled results raise consistently
-    for duplicate column names.  Pull request courtesy Saurabh Kohli.
index 4cf0f5da265bc5c792a731a57065ae321b4785e8..902378569dd30f1bf984b8160ac5d5ce7ec8c574 100644 (file)
@@ -239,9 +239,9 @@ copyright = "2007-2026, the SQLAlchemy authors and contributors"  # noqa
 # The short X.Y version.
 version = "2.0"
 # The full version, including alpha/beta/rc tags.
-release = "2.0.50"
+release = "2.0.51"
 
-release_date = "May 24, 2026"
+release_date = "June 15, 2026"
 
 site_base = os.environ.get("RTD_SITE_BASE", "https://www.sqlalchemy.org")
 site_adapter_template = "docs_adapter.mako"