From 403194a3979a55a5387311595210ce05c877e355 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sun, 5 May 2024 13:52:32 -0400 Subject: [PATCH] - 2.0.30 --- doc/build/changelog/changelog_20.rst | 127 +++++++++++++++++++- doc/build/changelog/unreleased_20/11200.rst | 9 -- doc/build/changelog/unreleased_20/11210.rst | 11 -- doc/build/changelog/unreleased_20/11220.rst | 11 -- doc/build/changelog/unreleased_20/11268.rst | 6 - doc/build/changelog/unreleased_20/11291.rst | 8 -- doc/build/changelog/unreleased_20/11292.rst | 11 -- doc/build/changelog/unreleased_20/11305.rst | 7 -- doc/build/changelog/unreleased_20/11306.rst | 12 -- doc/build/changelog/unreleased_20/11327.rst | 10 -- doc/build/changelog/unreleased_20/11332.rst | 8 -- doc/build/changelog/unreleased_20/11334.rst | 7 -- doc/build/changelog/unreleased_20/11347.rst | 13 -- doc/build/conf.py | 4 +- 14 files changed, 128 insertions(+), 116 deletions(-) delete mode 100644 doc/build/changelog/unreleased_20/11200.rst delete mode 100644 doc/build/changelog/unreleased_20/11210.rst delete mode 100644 doc/build/changelog/unreleased_20/11220.rst delete mode 100644 doc/build/changelog/unreleased_20/11268.rst delete mode 100644 doc/build/changelog/unreleased_20/11291.rst delete mode 100644 doc/build/changelog/unreleased_20/11292.rst delete mode 100644 doc/build/changelog/unreleased_20/11305.rst delete mode 100644 doc/build/changelog/unreleased_20/11306.rst delete mode 100644 doc/build/changelog/unreleased_20/11327.rst delete mode 100644 doc/build/changelog/unreleased_20/11332.rst delete mode 100644 doc/build/changelog/unreleased_20/11334.rst delete mode 100644 doc/build/changelog/unreleased_20/11347.rst diff --git a/doc/build/changelog/changelog_20.rst b/doc/build/changelog/changelog_20.rst index 973a480fe2..b273976eb8 100644 --- a/doc/build/changelog/changelog_20.rst +++ b/doc/build/changelog/changelog_20.rst @@ -10,7 +10,132 @@ .. changelog:: :version: 2.0.30 - :include_notes_from: unreleased_20 + :released: May 5, 2024 + + .. change:: + :tags: bug, typing, regression + :tickets: 11200 + + Fixed typing regression caused by :ticket:`11055` in version 2.0.29 that + added ``ParamSpec`` to the asyncio ``run_sync()`` methods, where using + :meth:`_asyncio.AsyncConnection.run_sync` with + :meth:`_schema.MetaData.reflect` would fail on mypy due to a mypy issue. + Pull request courtesy of Francisco R. Del Roio. + + .. change:: + :tags: bug, engine + :tickets: 11210 + + Fixed issue in the + :paramref:`_engine.Connection.execution_options.logging_token` option, + where changing the value of ``logging_token`` on a connection that has + already logged messages would not be updated to reflect the new logging + token. This in particular prevented the use of + :meth:`_orm.Session.connection` to change the option on the connection, + since the BEGIN logging message would already have been emitted. + + .. change:: + :tags: bug, orm + :tickets: 11220 + + Added new attribute :attr:`_orm.ORMExecuteState.is_from_statement` to + detect statements created using :meth:`_sql.Select.from_statement`, and + enhanced ``FromStatement`` to set :attr:`_orm.ORMExecuteState.is_select`, + :attr:`_orm.ORMExecuteState.is_insert`, + :attr:`_orm.ORMExecuteState.is_update`, and + :attr:`_orm.ORMExecuteState.is_delete` according to the element that is + sent to the :meth:`_sql.Select.from_statement` method itself. + + .. change:: + :tags: bug, test + :tickets: 11268 + + Ensure the ``PYTHONPATH`` variable is properly initialized when + using ``subprocess.run`` in the tests. + + .. change:: + :tags: bug, orm + :tickets: 11291 + + Fixed issue in :func:`_orm.selectin_polymorphic` loader option where + attributes defined with :func:`_orm.composite` on a superclass would cause + an internal exception on load. + + + .. change:: + :tags: bug, orm, regression + :tickets: 11292 + + Fixed regression from 1.4 where using :func:`_orm.defaultload` in + conjunction with a non-propagating loader like :func:`_orm.contains_eager` + would nonetheless propagate the :func:`_orm.contains_eager` to a lazy load + operation, causing incorrect queries as this option is only intended to + come from an original load. + + + + .. change:: + :tags: bug, orm + :tickets: 11305 + + Fixed issue in ORM Annotated Declarative where typing issue where literals + defined using :pep:`695` type aliases would not work with inference of + :class:`.Enum` datatypes. Pull request courtesy of Alc-Alc. + + .. change:: + :tags: bug, engine + :tickets: 11306 + + Fixed issue in cursor handling which affected handling of duplicate + :class:`_sql.Column` or similar objcts in the columns clause of + :func:`_sql.select`, both in combination with arbitary :func:`_sql.text()` + clauses in the SELECT list, as well as when attempting to retrieve + :meth:`_engine.Result.mappings` for the object, which would lead to an + internal error. + + + + .. change:: + :tags: bug, orm + :tickets: 11327 + + Fixed issue in :func:`_orm.selectin_polymorphic` loader option where the + SELECT emitted would only accommodate for the child-most class among the + result rows that were returned, leading intermediary-class attributes to be + unloaded if there were no concrete instances of that intermediary-class + present in the result. This issue only presented itself for multi-level + inheritance hierarchies. + + .. change:: + :tags: bug, orm + :tickets: 11332 + + Fixed issue in :meth:`_orm.Session.bulk_save_objects` where the form of the + identity key produced when using ``return_defaults=True`` would be + incorrect. This could lead to an errors during pickling as well as identity + map mismatches. + + .. change:: + :tags: bug, installation + :tickets: 11334 + + Fixed an internal class that was testing for unexpected attributes to work + correctly under upcoming Python 3.13. Pull request courtesy Edgar + Ramírez-Mondragón. + + .. change:: + :tags: bug, orm + :tickets: 11347 + + Fixed issue where attribute key names in :class:`_orm.Bundle` would not be + correct when using ORM enabled :class:`_sql.select` vs. + :class:`_orm.Query`, when the statement contained duplicate column names. + + .. change:: + :tags: bug, typing + + Fixed issue in typing for :class:`_orm.Bundle` where creating a nested + :class:`_orm.Bundle` structure were not allowed. .. changelog:: :version: 2.0.29 diff --git a/doc/build/changelog/unreleased_20/11200.rst b/doc/build/changelog/unreleased_20/11200.rst deleted file mode 100644 index e600d1a149..0000000000 --- a/doc/build/changelog/unreleased_20/11200.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, typing, regression - :tickets: 11200 - - Fixed typing regression caused by :ticket:`11055` in version 2.0.29 that - added ``ParamSpec`` to the asyncio ``run_sync()`` methods, where using - :meth:`_asyncio.AsyncConnection.run_sync` with - :meth:`_schema.MetaData.reflect` would fail on mypy due to a mypy issue. - Pull request courtesy of Francisco R. Del Roio. diff --git a/doc/build/changelog/unreleased_20/11210.rst b/doc/build/changelog/unreleased_20/11210.rst deleted file mode 100644 index 088f07d61b..0000000000 --- a/doc/build/changelog/unreleased_20/11210.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. change:: - :tags: bug, engine - :tickets: 11210 - - Fixed issue in the - :paramref:`_engine.Connection.execution_options.logging_token` option, - where changing the value of ``logging_token`` on a connection that has - already logged messages would not be updated to reflect the new logging - token. This in particular prevented the use of - :meth:`_orm.Session.connection` to change the option on the connection, - since the BEGIN logging message would already have been emitted. diff --git a/doc/build/changelog/unreleased_20/11220.rst b/doc/build/changelog/unreleased_20/11220.rst deleted file mode 100644 index f58a624f10..0000000000 --- a/doc/build/changelog/unreleased_20/11220.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 11220 - - Added new attribute :attr:`_orm.ORMExecuteState.is_from_statement` to - detect statements created using :meth:`_sql.Select.from_statement`, and - enhanced ``FromStatement`` to set :attr:`_orm.ORMExecuteState.is_select`, - :attr:`_orm.ORMExecuteState.is_insert`, - :attr:`_orm.ORMExecuteState.is_update`, and - :attr:`_orm.ORMExecuteState.is_delete` according to the element that is - sent to the :meth:`_sql.Select.from_statement` method itself. diff --git a/doc/build/changelog/unreleased_20/11268.rst b/doc/build/changelog/unreleased_20/11268.rst deleted file mode 100644 index 40c1eb7bcc..0000000000 --- a/doc/build/changelog/unreleased_20/11268.rst +++ /dev/null @@ -1,6 +0,0 @@ -.. change:: - :tags: bug, test - :tickets: 11268 - - Ensure the ``PYTHONPATH`` variable is properly initialized when - using ``subprocess.run`` in the tests. diff --git a/doc/build/changelog/unreleased_20/11291.rst b/doc/build/changelog/unreleased_20/11291.rst deleted file mode 100644 index c676c9c40a..0000000000 --- a/doc/build/changelog/unreleased_20/11291.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 11291 - - Fixed issue in :func:`_orm.selectin_polymorphic` loader option where - attributes defined with :func:`_orm.composite` on a superclass would cause - an internal exception on load. - diff --git a/doc/build/changelog/unreleased_20/11292.rst b/doc/build/changelog/unreleased_20/11292.rst deleted file mode 100644 index 65fbdf719a..0000000000 --- a/doc/build/changelog/unreleased_20/11292.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. change:: - :tags: bug, orm, regression - :tickets: 11292 - - Fixed regression from 1.4 where using :func:`_orm.defaultload` in - conjunction with a non-propagating loader like :func:`_orm.contains_eager` - would nonetheless propagate the :func:`_orm.contains_eager` to a lazy load - operation, causing incorrect queries as this option is only intended to - come from an original load. - - diff --git a/doc/build/changelog/unreleased_20/11305.rst b/doc/build/changelog/unreleased_20/11305.rst deleted file mode 100644 index 0a022c00de..0000000000 --- a/doc/build/changelog/unreleased_20/11305.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 11305 - - Fixed issue in ORM Annotated Declarative where typing issue where literals - defined using :pep:`695` type aliases would not work with inference of - :class:`.Enum` datatypes. Pull request courtesy of Alc-Alc. diff --git a/doc/build/changelog/unreleased_20/11306.rst b/doc/build/changelog/unreleased_20/11306.rst deleted file mode 100644 index c5d4ebfb70..0000000000 --- a/doc/build/changelog/unreleased_20/11306.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. change:: - :tags: bug, engine - :tickets: 11306 - - Fixed issue in cursor handling which affected handling of duplicate - :class:`_sql.Column` or similar objcts in the columns clause of - :func:`_sql.select`, both in combination with arbitary :func:`_sql.text()` - clauses in the SELECT list, as well as when attempting to retrieve - :meth:`_engine.Result.mappings` for the object, which would lead to an - internal error. - - diff --git a/doc/build/changelog/unreleased_20/11327.rst b/doc/build/changelog/unreleased_20/11327.rst deleted file mode 100644 index c5fe3e1546..0000000000 --- a/doc/build/changelog/unreleased_20/11327.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 11327 - - Fixed issue in :func:`_orm.selectin_polymorphic` loader option where the - SELECT emitted would only accommodate for the child-most class among the - result rows that were returned, leading intermediary-class attributes to be - unloaded if there were no concrete instances of that intermediary-class - present in the result. This issue only presented itself for multi-level - inheritance hierarchies. diff --git a/doc/build/changelog/unreleased_20/11332.rst b/doc/build/changelog/unreleased_20/11332.rst deleted file mode 100644 index 2c23dc6de1..0000000000 --- a/doc/build/changelog/unreleased_20/11332.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 11332 - - Fixed issue in :meth:`_orm.Session.bulk_save_objects` where the form of the - identity key produced when using ``return_defaults=True`` would be - incorrect. This could lead to an errors during pickling as well as identity - map mismatches. diff --git a/doc/build/changelog/unreleased_20/11334.rst b/doc/build/changelog/unreleased_20/11334.rst deleted file mode 100644 index 48f590c4ac..0000000000 --- a/doc/build/changelog/unreleased_20/11334.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: bug, installation - :tickets: 11334 - - Fixed an internal class that was testing for unexpected attributes to work - correctly under upcoming Python 3.13. Pull request courtesy Edgar - Ramírez-Mondragón. diff --git a/doc/build/changelog/unreleased_20/11347.rst b/doc/build/changelog/unreleased_20/11347.rst deleted file mode 100644 index a0f9652065..0000000000 --- a/doc/build/changelog/unreleased_20/11347.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 11347 - - Fixed issue where attribute key names in :class:`_orm.Bundle` would not be - correct when using ORM enabled :class:`_sql.select` vs. - :class:`_orm.Query`, when the statement contained duplicate column names. - -.. change:: - :tags: bug, typing - - Fixed issue in typing for :class:`_orm.Bundle` where creating a nested - :class:`_orm.Bundle` structure were not allowed. diff --git a/doc/build/conf.py b/doc/build/conf.py index db6ee5c8f9..9193ba8ac7 100644 --- a/doc/build/conf.py +++ b/doc/build/conf.py @@ -244,9 +244,9 @@ copyright = "2007-2024, 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.29" +release = "2.0.30" -release_date = "March 23, 2024" +release_date = "May 5, 2024" site_base = os.environ.get("RTD_SITE_BASE", "https://www.sqlalchemy.org") site_adapter_template = "docs_adapter.mako" -- 2.47.2