]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
cherry-pick changelog from 2.0.24
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 28 Dec 2023 16:23:13 +0000 (11:23 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 28 Dec 2023 16:23:13 +0000 (11:23 -0500)
13 files changed:
doc/build/changelog/changelog_20.rst
doc/build/changelog/unreleased_20/10597.rst [deleted file]
doc/build/changelog/unreleased_20/10654.rst [deleted file]
doc/build/changelog/unreleased_20/10662.rst [deleted file]
doc/build/changelog/unreleased_20/10668.rst [deleted file]
doc/build/changelog/unreleased_20/10717.rst [deleted file]
doc/build/changelog/unreleased_20/10732.rst [deleted file]
doc/build/changelog/unreleased_20/10747.rst [deleted file]
doc/build/changelog/unreleased_20/10753.rst [deleted file]
doc/build/changelog/unreleased_20/10776.rst [deleted file]
doc/build/changelog/unreleased_20/10784.rst [deleted file]
doc/build/changelog/unreleased_20/async_fallback.rst [deleted file]
doc/build/changelog/unreleased_20/sql_func_typing.rst [deleted file]

index a7d7b2048377748fce43adb0ac652c43d828be28..e14498e1b818fe41c540771b19f685d0ad38eb0c 100644 (file)
 
 .. changelog::
     :version: 2.0.24
-    :include_notes_from: unreleased_20
+    :released: December 28, 2023
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 10597
+
+        Fixed issue where use of :func:`_orm.foreign` annotation on a
+        non-initialized :func:`_orm.mapped_column` construct would produce an
+        expression without a type, which was then not updated at initialization
+        time of the actual column, leading to issues such as relationships not
+        determining ``use_get`` appropriately.
+
+
+    .. change::
+        :tags: bug, schema
+        :tickets: 10654
+
+        Fixed issue where error reporting for unexpected schema item when creating
+        objects like :class:`_schema.Table` would incorrectly handle an argument
+        that was itself passed as a tuple, leading to a formatting error.  The
+        error message has been modernized to use f-strings.
+
+    .. change::
+        :tags: bug, engine
+        :tickets: 10662
+
+        Fixed URL-encoding of the username and password components of
+        :class:`.engine.URL` objects when converting them to string using the
+        :meth:`_engine.URL.render_as_string` method, by using Python standard
+        library ``urllib.parse.quote`` while allowing for plus signs and spaces to
+        remain unchanged as supported by SQLAlchemy's non-standard URL parsing,
+        rather than the legacy home-grown routine from many years ago. Pull request
+        courtesy of Xavier NUNN.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 10668
+
+        Improved the error message produced when the unit of work process sets the
+        value of a primary key column to NULL due to a related object with a
+        dependency rule on that column being deleted, to include not just the
+        destination object and column name but also the source column from which
+        the NULL value is originating.  Pull request courtesy Jan Vollmer.
+
+    .. change::
+        :tags: bug, postgresql
+        :tickets: 10717
+
+        Adjusted the asyncpg dialect such that when the ``terminate()`` method is
+        used to discard an invalidated connection, the dialect will first attempt
+        to gracefully close the connection using ``.close()`` with a timeout, if
+        the operation is proceeding within an async event loop context only. This
+        allows the asyncpg driver to attend to finalizing a ``TimeoutError``
+        including being able to close a long-running query server side, which
+        otherwise can keep running after the program has exited.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 10732
+
+        Modified the ``__init_subclass__()`` method used by
+        :class:`_orm.MappedAsDataclass`, :class:`_orm.DeclarativeBase` and
+        :class:`_orm.DeclarativeBaseNoMeta` to accept arbitrary ``**kw`` and to
+        propagate them to the ``super()`` call, allowing greater flexibility in
+        arranging custom superclasses and mixins which make use of
+        ``__init_subclass__()`` keyword arguments.  Pull request courtesy Michael
+        Oliver.
+
+
+    .. change::
+        :tags: bug, tests
+        :tickets: 10747
+
+        Improvements to the test suite to further harden its ability to run
+        when Python ``greenlet`` is not installed.   There is now a tox
+        target that includes the token "nogreenlet" that will run the suite
+        with greenlet not installed (note that it still temporarily installs
+        greenlet as part of the tox config, however).
+
+    .. change::
+        :tags: bug, sql
+        :tickets: 10753
+
+        Fixed issue in stringify for SQL elements, where a specific dialect is not
+        passed,  where a dialect-specific element such as the PostgreSQL "on
+        conflict do update" construct is encountered and then fails to provide for
+        a stringify dialect with the appropriate state to render the construct,
+        leading to internal errors.
+
+    .. change::
+        :tags: bug, sql
+
+        Fixed issue where stringifying or compiling a :class:`.CTE` that was
+        against a DML construct such as an :func:`_sql.insert` construct would fail
+        to stringify, due to a mis-detection that the statement overall is an
+        INSERT, leading to internal errors.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 10776
+
+        Ensured the use case of :class:`.Bundle` objects used in the
+        ``returning()`` portion of ORM-enabled INSERT, UPDATE and DELETE statements
+        is tested and works fully.   This was never explicitly implemented or
+        tested previously and did not work correctly in the 1.4 series; in the 2.0
+        series, ORM UPDATE/DELETE with WHERE criteria was missing an implementation
+        method preventing :class:`.Bundle` objects from working.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 10784
+
+        Fixed 2.0 regression in :class:`.MutableList` where a routine that detects
+        sequences would not correctly filter out string or bytes instances, making
+        it impossible to assign a string value to a specific index (while
+        non-sequence values would work fine).
+
+    .. change::
+        :tags: change, asyncio
+
+        The ``async_fallback`` dialect argument is now deprecated, and will be
+        removed in SQLAlchemy 2.1.   This flag has not been used for SQLAlchemy's
+        test suite for some time.   asyncio dialects can still run in a synchronous
+        style by running code within a greenlet using :func:`_util.greenlet_spawn`.
+
+    .. change::
+       :tags: bug, typing
+       :tickets: 6810
+
+       Completed pep-484 typing for the ``sqlalchemy.sql.functions`` module.
+       :func:`_sql.select` constructs made against ``func`` elements should now
+       have filled-in return types.
 
 .. changelog::
     :version: 2.0.23
diff --git a/doc/build/changelog/unreleased_20/10597.rst b/doc/build/changelog/unreleased_20/10597.rst
deleted file mode 100644 (file)
index 9764518..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 10597
-
-    Fixed issue where use of :func:`_orm.foreign` annotation on a
-    non-initialized :func:`_orm.mapped_column` construct would produce an
-    expression without a type, which was then not updated at initialization
-    time of the actual column, leading to issues such as relationships not
-    determining ``use_get`` appropriately.
-
diff --git a/doc/build/changelog/unreleased_20/10654.rst b/doc/build/changelog/unreleased_20/10654.rst
deleted file mode 100644 (file)
index bb9b25e..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: bug, schema
-    :tickets: 10654
-
-    Fixed issue where error reporting for unexpected schema item when creating
-    objects like :class:`_schema.Table` would incorrectly handle an argument
-    that was itself passed as a tuple, leading to a formatting error.  The
-    error message has been modernized to use f-strings.
diff --git a/doc/build/changelog/unreleased_20/10662.rst b/doc/build/changelog/unreleased_20/10662.rst
deleted file mode 100644 (file)
index 5be613d..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-.. change::
-    :tags: bug, engine
-    :tickets: 10662
-
-    Fixed URL-encoding of the username and password components of
-    :class:`.engine.URL` objects when converting them to string using the
-    :meth:`_engine.URL.render_as_string` method, by using Python standard
-    library ``urllib.parse.quote`` while allowing for plus signs and spaces to
-    remain unchanged as supported by SQLAlchemy's non-standard URL parsing,
-    rather than the legacy home-grown routine from many years ago. Pull request
-    courtesy of Xavier NUNN.
diff --git a/doc/build/changelog/unreleased_20/10668.rst b/doc/build/changelog/unreleased_20/10668.rst
deleted file mode 100644 (file)
index 560aac8..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 10668
-
-    Improved the error message produced when the unit of work process sets the
-    value of a primary key column to NULL due to a related object with a
-    dependency rule on that column being deleted, to include not just the
-    destination object and column name but also the source column from which
-    the NULL value is originating.  Pull request courtesy Jan Vollmer.
diff --git a/doc/build/changelog/unreleased_20/10717.rst b/doc/build/changelog/unreleased_20/10717.rst
deleted file mode 100644 (file)
index ccdcd80..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-.. change::
-    :tags: bug, postgresql
-    :tickets: 10717
-
-    Adjusted the asyncpg dialect such that when the ``terminate()`` method is
-    used to discard an invalidated connection, the dialect will first attempt
-    to gracefully close the connection using ``.close()`` with a timeout, if
-    the operation is proceeding within an async event loop context only. This
-    allows the asyncpg driver to attend to finalizing a ``TimeoutError``
-    including being able to close a long-running query server side, which
-    otherwise can keep running after the program has exited.
diff --git a/doc/build/changelog/unreleased_20/10732.rst b/doc/build/changelog/unreleased_20/10732.rst
deleted file mode 100644 (file)
index fb1c22a..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 10732
-
-    Modified the ``__init_subclass__()`` method used by
-    :class:`_orm.MappedAsDataclass`, :class:`_orm.DeclarativeBase` and
-    :class:`_orm.DeclarativeBaseNoMeta` to accept arbitrary ``**kw`` and to
-    propagate them to the ``super()`` call, allowing greater flexibility in
-    arranging custom superclasses and mixins which make use of
-    ``__init_subclass__()`` keyword arguments.  Pull request courtesy Michael
-    Oliver.
-
diff --git a/doc/build/changelog/unreleased_20/10747.rst b/doc/build/changelog/unreleased_20/10747.rst
deleted file mode 100644 (file)
index ac8133a..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
-    :tags: bug, tests
-    :tickets: 10747
-
-    Improvements to the test suite to further harden its ability to run
-    when Python ``greenlet`` is not installed.   There is now a tox
-    target that includes the token "nogreenlet" that will run the suite
-    with greenlet not installed (note that it still temporarily installs
-    greenlet as part of the tox config, however).
diff --git a/doc/build/changelog/unreleased_20/10753.rst b/doc/build/changelog/unreleased_20/10753.rst
deleted file mode 100644 (file)
index 5b714ed..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-.. change::
-    :tags: bug, sql
-    :tickets: 10753
-
-    Fixed issue in stringify for SQL elements, where a specific dialect is not
-    passed,  where a dialect-specific element such as the PostgreSQL "on
-    conflict do update" construct is encountered and then fails to provide for
-    a stringify dialect with the appropriate state to render the construct,
-    leading to internal errors.
-
-.. change::
-    :tags: bug, sql
-
-    Fixed issue where stringifying or compiling a :class:`.CTE` that was
-    against a DML construct such as an :func:`_sql.insert` construct would fail
-    to stringify, due to a mis-detection that the statement overall is an
-    INSERT, leading to internal errors.
diff --git a/doc/build/changelog/unreleased_20/10776.rst b/doc/build/changelog/unreleased_20/10776.rst
deleted file mode 100644 (file)
index 4a6889f..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 10776
-
-    Ensured the use case of :class:`.Bundle` objects used in the
-    ``returning()`` portion of ORM-enabled INSERT, UPDATE and DELETE statements
-    is tested and works fully.   This was never explicitly implemented or
-    tested previously and did not work correctly in the 1.4 series; in the 2.0
-    series, ORM UPDATE/DELETE with WHERE criteria was missing an implementation
-    method preventing :class:`.Bundle` objects from working.
diff --git a/doc/build/changelog/unreleased_20/10784.rst b/doc/build/changelog/unreleased_20/10784.rst
deleted file mode 100644 (file)
index a67d5b6..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 10784
-
-    Fixed 2.0 regression in :class:`.MutableList` where a routine that detects
-    sequences would not correctly filter out string or bytes instances, making
-    it impossible to assign a string value to a specific index (while
-    non-sequence values would work fine).
diff --git a/doc/build/changelog/unreleased_20/async_fallback.rst b/doc/build/changelog/unreleased_20/async_fallback.rst
deleted file mode 100644 (file)
index a0eccb5..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-.. change::
-    :tags: change, asyncio
-
-    The ``async_fallback`` dialect argument is now deprecated, and will be
-    removed in SQLAlchemy 2.1.   This flag has not been used for SQLAlchemy's
-    test suite for some time.   asyncio dialects can still run in a synchronous
-    style by running code within a greenlet using :func:`_util.greenlet_spawn`.
diff --git a/doc/build/changelog/unreleased_20/sql_func_typing.rst b/doc/build/changelog/unreleased_20/sql_func_typing.rst
deleted file mode 100644 (file)
index f4ea6f4..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
- .. change::
-    :tags: bug, typing
-    :tickets: 6810
-
-    Completed pep-484 typing for the ``sqlalchemy.sql.functions`` module.
-    :func:`_sql.select` constructs made against ``func`` elements should now
-    have filled-in return types.