From fdece0a0cc5a614cef7073979afb097a6d9b6b45 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Wed, 27 Dec 2017 11:13:24 -0500 Subject: [PATCH] - 1.2.0 --- doc/build/changelog/changelog_12.rst | 185 +++++++++++++++++- doc/build/changelog/unreleased_12/2694.rst | 15 -- doc/build/changelog/unreleased_12/4032.rst | 9 - doc/build/changelog/unreleased_12/4064.rst | 7 - doc/build/changelog/unreleased_12/4089.rst | 10 - doc/build/changelog/unreleased_12/4115.rst | 6 - doc/build/changelog/unreleased_12/4121.rst | 11 -- doc/build/changelog/unreleased_12/4130.rst | 15 -- doc/build/changelog/unreleased_12/4135.rst | 11 -- doc/build/changelog/unreleased_12/4137.rst | 17 -- doc/build/changelog/unreleased_12/4140.rst | 7 - doc/build/changelog/unreleased_12/4141.rst | 10 - doc/build/changelog/unreleased_12/4142.rst | 9 - doc/build/changelog/unreleased_12/4147.rst | 11 -- doc/build/changelog/unreleased_12/959.rst | 14 -- .../changelog/unreleased_12/errlookup.rst | 7 - doc/build/changelog/unreleased_12/pr395.rst | 5 - doc/build/conf.py | 4 +- 18 files changed, 186 insertions(+), 167 deletions(-) delete mode 100644 doc/build/changelog/unreleased_12/2694.rst delete mode 100644 doc/build/changelog/unreleased_12/4032.rst delete mode 100644 doc/build/changelog/unreleased_12/4064.rst delete mode 100644 doc/build/changelog/unreleased_12/4089.rst delete mode 100644 doc/build/changelog/unreleased_12/4115.rst delete mode 100644 doc/build/changelog/unreleased_12/4121.rst delete mode 100644 doc/build/changelog/unreleased_12/4130.rst delete mode 100644 doc/build/changelog/unreleased_12/4135.rst delete mode 100644 doc/build/changelog/unreleased_12/4137.rst delete mode 100644 doc/build/changelog/unreleased_12/4140.rst delete mode 100644 doc/build/changelog/unreleased_12/4141.rst delete mode 100644 doc/build/changelog/unreleased_12/4142.rst delete mode 100644 doc/build/changelog/unreleased_12/4147.rst delete mode 100644 doc/build/changelog/unreleased_12/959.rst delete mode 100644 doc/build/changelog/unreleased_12/errlookup.rst delete mode 100644 doc/build/changelog/unreleased_12/pr395.rst diff --git a/doc/build/changelog/changelog_12.rst b/doc/build/changelog/changelog_12.rst index 3dca846fd8..8db9deb36e 100644 --- a/doc/build/changelog/changelog_12.rst +++ b/doc/build/changelog/changelog_12.rst @@ -12,10 +12,191 @@ .. changelog:: :version: 1.2.0 - :include_notes_from: unreleased_12 + :released: December 27, 2017 + + .. change:: + :tags: orm, feature + :tickets: 4137 + + Added a new data member to the identity key tuple + used by the ORM's identity map, known as the + "identity_token". This token defaults to None but + may be used by database sharding schemes to differentiate + objects in memory with the same primary key that come + from different databases. The horizontal sharding + extension integrates this token applying the shard + identifier to it, thus allowing primary keys to be + duplicated across horizontally sharded backends. + + .. seealso:: + + :ref:`change_4137` + + .. change:: + :tags: bug, mysql + :tickets: 4115 + + Fixed regression from issue 1.2.0b3 where "MariaDB" version comparison can + fail for some particular MariaDB version strings under Python 3. + + .. change:: + :tags: enhancement, sql + :tickets: 959 + + Implemented "DELETE..FROM" syntax for Postgresql, MySQL, MS SQL Server + (as well as within the unsupported Sybase dialect) in a manner similar + to how "UPDATE..FROM" works. A DELETE statement that refers to more than + one table will switch into "multi-table" mode and render the appropriate + "USING" or multi-table "FROM" clause as understood by the database. + Pull request courtesy Pieter Mulder. + + .. seealso:: + + :ref:`change_959` + + .. change:: + :tags: bug, sql + :tickets: 2694 + + Reworked the new "autoescape" feature introduced in + :ref:`change_2694` in 1.2.0b2 to be fully automatic; the escape + character now defaults to a forwards slash ``"/"`` and + is applied to percent, underscore, as well as the escape + character itself, for fully automatic escaping. The + character can also be changed using the "escape" parameter. + + .. seealso:: + + :ref:`change_2694` + + + .. change:: + :tags: bug, sql + :tickets: 4147 + + Fixed bug where the :meth:`.Table.tometadata` method would not properly + accommodate :class:`.Index` objects that didn't consist of simple + column expressions, such as indexes against a :func:`.text` construct, + indexes that used SQL expressions or :attr:`.func`, etc. The routine + now copies expressions fully to a new :class:`.Index` object while + substituting all table-bound :class:`.Column` objects for those + of the target table. + + .. change:: + :tags: bug, sql + :tickets: 4142 + + Changed the "visit name" of :class:`.ColumnElement` from "column" to + "column_element", so that when this element is used as the basis for a + user-defined SQL element, it is not assumed to behave like a table-bound + :class:`.ColumnClause` when processed by various SQL traversal utilities, + as are commonly used by the ORM. + + .. change:: + :tags: bug, sql, ext + :tickets: 4141 + + Fixed issue in :class:`.ARRAY` datatype which is essentially the same + issue as that of :ticket:`3832`, except not a regression, where + column attachment events on top of :class:`.ARRAY` would not fire + correctly, thus interfering with systems which rely upon this. A key + use case that was broken by this is the use of mixins to declare + columns that make use of :meth:`.MutableList.as_mutable`. + + .. change:: + :tags: feature, engine + :tickets: 4089 + + The "password" attribute of the :class:`.url.URL` object can now be + any user-defined or user-subclassed string object that responds to the + Python ``str()`` builtin. The object passed will be maintained as the + datamember :attr:`.url.URL.password_original` and will be consulted + when the :attr:`.url.URL.password` attribute is read to produce the + string value. + + .. change:: + :tags: bug, orm + :tickets: 4130 + + Fixed bug in :func:`.contains_eager` query option where making use of a + path that used :meth:`.PropComparator.of_type` to refer to a subclass + across more than one level of joins would also require that the "alias" + argument were provided with the same subtype in order to avoid adding + unwanted FROM clauses to the query; additionally, using + :func:`.contains_eager` across subclasses that use :func:`.aliased` objects + of subclasses as the :meth:`.PropComparator.of_type` argument will also + render correctly. + + + + + .. change:: + :tags: feature, postgresql + + Added new :class:`.postgresql.MONEY` datatype. Pull request courtesy + Cleber J Santos. + + .. change:: + :tags: bug, sql + :tickets: 4140 + + Fixed bug in new "expanding bind parameter" feature whereby if multiple + params were used in one statement, the regular expression would not + match the parameter name correctly. + + .. change:: + :tags: enhancement, ext + :tickets: 4135 + + Added new method :meth:`.baked.Result.with_post_criteria` to baked + query system, allowing non-SQL-modifying transformations to take place + after the query has been pulled from the cache. Among other things, + this method can be used with :class:`.horizontal_shard.ShardedQuery` + to set the shard identifier. :class:`.horizontal_shard.ShardedQuery` + has also been modified such that its :meth:`.ShardedQuery.get` method + interacts correctly with that of :class:`.baked.Result`. + + .. change:: + :tags: bug, oracle + :tickets: 4064 + + Added some additional rules to fully handle ``Decimal('Infinity')``, + ``Decimal('-Infinity')`` values with cx_Oracle numerics when using + ``asdecimal=True``. + + .. change:: + :tags: bug, mssql + :tickets: 4121 + + Fixed bug where sqltypes.BINARY and sqltypes.VARBINARY datatypes + would not include correct bound-value handlers for pyodbc, + which allows the pyodbc.NullParam value to be passed that + helps with FreeTDS. + + + + + .. change:: + :tags: feature, misc + + Added a new errors section to the documentation with background + about common error messages. Selected exceptions within SQLAlchemy + will include a link in their string output to the relevant section + within this page. + + .. change:: + :tags: bug, orm + :tickets: 4032 + + The :meth:`.Query.exists` method will now disable eager loaders for when + the query is rendered. Previously, joined-eager load joins would be rendered + unnecessarily as well as subquery eager load queries would be needlessly + generated. The new behavior matches that of the :meth:`.Query.subquery` + method. .. changelog:: :version: 1.2.0b3 + :released: December 27, 2017 :released: October 13, 2017 .. change:: @@ -429,6 +610,7 @@ .. changelog:: :version: 1.2.0b2 + :released: December 27, 2017 :released: July 24, 2017 .. change:: 4033 @@ -443,6 +625,7 @@ .. changelog:: :version: 1.2.0b1 + :released: December 27, 2017 :released: July 10, 2017 .. change:: scoped_autocommit diff --git a/doc/build/changelog/unreleased_12/2694.rst b/doc/build/changelog/unreleased_12/2694.rst deleted file mode 100644 index 4386134014..0000000000 --- a/doc/build/changelog/unreleased_12/2694.rst +++ /dev/null @@ -1,15 +0,0 @@ -.. change:: - :tags: bug, sql - :tickets: 2694 - - Reworked the new "autoescape" feature introduced in - :ref:`change_2694` in 1.2.0b2 to be fully automatic; the escape - character now defaults to a forwards slash ``"/"`` and - is applied to percent, underscore, as well as the escape - character itself, for fully automatic escaping. The - character can also be changed using the "escape" parameter. - - .. seealso:: - - :ref:`change_2694` - diff --git a/doc/build/changelog/unreleased_12/4032.rst b/doc/build/changelog/unreleased_12/4032.rst deleted file mode 100644 index 869be35292..0000000000 --- a/doc/build/changelog/unreleased_12/4032.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 4032 - - The :meth:`.Query.exists` method will now disable eager loaders for when - the query is rendered. Previously, joined-eager load joins would be rendered - unnecessarily as well as subquery eager load queries would be needlessly - generated. The new behavior matches that of the :meth:`.Query.subquery` - method. \ No newline at end of file diff --git a/doc/build/changelog/unreleased_12/4064.rst b/doc/build/changelog/unreleased_12/4064.rst deleted file mode 100644 index 70db0c1b8f..0000000000 --- a/doc/build/changelog/unreleased_12/4064.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: bug, oracle - :tickets: 4064 - - Added some additional rules to fully handle ``Decimal('Infinity')``, - ``Decimal('-Infinity')`` values with cx_Oracle numerics when using - ``asdecimal=True``. diff --git a/doc/build/changelog/unreleased_12/4089.rst b/doc/build/changelog/unreleased_12/4089.rst deleted file mode 100644 index 96d8120bc5..0000000000 --- a/doc/build/changelog/unreleased_12/4089.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: feature, engine - :tickets: 4089 - - The "password" attribute of the :class:`.url.URL` object can now be - any user-defined or user-subclassed string object that responds to the - Python ``str()`` builtin. The object passed will be maintained as the - datamember :attr:`.url.URL.password_original` and will be consulted - when the :attr:`.url.URL.password` attribute is read to produce the - string value. \ No newline at end of file diff --git a/doc/build/changelog/unreleased_12/4115.rst b/doc/build/changelog/unreleased_12/4115.rst deleted file mode 100644 index 9bff939331..0000000000 --- a/doc/build/changelog/unreleased_12/4115.rst +++ /dev/null @@ -1,6 +0,0 @@ -.. change:: - :tags: bug, mysql - :tickets: 4115 - - Fixed regression from issue 1.2.0b3 where "MariaDB" version comparison can - fail for some particular MariaDB version strings under Python 3. diff --git a/doc/build/changelog/unreleased_12/4121.rst b/doc/build/changelog/unreleased_12/4121.rst deleted file mode 100644 index b5e27fea7d..0000000000 --- a/doc/build/changelog/unreleased_12/4121.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. change:: - :tags: bug, mssql - :tickets: 4121 - - Fixed bug where sqltypes.BINARY and sqltypes.VARBINARY datatypes - would not include correct bound-value handlers for pyodbc, - which allows the pyodbc.NullParam value to be passed that - helps with FreeTDS. - - - diff --git a/doc/build/changelog/unreleased_12/4130.rst b/doc/build/changelog/unreleased_12/4130.rst deleted file mode 100644 index 5c88d2bd16..0000000000 --- a/doc/build/changelog/unreleased_12/4130.rst +++ /dev/null @@ -1,15 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 4130 - - Fixed bug in :func:`.contains_eager` query option where making use of a - path that used :meth:`.PropComparator.of_type` to refer to a subclass - across more than one level of joins would also require that the "alias" - argument were provided with the same subtype in order to avoid adding - unwanted FROM clauses to the query; additionally, using - :func:`.contains_eager` across subclasses that use :func:`.aliased` objects - of subclasses as the :meth:`.PropComparator.of_type` argument will also - render correctly. - - - diff --git a/doc/build/changelog/unreleased_12/4135.rst b/doc/build/changelog/unreleased_12/4135.rst deleted file mode 100644 index 36dd869343..0000000000 --- a/doc/build/changelog/unreleased_12/4135.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. change:: - :tags: enhancement, ext - :tickets: 4135 - - Added new method :meth:`.baked.Result.with_post_criteria` to baked - query system, allowing non-SQL-modifying transformations to take place - after the query has been pulled from the cache. Among other things, - this method can be used with :class:`.horizontal_shard.ShardedQuery` - to set the shard identifier. :class:`.horizontal_shard.ShardedQuery` - has also been modified such that its :meth:`.ShardedQuery.get` method - interacts correctly with that of :class:`.baked.Result`. \ No newline at end of file diff --git a/doc/build/changelog/unreleased_12/4137.rst b/doc/build/changelog/unreleased_12/4137.rst deleted file mode 100644 index c619914b83..0000000000 --- a/doc/build/changelog/unreleased_12/4137.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. change:: - :tags: orm, feature - :tickets: 4137 - - Added a new data member to the identity key tuple - used by the ORM's identity map, known as the - "identity_token". This token defaults to None but - may be used by database sharding schemes to differentiate - objects in memory with the same primary key that come - from different databases. The horizontal sharding - extension integrates this token applying the shard - identifier to it, thus allowing primary keys to be - duplicated across horizontally sharded backends. - - .. seealso:: - - :ref:`change_4137` \ No newline at end of file diff --git a/doc/build/changelog/unreleased_12/4140.rst b/doc/build/changelog/unreleased_12/4140.rst deleted file mode 100644 index 2b29b2523a..0000000000 --- a/doc/build/changelog/unreleased_12/4140.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: bug, sql - :tickets: 4140 - - Fixed bug in new "expanding bind parameter" feature whereby if multiple - params were used in one statement, the regular expression would not - match the parameter name correctly. \ No newline at end of file diff --git a/doc/build/changelog/unreleased_12/4141.rst b/doc/build/changelog/unreleased_12/4141.rst deleted file mode 100644 index 24e04b9a89..0000000000 --- a/doc/build/changelog/unreleased_12/4141.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: bug, sql, ext - :tickets: 4141 - - Fixed issue in :class:`.ARRAY` datatype which is essentially the same - issue as that of :ticket:`3832`, except not a regression, where - column attachment events on top of :class:`.ARRAY` would not fire - correctly, thus interfering with systems which rely upon this. A key - use case that was broken by this is the use of mixins to declare - columns that make use of :meth:`.MutableList.as_mutable`. diff --git a/doc/build/changelog/unreleased_12/4142.rst b/doc/build/changelog/unreleased_12/4142.rst deleted file mode 100644 index be5ac2fb75..0000000000 --- a/doc/build/changelog/unreleased_12/4142.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, sql - :tickets: 4142 - - Changed the "visit name" of :class:`.ColumnElement` from "column" to - "column_element", so that when this element is used as the basis for a - user-defined SQL element, it is not assumed to behave like a table-bound - :class:`.ColumnClause` when processed by various SQL traversal utilities, - as are commonly used by the ORM. diff --git a/doc/build/changelog/unreleased_12/4147.rst b/doc/build/changelog/unreleased_12/4147.rst deleted file mode 100644 index 5369e4b8fe..0000000000 --- a/doc/build/changelog/unreleased_12/4147.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. change:: - :tags: bug, sql - :tickets: 4147 - - Fixed bug where the :meth:`.Table.tometadata` method would not properly - accommodate :class:`.Index` objects that didn't consist of simple - column expressions, such as indexes against a :func:`.text` construct, - indexes that used SQL expressions or :attr:`.func`, etc. The routine - now copies expressions fully to a new :class:`.Index` object while - substituting all table-bound :class:`.Column` objects for those - of the target table. \ No newline at end of file diff --git a/doc/build/changelog/unreleased_12/959.rst b/doc/build/changelog/unreleased_12/959.rst deleted file mode 100644 index bcb9cbcf7d..0000000000 --- a/doc/build/changelog/unreleased_12/959.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. change:: - :tags: enhancement, sql - :tickets: 959 - - Implemented "DELETE..FROM" syntax for Postgresql, MySQL, MS SQL Server - (as well as within the unsupported Sybase dialect) in a manner similar - to how "UPDATE..FROM" works. A DELETE statement that refers to more than - one table will switch into "multi-table" mode and render the appropriate - "USING" or multi-table "FROM" clause as understood by the database. - Pull request courtesy Pieter Mulder. - - .. seealso:: - - :ref:`change_959` \ No newline at end of file diff --git a/doc/build/changelog/unreleased_12/errlookup.rst b/doc/build/changelog/unreleased_12/errlookup.rst deleted file mode 100644 index 9348db3986..0000000000 --- a/doc/build/changelog/unreleased_12/errlookup.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: feature, misc - - Added a new errors section to the documentation with background - about common error messages. Selected exceptions within SQLAlchemy - will include a link in their string output to the relevant section - within this page. diff --git a/doc/build/changelog/unreleased_12/pr395.rst b/doc/build/changelog/unreleased_12/pr395.rst deleted file mode 100644 index dc71f89265..0000000000 --- a/doc/build/changelog/unreleased_12/pr395.rst +++ /dev/null @@ -1,5 +0,0 @@ -.. change:: - :tags: feature, postgresql - - Added new :class:`.postgresql.MONEY` datatype. Pull request courtesy - Cleber J Santos. \ No newline at end of file diff --git a/doc/build/conf.py b/doc/build/conf.py index 782d8f6b73..f950ef839e 100644 --- a/doc/build/conf.py +++ b/doc/build/conf.py @@ -110,9 +110,9 @@ copyright = u'2007-2017, the SQLAlchemy authors and contributors' # The short X.Y version. version = "1.2" # The full version, including alpha/beta/rc tags. -release = "1.2.0b3" +release = "1.2.0" -release_date = "October 13, 2017" +release_date = "December 27, 2017" site_base = os.environ.get("RTD_SITE_BASE", "http://www.sqlalchemy.org") site_adapter_template = "docs_adapter.mako" -- 2.47.3