summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2023-05-10 18:23:10 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2023-05-10 18:23:10 -0400
commite0bf5ba169975d879c22bc61b1aaf4261ac0559f (patch)
tree633fd64b9de9ff9fead2a6ee47ae53eacacf0186
parent32fc4f3de20c9d983742b064e47f591342c42de2 (diff)
downloadsqlalchemy-e0bf5ba169975d879c22bc61b1aaf4261ac0559f.tar.gz
- 2.0.13rel_2_0_13
-rw-r--r--doc/build/changelog/changelog_20.rst139
-rw-r--r--doc/build/changelog/unreleased_20/9597.rst14
-rw-r--r--doc/build/changelog/unreleased_20/9630.rst9
-rw-r--r--doc/build/changelog/unreleased_20/9656.rst9
-rw-r--r--doc/build/changelog/unreleased_20/9676.rst8
-rw-r--r--doc/build/changelog/unreleased_20/9715.rst8
-rw-r--r--doc/build/changelog/unreleased_20/9717.rst8
-rw-r--r--doc/build/changelog/unreleased_20/9721.rst16
-rw-r--r--doc/build/changelog/unreleased_20/9731.rst12
-rw-r--r--doc/build/changelog/unreleased_20/9739.rst9
-rw-r--r--doc/build/changelog/unreleased_20/9746.rst8
-rw-r--r--doc/build/changelog/unreleased_20/9762.rst8
-rw-r--r--doc/build/changelog/unreleased_20/await_cancel.rst8
-rw-r--r--doc/build/changelog/unreleased_20/suite_float_tests.rst7
-rw-r--r--doc/build/conf.py4
15 files changed, 140 insertions, 127 deletions
diff --git a/doc/build/changelog/changelog_20.rst b/doc/build/changelog/changelog_20.rst
index bb4144cd2..144457fc8 100644
--- a/doc/build/changelog/changelog_20.rst
+++ b/doc/build/changelog/changelog_20.rst
@@ -10,7 +10,144 @@
.. changelog::
:version: 2.0.13
- :include_notes_from: unreleased_20
+ :released: May 10, 2023
+
+ .. change::
+ :tags: usecase, asyncio
+ :tickets: 9731
+
+ Added a new helper mixin :class:`_asyncio.AsyncAttrs` that seeks to improve
+ the use of lazy-loader and other expired or deferred ORM attributes with
+ asyncio, providing a simple attribute accessor that provides an ``await``
+ interface to any ORM attribute, whether or not it needs to emit SQL.
+
+ .. seealso::
+
+ :class:`_asyncio.AsyncAttrs`
+
+ .. change::
+ :tags: bug, orm
+ :tickets: 9717
+
+ Fixed issue where ORM Annotated Declarative would not resolve forward
+ references correctly in all cases; in particular, when using
+ ``from __future__ import annotations`` in combination with Pydantic
+ dataclasses.
+
+ .. change::
+ :tags: typing, sql
+ :tickets: 9656
+
+ Added type :data:`_sql.ColumnExpressionArgument` as a public-facing type
+ that indicates column-oriented arguments which are passed to SQLAlchemy
+ constructs, such as :meth:`_sql.Select.where`, :func:`_sql.and_` and
+ others. This may be used to add typing to end-user functions which call
+ these methods.
+
+ .. change::
+ :tags: bug, orm
+ :tickets: 9746
+
+ Fixed issue in new :ref:`orm_queryguide_upsert_returning` feature where the
+ ``populate_existing`` execution option was not being propagated to the
+ loading option, preventing existing attributes from being refreshed
+ in-place.
+
+ .. change::
+ :tags: bug, sql
+
+ Fixed the base class for dialect-specific float/double types; Oracle
+ :class:`_oracle.BINARY_DOUBLE` now subclasses :class:`_sqltypes.Double`,
+ and internal types for :class:`_sqltypes.Float` for asyncpg and pg8000 now
+ correctly subclass :class:`_sqltypes.Float`.
+
+ .. change::
+ :tags: bug, ext
+ :tickets: 9676
+
+ Fixed issue in :class:`_mutable.Mutable` where event registration for ORM
+ mapped attributes would be called repeatedly for mapped inheritance
+ subclasses, leading to duplicate events being invoked in inheritance
+ hierarchies.
+
+ .. change::
+ :tags: bug, orm
+ :tickets: 9715
+
+ Fixed loader strategy pathing issues where eager loaders such as
+ :func:`_orm.joinedload` / :func:`_orm.selectinload` would fail to traverse
+ fully for many-levels deep following a load that had a
+ :func:`_orm.with_polymorphic` or similar construct as an interim member.
+
+ .. change::
+ :tags: usecase, sql
+ :tickets: 9721
+
+ Implemented the "cartesian product warning" for UPDATE and DELETE
+ statements, those which include multiple tables that are not correlated
+ together in some way.
+
+ .. change::
+ :tags: bug, sql
+
+ Fixed issue where :func:`_dml.update` construct that included multiple
+ tables and no VALUES clause would raise with an internal error. Current
+ behavior for :class:`_dml.Update` with no values is to generate a SQL
+ UPDATE statement with an empty "set" clause, so this has been made
+ consistent for this specific sub-case.
+
+ .. change::
+ :tags: oracle, reflection
+ :tickets: 9597
+
+ Added reflection support in the Oracle dialect to expression based indexes
+ and the ordering direction of index expressions.
+
+ .. change::
+ :tags: performance, schema
+ :tickets: 9597
+
+ Improved how table columns are added, avoiding unnecessary allocations,
+ significantly speeding up the creation of many table, like when reflecting
+ entire schemas.
+
+ .. change::
+ :tags: bug, typing
+ :tickets: 9762
+
+ Fixed typing for the :paramref:`_orm.Session.get.with_for_update` parameter
+ of :meth:`_orm.Session.get` and :meth:`_orm.Session.refresh` (as well as
+ corresponding methods on :class:`_asyncio.AsyncSession`) to accept boolean
+ ``True`` and all other argument forms accepted by the parameter at runtime.
+
+ .. change::
+ :tags: bug, postgresql, regression
+ :tickets: 9739
+
+ Fixed another regression due to the "insertmanyvalues" change in 2.0.10 as
+ part of :ticket:`9618`, in a similar way as regression :ticket:`9701`, where
+ :class:`.LargeBinary` datatypes also need additional casts on when using the
+ asyncpg driver specifically in order to work with the new bulk INSERT
+ format.
+
+ .. change::
+ :tags: bug, orm
+ :tickets: 9630
+
+ Fixed issue in :func:`_orm.mapped_column` construct where the correct
+ warning for "column X named directly multiple times" would not be emitted
+ when ORM mapped attributes referred to the same :class:`_schema.Column`, if
+ the :func:`_orm.mapped_column` construct were involved, raising an internal
+ assertion instead.
+
+ .. change::
+ :tags: bug, asyncio
+
+ Fixed issue in semi-private ``await_only()`` and ``await_fallback()``
+ concurrency functions where the given awaitable would remain un-awaited if
+ the function threw a ``GreenletError``, which could cause "was not awaited"
+ warnings later on if the program continued. In this case, the given
+ awaitable is now cancelled before the exception is thrown.
.. changelog::
:version: 2.0.12
diff --git a/doc/build/changelog/unreleased_20/9597.rst b/doc/build/changelog/unreleased_20/9597.rst
deleted file mode 100644
index f8a69d92b..000000000
--- a/doc/build/changelog/unreleased_20/9597.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-.. change::
- :tags: oracle, reflection
- :tickets: 9597
-
- Added reflection support in the Oracle dialect to expression based indexes
- and the ordering direction of index expressions.
-
-.. change::
- :tags: performance, schema
- :tickets: 9597
-
- Improved how table columns are added, avoiding unnecessary allocations,
- significantly speeding up the creation of many table, like when reflecting
- entire schemas.
diff --git a/doc/build/changelog/unreleased_20/9630.rst b/doc/build/changelog/unreleased_20/9630.rst
deleted file mode 100644
index 912cb5795..000000000
--- a/doc/build/changelog/unreleased_20/9630.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
- :tags: bug, orm
- :tickets: 9630
-
- Fixed issue in :func:`_orm.mapped_column` construct where the correct
- warning for "column X named directly multiple times" would not be emitted
- when ORM mapped attributes referred to the same :class:`_schema.Column`, if
- the :func:`_orm.mapped_column` construct were involved, raising an internal
- assertion instead.
diff --git a/doc/build/changelog/unreleased_20/9656.rst b/doc/build/changelog/unreleased_20/9656.rst
deleted file mode 100644
index 1b00da816..000000000
--- a/doc/build/changelog/unreleased_20/9656.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
- :tags: typing, sql
- :tickets: 9656
-
- Added type :data:`_sql.ColumnExpressionArgument` as a public-facing type
- that indicates column-oriented arguments which are passed to SQLAlchemy
- constructs, such as :meth:`_sql.Select.where`, :func:`_sql.and_` and
- others. This may be used to add typing to end-user functions which call
- these methods.
diff --git a/doc/build/changelog/unreleased_20/9676.rst b/doc/build/changelog/unreleased_20/9676.rst
deleted file mode 100644
index 21edcaab6..000000000
--- a/doc/build/changelog/unreleased_20/9676.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
- :tags: bug, ext
- :tickets: 9676
-
- Fixed issue in :class:`_mutable.Mutable` where event registration for ORM
- mapped attributes would be called repeatedly for mapped inheritance
- subclasses, leading to duplicate events being invoked in inheritance
- hierarchies.
diff --git a/doc/build/changelog/unreleased_20/9715.rst b/doc/build/changelog/unreleased_20/9715.rst
deleted file mode 100644
index 107051b72..000000000
--- a/doc/build/changelog/unreleased_20/9715.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
- :tags: bug, orm
- :tickets: 9715
-
- Fixed loader strategy pathing issues where eager loaders such as
- :func:`_orm.joinedload` / :func:`_orm.selectinload` would fail to traverse
- fully for many-levels deep following a load that had a
- :func:`_orm.with_polymorphic` or similar construct as an interim member.
diff --git a/doc/build/changelog/unreleased_20/9717.rst b/doc/build/changelog/unreleased_20/9717.rst
deleted file mode 100644
index d70ffe17a..000000000
--- a/doc/build/changelog/unreleased_20/9717.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
- :tags: bug, orm
- :tickets: 9717
-
- Fixed issue where ORM Annotated Declarative would not resolve forward
- references correctly in all cases; in particular, when using
- ``from __future__ import annotations`` in combination with Pydantic
- dataclasses.
diff --git a/doc/build/changelog/unreleased_20/9721.rst b/doc/build/changelog/unreleased_20/9721.rst
deleted file mode 100644
index 2a2b29f84..000000000
--- a/doc/build/changelog/unreleased_20/9721.rst
+++ /dev/null
@@ -1,16 +0,0 @@
-.. change::
- :tags: usecase, sql
- :tickets: 9721
-
- Implemented the "cartesian product warning" for UPDATE and DELETE
- statements, those which include multiple tables that are not correlated
- together in some way.
-
-.. change::
- :tags: bug, sql
-
- Fixed issue where :func:`_dml.update` construct that included multiple
- tables and no VALUES clause would raise with an internal error. Current
- behavior for :class:`_dml.Update` with no values is to generate a SQL
- UPDATE statement with an empty "set" clause, so this has been made
- consistent for this specific sub-case.
diff --git a/doc/build/changelog/unreleased_20/9731.rst b/doc/build/changelog/unreleased_20/9731.rst
deleted file mode 100644
index f5337b2c9..000000000
--- a/doc/build/changelog/unreleased_20/9731.rst
+++ /dev/null
@@ -1,12 +0,0 @@
-.. change::
- :tags: usecase, asyncio
- :tickets: 9731
-
- Added a new helper mixin :class:`_asyncio.AsyncAttrs` that seeks to improve
- the use of lazy-loader and other expired or deferred ORM attributes with
- asyncio, providing a simple attribute accessor that provides an ``await``
- interface to any ORM attribute, whether or not it needs to emit SQL.
-
- .. seealso::
-
- :class:`_asyncio.AsyncAttrs`
diff --git a/doc/build/changelog/unreleased_20/9739.rst b/doc/build/changelog/unreleased_20/9739.rst
deleted file mode 100644
index 987d69ce2..000000000
--- a/doc/build/changelog/unreleased_20/9739.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
- :tags: bug, postgresql, regression
- :tickets: 9739
-
- Fixed another regression due to the "insertmanyvalues" change in 2.0.10 as
- part of :ticket:`9618`, in a similar way as regression :ticket:`9701`, where
- :class:`.LargeBinary` datatypes also need additional casts on when using the
- asyncpg driver specifically in order to work with the new bulk INSERT
- format.
diff --git a/doc/build/changelog/unreleased_20/9746.rst b/doc/build/changelog/unreleased_20/9746.rst
deleted file mode 100644
index 55d57925e..000000000
--- a/doc/build/changelog/unreleased_20/9746.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
- :tags: bug, orm
- :tickets: 9746
-
- Fixed issue in new :ref:`orm_queryguide_upsert_returning` feature where the
- ``populate_existing`` execution option was not being propagated to the
- loading option, preventing existing attributes from being refreshed
- in-place.
diff --git a/doc/build/changelog/unreleased_20/9762.rst b/doc/build/changelog/unreleased_20/9762.rst
deleted file mode 100644
index 9906bfb5f..000000000
--- a/doc/build/changelog/unreleased_20/9762.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
- :tags: bug, typing
- :tickets: 9762
-
- Fixed typing for the :paramref:`_orm.Session.get.with_for_update` parameter
- of :meth:`_orm.Session.get` and :meth:`_orm.Session.refresh` (as well as
- corresponding methods on :class:`_asyncio.AsyncSession`) to accept boolean
- ``True`` and all other argument forms accepted by the parameter at runtime.
diff --git a/doc/build/changelog/unreleased_20/await_cancel.rst b/doc/build/changelog/unreleased_20/await_cancel.rst
deleted file mode 100644
index 5d50a4fcc..000000000
--- a/doc/build/changelog/unreleased_20/await_cancel.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
- :tags: bug, asyncio
-
- Fixed issue in semi-private ``await_only()`` and ``await_fallback()``
- concurrency functions where the given awaitable would remain un-awaited if
- the function threw a ``GreenletError``, which could cause "was not awaited"
- warnings later on if the program continued. In this case, the given
- awaitable is now cancelled before the exception is thrown.
diff --git a/doc/build/changelog/unreleased_20/suite_float_tests.rst b/doc/build/changelog/unreleased_20/suite_float_tests.rst
deleted file mode 100644
index 06e7fcd55..000000000
--- a/doc/build/changelog/unreleased_20/suite_float_tests.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-.. change::
- :tags: bug, sql
-
- Fixed the base class for dialect-specific float/double types; Oracle
- :class:`_oracle.BINARY_DOUBLE` now subclasses :class:`_sqltypes.Double`,
- and internal types for :class:`_sqltypes.Float` for asyncpg and pg8000 now
- correctly subclass :class:`_sqltypes.Float`.
diff --git a/doc/build/conf.py b/doc/build/conf.py
index 0c1455bdb..19e06de6a 100644
--- a/doc/build/conf.py
+++ b/doc/build/conf.py
@@ -242,9 +242,9 @@ copyright = "2007-2023, 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.12"
+release = "2.0.13"
-release_date = "April 30, 2023"
+release_date = "May 10, 2023"
site_base = os.environ.get("RTD_SITE_BASE", "https://www.sqlalchemy.org")
site_adapter_template = "docs_adapter.mako"