From fd669c5618605ffd6c9e70d221113520670af39b Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Fri, 2 Apr 2021 12:00:02 -0400 Subject: [PATCH] - 1.4.5 --- doc/build/changelog/changelog_14.rst | 134 +++++++++++++++++- doc/build/changelog/unreleased_14/6099.rst | 7 - doc/build/changelog/unreleased_14/6146.rst | 12 -- doc/build/changelog/unreleased_14/6151.rst | 6 - doc/build/changelog/unreleased_14/6163.rst | 6 - doc/build/changelog/unreleased_14/6166.rst | 8 -- doc/build/changelog/unreleased_14/6170.rst | 9 -- doc/build/changelog/unreleased_14/6171.rst | 8 -- doc/build/changelog/unreleased_14/6172.rst | 7 - doc/build/changelog/unreleased_14/6173.rst | 8 -- doc/build/changelog/unreleased_14/6181.rst | 9 -- doc/build/changelog/unreleased_14/6183.rst | 8 -- doc/build/changelog/unreleased_14/6184.rst | 21 --- .../changelog/unreleased_14/stubs_14.rst | 10 -- doc/build/conf.py | 4 +- 15 files changed, 135 insertions(+), 122 deletions(-) delete mode 100644 doc/build/changelog/unreleased_14/6099.rst delete mode 100644 doc/build/changelog/unreleased_14/6146.rst delete mode 100644 doc/build/changelog/unreleased_14/6151.rst delete mode 100644 doc/build/changelog/unreleased_14/6163.rst delete mode 100644 doc/build/changelog/unreleased_14/6166.rst delete mode 100644 doc/build/changelog/unreleased_14/6170.rst delete mode 100644 doc/build/changelog/unreleased_14/6171.rst delete mode 100644 doc/build/changelog/unreleased_14/6172.rst delete mode 100644 doc/build/changelog/unreleased_14/6173.rst delete mode 100644 doc/build/changelog/unreleased_14/6181.rst delete mode 100644 doc/build/changelog/unreleased_14/6183.rst delete mode 100644 doc/build/changelog/unreleased_14/6184.rst delete mode 100644 doc/build/changelog/unreleased_14/stubs_14.rst diff --git a/doc/build/changelog/changelog_14.rst b/doc/build/changelog/changelog_14.rst index c19c63c6ad..d6187c7211 100644 --- a/doc/build/changelog/changelog_14.rst +++ b/doc/build/changelog/changelog_14.rst @@ -15,7 +15,139 @@ This document details individual issue-level changes made throughout .. changelog:: :version: 1.4.5 - :include_notes_from: unreleased_14 + :released: April 2, 2021 + + .. change:: + :tags: bug, sql, postgresql + :tickets: 6183 + + Fixed bug in new :meth:`_functions.FunctionElement.render_derived` feature + where column names rendered out explicitly in the alias SQL would not have + proper quoting applied for case sensitive names and other non-alphanumeric + names. + + .. change:: + :tags: bug, regression, orm + :tickets: 6172 + + Fixed regression where the :func:`_orm.joinedload` loader strategy would + not successfully joinedload to a mapper that is mapper against a + :class:`.CTE` construct. + + .. change:: + :tags: bug, regression, sql + :tickets: 6181 + + Fixed regression where use of the :meth:`.Operators.in_` method with a + :class:`_sql.Select` object against a non-table-bound column would produce + an ``AttributeError``, or more generally using a :class:`_sql.ScalarSelect` + that has no datatype in a binary expression would produce invalid state. + + + .. change:: + :tags: bug, mypy + :tickets: sqlalchemy/sqlalchemy2-stubs/#14 + + Fixed issue in mypy plugin where newly added support for + :func:`_orm.as_declarative` needed to more fully add the + ``DeclarativeMeta`` class to the mypy interpreter's state so that it does + not result in a name not found error; additionally improves how global + names are setup for the plugin including the ``Mapped`` name. + + + .. change:: + :tags: bug, mysql, regression + :tickets: 6163 + + Fixed regression in the MySQL dialect where the reflection query used to + detect if a table exists would fail on very old MySQL 5.0 and 5.1 versions. + + .. change:: + :tags: bug, sql + :tickets: 6184 + + Added a new flag to the :class:`_engine.Dialect` class called + :attr:`_engine.Dialect.supports_statement_cache`. This flag now needs to be present + directly on a dialect class in order for SQLAlchemy's + :ref:`query cache ` to take effect for that dialect. The + rationale is based on discovered issues such as :ticket:`6173` revealing + that dialects which hardcode literal values from the compiled statement, + often the numerical parameters used for LIMIT / OFFSET, will not be + compatible with caching until these dialects are revised to use the + parameters present in the statement only. For third party dialects where + this flag is not applied, the SQL logging will show the message "dialect + does not support caching", indicating the dialect should seek to apply this + flag once they have verified that no per-statement literal values are being + rendered within the compilation phase. + + .. seealso:: + + :ref:`engine_thirdparty_caching` + + .. change:: + :tags: bug, postgresql + :tickets: 6099 + + Fixed typo in the fix for :ticket:`6099` released in 1.4.4 that completely + prevented this change from working correctly, i.e. the error message did not match + what was actually emitted by pg8000. + + .. change:: + :tags: bug, orm, regression + :tickets: 6171 + + Scaled back the warning message added in :ticket:`5171` to not warn for + overlapping columns in an inheritance scenario where a particular + relationship is local to a subclass and therefore does not represent an + overlap. + + .. change:: + :tags: bug, regression, oracle + :tickets: 6173 + + Fixed critical regression where the Oracle compiler would not maintain the + correct parameter values in the LIMIT/OFFSET for a select due to a caching + issue. + + + .. change:: + :tags: bug, postgresql + :tickets: 6170 + + Fixed issue where the PostgreSQL :class:`.PGInspector`, when generated + against an :class:`_engine.Engine`, would fail for ``.get_enums()``, + ``.get_view_names()``, ``.get_foreign_table_names()`` and + ``.get_table_oid()`` when used against a "future" style engine and not the + connection directly. + + .. change:: + :tags: bug, schema + :tickets: 6146 + + Introduce a new parameter :paramref:`_types.Enum.omit_aliases` in + :class:`_types.Enum` type allow filtering aliases when using a pep435 Enum. + Previous versions of SQLAlchemy kept aliases in all cases, creating + database enum type with additional states, meaning that they were treated + as different values in the db. For backward compatibility this flag + defaults to ``False`` in the 1.4 series, but will be switched to ``True`` + in a future version. A deprecation warning is raise if this flag is not + specified and the passed enum contains aliases. + + .. change:: + :tags: bug, mssql + :tickets: 6163 + + Fixed a regression in MSSQL 2012+ that prevented the order by clause + to be rendered when ``offset=0`` is used in a subquery. + + .. change:: + :tags: bug, asyncio + :tickets: 6166 + + + Fixed issue where the asyncio extension could not be loaded + if running Python 3.6 with the backport library of + ``contextvars`` installed. .. changelog:: :version: 1.4.4 diff --git a/doc/build/changelog/unreleased_14/6099.rst b/doc/build/changelog/unreleased_14/6099.rst deleted file mode 100644 index 35c4c3fe18..0000000000 --- a/doc/build/changelog/unreleased_14/6099.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: bug, postgresql - :tickets: 6099 - - Fixed typo in the fix for :ticket:`6099` released in 1.4.4 that completely - prevented this change from working correctly, i.e. the error message did not match - what was actually emitted by pg8000. diff --git a/doc/build/changelog/unreleased_14/6146.rst b/doc/build/changelog/unreleased_14/6146.rst deleted file mode 100644 index 7e1cfcf979..0000000000 --- a/doc/build/changelog/unreleased_14/6146.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. change:: - :tags: bug, schema - :tickets: 6146 - - Introduce a new parameter :paramref:`_types.Enum.omit_aliases` in - :class:`_types.Enum` type allow filtering aliases when using a pep435 Enum. - Previous versions of SQLAlchemy kept aliases in all cases, creating - database enum type with additional states, meaning that they were treated - as different values in the db. For backward compatibility this flag - defaults to ``False`` in the 1.4 series, but will be switched to ``True`` - in a future version. A deprecation warning is raise if this flag is not - specified and the passed enum contains aliases. diff --git a/doc/build/changelog/unreleased_14/6151.rst b/doc/build/changelog/unreleased_14/6151.rst deleted file mode 100644 index 318cdbf62e..0000000000 --- a/doc/build/changelog/unreleased_14/6151.rst +++ /dev/null @@ -1,6 +0,0 @@ -.. change:: - :tags: bug, mysql, regression - :tickets: 6163 - - Fixed regression in the MySQL dialect where the reflection query used to - detect if a table exists would fail on very old MySQL 5.0 and 5.1 versions. diff --git a/doc/build/changelog/unreleased_14/6163.rst b/doc/build/changelog/unreleased_14/6163.rst deleted file mode 100644 index 5d6b61bf08..0000000000 --- a/doc/build/changelog/unreleased_14/6163.rst +++ /dev/null @@ -1,6 +0,0 @@ -.. change:: - :tags: bug, mssql - :tickets: 6163 - - Fixed a regression in MSSQL 2012+ that prevented the order by clause - to be rendered when ``offset=0`` is used in a subquery. diff --git a/doc/build/changelog/unreleased_14/6166.rst b/doc/build/changelog/unreleased_14/6166.rst deleted file mode 100644 index 383898c2b7..0000000000 --- a/doc/build/changelog/unreleased_14/6166.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, asyncio - :tickets: 6166 - - - Fixed issue where the asyncio extension could not be loaded - if running Python 3.6 with the backport library of - ``contextvars`` installed. diff --git a/doc/build/changelog/unreleased_14/6170.rst b/doc/build/changelog/unreleased_14/6170.rst deleted file mode 100644 index 991eb16350..0000000000 --- a/doc/build/changelog/unreleased_14/6170.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, postgresql - :tickets: 6170 - - Fixed issue where the PostgreSQL :class:`.PGInspector`, when generated - against an :class:`_engine.Engine`, would fail for ``.get_enums()``, - ``.get_view_names()``, ``.get_foreign_table_names()`` and - ``.get_table_oid()`` when used against a "future" style engine and not the - connection directly. diff --git a/doc/build/changelog/unreleased_14/6171.rst b/doc/build/changelog/unreleased_14/6171.rst deleted file mode 100644 index 608a77ba02..0000000000 --- a/doc/build/changelog/unreleased_14/6171.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, orm, regression - :tickets: 6171 - - Scaled back the warning message added in :ticket:`5171` to not warn for - overlapping columns in an inheritance scenario where a particular - relationship is local to a subclass and therefore does not represent an - overlap. diff --git a/doc/build/changelog/unreleased_14/6172.rst b/doc/build/changelog/unreleased_14/6172.rst deleted file mode 100644 index ac5dc5c4b8..0000000000 --- a/doc/build/changelog/unreleased_14/6172.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: bug, regression, orm - :tickets: 6172 - - Fixed regression where the :func:`_orm.joinedload` loader strategy would - not successfully joinedload to a mapper that is mapper against a - :class:`.CTE` construct. diff --git a/doc/build/changelog/unreleased_14/6173.rst b/doc/build/changelog/unreleased_14/6173.rst deleted file mode 100644 index 5d09b129c5..0000000000 --- a/doc/build/changelog/unreleased_14/6173.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, regression, oracle - :tickets: 6173 - - Fixed critical regression where the Oracle compiler would not maintain the - correct parameter values in the LIMIT/OFFSET for a select due to a caching - issue. - diff --git a/doc/build/changelog/unreleased_14/6181.rst b/doc/build/changelog/unreleased_14/6181.rst deleted file mode 100644 index 5881321b32..0000000000 --- a/doc/build/changelog/unreleased_14/6181.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, regression, sql - :tickets: 6181 - - Fixed regression where use of the :meth:`.Operators.in_` method with a - :class:`_sql.Select` object against a non-table-bound column would produce - an ``AttributeError``, or more generally using a :class:`_sql.ScalarSelect` - that has no datatype in a binary expression would produce invalid state. - diff --git a/doc/build/changelog/unreleased_14/6183.rst b/doc/build/changelog/unreleased_14/6183.rst deleted file mode 100644 index ed4a704884..0000000000 --- a/doc/build/changelog/unreleased_14/6183.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, sql, postgresql - :tickets: 6183 - - Fixed bug in new :meth:`_functions.FunctionElement.render_derived` feature - where column names rendered out explicitly in the alias SQL would not have - proper quoting applied for case sensitive names and other non-alphanumeric - names. diff --git a/doc/build/changelog/unreleased_14/6184.rst b/doc/build/changelog/unreleased_14/6184.rst deleted file mode 100644 index a5a3724469..0000000000 --- a/doc/build/changelog/unreleased_14/6184.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. change:: - :tags: bug, sql - :tickets: 6184 - - Added a new flag to the :class:`_engine.Dialect` class called - :attr:`_engine.Dialect.supports_statement_cache`. This flag now needs to be present - directly on a dialect class in order for SQLAlchemy's - :ref:`query cache ` to take effect for that dialect. The - rationale is based on discovered issues such as :ticket:`6173` revealing - that dialects which hardcode literal values from the compiled statement, - often the numerical parameters used for LIMIT / OFFSET, will not be - compatible with caching until these dialects are revised to use the - parameters present in the statement only. For third party dialects where - this flag is not applied, the SQL logging will show the message "dialect - does not support caching", indicating the dialect should seek to apply this - flag once they have verified that no per-statement literal values are being - rendered within the compilation phase. - - .. seealso:: - - :ref:`engine_thirdparty_caching` \ No newline at end of file diff --git a/doc/build/changelog/unreleased_14/stubs_14.rst b/doc/build/changelog/unreleased_14/stubs_14.rst deleted file mode 100644 index 1e4effde41..0000000000 --- a/doc/build/changelog/unreleased_14/stubs_14.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: bug, mypy - :tickets: sqlalchemy/sqlalchemy2-stubs/#14 - - Fixed issue in mypy plugin where newly added support for - :func:`_orm.as_declarative` needed to more fully add the - ``DeclarativeMeta`` class to the mypy interpreter's state so that it does - not result in a name not found error; additionally improves how global - names are setup for the plugin including the ``Mapped`` name. - diff --git a/doc/build/conf.py b/doc/build/conf.py index 40a65613cc..020f61d8b5 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.4" +release = "1.4.5" -release_date = "March 30, 2021" +release_date = "April 2, 2021" site_base = os.environ.get("RTD_SITE_BASE", "http://www.sqlalchemy.org") site_adapter_template = "docs_adapter.mako" -- 2.47.2