summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2021-06-22 21:22:33 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2021-06-22 21:22:33 -0400
commitacbc5e824130ae2944defde655a2c437a711ce6b (patch)
tree54e2bee9e4c543f1d313501acac98f5691c18658
parent2f875a4b7925742b53dd8cfda1476f7f30a18f5d (diff)
downloadsqlalchemy-acbc5e824130ae2944defde655a2c437a711ce6b.tar.gz
- 1.4.19rel_1_4_19
-rw-r--r--doc/build/changelog/changelog_14.rst132
-rw-r--r--doc/build/changelog/unreleased_14/5557.rst6
-rw-r--r--doc/build/changelog/unreleased_14/6132.rst11
-rw-r--r--doc/build/changelog/unreleased_14/6476.rst7
-rw-r--r--doc/build/changelog/unreleased_14/6503.rst13
-rw-r--r--doc/build/changelog/unreleased_14/6583.rst13
-rw-r--r--doc/build/changelog/unreleased_14/6621.rst8
-rw-r--r--doc/build/changelog/unreleased_14/6649.rst8
-rw-r--r--doc/build/changelog/unreleased_14/6652.rst11
-rw-r--r--doc/build/changelog/unreleased_14/6658.rst11
-rw-r--r--doc/build/changelog/unreleased_14/6661.rst22
-rw-r--r--doc/build/changelog/unreleased_14/6663.rst9
-rw-r--r--doc/build/conf.py4
13 files changed, 133 insertions, 122 deletions
diff --git a/doc/build/changelog/changelog_14.rst b/doc/build/changelog/changelog_14.rst
index e84cc167a..2774c5b8e 100644
--- a/doc/build/changelog/changelog_14.rst
+++ b/doc/build/changelog/changelog_14.rst
@@ -15,7 +15,137 @@ This document details individual issue-level changes made throughout
.. changelog::
:version: 1.4.19
- :include_notes_from: unreleased_14
+ :released: June 22, 2021
+
+ .. change::
+ :tags: bug, mssql
+ :tickets: 6658
+
+ Fixed bug where the "schema_translate_map" feature would fail to function
+ correctly in conjunction with an INSERT into a table that has an IDENTITY
+ column, where the value of the IDENTITY column were specified in the values
+ of the INSERT thus triggering SQLAlchemy's feature of setting IDENTITY
+ INSERT to "on"; it's in this directive where the schema translate map would
+ fail to be honored.
+
+
+ .. change::
+ :tags: bug, sql
+ :tickets: 6663
+
+ Fixed issue in CTE constructs mostly relevant to ORM use cases where a
+ recursive CTE against "anonymous" labels such as those seen in ORM
+ ``column_property()`` mappings would render in the
+ ``WITH RECURSIVE xyz(...)`` section as their raw internal label and not a
+ cleanly anonymized name.
+
+ .. change::
+ :tags: mssql, change
+ :tickets: 6503, 6253
+
+ Made improvements to the server version regexp used by the pymssql dialect
+ to prevent a regexp overflow in case of an invalid version string.
+
+ .. change::
+ :tags: bug, orm, regression
+ :tickets: 6503, 6253
+
+ Fixed further regressions in the same area as that of :ticket:`6052` where
+ loader options as well as invocations of methods like
+ :meth:`_orm.Query.join` would fail if the left side of the statement for
+ which the option/join depends upon were replaced by using the
+ :meth:`_orm.Query.with_entities` method, or when using 2.0 style queries
+ when using the :meth:`_sql.Select.with_only_columns` method. A new set of
+ state has been added to the objects which tracks the "left" entities that
+ the options / join were made against which is memoized when the lead
+ entities are changed.
+
+ .. change::
+ :tags: bug, asyncio, postgresql
+ :tickets: 6652
+
+ Fixed bug in asyncio implementation where the greenlet adaptation system
+ failed to propagate ``BaseException`` subclasses, most notably including
+ ``asyncio.CancelledError``, to the exception handling logic used by the
+ engine to invalidate and clean up the connection, thus preventing
+ connections from being correctly disposed when a task was cancelled.
+
+
+
+ .. change::
+ :tags: usecase, asyncio
+ :tickets: 6583
+
+ Implemented :class:`_asyncio.async_scoped_session` to address some
+ asyncio-related incompatibilities between :class:`_orm.scoped_session` and
+ :class:`_asyncio.AsyncSession`, in which some methods (notably the
+ :meth:`_asyncio.async_scoped_session.remove` method) should be used with
+ the ``await`` keyword.
+
+ .. seealso::
+
+ :ref:`asyncio_scoped_session`
+
+ .. change::
+ :tags: usecase, mysql
+ :tickets: 6132
+
+ Added new construct :class:`_mysql.match`, which provides for the full
+ range of MySQL's MATCH operator including multiple column support and
+ modifiers. Pull request courtesy Anton Kovalevich.
+
+ .. seealso::
+
+ :class:`_mysql.match`
+
+ .. change::
+ :tags: bug, postgresql, oracle
+ :tickets: 6649
+
+ Fixed issue where the ``INTERVAL`` datatype on PostgreSQL and Oracle would
+ produce an ``AttributeError`` when used in the context of a comparison
+ operation against a ``timedelta()`` object. Pull request courtesy
+ MajorDallas.
+
+ .. change::
+ :tags: bug, mypy
+ :tickets: 6476
+
+ Fixed issue in mypy plugin where class info for a custom declarative base
+ would not be handled correctly on a cached mypy pass, leading to an
+ AssertionError being raised.
+
+ .. change::
+ :tags: bug, orm
+ :tickets: 6661
+
+ Refined the behavior of ORM subquery rendering with regards to deferred
+ columns and column properties to be more compatible with that of 1.3 while
+ also providing for 1.4's newer features. As a subquery in 1.4 does not make
+ use of loader options, including :func:`_orm.undefer`, a subquery that is
+ against an ORM entity with deferred attributes will now render those
+ deferred attributes that refer directly to mapped table columns, as these
+ are needed in the outer SELECT if that outer SELECT makes use of these
+ columns; however a deferred attribute that refers to a composed SQL
+ expression as we normally do with :func:`_orm.column_property` will not be
+ part of the subquery, as these can be selected explicitly if needed in the
+ subquery. If the entity is being SELECTed from this subquery, the column
+ expression can still render on "the outside" in terms of the derived
+ subquery columns. This produces essentially the same behavior as when
+ working with 1.3. However in this case the fix has to also make sure that
+ the ``.selected_columns`` collection of an ORM-enabled :func:`_sql.select`
+ also follows these rules, which in particular allows recursive CTEs to
+ render correctly in this scenario, which were previously failing to render
+ correctly due to this issue.
+
+ .. change::
+ :tags: bug, postgresql
+ :tickets: 6621
+
+ Fixed issue where the pool "pre ping" feature would implicitly start a
+ transaction, which would then interfere with custom transactional flags
+ such as PostgreSQL's "read only" mode when used with the psycopg2 driver.
+
.. changelog::
:version: 1.4.18
diff --git a/doc/build/changelog/unreleased_14/5557.rst b/doc/build/changelog/unreleased_14/5557.rst
deleted file mode 100644
index 1fcae4f6d..000000000
--- a/doc/build/changelog/unreleased_14/5557.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-.. change::
- :tags: mssql, change
- :tickets: 6503, 6253
-
- Made improvements to the server version regexp used by the pymssql dialect
- to prevent a regexp overflow in case of an invalid version string.
diff --git a/doc/build/changelog/unreleased_14/6132.rst b/doc/build/changelog/unreleased_14/6132.rst
deleted file mode 100644
index 59964e649..000000000
--- a/doc/build/changelog/unreleased_14/6132.rst
+++ /dev/null
@@ -1,11 +0,0 @@
-.. change::
- :tags: usecase, mysql
- :tickets: 6132
-
- Added new construct :class:`_mysql.match`, which provides for the full
- range of MySQL's MATCH operator including multiple column support and
- modifiers. Pull request courtesy Anton Kovalevich.
-
- .. seealso::
-
- :class:`_mysql.match`
diff --git a/doc/build/changelog/unreleased_14/6476.rst b/doc/build/changelog/unreleased_14/6476.rst
deleted file mode 100644
index 8f740f4a1..000000000
--- a/doc/build/changelog/unreleased_14/6476.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-.. change::
- :tags: bug, mypy
- :tickets: 6476
-
- Fixed issue in mypy plugin where class info for a custom declarative base
- would not be handled correctly on a cached mypy pass, leading to an
- AssertionError being raised.
diff --git a/doc/build/changelog/unreleased_14/6503.rst b/doc/build/changelog/unreleased_14/6503.rst
deleted file mode 100644
index a2d50bc99..000000000
--- a/doc/build/changelog/unreleased_14/6503.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-.. change::
- :tags: bug, orm, regression
- :tickets: 6503, 6253
-
- Fixed further regressions in the same area as that of :ticket:`6052` where
- loader options as well as invocations of methods like
- :meth:`_orm.Query.join` would fail if the left side of the statement for
- which the option/join depends upon were replaced by using the
- :meth:`_orm.Query.with_entities` method, or when using 2.0 style queries
- when using the :meth:`_sql.Select.with_only_columns` method. A new set of
- state has been added to the objects which tracks the "left" entities that
- the options / join were made against which is memoized when the lead
- entities are changed.
diff --git a/doc/build/changelog/unreleased_14/6583.rst b/doc/build/changelog/unreleased_14/6583.rst
deleted file mode 100644
index 2d235c6d4..000000000
--- a/doc/build/changelog/unreleased_14/6583.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-.. change::
- :tags: usecase, asyncio
- :tickets: 6583
-
- Implemented :class:`_asyncio.async_scoped_session` to address some
- asyncio-related incompatibilities between :class:`_orm.scoped_session` and
- :class:`_asyncio.AsyncSession`, in which some methods (notably the
- :meth:`_asyncio.async_scoped_session.remove` method) should be used with
- the ``await`` keyword.
-
- .. seealso::
-
- :ref:`asyncio_scoped_session` \ No newline at end of file
diff --git a/doc/build/changelog/unreleased_14/6621.rst b/doc/build/changelog/unreleased_14/6621.rst
deleted file mode 100644
index 0a8720617..000000000
--- a/doc/build/changelog/unreleased_14/6621.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
- :tags: bug, postgresql
- :tickets: 6621
-
- Fixed issue where the pool "pre ping" feature would implicitly start a
- transaction, which would then interfere with custom transactional flags
- such as PostgreSQL's "read only" mode when used with the psycopg2 driver.
-
diff --git a/doc/build/changelog/unreleased_14/6649.rst b/doc/build/changelog/unreleased_14/6649.rst
deleted file mode 100644
index 70ec64216..000000000
--- a/doc/build/changelog/unreleased_14/6649.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
- :tags: bug, postgresql, oracle
- :tickets: 6649
-
- Fixed issue where the ``INTERVAL`` datatype on PostgreSQL and Oracle would
- produce an ``AttributeError`` when used in the context of a comparison
- operation against a ``timedelta()`` object. Pull request courtesy
- MajorDallas.
diff --git a/doc/build/changelog/unreleased_14/6652.rst b/doc/build/changelog/unreleased_14/6652.rst
deleted file mode 100644
index ebc12bae6..000000000
--- a/doc/build/changelog/unreleased_14/6652.rst
+++ /dev/null
@@ -1,11 +0,0 @@
-.. change::
- :tags: bug, asyncio, postgresql
- :tickets: 6652
-
- Fixed bug in asyncio implementation where the greenlet adaptation system
- failed to propagate ``BaseException`` subclasses, most notably including
- ``asyncio.CancelledError``, to the exception handling logic used by the
- engine to invalidate and clean up the connection, thus preventing
- connections from being correctly disposed when a task was cancelled.
-
-
diff --git a/doc/build/changelog/unreleased_14/6658.rst b/doc/build/changelog/unreleased_14/6658.rst
deleted file mode 100644
index c0d899517..000000000
--- a/doc/build/changelog/unreleased_14/6658.rst
+++ /dev/null
@@ -1,11 +0,0 @@
-.. change::
- :tags: bug, mssql
- :tickets: 6658
-
- Fixed bug where the "schema_translate_map" feature would fail to function
- correctly in conjunction with an INSERT into a table that has an IDENTITY
- column, where the value of the IDENTITY column were specified in the values
- of the INSERT thus triggering SQLAlchemy's feature of setting IDENTITY
- INSERT to "on"; it's in this directive where the schema translate map would
- fail to be honored.
-
diff --git a/doc/build/changelog/unreleased_14/6661.rst b/doc/build/changelog/unreleased_14/6661.rst
deleted file mode 100644
index 9e4907f79..000000000
--- a/doc/build/changelog/unreleased_14/6661.rst
+++ /dev/null
@@ -1,22 +0,0 @@
-.. change::
- :tags: bug, orm
- :tickets: 6661
-
- Refined the behavior of ORM subquery rendering with regards to deferred
- columns and column properties to be more compatible with that of 1.3 while
- also providing for 1.4's newer features. As a subquery in 1.4 does not make
- use of loader options, including :func:`_orm.undefer`, a subquery that is
- against an ORM entity with deferred attributes will now render those
- deferred attributes that refer directly to mapped table columns, as these
- are needed in the outer SELECT if that outer SELECT makes use of these
- columns; however a deferred attribute that refers to a composed SQL
- expression as we normally do with :func:`_orm.column_property` will not be
- part of the subquery, as these can be selected explicitly if needed in the
- subquery. If the entity is being SELECTed from this subquery, the column
- expression can still render on "the outside" in terms of the derived
- subquery columns. This produces essentially the same behavior as when
- working with 1.3. However in this case the fix has to also make sure that
- the ``.selected_columns`` collection of an ORM-enabled :func:`_sql.select`
- also follows these rules, which in particular allows recursive CTEs to
- render correctly in this scenario, which were previously failing to render
- correctly due to this issue.
diff --git a/doc/build/changelog/unreleased_14/6663.rst b/doc/build/changelog/unreleased_14/6663.rst
deleted file mode 100644
index 50367be5a..000000000
--- a/doc/build/changelog/unreleased_14/6663.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
- :tags: bug, sql
- :tickets: 6663
-
- Fixed issue in CTE constructs mostly relevant to ORM use cases where a
- recursive CTE against "anonymous" labels such as those seen in ORM
- ``column_property()`` mappings would render in the
- ``WITH RECURSIVE xyz(...)`` section as their raw internal label and not a
- cleanly anonymized name.
diff --git a/doc/build/conf.py b/doc/build/conf.py
index c63491f06..e8e00d1d6 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.18"
+release = "1.4.19"
-release_date = "June 10, 2021"
+release_date = "June 22, 2021"
site_base = os.environ.get("RTD_SITE_BASE", "http://www.sqlalchemy.org")
site_adapter_template = "docs_adapter.mako"