From: Mike Bayer Date: Fri, 28 May 2021 17:05:23 +0000 (-0400) Subject: - 1.4.16 X-Git-Tag: rel_1_4_16 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=627135e4239c5f1a073b7c21e4958087c4b0e0a0;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - 1.4.16 --- diff --git a/doc/build/changelog/changelog_14.rst b/doc/build/changelog/changelog_14.rst index 09a4e5087b..413cc1c30d 100644 --- a/doc/build/changelog/changelog_14.rst +++ b/doc/build/changelog/changelog_14.rst @@ -15,7 +15,130 @@ This document details individual issue-level changes made throughout .. changelog:: :version: 1.4.16 - :include_notes_from: unreleased_14 + :released: May 28, 2021 + + .. change:: + :tags: bug, engine + :tickets: 6482 + + Fixed issue where an ``@`` sign in the database portion of a URL would not + be interpreted correctly if the URL also had a username:password section. + + + .. change:: + :tags: bug, ext + :tickets: 6529 + + Fixed a deprecation warning that was emitted when using + :func:`_automap.automap_base` without passing an existing + ``Base``. + + + .. change:: + :tags: bug, pep484 + :tickets: 6461 + + Remove pep484 types from the code. + Current effort is around the stub package, and having typing in + two places makes thing worse, since the types in the SQLAlchemy + source were usually outdated compared to the version in the stubs. + + .. change:: + :tags: usecase, mssql + :tickets: 6464 + + Implemented support for a :class:`_sql.CTE` construct to be used directly + as the target of a :func:`_sql.delete` construct, i.e. "WITH ... AS cte + DELETE FROM cte". This appears to be a useful feature of SQL Server. + + .. change:: + :tags: bug, general + :tickets: 6540, 6543 + + Resolved various deprecation warnings which were appearing as of Python + version 3.10.0b1. + + .. change:: + :tags: bug, orm + :tickets: 6471 + + Fixed issue when using :paramref:`_orm.relationship.cascade_backrefs` + parameter set to ``False``, which per :ref:`change_5150` is set to become + the standard behavior in SQLAlchemy 2.0, where adding the item to a + collection that uniquifies, such as ``set`` or ``dict`` would fail to fire + a cascade event if the object were already associated in that collection + via the backref. This fix represents a fundamental change in the collection + mechanics by introducing a new event state which can fire off for a + collection mutation even if there is no net change on the collection; the + action is now suited using a new event hook + :meth:`_orm.AttributeEvents.append_wo_mutation`. + + + + .. change:: + :tags: bug, orm, regression + :tickets: 6550 + + Fixed regression involving clause adaption of labeled ORM compound + elements, such as single-table inheritance discriminator expressions with + conditionals or CASE expressions, which could cause aliased expressions + such as those used in ORM join / joinedload operations to not be adapted + correctly, such as referring to the wrong table in the ON clause in a join. + + This change also improves a performance bump that was located within the + process of invoking :meth:`_sql.Select.join` given an ORM attribute + as a target. + + .. change:: + :tags: bug, orm, regression + :tickets: 6495 + + Fixed regression where the full combination of joined inheritance, global + with_polymorphic, self-referential relationship and joined loading would + fail to be able to produce a query with the scope of lazy loads and object + refresh operations that also attempted to render the joined loader. + + .. change:: + :tags: bug, engine + :tickets: 6329 + + Fixed a long-standing issue with :class:`.URL` where query parameters + following the question mark would not be parsed correctly if the URL did + not contain a database portion with a backslash. + + .. change:: + :tags: bug, sql, regression + :tickets: 6549 + + Fixed regression in dynamic loader strategy and :func:`_orm.relationship` + overall where the :paramref:`_orm.relationship.order_by` parameter were + stored as a mutable list, which could then be mutated when combined with + additional "order_by" methods used against the dynamic query object, + causing the ORDER BY criteria to continue to grow repetitively. + + .. change:: + :tags: bug, orm + :tickets: 6484 + + Enhanced the bind resolution rules for :meth:`_orm.Session.execute` so that + when a non-ORM statement such as an :func:`_sql.insert` construct + nonetheless is built against ORM objects, to the greatest degree possible + the ORM entity will be used to resolve the bind, such as for a + :class:`_orm.Session` that has a bind map set up on a common superclass + without specific mappers or tables named in the map. + + .. change:: + :tags: bug, regression, ext + :tickets: 6390 + + Fixed regression in the ``sqlalchemy.ext.instrumentation`` extension that + prevented instrumentation disposal from working completely. This fix + includes both a 1.4 regression fix as well as a fix for a related issue + that existed in 1.3 also. As part of this change, the + :class:`sqlalchemy.ext.instrumentation.InstrumentationManager` class now + has a new method ``unregister()``, which replaces the previous method + ``dispose()``, which was not called as of version 1.4. + .. changelog:: :version: 1.4.15 diff --git a/doc/build/changelog/unreleased_14/6329.rst b/doc/build/changelog/unreleased_14/6329.rst deleted file mode 100644 index c71fed6375..0000000000 --- a/doc/build/changelog/unreleased_14/6329.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: bug, engine - :tickets: 6329 - - Fixed a long-standing issue with :class:`.URL` where query parameters - following the question mark would not be parsed correctly if the URL did - not contain a database portion with a backslash. diff --git a/doc/build/changelog/unreleased_14/6390.rst b/doc/build/changelog/unreleased_14/6390.rst deleted file mode 100644 index 6c38abbce2..0000000000 --- a/doc/build/changelog/unreleased_14/6390.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. change:: - :tags: bug, regression, ext - :tickets: 6390 - - Fixed regression in the ``sqlalchemy.ext.instrumentation`` extension that - prevented instrumentation disposal from working completely. This fix - includes both a 1.4 regression fix as well as a fix for a related issue - that existed in 1.3 also. As part of this change, the - :class:`sqlalchemy.ext.instrumentation.InstrumentationManager` class now - has a new method ``unregister()``, which replaces the previous method - ``dispose()``, which was not called as of version 1.4. - diff --git a/doc/build/changelog/unreleased_14/6461.rst b/doc/build/changelog/unreleased_14/6461.rst deleted file mode 100644 index 89ec7eb84a..0000000000 --- a/doc/build/changelog/unreleased_14/6461.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, pep484 - :tickets: 6461 - - Remove pep484 types from the code. - Current effort is around the stub package, and having typing in - two places makes thing worse, since the types in the SQLAlchemy - source were usually outdated compared to the version in the stubs. diff --git a/doc/build/changelog/unreleased_14/6464.rst b/doc/build/changelog/unreleased_14/6464.rst deleted file mode 100644 index 8011841839..0000000000 --- a/doc/build/changelog/unreleased_14/6464.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: usecase, mssql - :tickets: 6464 - - Implemented support for a :class:`_sql.CTE` construct to be used directly - as the target of a :func:`_sql.delete` construct, i.e. "WITH ... AS cte - DELETE FROM cte". This appears to be a useful feature of SQL Server. diff --git a/doc/build/changelog/unreleased_14/6471.rst b/doc/build/changelog/unreleased_14/6471.rst deleted file mode 100644 index 26cf8dbf47..0000000000 --- a/doc/build/changelog/unreleased_14/6471.rst +++ /dev/null @@ -1,16 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 6471 - - Fixed issue when using :paramref:`_orm.relationship.cascade_backrefs` - parameter set to ``False``, which per :ref:`change_5150` is set to become - the standard behavior in SQLAlchemy 2.0, where adding the item to a - collection that uniquifies, such as ``set`` or ``dict`` would fail to fire - a cascade event if the object were already associated in that collection - via the backref. This fix represents a fundamental change in the collection - mechanics by introducing a new event state which can fire off for a - collection mutation even if there is no net change on the collection; the - action is now suited using a new event hook - :meth:`_orm.AttributeEvents.append_wo_mutation`. - - diff --git a/doc/build/changelog/unreleased_14/6482.rst b/doc/build/changelog/unreleased_14/6482.rst deleted file mode 100644 index 5f3056ef47..0000000000 --- a/doc/build/changelog/unreleased_14/6482.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: bug, engine - :tickets: 6482 - - Fixed issue where an ``@`` sign in the database portion of a URL would not - be interpreted correctly if the URL also had a username:password section. - diff --git a/doc/build/changelog/unreleased_14/6484.rst b/doc/build/changelog/unreleased_14/6484.rst deleted file mode 100644 index 28106ddbf4..0000000000 --- a/doc/build/changelog/unreleased_14/6484.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 6484 - - Enhanced the bind resolution rules for :meth:`_orm.Session.execute` so that - when a non-ORM statement such as an :func:`_sql.insert` construct - nonetheless is built against ORM objects, to the greatest degree possible - the ORM entity will be used to resolve the bind, such as for a - :class:`_orm.Session` that has a bind map set up on a common superclass - without specific mappers or tables named in the map. diff --git a/doc/build/changelog/unreleased_14/6495.rst b/doc/build/changelog/unreleased_14/6495.rst deleted file mode 100644 index 8bb96bc423..0000000000 --- a/doc/build/changelog/unreleased_14/6495.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, orm, regression - :tickets: 6495 - - Fixed regression where the full combination of joined inheritance, global - with_polymorphic, self-referential relationship and joined loading would - fail to be able to produce a query with the scope of lazy loads and object - refresh operations that also attempted to render the joined loader. diff --git a/doc/build/changelog/unreleased_14/6529.rst b/doc/build/changelog/unreleased_14/6529.rst deleted file mode 100644 index df650cb435..0000000000 --- a/doc/build/changelog/unreleased_14/6529.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, ext - :tickets: 6529 - - Fixed a deprecation warning that was emitted when using - :func:`_automap.automap_base` without passing an existing - ``Base``. - diff --git a/doc/build/changelog/unreleased_14/6549.rst b/doc/build/changelog/unreleased_14/6549.rst deleted file mode 100644 index fbee0db3f8..0000000000 --- a/doc/build/changelog/unreleased_14/6549.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, sql, regression - :tickets: 6549 - - Fixed regression in dynamic loader strategy and :func:`_orm.relationship` - overall where the :paramref:`_orm.relationship.order_by` parameter were - stored as a mutable list, which could then be mutated when combined with - additional "order_by" methods used against the dynamic query object, - causing the ORDER BY criteria to continue to grow repetitively. diff --git a/doc/build/changelog/unreleased_14/6550.rst b/doc/build/changelog/unreleased_14/6550.rst deleted file mode 100644 index 8cb553f240..0000000000 --- a/doc/build/changelog/unreleased_14/6550.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. change:: - :tags: bug, orm, regression - :tickets: 6550 - - Fixed regression involving clause adaption of labeled ORM compound - elements, such as single-table inheritance discriminator expressions with - conditionals or CASE expressions, which could cause aliased expressions - such as those used in ORM join / joinedload operations to not be adapted - correctly, such as referring to the wrong table in the ON clause in a join. - - This change also improves a performance bump that was located within the - process of invoking :meth:`_sql.Select.join` given an ORM attribute - as a target. diff --git a/doc/build/changelog/unreleased_14/py310.rst b/doc/build/changelog/unreleased_14/py310.rst deleted file mode 100644 index 5ade161c31..0000000000 --- a/doc/build/changelog/unreleased_14/py310.rst +++ /dev/null @@ -1,6 +0,0 @@ -.. change:: - :tags: bug, general - :tickets: 6540, 6543 - - Resolved various deprecation warnings which were appearing as of Python - version 3.10.0b1. diff --git a/doc/build/conf.py b/doc/build/conf.py index 87b1baa764..94a63da3fc 100644 --- a/doc/build/conf.py +++ b/doc/build/conf.py @@ -195,9 +195,9 @@ copyright = u"2007-2021, the SQLAlchemy authors and contributors" # noqa # The short X.Y version. version = "1.4" # The full version, including alpha/beta/rc tags. -release = "1.4.15" +release = "1.4.16" -release_date = "May 11, 2021" +release_date = "May 28, 2021" site_base = os.environ.get("RTD_SITE_BASE", "http://www.sqlalchemy.org") site_adapter_template = "docs_adapter.mako"