]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- 1.3.11 rel_1_3_11
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 11 Nov 2019 22:07:35 +0000 (17:07 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 11 Nov 2019 22:07:35 +0000 (17:07 -0500)
22 files changed:
doc/build/changelog/changelog_13.rst
doc/build/changelog/unreleased_13/4276.rst [deleted file]
doc/build/changelog/unreleased_13/4799.rst [deleted file]
doc/build/changelog/unreleased_13/4894.rst [deleted file]
doc/build/changelog/unreleased_13/4902.rst [deleted file]
doc/build/changelog/unreleased_13/4903.rst [deleted file]
doc/build/changelog/unreleased_13/4911.rst [deleted file]
doc/build/changelog/unreleased_13/4913.rst [deleted file]
doc/build/changelog/unreleased_13/4915.rst [deleted file]
doc/build/changelog/unreleased_13/4920.rst [deleted file]
doc/build/changelog/unreleased_13/4923.rst [deleted file]
doc/build/changelog/unreleased_13/4931.rst [deleted file]
doc/build/changelog/unreleased_13/4933.rst [deleted file]
doc/build/changelog/unreleased_13/4934.rst [deleted file]
doc/build/changelog/unreleased_13/4945.rst [deleted file]
doc/build/changelog/unreleased_13/4947.rst [deleted file]
doc/build/changelog/unreleased_13/4954.rst [deleted file]
doc/build/changelog/unreleased_13/4955.rst [deleted file]
doc/build/changelog/unreleased_13/4967.rst [deleted file]
doc/build/changelog/unreleased_13/4973.rst [deleted file]
doc/build/changelog/unreleased_13/4974.rst [deleted file]
doc/build/conf.py

index 78908870e8cb8c293fb600401f128a90599704bc..b9fc56bbc64011e2e7825b4360176ed5704241e8 100644 (file)
 
 .. changelog::
     :version: 1.3.11
-    :include_notes_from: unreleased_13
+    :released: November 11, 2019
+
+    .. change::
+        :tags: bug, mssql
+        :tickets: 4973
+
+        Fixed issue in MSSQL dialect where an expression-based OFFSET value in a
+        SELECT would be rejected, even though the dialect can render this
+        expression inside of a ROW NUMBER-oriented LIMIT/OFFSET construct.
+
+
+    .. change::
+        :tags: orm, usecase
+        :tickets: 4934
+
+        Added accessor :meth:`.Query.is_single_entity` to :class:`.Query`, which
+        will indicate if the results returned by this :class:`.Query` will be a
+        list of ORM entities, or a tuple of entities or column expressions.
+        SQLAlchemy hopes to improve upon the behavior of single entity / tuples in
+        future releases such that the behavior would be explicit up front, however
+        this attribute should be helpful with the current behavior.  Pull request
+        courtesy Patrick Hayes.
+
+    .. change::
+        :tags: bug, mysql
+        :tickets: 4945
+
+        Added "Connection was killed" message interpreted from the base
+        pymysql.Error class in order to detect closed connection, based on reports
+        that this message is arriving via a pymysql.InternalError() object which
+        indicates pymysql is not handling it correctly.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 4954
+
+        The :paramref:`.relationship.omit_join` flag was not intended to be
+        manually set to True, and will now emit a warning when this occurs.  The
+        omit_join optimization is detected automatically, and the ``omit_join``
+        flag was only intended to disable the optimization in the hypothetical case
+        that the optimization may have interfered with correct results, which has
+        not been observed with the modern version of this feature.   Setting the
+        flag to True when it is not automatically detected may cause the selectin
+        load feature to not work correctly when a non-default primary join
+        condition is in use.
+
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 4915
+
+        A warning is emitted if a primary key value is passed to :meth:`.Query.get`
+        that consists of None for all primary key column positions.   Previously,
+        passing a single None outside of a tuple would raise a ``TypeError`` and
+        passing a composite None (tuple of None values) would silently pass
+        through.   The fix now coerces the single None into a tuple where it is
+        handled consistently with the other None conditions.  Thanks to Lev
+        Izraelit for the help with this.
+
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 4947
+
+        The :class:`.BakedQuery` will not cache a query that was modified by a
+        :meth:`.QueryEvents.before_compile` event, so that compilation hooks that
+        may be applying ad-hoc modifications to queries will take effect on each
+        run.  In particular this is helpful for events that modify queries used in
+        lazy loading as well as eager loading such as "select in" loading.  In
+        order to re-enable caching for a query modified by this event, a new
+        flag ``bake_ok`` is added; see :ref:`baked_with_before_compile` for
+        details.
+
+        A longer term plan to provide a new form of SQL caching should solve this
+        kind of issue more comprehensively.
+
+    .. change::
+        :tags: bug, tests
+        :tickets: 4920
+
+        Fixed test failures which would occur with newer SQLite as of version 3.30
+        or greater, due to their addition of nulls ordering syntax as well as new
+        restrictions on aggregate functions.  Pull request courtesy Nils Philippsen.
+
+
+
+    .. change::
+        :tags: bug, installation, windows
+        :tickets: 4967
+
+        Added a workaround for a setuptools-related failure that has been observed
+        as occurring on Windows installations, where setuptools is not correctly
+        reporting a build error when the MSVC build dependencies are not installed
+        and therefore not allowing graceful degradation into non C extensions
+        builds.
+
+    .. change::
+        :tags: bug, sql, py3k
+        :tickets: 4931
+
+        Changed the ``repr()`` of the :class:`.quoted_name` construct to use
+        regular string repr() under Python 3, rather than running it through
+        "backslashreplace" escaping, which can be misleading.
+
+    .. change::
+        :tags: bug, oracle, firebird
+        :tickets: 4931
+
+        Modified the approach of "name normalization" for the Oracle and Firebird
+        dialects, which converts from the UPPERCASE-as-case-insensitive convention
+        of these dialects into lowercase-as-case-insensitive for SQLAlchemy, to not
+        automatically apply the :class:`.quoted_name` construct to a name that
+        matches itself under upper or lower case conversion, as is the case for
+        many non-european characters.   All names used within metadata structures
+        are converted to :class:`.quoted_name` objects in any case; the change
+        here would only affect the output of some inspection functions.
+
+    .. change::
+        :tags: bug, schema
+        :tickets: 4911
+
+        Fixed bug where a table that would have a column label overlap with a plain
+        column name, such as "foo.id AS foo_id" vs. "foo.foo_id", would prematurely
+        generate the ``._label`` attribute for a column before this overlap could
+        be detected due to the use of the ``index=True`` or ``unique=True`` flag on
+        the column in conjunction with the default naming convention of
+        ``"column_0_label"``.  This would then lead to failures when ``._label``
+        were used later to generate a bound parameter name, in particular those
+        used by the ORM when generating the WHERE clause for an UPDATE statement.
+        The issue has been fixed by using an alternate ``._label`` accessor for DDL
+        generation that does not affect the state of the :class:`.Column`.   The
+        accessor also bypasses the key-deduplication step as it is not necessary
+        for DDL, the naming is now consistently ``"<tablename>_<columnname>"``
+        without any subsequent numeric symbols when used in DDL.
+
+
+
+    .. change::
+        :tags: bug, engine
+        :tickets: 4902
+
+        Fixed bug where parameter repr as used in logging and error reporting needs
+        additional context in order to distinguish between a list of parameters for
+        a single statement and a list of parameter lists, as the "list of lists"
+        structure could also indicate a single parameter list where the first
+        parameter itself is a list, such as for an array parameter.   The
+        engine/connection now passes in an additional boolean indicating how the
+        parameters should be considered.  The only SQLAlchemy backend that expects
+        arrays as parameters is that of  psycopg2 which uses pyformat parameters,
+        so this issue has not been too apparent, however as other drivers that use
+        positional gain more features it is important that this be supported. It
+        also eliminates the need for the parameter repr function to guess based on
+        the parameter structure passed.
+
+    .. change::
+        :tags: usecase, schema
+        :tickets: 4894
+
+        Added DDL support for "computed columns"; these are DDL column
+        specifications for columns that have a server-computed value, either upon
+        SELECT (known as "virtual") or at the point of which they are INSERTed or
+        UPDATEd (known as "stored").  Support is established for Postgresql, MySQL,
+        Oracle SQL Server and Firebird. Thanks to Federico Caselli for lots of work
+        on this one.
+
+        .. seealso::
+
+            :ref:`computed_ddl`
+
+
+    .. change::
+        :tags: bug, engine, postgresql
+        :tickets: 4955
+
+        Fixed bug in :class:`.Inspector` where the cache key generation did not
+        take into account arguments passed in the form of tuples, such as the tuple
+        of view name styles to return for the PostgreSQL dialect. This would lead
+        the inspector to cache too generally for a more specific set of criteria.
+        The logic has been adjusted to include every keyword element in the cache,
+        as every argument is expected to be appropriate for a cache else the
+        caching decorator should be bypassed by the dialect.
+
+
+    .. change::
+        :tags: bug, mssql
+        :tickets: 4923
+
+        Fixed an issue in the :meth:`.Engine.table_names` method where it would
+        feed the dialect's default schema name back into the dialect level table
+        function, which in the case of SQL Server would interpret it as a
+        dot-tokenized schema name as viewed by the mssql dialect, which would
+        cause the method to fail in the case where the database username actually
+        had a dot inside of it.  In 1.3, this method is still used by the
+        :meth:`.MetaData.reflect` function so is a prominent codepath. In 1.4,
+        which is the current master development branch, this issue doesn't exist,
+        both because :meth:`.MetaData.reflect` isn't using this method nor does the
+        method pass the default schema name explicitly.  The fix nonetheless
+        guards against the default server name value returned by the dialect from
+        being interpreted as dot-tokenized name under any circumstances by
+        wrapping it in quoted_name().
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 4974
+
+        Fixed ORM bug where a "secondary" table that referred to a selectable which
+        in some way would refer to the local primary table would apply aliasing to
+        both sides of the join condition when a relationship-related join, either
+        via :meth:`.Query.join` or by :func:`.joinedload`, were generated.  The
+        "local" side is now excluded.
+
+    .. change::
+        :tags: usecase, sql
+        :tickets: 4276
+
+        Added new accessors to expressions of type :class:`.JSON` to allow for
+        specific datatype access and comparison, covering strings, integers,
+        numeric, boolean elements.   This revises the documented approach of
+        CASTing to string when comparing values, instead adding specific
+        functionality into the PostgreSQL, SQlite, MySQL dialects to reliably
+        deliver these basic types in all cases.
+
+        .. seealso::
+
+            :class:`.JSON`
+
+            :meth:`.JSON.Comparator.as_string`
+
+            :meth:`.JSON.Comparator.as_boolean`
+
+            :meth:`.JSON.Comparator.as_float`
+
+            :meth:`.JSON.Comparator.as_integer`
+
+    .. change::
+        :tags: usecase, oracle
+        :tickets: 4799
+
+        Added dialect-level flag ``encoding_errors`` to the cx_Oracle dialect,
+        which can be specified as part of :func:`.create_engine`.   This is passed
+        to SQLAlchemy's unicode decoding converter under Python 2, and to
+        cx_Oracle's ``cursor.var()`` object as the ``encodingErrors`` parameter
+        under Python 3, for the very unusual case that broken encodings are present
+        in the target database which cannot be fetched unless error handling is
+        relaxed.  The value is ultimately one of the Python "encoding errors"
+        parameters passed to ``decode()``.
+
+    .. change::
+        :tags: usecase, sql
+        :tickets: 4933
+
+        The :func:`.text` construct now supports "unique" bound parameters, which
+        will dynamically uniquify themselves on compilation thus allowing multiple
+        :func:`.text` constructs with the same bound parameter names to be combined
+        together.
+
+
+    .. change::
+        :tags: bug, oracle
+        :tickets: 4913
+
+        The :class:`.sqltypes.NCHAR` datatype will now bind to the
+        ``cx_Oracle.FIXED_NCHAR`` DBAPI data bindings when used in a bound
+        parameter, which supplies proper comparison behavior against a
+        variable-length string.  Previously, the :class:`.sqltypes.NCHAR` datatype
+        would bind to ``cx_oracle.NCHAR`` which is not fixed length; the
+        :class:`.sqltypes.CHAR` datatype already binds to ``cx_Oracle.FIXED_CHAR``
+        so it is now consistent that :class:`.sqltypes.NCHAR` binds to
+        ``cx_Oracle.FIXED_NCHAR``.
+
+
+
+    .. change::
+        :tags: bug, firebird
+        :tickets: 4903
+
+        Added additional "disconnect" message "Error writing data to the
+        connection" to Firebird disconnection detection.  Pull request courtesy
+        lukens.
 
 .. changelog::
     :version: 1.3.10
diff --git a/doc/build/changelog/unreleased_13/4276.rst b/doc/build/changelog/unreleased_13/4276.rst
deleted file mode 100644 (file)
index bc05b94..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-.. change::
-    :tags: usecase, sql
-    :tickets: 4276
-
-    Added new accessors to expressions of type :class:`.JSON` to allow for
-    specific datatype access and comparison, covering strings, integers,
-    numeric, boolean elements.   This revises the documented approach of
-    CASTing to string when comparing values, instead adding specific
-    functionality into the PostgreSQL, SQlite, MySQL dialects to reliably
-    deliver these basic types in all cases.
-
-    .. seealso::
-
-        :class:`.JSON`
-
-        :meth:`.JSON.Comparator.as_string`
-
-        :meth:`.JSON.Comparator.as_boolean`
-
-        :meth:`.JSON.Comparator.as_float`
-
-        :meth:`.JSON.Comparator.as_integer`
diff --git a/doc/build/changelog/unreleased_13/4799.rst b/doc/build/changelog/unreleased_13/4799.rst
deleted file mode 100644 (file)
index 8cc12a6..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-.. change::
-    :tags: usecase, oracle
-    :tickets: 4799
-
-    Added dialect-level flag ``encoding_errors`` to the cx_Oracle dialect,
-    which can be specified as part of :func:`.create_engine`.   This is passed
-    to SQLAlchemy's unicode decoding converter under Python 2, and to
-    cx_Oracle's ``cursor.var()`` object as the ``encodingErrors`` parameter
-    under Python 3, for the very unusual case that broken encodings are present
-    in the target database which cannot be fetched unless error handling is
-    relaxed.  The value is ultimately one of the Python "encoding errors"
-    parameters passed to ``decode()``.
diff --git a/doc/build/changelog/unreleased_13/4894.rst b/doc/build/changelog/unreleased_13/4894.rst
deleted file mode 100644 (file)
index ee0f6f8..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-.. change::
-    :tags: usecase, schema
-    :tickets: 4894
-
-    Added DDL support for "computed columns"; these are DDL column
-    specifications for columns that have a server-computed value, either upon
-    SELECT (known as "virtual") or at the point of which they are INSERTed or
-    UPDATEd (known as "stored").  Support is established for Postgresql, MySQL,
-    Oracle SQL Server and Firebird. Thanks to Federico Caselli for lots of work
-    on this one.
-
-    .. seealso::
-
-        :ref:`computed_ddl`
-
diff --git a/doc/build/changelog/unreleased_13/4902.rst b/doc/build/changelog/unreleased_13/4902.rst
deleted file mode 100644 (file)
index 673077a..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-.. change::
-    :tags: bug, engine
-    :tickets: 4902
-
-    Fixed bug where parameter repr as used in logging and error reporting needs
-    additional context in order to distinguish between a list of parameters for
-    a single statement and a list of parameter lists, as the "list of lists"
-    structure could also indicate a single parameter list where the first
-    parameter itself is a list, such as for an array parameter.   The
-    engine/connection now passes in an additional boolean indicating how the
-    parameters should be considered.  The only SQLAlchemy backend that expects
-    arrays as parameters is that of  psycopg2 which uses pyformat parameters,
-    so this issue has not been too apparent, however as other drivers that use
-    positional gain more features it is important that this be supported. It
-    also eliminates the need for the parameter repr function to guess based on
-    the parameter structure passed.
diff --git a/doc/build/changelog/unreleased_13/4903.rst b/doc/build/changelog/unreleased_13/4903.rst
deleted file mode 100644 (file)
index d6d2850..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-.. change::
-    :tags: bug, firebird
-    :tickets: 4903
-
-    Added additional "disconnect" message "Error writing data to the
-    connection" to Firebird disconnection detection.  Pull request courtesy
-    lukens.
diff --git a/doc/build/changelog/unreleased_13/4911.rst b/doc/build/changelog/unreleased_13/4911.rst
deleted file mode 100644 (file)
index 02db4b8..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-.. change::
-    :tags: bug, schema
-    :tickets: 4911
-
-    Fixed bug where a table that would have a column label overlap with a plain
-    column name, such as "foo.id AS foo_id" vs. "foo.foo_id", would prematurely
-    generate the ``._label`` attribute for a column before this overlap could
-    be detected due to the use of the ``index=True`` or ``unique=True`` flag on
-    the column in conjunction with the default naming convention of
-    ``"column_0_label"``.  This would then lead to failures when ``._label``
-    were used later to generate a bound parameter name, in particular those
-    used by the ORM when generating the WHERE clause for an UPDATE statement.
-    The issue has been fixed by using an alternate ``._label`` accessor for DDL
-    generation that does not affect the state of the :class:`.Column`.   The
-    accessor also bypasses the key-deduplication step as it is not necessary
-    for DDL, the naming is now consistently ``"<tablename>_<columnname>"``
-    without any subsequent numeric symbols when used in DDL.
-
-
diff --git a/doc/build/changelog/unreleased_13/4913.rst b/doc/build/changelog/unreleased_13/4913.rst
deleted file mode 100644 (file)
index de94888..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-.. change::
-    :tags: bug, oracle
-    :tickets: 4913
-
-    The :class:`.sqltypes.NCHAR` datatype will now bind to the
-    ``cx_Oracle.FIXED_NCHAR`` DBAPI data bindings when used in a bound
-    parameter, which supplies proper comparison behavior against a
-    variable-length string.  Previously, the :class:`.sqltypes.NCHAR` datatype
-    would bind to ``cx_oracle.NCHAR`` which is not fixed length; the
-    :class:`.sqltypes.CHAR` datatype already binds to ``cx_Oracle.FIXED_CHAR``
-    so it is now consistent that :class:`.sqltypes.NCHAR` binds to
-    ``cx_Oracle.FIXED_NCHAR``.
-
-
diff --git a/doc/build/changelog/unreleased_13/4915.rst b/doc/build/changelog/unreleased_13/4915.rst
deleted file mode 100644 (file)
index 1048d06..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 4915
-
-    A warning is emitted if a primary key value is passed to :meth:`.Query.get`
-    that consists of None for all primary key column positions.   Previously,
-    passing a single None outside of a tuple would raise a ``TypeError`` and
-    passing a composite None (tuple of None values) would silently pass
-    through.   The fix now coerces the single None into a tuple where it is
-    handled consistently with the other None conditions.  Thanks to Lev
-    Izraelit for the help with this.
-
diff --git a/doc/build/changelog/unreleased_13/4920.rst b/doc/build/changelog/unreleased_13/4920.rst
deleted file mode 100644 (file)
index aabcc57..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
-    :tags: bug, tests
-    :tickets: 4920
-
-    Fixed test failures which would occur with newer SQLite as of version 3.30
-    or greater, due to their addition of nulls ordering syntax as well as new
-    restrictions on aggregate functions.  Pull request courtesy Nils Philippsen.
-
-
diff --git a/doc/build/changelog/unreleased_13/4923.rst b/doc/build/changelog/unreleased_13/4923.rst
deleted file mode 100644 (file)
index e5318f5..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-.. change::
-    :tags: bug, mssql
-    :tickets: 4923
-
-    Fixed an issue in the :meth:`.Engine.table_names` method where it would
-    feed the dialect's default schema name back into the dialect level table
-    function, which in the case of SQL Server would interpret it as a
-    dot-tokenized schema name as viewed by the mssql dialect, which would
-    cause the method to fail in the case where the database username actually
-    had a dot inside of it.  In 1.3, this method is still used by the
-    :meth:`.MetaData.reflect` function so is a prominent codepath. In 1.4,
-    which is the current master development branch, this issue doesn't exist,
-    both because :meth:`.MetaData.reflect` isn't using this method nor does the
-    method pass the default schema name explicitly.  The fix nonetheless
-    guards against the default server name value returned by the dialect from
-    being interpreted as dot-tokenized name under any circumstances by
-    wrapping it in quoted_name().
diff --git a/doc/build/changelog/unreleased_13/4931.rst b/doc/build/changelog/unreleased_13/4931.rst
deleted file mode 100644 (file)
index 164924c..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-.. change::
-    :tags: bug, sql, py3k
-    :tickets: 4931
-
-    Changed the ``repr()`` of the :class:`.quoted_name` construct to use
-    regular string repr() under Python 3, rather than running it through
-    "backslashreplace" escaping, which can be misleading.
-
-.. change::
-    :tags: bug, oracle, firebird
-    :tickets: 4931
-
-    Modified the approach of "name normalization" for the Oracle and Firebird
-    dialects, which converts from the UPPERCASE-as-case-insensitive convention
-    of these dialects into lowercase-as-case-insensitive for SQLAlchemy, to not
-    automatically apply the :class:`.quoted_name` construct to a name that
-    matches itself under upper or lower case conversion, as is the case for
-    many non-european characters.   All names used within metadata structures
-    are converted to :class:`.quoted_name` objects in any case; the change
-    here would only affect the output of some inspection functions.
diff --git a/doc/build/changelog/unreleased_13/4933.rst b/doc/build/changelog/unreleased_13/4933.rst
deleted file mode 100644 (file)
index d9b8c6c..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
-    :tags: usecase, sql
-    :tickets: 4933
-
-    The :func:`.text` construct now supports "unique" bound parameters, which
-    will dynamically uniquify themselves on compilation thus allowing multiple
-    :func:`.text` constructs with the same bound parameter names to be combined
-    together.
-
diff --git a/doc/build/changelog/unreleased_13/4934.rst b/doc/build/changelog/unreleased_13/4934.rst
deleted file mode 100644 (file)
index 3f279a4..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-.. change::
-    :tags: orm, usecase
-    :tickets: 4934
-
-    Added accessor :meth:`.Query.is_single_entity` to :class:`.Query`, which
-    will indicate if the results returned by this :class:`.Query` will be a
-    list of ORM entities, or a tuple of entities or column expressions.
-    SQLAlchemy hopes to improve upon the behavior of single entity / tuples in
-    future releases such that the behavior would be explicit up front, however
-    this attribute should be helpful with the current behavior.  Pull request
-    courtesy Patrick Hayes.
diff --git a/doc/build/changelog/unreleased_13/4945.rst b/doc/build/changelog/unreleased_13/4945.rst
deleted file mode 100644 (file)
index f94efca..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: bug, mysql
-    :tickets: 4945
-
-    Added "Connection was killed" message interpreted from the base
-    pymysql.Error class in order to detect closed connection, based on reports
-    that this message is arriving via a pymysql.InternalError() object which
-    indicates pymysql is not handling it correctly.
diff --git a/doc/build/changelog/unreleased_13/4947.rst b/doc/build/changelog/unreleased_13/4947.rst
deleted file mode 100644 (file)
index afae076..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 4947
-
-    The :class:`.BakedQuery` will not cache a query that was modified by a
-    :meth:`.QueryEvents.before_compile` event, so that compilation hooks that
-    may be applying ad-hoc modifications to queries will take effect on each
-    run.  In particular this is helpful for events that modify queries used in
-    lazy loading as well as eager loading such as "select in" loading.  In
-    order to re-enable caching for a query modified by this event, a new
-    flag ``bake_ok`` is added; see :ref:`baked_with_before_compile` for
-    details.
-
-    A longer term plan to provide a new form of SQL caching should solve this
-    kind of issue more comprehensively.
diff --git a/doc/build/changelog/unreleased_13/4954.rst b/doc/build/changelog/unreleased_13/4954.rst
deleted file mode 100644 (file)
index 1c147d1..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 4954
-
-    The :paramref:`.relationship.omit_join` flag was not intended to be
-    manually set to True, and will now emit a warning when this occurs.  The
-    omit_join optimization is detected automatically, and the ``omit_join``
-    flag was only intended to disable the optimization in the hypothetical case
-    that the optimization may have interfered with correct results, which has
-    not been observed with the modern version of this feature.   Setting the
-    flag to True when it is not automatically detected may cause the selectin
-    load feature to not work correctly when a non-default primary join
-    condition is in use.
-
diff --git a/doc/build/changelog/unreleased_13/4955.rst b/doc/build/changelog/unreleased_13/4955.rst
deleted file mode 100644 (file)
index 7e98c48..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-.. change::
-    :tags: bug, engine, postgresql
-    :tickets: 4955
-
-    Fixed bug in :class:`.Inspector` where the cache key generation did not
-    take into account arguments passed in the form of tuples, such as the tuple
-    of view name styles to return for the PostgreSQL dialect. This would lead
-    the inspector to cache too generally for a more specific set of criteria.
-    The logic has been adjusted to include every keyword element in the cache,
-    as every argument is expected to be appropriate for a cache else the
-    caching decorator should be bypassed by the dialect.
-
diff --git a/doc/build/changelog/unreleased_13/4967.rst b/doc/build/changelog/unreleased_13/4967.rst
deleted file mode 100644 (file)
index 341c572..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
-    :tags: bug, installation, windows
-    :tickets: 4967
-
-    Added a workaround for a setuptools-related failure that has been observed
-    as occurring on Windows installations, where setuptools is not correctly
-    reporting a build error when the MSVC build dependencies are not installed
-    and therefore not allowing graceful degradation into non C extensions
-    builds.
diff --git a/doc/build/changelog/unreleased_13/4973.rst b/doc/build/changelog/unreleased_13/4973.rst
deleted file mode 100644 (file)
index 06498e9..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: bug, mssql
-    :tickets: 4973
-
-    Fixed issue in MSSQL dialect where an expression-based OFFSET value in a
-    SELECT would be rejected, even though the dialect can render this
-    expression inside of a ROW NUMBER-oriented LIMIT/OFFSET construct.
-
diff --git a/doc/build/changelog/unreleased_13/4974.rst b/doc/build/changelog/unreleased_13/4974.rst
deleted file mode 100644 (file)
index fc2af4d..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 4974
-
-    Fixed ORM bug where a "secondary" table that referred to a selectable which
-    in some way would refer to the local primary table would apply aliasing to
-    both sides of the join condition when a relationship-related join, either
-    via :meth:`.Query.join` or by :func:`.joinedload`, were generated.  The
-    "local" side is now excluded.
index 8c0fc1227cf3b798493802557b2b5a7e84ca7873..4ffb847332a9a0990fd67f30469c70cc6364e607 100644 (file)
@@ -109,9 +109,9 @@ copyright = u'2007-2019, the SQLAlchemy authors and contributors'
 # The short X.Y version.
 version = "1.3"
 # The full version, including alpha/beta/rc tags.
-release = "1.3.10"
+release = "1.3.11"
 
-release_date = "October 9, 2019"
+release_date = "November 11, 2019"
 
 site_base = os.environ.get("RTD_SITE_BASE", "http://www.sqlalchemy.org")
 site_adapter_template = "docs_adapter.mako"