From b3bb55aaea9ee94e50f8db594d65c2bfcdb314ef Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 3 Jan 2023 15:02:32 -0500 Subject: [PATCH] - 1.4.46 --- doc/build/changelog/changelog_14.rst | 152 +++++++++++++++++- doc/build/changelog/unreleased_14/8393.rst | 7 - doc/build/changelog/unreleased_14/8969.rst | 10 -- doc/build/changelog/unreleased_14/8974.rst | 20 --- doc/build/changelog/unreleased_14/8983.rst | 20 --- doc/build/changelog/unreleased_14/8989.rst | 10 -- doc/build/changelog/unreleased_14/8995.rst | 10 -- doc/build/changelog/unreleased_14/9002.rst | 11 -- doc/build/changelog/unreleased_14/9009.rst | 12 -- doc/build/changelog/unreleased_14/9023.rst | 13 -- doc/build/changelog/unreleased_14/9029.rst | 9 -- doc/build/changelog/unreleased_14/9033.rst | 9 -- doc/build/changelog/unreleased_14/tox_fix.rst | 7 - doc/build/conf.py | 4 +- 14 files changed, 153 insertions(+), 141 deletions(-) delete mode 100644 doc/build/changelog/unreleased_14/8393.rst delete mode 100644 doc/build/changelog/unreleased_14/8969.rst delete mode 100644 doc/build/changelog/unreleased_14/8974.rst delete mode 100644 doc/build/changelog/unreleased_14/8983.rst delete mode 100644 doc/build/changelog/unreleased_14/8989.rst delete mode 100644 doc/build/changelog/unreleased_14/8995.rst delete mode 100644 doc/build/changelog/unreleased_14/9002.rst delete mode 100644 doc/build/changelog/unreleased_14/9009.rst delete mode 100644 doc/build/changelog/unreleased_14/9023.rst delete mode 100644 doc/build/changelog/unreleased_14/9029.rst delete mode 100644 doc/build/changelog/unreleased_14/9033.rst delete mode 100644 doc/build/changelog/unreleased_14/tox_fix.rst diff --git a/doc/build/changelog/changelog_14.rst b/doc/build/changelog/changelog_14.rst index 790f8a8440..d1ee523a1f 100644 --- a/doc/build/changelog/changelog_14.rst +++ b/doc/build/changelog/changelog_14.rst @@ -15,7 +15,157 @@ This document details individual issue-level changes made throughout .. changelog:: :version: 1.4.46 - :include_notes_from: unreleased_14 + :released: January 3, 2023 + + .. change:: + :tags: bug, engine + :tickets: 8974 + :versions: 2.0.0rc1 + + Fixed a long-standing race condition in the connection pool which could + occur under eventlet/gevent monkeypatching schemes in conjunction with the + use of eventlet/gevent ``Timeout`` conditions, where a connection pool + checkout that's interrupted due to the timeout would fail to clean up the + failed state, causing the underlying connection record and sometimes the + database connection itself to "leak", leaving the pool in an invalid state + with unreachable entries. This issue was first identified and fixed in + SQLAlchemy 1.2 for :ticket:`4225`, however the failure modes detected in + that fix failed to accommodate for ``BaseException``, rather than + ``Exception``, which prevented eventlet/gevent ``Timeout`` from being + caught. In addition, a block within initial pool connect has also been + identified and hardened with a ``BaseException`` -> "clean failed connect" + block to accommodate for the same condition in this location. + Big thanks to Github user @niklaus for their tenacious efforts in + identifying and describing this intricate issue. + + .. change:: + :tags: bug, postgresql + :tickets: 9023 + :versions: 2.0.0rc1 + + Fixed bug where the PostgreSQL + :paramref:`_postgresql.Insert.on_conflict_do_update.constraint` parameter + would accept an :class:`.Index` object, however would not expand this index + out into its individual index expressions, instead rendering its name in an + ON CONFLICT ON CONSTRAINT clause, which is not accepted by PostgreSQL; the + "constraint name" form only accepts unique or exclude constraint names. The + parameter continues to accept the index but now expands it out into its + component expressions for the render. + + .. change:: + :tags: bug, general + :tickets: 8995 + :versions: 2.0.0rc1 + + Fixed regression where the base compat module was calling upon + ``platform.architecture()`` in order to detect some system properties, + which results in an over-broad system call against the system-level + ``file`` call that is unavailable under some circumstances, including + within some secure environment configurations. + + .. change:: + :tags: usecase, postgresql + :tickets: 8393 + :versions: 2.0.0b5 + + Added the PostgreSQL type ``MACADDR8``. + Pull request courtesy of Asim Farooq. + + .. change:: + :tags: bug, sqlite + :tickets: 8969 + :versions: 2.0.0b5 + + Fixed regression caused by new support for reflection of partial indexes on + SQLite added in 1.4.45 for :ticket:`8804`, where the ``index_list`` pragma + command in very old versions of SQLite (possibly prior to 3.8.9) does not + return the current expected number of columns, leading to exceptions raised + when reflecting tables and indexes. + + .. change:: + :tags: bug, tests + :versions: 2.0.0rc1 + + Fixed issue in tox.ini file where changes in the tox 4.0 series to the + format of "passenv" caused tox to not function correctly, in particular + raising an error as of tox 4.0.6. + + .. change:: + :tags: bug, tests + :tickets: 9002 + :versions: 2.0.0rc1 + + Added new exclusion rule for third party dialects called + ``unusual_column_name_characters``, which can be "closed" for third party + dialects that don't support column names with unusual characters such as + dots, slashes, or percent signs in them, even if the name is properly + quoted. + + + .. change:: + :tags: bug, sql + :tickets: 9009 + :versions: 2.0.0b5 + + Added parameter + :paramref:`.FunctionElement.column_valued.joins_implicitly`, which is + useful in preventing the "cartesian product" warning when making use of + table-valued or column-valued functions. This parameter was already + introduced for :meth:`.FunctionElement.table_valued` in :ticket:`7845`, + however it failed to be added for :meth:`.FunctionElement.column_valued` + as well. + + .. change:: + :tags: change, general + :tickets: 8983 + + A new deprecation "uber warning" is now emitted at runtime the + first time any SQLAlchemy 2.0 deprecation warning would normally be + emitted, but the ``SQLALCHEMY_WARN_20`` environment variable is not set. + The warning emits only once at most, before setting a boolean to prevent + it from emitting a second time. + + This deprecation warning intends to notify users who may not have set an + appropriate constraint in their requirements files to block against a + surprise SQLAlchemy 2.0 upgrade and also alert that the SQLAlchemy 2.0 + upgrade process is available, as the first full 2.0 release is expected + very soon. The deprecation warning can be silenced by setting the + environment variable ``SQLALCHEMY_SILENCE_UBER_WARNING`` to ``"1"``. + + .. seealso:: + + :ref:`migration_20_toplevel` + + .. change:: + :tags: bug, orm + :tickets: 9033 + :versions: 2.0.0rc1 + + Fixed issue in the internal SQL traversal for DML statements like + :class:`_dml.Update` and :class:`_dml.Delete` which would cause among other + potential issues, a specific issue using lambda statements with the ORM + update/delete feature. + + .. change:: + :tags: bug, sql + :tickets: 8989 + :versions: 2.0.0b5 + + Fixed bug where SQL compilation would fail (assertion fail in 2.0, NoneType + error in 1.4) when using an expression whose type included + :meth:`_types.TypeEngine.bind_expression`, in the context of an "expanding" + (i.e. "IN") parameter in conjunction with the ``literal_binds`` compiler + parameter. + + .. change:: + :tags: bug, sql + :tickets: 9029 + :versions: 2.0.0rc1 + + Fixed issue in lambda SQL feature where the calculated type of a literal + value would not take into account the type coercion rules of the "compared + to type", leading to a lack of typing information for SQL expressions, such + as comparisons to :class:`_types.JSON` elements and similar. .. changelog:: :version: 1.4.45 diff --git a/doc/build/changelog/unreleased_14/8393.rst b/doc/build/changelog/unreleased_14/8393.rst deleted file mode 100644 index fab9eb04c7..0000000000 --- a/doc/build/changelog/unreleased_14/8393.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: usecase, postgresql - :tickets: 8393 - :versions: 2.0.0b5 - - Added the PostgreSQL type ``MACADDR8``. - Pull request courtesy of Asim Farooq. diff --git a/doc/build/changelog/unreleased_14/8969.rst b/doc/build/changelog/unreleased_14/8969.rst deleted file mode 100644 index 8458706c80..0000000000 --- a/doc/build/changelog/unreleased_14/8969.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: bug, sqlite - :tickets: 8969 - :versions: 2.0.0b5 - - Fixed regression caused by new support for reflection of partial indexes on - SQLite added in 1.4.45 for :ticket:`8804`, where the ``index_list`` pragma - command in very old versions of SQLite (possibly prior to 3.8.9) does not - return the current expected number of columns, leading to exceptions raised - when reflecting tables and indexes. diff --git a/doc/build/changelog/unreleased_14/8974.rst b/doc/build/changelog/unreleased_14/8974.rst deleted file mode 100644 index a8ae491ad1..0000000000 --- a/doc/build/changelog/unreleased_14/8974.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. change:: - :tags: bug, engine - :tickets: 8974 - :versions: 2.0.0rc1 - - Fixed a long-standing race condition in the connection pool which could - occur under eventlet/gevent monkeypatching schemes in conjunction with the - use of eventlet/gevent ``Timeout`` conditions, where a connection pool - checkout that's interrupted due to the timeout would fail to clean up the - failed state, causing the underlying connection record and sometimes the - database connection itself to "leak", leaving the pool in an invalid state - with unreachable entries. This issue was first identified and fixed in - SQLAlchemy 1.2 for :ticket:`4225`, however the failure modes detected in - that fix failed to accommodate for ``BaseException``, rather than - ``Exception``, which prevented eventlet/gevent ``Timeout`` from being - caught. In addition, a block within initial pool connect has also been - identified and hardened with a ``BaseException`` -> "clean failed connect" - block to accommodate for the same condition in this location. - Big thanks to Github user @niklaus for their tenacious efforts in - identifying and describing this intricate issue. diff --git a/doc/build/changelog/unreleased_14/8983.rst b/doc/build/changelog/unreleased_14/8983.rst deleted file mode 100644 index 35f03dbb78..0000000000 --- a/doc/build/changelog/unreleased_14/8983.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. change:: - :tags: change, general - :tickets: 8983 - - A new deprecation "uber warning" is now emitted at runtime the - first time any SQLAlchemy 2.0 deprecation warning would normally be - emitted, but the ``SQLALCHEMY_WARN_20`` environment variable is not set. - The warning emits only once at most, before setting a boolean to prevent - it from emitting a second time. - - This deprecation warning intends to notify users who may not have set an - appropriate constraint in their requirements files to block against a - surprise SQLAlchemy 2.0 upgrade and also alert that the SQLAlchemy 2.0 - upgrade process is available, as the first full 2.0 release is expected - very soon. The deprecation warning can be silenced by setting the - environment variable ``SQLALCHEMY_SILENCE_UBER_WARNING`` to ``"1"``. - - .. seealso:: - - :ref:`migration_20_toplevel` diff --git a/doc/build/changelog/unreleased_14/8989.rst b/doc/build/changelog/unreleased_14/8989.rst deleted file mode 100644 index 2287bec7b4..0000000000 --- a/doc/build/changelog/unreleased_14/8989.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: bug, sql - :tickets: 8989 - :versions: 2.0.0b5 - - Fixed bug where SQL compilation would fail (assertion fail in 2.0, NoneType - error in 1.4) when using an expression whose type included - :meth:`_types.TypeEngine.bind_expression`, in the context of an "expanding" - (i.e. "IN") parameter in conjunction with the ``literal_binds`` compiler - parameter. diff --git a/doc/build/changelog/unreleased_14/8995.rst b/doc/build/changelog/unreleased_14/8995.rst deleted file mode 100644 index 034e7b3f7c..0000000000 --- a/doc/build/changelog/unreleased_14/8995.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: bug, general - :tickets: 8995 - :versions: 2.0.0rc1 - - Fixed regression where the base compat module was calling upon - ``platform.architecture()`` in order to detect some system properties, - which results in an over-broad system call against the system-level - ``file`` call that is unavailable under some circumstances, including - within some secure environment configurations. diff --git a/doc/build/changelog/unreleased_14/9002.rst b/doc/build/changelog/unreleased_14/9002.rst deleted file mode 100644 index 61d491410d..0000000000 --- a/doc/build/changelog/unreleased_14/9002.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. change:: - :tags: bug, tests - :tickets: 9002 - :versions: 2.0.0rc1 - - Added new exclusion rule for third party dialects called - ``unusual_column_name_characters``, which can be "closed" for third party - dialects that don't support column names with unusual characters such as - dots, slashes, or percent signs in them, even if the name is properly - quoted. - diff --git a/doc/build/changelog/unreleased_14/9009.rst b/doc/build/changelog/unreleased_14/9009.rst deleted file mode 100644 index 9520b3e133..0000000000 --- a/doc/build/changelog/unreleased_14/9009.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. change:: - :tags: bug, sql - :tickets: 9009 - :versions: 2.0.0b5 - - Added parameter - :paramref:`.FunctionElement.column_valued.joins_implicitly`, which is - useful in preventing the "cartesian product" warning when making use of - table-valued or column-valued functions. This parameter was already - introduced for :meth:`.FunctionElement.table_valued` in :ticket:`7845`, - however it failed to be added for :meth:`.FunctionElement.column_valued` - as well. diff --git a/doc/build/changelog/unreleased_14/9023.rst b/doc/build/changelog/unreleased_14/9023.rst deleted file mode 100644 index 8a2d0b9ca3..0000000000 --- a/doc/build/changelog/unreleased_14/9023.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. change:: - :tags: bug, postgresql - :tickets: 9023 - :versions: 2.0.0rc1 - - Fixed bug where the PostgreSQL - :paramref:`_postgresql.Insert.on_conflict_do_update.constraint` parameter - would accept an :class:`.Index` object, however would not expand this index - out into its individual index expressions, instead rendering its name in an - ON CONFLICT ON CONSTRAINT clause, which is not accepted by PostgreSQL; the - "constraint name" form only accepts unique or exclude constraint names. The - parameter continues to accept the index but now expands it out into its - component expressions for the render. diff --git a/doc/build/changelog/unreleased_14/9029.rst b/doc/build/changelog/unreleased_14/9029.rst deleted file mode 100644 index dd3c24ee4c..0000000000 --- a/doc/build/changelog/unreleased_14/9029.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, sql - :tickets: 9029 - :versions: 2.0.0rc1 - - Fixed issue in lambda SQL feature where the calculated type of a literal - value would not take into account the type coercion rules of the "compared - to type", leading to a lack of typing information for SQL expressions, such - as comparisons to :class:`_types.JSON` elements and similar. diff --git a/doc/build/changelog/unreleased_14/9033.rst b/doc/build/changelog/unreleased_14/9033.rst deleted file mode 100644 index e0e39db388..0000000000 --- a/doc/build/changelog/unreleased_14/9033.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 9033 - :versions: 2.0.0rc1 - - Fixed issue in the internal SQL traversal for DML statements like - :class:`_dml.Update` and :class:`_dml.Delete` which would cause among other - potential issues, a specific issue using lambda statements with the ORM - update/delete feature. diff --git a/doc/build/changelog/unreleased_14/tox_fix.rst b/doc/build/changelog/unreleased_14/tox_fix.rst deleted file mode 100644 index 7d9b799e01..0000000000 --- a/doc/build/changelog/unreleased_14/tox_fix.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: bug, tests - :versions: 2.0.0rc1 - - Fixed issue in tox.ini file where changes in the tox 4.0 series to the - format of "passenv" caused tox to not function correctly, in particular - raising an error as of tox 4.0.6. diff --git a/doc/build/conf.py b/doc/build/conf.py index 737026ef28..7c51ff0613 100644 --- a/doc/build/conf.py +++ b/doc/build/conf.py @@ -213,9 +213,9 @@ copyright = u"2007-2023, 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.45" +release = "1.4.46" -release_date = "December 10, 2022" +release_date = "January 3, 2023" site_base = os.environ.get("RTD_SITE_BASE", "https://www.sqlalchemy.org") site_adapter_template = "docs_adapter.mako" -- 2.47.2