]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- 2.1.0b2 rel_2_1_0b2
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 16 Apr 2026 20:04:09 +0000 (16:04 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 16 Apr 2026 20:04:09 +0000 (16:04 -0400)
13 files changed:
doc/build/changelog/changelog_21.rst
doc/build/changelog/unreleased_21/10375.rst [deleted file]
doc/build/changelog/unreleased_21/10602_metadata.rst [deleted file]
doc/build/changelog/unreleased_21/11526.rst [deleted file]
doc/build/changelog/unreleased_21/11671.rst [deleted file]
doc/build/changelog/unreleased_21/12869.rst [deleted file]
doc/build/changelog/unreleased_21/13085.rst [deleted file]
doc/build/changelog/unreleased_21/13091.rst [deleted file]
doc/build/changelog/unreleased_21/13131.rst [deleted file]
doc/build/changelog/unreleased_21/13140.rst [deleted file]
doc/build/changelog/unreleased_21/13198.rst [deleted file]
doc/build/changelog/unreleased_21/colcollection.rst [deleted file]
doc/build/conf.py

index 65ecb6b31a265c517c5f3680b5d1f22180cdba70..33fc84d643412b8b663f0f10f234ab1f6f874225 100644 (file)
 
 .. changelog::
     :version: 2.1.0b2
-    :include_notes_from: unreleased_21
+    :released: April 16, 2026
+
+    .. change::
+        :tags: feature, oracle
+        :tickets: 10375
+
+        Added support for the :class:`_sqltypes.JSON` datatype when using the
+        Oracle database with the oracledb dialect.  JSON values are serialized and
+        deserialized using configurable strategies that accommodate Oracle's native
+        JSON type available as of Oracle 21c.  Pull request courtesy Abdallah
+        Alhadad.
+
+        .. seealso::
+
+            :class:`_oracle.JSON` - Oracle-specific JSON class that includes
+            implementation and platform notes.
+
+            :ref:`oracledb_json`
+
+    .. change::
+        :tags: bug, schema
+        :tickets: 10604
+
+        Amended the ``repr()`` output for :class:`.Enum` so that the
+        :class:`.MetaData` is not shown in the output, as this interferes with
+        Alembic-autogenerated forms of this type which should be inheriting the
+        :class:`.MetaData` of the parent table in the migration script.
+
+
+    .. change::
+        :tags: bug, sql
+        :tickets: 11526
+
+        A warning is emitted when using the standalone :func:`_sql.distinct`
+        function in a :func:`_sql.select` columns list outside of an aggregate
+        function; this function is not intended as a replacement for the use of
+        :meth:`.Select.distinct`. Pull request courtesy bekapono.
+
+    .. change::
+        :tags: usecase, sql
+        :tickets: 11671
+
+        Added new parameter :paramref:`_sql.over.exclude` to :func:`_sql.over` and
+        related methods, enabling SQL standard frame exclusion clauses ``EXCLUDE
+        CURRENT ROW``, ``EXCLUDE GROUP``, ``EXCLUDE TIES``, ``EXCLUDE NO OTHERS``
+        in window functions. Pull request courtesy of Varun Chawla.
+
+    .. change::
+        :tags: feature, mssql
+        :tickets: 12869
+
+        Added support for the ``mssql-python`` driver, Microsoft's official Python
+        driver for SQL Server.
+
+        .. seealso::
+
+            :ref:`mssql_python` - Documentation for the mssql-python dialect
+
+
+    .. change::
+        :tags: schema, usecase
+        :tickets: 13085
+
+        Most :class:`_sql.FromClause` subclasses are now generic on
+        :class:`_schema.TypedColumns` subclasses, that can be used to type their
+        :attr:`_sql.FromClause.c` collection.
+        This applied to :class:`_schema.Table`, :class:`_sql.Join`,
+        :class:`_sql.Subquery`, :class:`_sql.CTE` and more.
+
+        .. seealso::
+
+            :ref:`change_13085`
+
+    .. change::
+        :tags: bug, typing
+        :tickets: 13091
+
+        Fixed issue in new :pep:`646` support for result sets where an issue in the
+        mypy type checker prevented "scalar" methods including
+        :meth:`.Connection.scalar`, :meth:`.Result.scalar`,
+        :meth:`_orm.Session.scalar`, as well as async versions of these methods
+        from applying the correct type to the scalar result value, when the columns
+        in the originating :func:`_sql.select` were typed as ``Any``.  Pull request
+        courtesy Yurii Karabas.
+
+
+    .. change::
+        :tags: bug, typing
+        :tickets: 13131
+
+        Improved typing of :class:`_sqltypes.JSON` as well as dialect specific
+        variants like :class:`_postgresql.JSON` to include generic capabilities, so
+        that the types may be parameterized to indicate any specific type of
+        contents expected, e.g. ``JSONB[list[str]]()``.
+
+
+    .. change::
+        :tags: bug, sql
+        :tickets: 13140
+
+        Improved the ability for :class:`.TypeDecorator` to produce a correct
+        ``repr()`` for "schema" types such as :class:`.Enum` and :class:`.Boolean`.
+        This is mostly to support the Alembic autogenerate use case so that custom
+        types render with relevant arguments present.  Improved the architecture
+        used by :class:`.TypeEngine` to produce ``repr()`` strings to be more
+        modular for compound types like :class:`.TypeDecorator`.
+
+    .. change::
+        :tags: usecase, orm
+        :tickets: 13198
+
+        The ``metadata``, ``type_annotation_map``, or ``registry`` can now be
+        set up in a declarative base also via a mixin class, not only by
+        directly setting them on the subclass like before.
+        The declarative class setup now uses ``getattr()`` to look for these
+        attributes, instead of relying only on the class ``__dict__``.
+
+    .. change::
+        :tags: usecase, sql
+
+        The :class:`.ColumnCollection` class hierarchy has been refactored to allow
+        column names such as ``add``, ``remove``, ``update``, ``extend``, and
+        ``clear`` to be used without conflicts. :class:`.ColumnCollection` is now
+        an abstract base class, with mutation operations moved to
+        :class:`.WriteableColumnCollection` and :class:`.DedupeColumnCollection`
+        subclasses. The :class:`.ReadOnlyColumnCollection` exposed as attributes
+        such as :attr:`.Table.c` no longer includes mutation methods that raised
+        :class:`.NotImplementedError`, allowing these common column names to be
+        accessed naturally, e.g. ``table.c.add``, ``table.c.remove``,
+        ``table.c.update``, etc.
 
 .. changelog::
     :version: 2.1.0b1
diff --git a/doc/build/changelog/unreleased_21/10375.rst b/doc/build/changelog/unreleased_21/10375.rst
deleted file mode 100644 (file)
index 0bd043b..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-.. change::
-    :tags: feature, oracle
-    :tickets: 10375
-
-    Added support for the :class:`_sqltypes.JSON` datatype when using the
-    Oracle database with the oracledb dialect.  JSON values are serialized and
-    deserialized using configurable strategies that accommodate Oracle's native
-    JSON type available as of Oracle 21c.  Pull request courtesy Abdallah
-    Alhadad.
-
-    .. seealso::
-
-        :class:`_oracle.JSON` - Oracle-specific JSON class that includes
-        implementation and platform notes.
-
-        :ref:`oracledb_json`
diff --git a/doc/build/changelog/unreleased_21/10602_metadata.rst b/doc/build/changelog/unreleased_21/10602_metadata.rst
deleted file mode 100644 (file)
index b24c3d3..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
-    :tags: bug, schema
-    :tickets: 10604
-
-    Amended the ``repr()`` output for :class:`.Enum` so that the
-    :class:`.MetaData` is not shown in the output, as this interferes with
-    Alembic-autogenerated forms of this type which should be inheriting the
-    :class:`.MetaData` of the parent table in the migration script.
-
diff --git a/doc/build/changelog/unreleased_21/11526.rst b/doc/build/changelog/unreleased_21/11526.rst
deleted file mode 100644 (file)
index bbff86f..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: bug, sql
-    :tickets: 11526
-
-    A warning is emitted when using the standalone :func:`_sql.distinct`
-    function in a :func:`_sql.select` columns list outside of an aggregate
-    function; this function is not intended as a replacement for the use of
-    :meth:`.Select.distinct`. Pull request courtesy bekapono.
diff --git a/doc/build/changelog/unreleased_21/11671.rst b/doc/build/changelog/unreleased_21/11671.rst
deleted file mode 100644 (file)
index cf3101f..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: usecase, sql
-    :tickets: 11671
-
-    Added new parameter :paramref:`_sql.over.exclude` to :func:`_sql.over` and
-    related methods, enabling SQL standard frame exclusion clauses ``EXCLUDE
-    CURRENT ROW``, ``EXCLUDE GROUP``, ``EXCLUDE TIES``, ``EXCLUDE NO OTHERS``
-    in window functions. Pull request courtesy of Varun Chawla.
diff --git a/doc/build/changelog/unreleased_21/12869.rst b/doc/build/changelog/unreleased_21/12869.rst
deleted file mode 100644 (file)
index 6c7858f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-.. change::
-    :tags: feature, mssql
-    :tickets: 12869
-
-    Added support for the ``mssql-python`` driver, Microsoft's official Python
-    driver for SQL Server.
-
-    .. seealso::
-
-        :ref:`mssql_python` - Documentation for the mssql-python dialect
-
diff --git a/doc/build/changelog/unreleased_21/13085.rst b/doc/build/changelog/unreleased_21/13085.rst
deleted file mode 100644 (file)
index 6ab65eb..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-.. change::
-    :tags: schema, usecase
-    :tickets: 13085
-
-    Most :class:`_sql.FromClause` subclasses are now generic on
-    :class:`_schema.TypedColumns` subclasses, that can be used to type their
-    :attr:`_sql.FromClause.c` collection.
-    This applied to :class:`_schema.Table`, :class:`_sql.Join`,
-    :class:`_sql.Subquery`, :class:`_sql.CTE` and more.
-
-    .. seealso::
-
-        :ref:`change_13085`
\ No newline at end of file
diff --git a/doc/build/changelog/unreleased_21/13091.rst b/doc/build/changelog/unreleased_21/13091.rst
deleted file mode 100644 (file)
index 0ce7cbb..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-.. change::
-    :tags: bug, typing
-    :tickets: 13091
-
-    Fixed issue in new :pep:`646` support for result sets where an issue in the
-    mypy type checker prevented "scalar" methods including
-    :meth:`.Connection.scalar`, :meth:`.Result.scalar`,
-    :meth:`_orm.Session.scalar`, as well as async versions of these methods
-    from applying the correct type to the scalar result value, when the columns
-    in the originating :func:`_sql.select` were typed as ``Any``.  Pull request
-    courtesy Yurii Karabas.
-
diff --git a/doc/build/changelog/unreleased_21/13131.rst b/doc/build/changelog/unreleased_21/13131.rst
deleted file mode 100644 (file)
index 978bc06..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
-    :tags: bug, typing
-    :tickets: 13131
-
-    Improved typing of :class:`_sqltypes.JSON` as well as dialect specific
-    variants like :class:`_postgresql.JSON` to include generic capabilities, so
-    that the types may be parameterized to indicate any specific type of
-    contents expected, e.g. ``JSONB[list[str]]()``.
-
diff --git a/doc/build/changelog/unreleased_21/13140.rst b/doc/build/changelog/unreleased_21/13140.rst
deleted file mode 100644 (file)
index 62a485d..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-.. change::
-    :tags: bug, sql
-    :tickets: 13140
-
-    Improved the ability for :class:`.TypeDecorator` to produce a correct
-    ``repr()`` for "schema" types such as :class:`.Enum` and :class:`.Boolean`.
-    This is mostly to support the Alembic autogenerate use case so that custom
-    types render with relevant arguments present.  Improved the architecture
-    used by :class:`.TypeEngine` to produce ``repr()`` strings to be more
-    modular for compound types like :class:`.TypeDecorator`.
diff --git a/doc/build/changelog/unreleased_21/13198.rst b/doc/build/changelog/unreleased_21/13198.rst
deleted file mode 100644 (file)
index a69703a..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
-    :tags: usecase, orm
-    :tickets: 13198
-
-    The ``metadata``, ``type_annotation_map``, or ``registry`` can now be
-    set up in a declarative base also via a mixin class, not only by
-    directly setting them on the subclass like before.
-    The declarative class setup now uses ``getattr()`` to look for these
-    attributes, instead of relying only on the class ``__dict__``.
diff --git a/doc/build/changelog/unreleased_21/colcollection.rst b/doc/build/changelog/unreleased_21/colcollection.rst
deleted file mode 100644 (file)
index 3a74840..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-.. change::
-    :tags: usecase, sql
-
-    The :class:`.ColumnCollection` class hierarchy has been refactored to allow
-    column names such as ``add``, ``remove``, ``update``, ``extend``, and
-    ``clear`` to be used without conflicts. :class:`.ColumnCollection` is now
-    an abstract base class, with mutation operations moved to
-    :class:`.WriteableColumnCollection` and :class:`.DedupeColumnCollection`
-    subclasses. The :class:`.ReadOnlyColumnCollection` exposed as attributes
-    such as :attr:`.Table.c` no longer includes mutation methods that raised
-    :class:`.NotImplementedError`, allowing these common column names to be
-    accessed naturally, e.g. ``table.c.add``, ``table.c.remove``,
-    ``table.c.update``, etc.
index 6b58747b19a83b4c8e8ed4e6ac974cb707ce6840..c5f8862e48e15c1bd1575db6735743c20661d026 100644 (file)
@@ -237,9 +237,9 @@ copyright = "2007-2026, the SQLAlchemy authors and contributors"  # noqa
 # The short X.Y version.
 version = "2.1"
 # The full version, including alpha/beta/rc tags.
-release = "2.1.0b1"
+release = "2.1.0b2"
 
-release_date = "January 21, 2026"
+release_date = "April 16, 2026"
 
 site_base = os.environ.get("RTD_SITE_BASE", "https://www.sqlalchemy.org")
 site_adapter_template = "docs_adapter.mako"