From: Mike Bayer Date: Fri, 19 Mar 2021 22:59:47 +0000 (-0400) Subject: - 1.4.2 X-Git-Tag: rel_1_4_2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7d6700d96dd1fd24a8d459477fbc6f14f3b637a3;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - 1.4.2 --- diff --git a/doc/build/changelog/changelog_14.rst b/doc/build/changelog/changelog_14.rst index 43cd1674b3..e6d293fb47 100644 --- a/doc/build/changelog/changelog_14.rst +++ b/doc/build/changelog/changelog_14.rst @@ -15,7 +15,125 @@ This document details individual issue-level changes made throughout .. changelog:: :version: 1.4.2 - :include_notes_from: unreleased_14 + :released: March 19, 2021 + + .. change:: + :tags: bug, orm, dataclasses + :tickets: 6093 + + Fixed issue in new ORM dataclasses functionality where dataclass fields on + an abstract base or mixin that contained column or other mapping constructs + would not be mapped if they also included a "default" key within the + dataclasses.field() object. + + + .. change:: + :tags: bug, regression, orm + :tickets: 6088 + + Fixed regression where the :attr:`_orm.Query.selectable` accessor, which is + a synonym for :meth:`_orm.Query.__clause_element__`, got removed, it's now + restored. + + .. change:: + :tags: bug, engine, regression + + Restored top level import for ``sqlalchemy.engine.reflection``. This + ensures that the base :class:`_reflection.Inspector` class is properly + registered so that :func:`_sa.inspect` works for third party dialects that + don't otherwise import this package. + + + .. change:: + :tags: bug, regression, orm + :tickets: 6086 + + Fixed regression where use of an unnamed SQL expression such as a SQL + function would raise a column targeting error if the query itself were + using joinedload for an entity and was also being wrapped in a subquery by + the joinedload eager loading process. + + + .. change:: + :tags: bug, orm, regression + :tickets: 6092 + + Fixed regression where the :meth:`_orm.Query.filter_by` method would fail + to locate the correct source entity if the :meth:`_orm.Query.join` method + had been used targeting an entity without any kind of ON clause. + + + .. change:: + :tags: postgresql, usecase + :tickets: 6982 + + Rename the column name used by a reflection query that used + a reserved word in some postgresql compatible databases. + + .. change:: + :tags: usecase, orm, dataclasses + :tickets: 6100 + + Added support for the :class:`_orm.declared_attr` object to work in the + context of dataclass fields. + + .. seealso:: + + :ref:`orm_declarative_dataclasses_mixin` + + .. change:: + :tags: bug, sql, regression + :tickets: 6101 + + Fixed issue where using a ``func`` that includes dotted packagenames would + fail to be cacheable by the SQL caching system due to a Python list of + names that needed to be a tuple. + + + .. change:: + :tags: bug, regression, orm + :tickets: 6095 + + Fixed regression where the SQL compilation of a :class:`.Function` would + not work correctly if the object had been "annotated", which is an internal + memoization process used mostly by the ORM. In particular it could affect + ORM lazy loads which make greater use of this feature in 1.4. + + .. change:: + :tags: bug, sql, regression + :tickets: 6097 + + Fixed regression in the :func:`_sql.case` construct, where the "dictionary" + form of argument specification failed to work correctly if it were passed + positionally, rather than as a "whens" keyword argument. + + .. change:: + :tags: bug, orm + :tickets: 6090 + + Fixed regression where the :class:`.ConcreteBase` would fail to map at all + when a mapped column name overlapped with the discriminator column name, + producing an assertion error. The use case here did not function correctly + in 1.3 as the polymorphic union would produce a query that ignored the + discriminator column entirely, while emitting duplicate column warnings. As + 1.4's architecture cannot easily reproduce this essentially broken behavior + of 1.3 at the ``select()`` level right now, the use case now raises an + informative error message instructing the user to use the + ``.ConcreteBase._concrete_discriminator_name`` attribute to resolve the + conflict. To assist with this configuration, + ``.ConcreteBase._concrete_discriminator_name`` may be placed on the base + class only where it will be automatically used by subclasses; previously + this was not the case. + + + .. change:: + :tags: bug, mypy + :tickets: sqlalchemy/sqlalchemy2-stubs/2 + + Fixed issue in MyPy extension which crashed on detecting the type of a + :class:`.Column` if the type were given with a module prefix like + ``sa.Integer()``. + .. changelog:: :version: 1.4.1 diff --git a/doc/build/changelog/unreleased_14/6082.rst b/doc/build/changelog/unreleased_14/6082.rst deleted file mode 100644 index ea1cd65f03..0000000000 --- a/doc/build/changelog/unreleased_14/6082.rst +++ /dev/null @@ -1,6 +0,0 @@ -.. change:: - :tags: postgresql, usecase - :tickets: 6982 - - Rename the column name used by a reflection query that used - a reserved word in some postgresql compatible databases. \ No newline at end of file diff --git a/doc/build/changelog/unreleased_14/6086.rst b/doc/build/changelog/unreleased_14/6086.rst deleted file mode 100644 index 5510883474..0000000000 --- a/doc/build/changelog/unreleased_14/6086.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, regression, orm - :tickets: 6086 - - Fixed regression where use of an unnamed SQL expression such as a SQL - function would raise a column targeting error if the query itself were - using joinedload for an entity and was also being wrapped in a subquery by - the joinedload eager loading process. - diff --git a/doc/build/changelog/unreleased_14/6088.rst b/doc/build/changelog/unreleased_14/6088.rst deleted file mode 100644 index 85c98530d7..0000000000 --- a/doc/build/changelog/unreleased_14/6088.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: bug, regression, orm - :tickets: 6088 - - Fixed regression where the :attr:`_orm.Query.selectable` accessor, which is - a synonym for :meth:`_orm.Query.__clause_element__`, got removed, it's now - restored. diff --git a/doc/build/changelog/unreleased_14/6090.rst b/doc/build/changelog/unreleased_14/6090.rst deleted file mode 100644 index c22a664d37..0000000000 --- a/doc/build/changelog/unreleased_14/6090.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 6090 - - Fixed regression where the :class:`.ConcreteBase` would fail to map at all - when a mapped column name overlapped with the discriminator column name, - producing an assertion error. The use case here did not function correctly - in 1.3 as the polymorphic union would produce a query that ignored the - discriminator column entirely, while emitting duplicate column warnings. As - 1.4's architecture cannot easily reproduce this essentially broken behavior - of 1.3 at the ``select()`` level right now, the use case now raises an - informative error message instructing the user to use the - ``.ConcreteBase._concrete_discriminator_name`` attribute to resolve the - conflict. To assist with this configuration, - ``.ConcreteBase._concrete_discriminator_name`` may be placed on the base - class only where it will be automatically used by subclasses; previously - this was not the case. - diff --git a/doc/build/changelog/unreleased_14/6092.rst b/doc/build/changelog/unreleased_14/6092.rst deleted file mode 100644 index 76108f8691..0000000000 --- a/doc/build/changelog/unreleased_14/6092.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, orm, regression - :tickets: 6092 - - Fixed regression where the :meth:`_orm.Query.filter_by` method would fail - to locate the correct source entity if the :meth:`_orm.Query.join` method - had been used targeting an entity without any kind of ON clause. - diff --git a/doc/build/changelog/unreleased_14/6093.rst b/doc/build/changelog/unreleased_14/6093.rst deleted file mode 100644 index 95e4af6f2c..0000000000 --- a/doc/build/changelog/unreleased_14/6093.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, orm, dataclasses - :tickets: 6093 - - Fixed issue in new ORM dataclasses functionality where dataclass fields on - an abstract base or mixin that contained column or other mapping constructs - would not be mapped if they also included a "default" key within the - dataclasses.field() object. - diff --git a/doc/build/changelog/unreleased_14/6095.rst b/doc/build/changelog/unreleased_14/6095.rst deleted file mode 100644 index bcf44b1b63..0000000000 --- a/doc/build/changelog/unreleased_14/6095.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, regression, orm - :tickets: 6095 - - Fixed regression where the SQL compilation of a :class:`.Function` would - not work correctly if the object had been "annotated", which is an internal - memoization process used mostly by the ORM. In particular it could affect - ORM lazy loads which make greater use of this feature in 1.4. diff --git a/doc/build/changelog/unreleased_14/6097.rst b/doc/build/changelog/unreleased_14/6097.rst deleted file mode 100644 index ade52860d2..0000000000 --- a/doc/build/changelog/unreleased_14/6097.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: bug, sql, regression - :tickets: 6097 - - Fixed regression in the :func:`_sql.case` construct, where the "dictionary" - form of argument specification failed to work correctly if it were passed - positionally, rather than as a "whens" keyword argument. diff --git a/doc/build/changelog/unreleased_14/6100.rst b/doc/build/changelog/unreleased_14/6100.rst deleted file mode 100644 index 197805bb72..0000000000 --- a/doc/build/changelog/unreleased_14/6100.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: usecase, orm, dataclasses - :tickets: 6100 - - Added support for the :class:`_orm.declared_attr` object to work in the - context of dataclass fields. - - .. seealso:: - - :ref:`orm_declarative_dataclasses_mixin` diff --git a/doc/build/changelog/unreleased_14/6101.rst b/doc/build/changelog/unreleased_14/6101.rst deleted file mode 100644 index 131a8e73a0..0000000000 --- a/doc/build/changelog/unreleased_14/6101.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, sql, regression - :tickets: 6101 - - Fixed issue where using a ``func`` that includes dotted packagenames would - fail to be cacheable by the SQL caching system due to a Python list of - names that needed to be a tuple. - diff --git a/doc/build/changelog/unreleased_14/import_reflect.rst b/doc/build/changelog/unreleased_14/import_reflect.rst deleted file mode 100644 index 145d56087b..0000000000 --- a/doc/build/changelog/unreleased_14/import_reflect.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, engine, regression - - Restored top level import for ``sqlalchemy.engine.reflection``. This - ensures that the base :class:`_reflection.Inspector` class is properly - registered so that :func:`_sa.inspect` works for third party dialects that - don't otherwise import this package. - diff --git a/doc/build/changelog/unreleased_14/stubs_2.rst b/doc/build/changelog/unreleased_14/stubs_2.rst deleted file mode 100644 index 20689cbcf6..0000000000 --- a/doc/build/changelog/unreleased_14/stubs_2.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, mypy - :tickets: sqlalchemy/sqlalchemy2-stubs/2 - - Fixed issue in MyPy extension which crashed on detecting the type of a - :class:`.Column` if the type were given with a module prefix like - ``sa.Integer()``. - diff --git a/doc/build/conf.py b/doc/build/conf.py index 68790da9ae..a6cfd59b29 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.1" +release = "1.4.2" -release_date = "March 17, 2021" +release_date = "March 19, 2021" site_base = os.environ.get("RTD_SITE_BASE", "http://www.sqlalchemy.org") site_adapter_template = "docs_adapter.mako"