From c46b653893bb7ca68aa1909c75d871766dfda2ae Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sat, 17 Apr 2021 01:19:32 -0400 Subject: [PATCH] - 1.4.9 --- doc/build/changelog/changelog_14.rst | 54 ++++++++++++++++++- .../changelog/unreleased_14/6272_etc.rst | 19 ------- doc/build/changelog/unreleased_14/6290.rst | 6 --- doc/build/changelog/unreleased_14/6303.rst | 7 --- doc/build/changelog/unreleased_14/6304.rst | 16 ------ doc/build/conf.py | 4 +- 6 files changed, 55 insertions(+), 51 deletions(-) delete mode 100644 doc/build/changelog/unreleased_14/6272_etc.rst delete mode 100644 doc/build/changelog/unreleased_14/6290.rst delete mode 100644 doc/build/changelog/unreleased_14/6303.rst delete mode 100644 doc/build/changelog/unreleased_14/6304.rst diff --git a/doc/build/changelog/changelog_14.rst b/doc/build/changelog/changelog_14.rst index 6dbea66f99..ac030c1d41 100644 --- a/doc/build/changelog/changelog_14.rst +++ b/doc/build/changelog/changelog_14.rst @@ -15,7 +15,59 @@ This document details individual issue-level changes made throughout .. changelog:: :version: 1.4.9 - :include_notes_from: unreleased_14 + :released: April 17, 2021 + + .. change:: + :tags: bug, sql, regression + :tickets: 6290 + + Fixed regression where an empty in statement on a tuple would result + in an error when compiled with the option ``literal_binds=True``. + + .. change:: + :tags: bug, regression, orm, performance, sql + :tickets: 6304 + + Fixed a critical performance issue where the traversal of a + :func:`_sql.select` construct would traverse a repetitive product of the + represented FROM clauses as they were each referred towards by columns in + the columns clause; for a series of nested subqueries with lots of columns + this could cause a large delay and significant memory growth. This + traversal is used by a wide variety of SQL and ORM functions, including by + the ORM :class:`_orm.Session` when it's configured to have + "table-per-bind", which while this is not a common use case, it seems to be + what Flask-SQLAlchemy is hardcoded as using, so the issue impacts + Flask-SQLAlchemy users. The traversal has been repaired to uniqify on FROM + clauses which was effectively what would happen implicitly with the pre-1.4 + architecture. + + .. change:: + :tags: bug, postgresql, sql, regression + :tickets: 6303 + + Fixed an argument error in the default and PostgreSQL compilers that + would interfere with an UPDATE..FROM or DELETE..FROM..USING statement + that was then SELECTed from as a CTE. + + .. change:: + :tags: bug, orm, regression + :tickets: 6272 + + Fixed regression where an attribute that is mapped to a + :func:`_orm.synonym` could not be used in column loader options such as + :func:`_orm.load_only`. + + .. change:: + :tags: usecase, orm + :tickets: 6267 + + Established support for :func:`_orm.synoynm` in conjunction with + hybrid property, assocaitionproxy is set up completely, including that + synonyms can be established linking to these constructs which work + fully. This is a behavior that was semi-explicitly disallowed previously, + however since it did not fail in every scenario, explicit support + for assoc proxy and hybrids has been added. + .. changelog:: :version: 1.4.8 diff --git a/doc/build/changelog/unreleased_14/6272_etc.rst b/doc/build/changelog/unreleased_14/6272_etc.rst deleted file mode 100644 index e840629e43..0000000000 --- a/doc/build/changelog/unreleased_14/6272_etc.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. change:: - :tags: bug, orm, regression - :tickets: 6272 - - Fixed regression where an attribute that is mapped to a - :func:`_orm.synonym` could not be used in column loader options such as - :func:`_orm.load_only`. - -.. change:: - :tags: usecase, orm - :tickets: 6267 - - Established support for :func:`_orm.synoynm` in conjunction with - hybrid property, assocaitionproxy is set up completely, including that - synonyms can be established linking to these constructs which work - fully. This is a behavior that was semi-explicitly disallowed previously, - however since it did not fail in every scenario, explicit support - for assoc proxy and hybrids has been added. - diff --git a/doc/build/changelog/unreleased_14/6290.rst b/doc/build/changelog/unreleased_14/6290.rst deleted file mode 100644 index 94345cd0bd..0000000000 --- a/doc/build/changelog/unreleased_14/6290.rst +++ /dev/null @@ -1,6 +0,0 @@ -.. change:: - :tags: bug, sql, regression - :tickets: 6290 - - Fixed regression where an empty in statement on a tuple would result - in an error when compiled with the option ``literal_binds=True``. diff --git a/doc/build/changelog/unreleased_14/6303.rst b/doc/build/changelog/unreleased_14/6303.rst deleted file mode 100644 index 8c7a9f2300..0000000000 --- a/doc/build/changelog/unreleased_14/6303.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: bug, postgresql, sql, regression - :tickets: 6303 - - Fixed an argument error in the default and PostgreSQL compilers that - would interfere with an UPDATE..FROM or DELETE..FROM..USING statement - that was then SELECTed from as a CTE. diff --git a/doc/build/changelog/unreleased_14/6304.rst b/doc/build/changelog/unreleased_14/6304.rst deleted file mode 100644 index 860c0c20f6..0000000000 --- a/doc/build/changelog/unreleased_14/6304.rst +++ /dev/null @@ -1,16 +0,0 @@ -.. change:: - :tags: bug, regression, orm, performance, sql - :tickets: 6304 - - Fixed a critical performance issue where the traversal of a - :func:`_sql.select` construct would traverse a repetitive product of the - represented FROM clauses as they were each referred towards by columns in - the columns clause; for a series of nested subqueries with lots of columns - this could cause a large delay and significant memory growth. This - traversal is used by a wide variety of SQL and ORM functions, including by - the ORM :class:`_orm.Session` when it's configured to have - "table-per-bind", which while this is not a common use case, it seems to be - what Flask-SQLAlchemy is hardcoded as using, so the issue impacts - Flask-SQLAlchemy users. The traversal has been repaired to uniqify on FROM - clauses which was effectively what would happen implicitly with the pre-1.4 - architecture. diff --git a/doc/build/conf.py b/doc/build/conf.py index 6ff9560902..f3c8742cf8 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.8" +release = "1.4.9" -release_date = "April 15, 2021" +release_date = "April 17, 2021" site_base = os.environ.get("RTD_SITE_BASE", "http://www.sqlalchemy.org") site_adapter_template = "docs_adapter.mako" -- 2.47.3