From: Mike Bayer Date: Thu, 15 Apr 2021 14:19:32 +0000 (-0400) Subject: - 1.4.8 X-Git-Tag: rel_1_4_8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9f5ca21791fb6765f4b9a5a0acfe660b1ee55cf4;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - 1.4.8 --- diff --git a/doc/build/changelog/changelog_14.rst b/doc/build/changelog/changelog_14.rst index 310270456a..53ea6c568f 100644 --- a/doc/build/changelog/changelog_14.rst +++ b/doc/build/changelog/changelog_14.rst @@ -15,7 +15,115 @@ This document details individual issue-level changes made throughout .. changelog:: :version: 1.4.8 - :include_notes_from: unreleased_14 + :released: April 15, 2021 + + .. change:: + :tags: change, mypy + + Updated Mypy plugin to only use the public plugin interface of the + semantic analyzer. + + .. change:: + :tags: bug, mssql, regression + :tickets: 6265 + + Fixed an additional regression in the same area as that of :ticket:`6173`, + :ticket:`6184`, where using a value of 0 for OFFSET in conjunction with + LIMIT with SQL Server would create a statement using "TOP", as was the + behavior in 1.3, however due to caching would then fail to respond + accordingly to other values of OFFSET. If the "0" wasn't first, then it + would be fine. For the fix, the "TOP" syntax is now only emitted if the + OFFSET value is omitted entirely, that is, :meth:`_sql.Select.offset` is + not used. Note that this change now requires that if the "with_ties" or + "percent" modifiers are used, the statement can't specify an OFFSET of + zero, it now needs to be omitted entirely. + + .. change:: + :tags: bug, engine + + The :meth:`_engine.Dialect.has_table` method now raises an informative + exception if a non-Connection is passed to it, as this incorrect behavior + seems to be common. This method is not intended for external use outside + of a dialect. Please use the :meth:`.Inspector.has_table` method + or for cross-compatibility with older SQLAlchemy versions, the + :meth:`_engine.Engine.has_table` method. + + + .. change:: + :tags: bug, regression, sql + :tickets: 6249 + + Fixed regression where the :class:`_sql.BindParameter` object would not + properly render for an IN expression (i.e. using the "post compile" feature + in 1.4) if the object were copied from either an internal cloning + operation, or from a pickle operation, and the parameter name contained + spaces or other special characters. + + .. change:: + :tags: bug, mypy + :tickets: 6205 + + Revised the fix for ``OrderingList`` from version 1.4.7 which was testing + against the incorrect API. + + .. change:: + :tags: bug, asyncio + :tickets: 6220 + + Fix typo that prevented setting the ``bind`` attribute of an + :class:`_asyncio.AsyncSession` to the correct value. + + .. change:: + :tags: feature, sql + :tickets: 3314 + + The tuple returned by :attr:`.CursorResult.inserted_primary_key` is now a + :class:`_result.Row` object with a named tuple interface on top of the + existing tuple interface. + + + + + .. change:: + :tags: bug, regression, sql, sqlite + :tickets: 6254 + + Fixed regression where the introduction of the INSERT syntax "INSERT... + VALUES (DEFAULT)" was not supported on some backends that do however + support "INSERT..DEFAULT VALUES", including SQLite. The two syntaxes are + now each individually supported or non-supported for each dialect, for + example MySQL supports "VALUES (DEFAULT)" but not "DEFAULT VALUES". + Support for Oracle has also been enabled. + + .. change:: + :tags: bug, regression, orm + :tickets: 6259 + + Fixed a cache leak involving the :func:`_orm.with_expression` loader + option, where the given SQL expression would not be correctly considered as + part of the cache key. + + Additionally, fixed regression involving the corresponding + :func:`_orm.query_expression` feature. While the bug technically exists in + 1.3 as well, it was not exposed until 1.4. The "default expr" value of + ``null()`` would be rendered when not needed, and additionally was also not + adapted correctly when the ORM rewrites statements such as when using + joined eager loading. The fix ensures "singleton" expressions like ``NULL`` + and ``true`` aren't "adapted" to refer to columns in ORM statements, and + additionally ensures that a :func:`_orm.query_expression` with no default + expression doesn't render in the statement if a + :func:`_orm.with_expression` isn't used. + + .. change:: + :tags: bug, orm + :tickets: 6252 + + Fixed issue in the new feature of :meth:`_orm.Session.refresh` introduced + by :ticket:`1763` where eagerly loaded relationships are also refreshed, + where the ``lazy="raise"`` and ``lazy="raise_on_sql"`` loader strategies + would interfere with the :func:`_orm.immediateload` loader strategy, thus + breaking the feature for relationships that were loaded with + :func:`_orm.selectinload`, :func:`_orm.subqueryload` as well. .. changelog:: :version: 1.4.7 diff --git a/doc/build/changelog/unreleased_14/3314.rst b/doc/build/changelog/unreleased_14/3314.rst deleted file mode 100644 index 80967c6644..0000000000 --- a/doc/build/changelog/unreleased_14/3314.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: feature, sql - :tickets: 3314 - - The tuple returned by :attr:`.CursorResult.inserted_primary_key` is now a - :class:`_result.Row` object with a named tuple interface on top of the - existing tuple interface. - - - diff --git a/doc/build/changelog/unreleased_14/6205.rst b/doc/build/changelog/unreleased_14/6205.rst deleted file mode 100644 index 8a901bb88e..0000000000 --- a/doc/build/changelog/unreleased_14/6205.rst +++ /dev/null @@ -1,6 +0,0 @@ -.. change:: - :tags: bug, mypy - :tickets: 6205 - - Revised the fix for ``OrderingList`` from version 1.4.7 which was testing - against the incorrect API. diff --git a/doc/build/changelog/unreleased_14/6220.rst b/doc/build/changelog/unreleased_14/6220.rst deleted file mode 100644 index 8a276243a1..0000000000 --- a/doc/build/changelog/unreleased_14/6220.rst +++ /dev/null @@ -1,6 +0,0 @@ -.. change:: - :tags: bug, asyncio - :tickets: 6220 - - Fix typo that prevented setting the ``bind`` attribute of an - :class:`_asyncio.AsyncSession` to the correct value. diff --git a/doc/build/changelog/unreleased_14/6249.rst b/doc/build/changelog/unreleased_14/6249.rst deleted file mode 100644 index 7ac94c3e75..0000000000 --- a/doc/build/changelog/unreleased_14/6249.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, regression, sql - :tickets: 6249 - - Fixed regression where the :class:`_sql.BindParameter` object would not - properly render for an IN expression (i.e. using the "post compile" feature - in 1.4) if the object were copied from either an internal cloning - operation, or from a pickle operation, and the parameter name contained - spaces or other special characters. diff --git a/doc/build/changelog/unreleased_14/6252.rst b/doc/build/changelog/unreleased_14/6252.rst deleted file mode 100644 index 6a087546b6..0000000000 --- a/doc/build/changelog/unreleased_14/6252.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 6252 - - Fixed issue in the new feature of :meth:`_orm.Session.refresh` introduced - by :ticket:`1763` where eagerly loaded relationships are also refreshed, - where the ``lazy="raise"`` and ``lazy="raise_on_sql"`` loader strategies - would interfere with the :func:`_orm.immediateload` loader strategy, thus - breaking the feature for relationships that were loaded with - :func:`_orm.selectinload`, :func:`_orm.subqueryload` as well. diff --git a/doc/build/changelog/unreleased_14/6254.rst b/doc/build/changelog/unreleased_14/6254.rst deleted file mode 100644 index 8cdfc1bec6..0000000000 --- a/doc/build/changelog/unreleased_14/6254.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: bug, regression, sql, sqlite - :tickets: 6254 - - Fixed regression where the introduction of the INSERT syntax "INSERT... - VALUES (DEFAULT)" was not supported on some backends that do however - support "INSERT..DEFAULT VALUES", including SQLite. The two syntaxes are - now each individually supported or non-supported for each dialect, for - example MySQL supports "VALUES (DEFAULT)" but not "DEFAULT VALUES". - Support for Oracle has also been enabled. diff --git a/doc/build/changelog/unreleased_14/6259.rst b/doc/build/changelog/unreleased_14/6259.rst deleted file mode 100644 index d827a74d28..0000000000 --- a/doc/build/changelog/unreleased_14/6259.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. change:: - :tags: bug, regression, orm - :tickets: 6259 - - Fixed a cache leak involving the :func:`_orm.with_expression` loader - option, where the given SQL expression would not be correctly considered as - part of the cache key. - - Additionally, fixed regression involving the corresponding - :func:`_orm.query_expression` feature. While the bug technically exists in - 1.3 as well, it was not exposed until 1.4. The "default expr" value of - ``null()`` would be rendered when not needed, and additionally was also not - adapted correctly when the ORM rewrites statements such as when using - joined eager loading. The fix ensures "singleton" expressions like ``NULL`` - and ``true`` aren't "adapted" to refer to columns in ORM statements, and - additionally ensures that a :func:`_orm.query_expression` with no default - expression doesn't render in the statement if a - :func:`_orm.with_expression` isn't used. diff --git a/doc/build/changelog/unreleased_14/6265.rst b/doc/build/changelog/unreleased_14/6265.rst deleted file mode 100644 index 113a4ccbda..0000000000 --- a/doc/build/changelog/unreleased_14/6265.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. change:: - :tags: bug, mssql, regression - :tickets: 6265 - - Fixed an additional regression in the same area as that of :ticket:`6173`, - :ticket:`6184`, where using a value of 0 for OFFSET in conjunction with - LIMIT with SQL Server would create a statement using "TOP", as was the - behavior in 1.3, however due to caching would then fail to respond - accordingly to other values of OFFSET. If the "0" wasn't first, then it - would be fine. For the fix, the "TOP" syntax is now only emitted if the - OFFSET value is omitted entirely, that is, :meth:`_sql.Select.offset` is - not used. Note that this change now requires that if the "with_ties" or - "percent" modifiers are used, the statement can't specify an OFFSET of - zero, it now needs to be omitted entirely. diff --git a/doc/build/changelog/unreleased_14/assert_ht_connection.rst b/doc/build/changelog/unreleased_14/assert_ht_connection.rst deleted file mode 100644 index 8e79c6f868..0000000000 --- a/doc/build/changelog/unreleased_14/assert_ht_connection.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: bug, engine - - The :meth:`_engine.Dialect.has_table` method now raises an informative - exception if a non-Connection is passed to it, as this incorrect behavior - seems to be common. This method is not intended for external use outside - of a dialect. Please use the :meth:`.Inspector.has_table` method - or for cross-compatibility with older SQLAlchemy versions, the - :meth:`_engine.Engine.has_table` method. - diff --git a/doc/build/changelog/unreleased_14/mypy_semanal_usage.rst b/doc/build/changelog/unreleased_14/mypy_semanal_usage.rst deleted file mode 100644 index 6e8f084add..0000000000 --- a/doc/build/changelog/unreleased_14/mypy_semanal_usage.rst +++ /dev/null @@ -1,5 +0,0 @@ -.. change:: - :tags: change, mypy - - Updated Mypy plugin to only use the public plugin interface of the - semantic analyzer. diff --git a/doc/build/conf.py b/doc/build/conf.py index e33fca289c..6ff9560902 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.7" +release = "1.4.8" -release_date = "April 9, 2021" +release_date = "April 15, 2021" site_base = os.environ.get("RTD_SITE_BASE", "http://www.sqlalchemy.org") site_adapter_template = "docs_adapter.mako"