.. changelog::
:version: 1.2.18
- :include_notes_from: unreleased_12
+ :released: February 15, 2019
+
+ .. change::
+ :tags: bug, orm
+ :tickets: 4468
+
+ Fixed a regression in 1.2 where a wildcard/load_only loader option would
+ not work correctly against a loader path where of_type() were used to limit
+ to a particular subclass. The fix only works for of_type() of a simple
+ subclass so far, not a with_polymorphic entity which will be addressed in a
+ separate issue; it is unlikely this latter case was working previously.
+
+
+ .. change::
+ :tags: bug, orm
+ :tickets: 4489
+
+ Fixed fairly simple but critical issue where the
+ :meth:`.SessionEvents.pending_to_persistent` event would be invoked for
+ objects not just when they move from pending to persistent, but when they
+ were also already persistent and just being updated, thus causing the event
+ to be invoked for all objects on every update.
+
+ .. change::
+ :tags: bug, sql
+ :tickets: 4485
+
+ Fixed issue where the :class:`.JSON` type had a read-only
+ :attr:`.JSON.should_evaluate_none` attribute, which would cause failures
+ when making use of the :meth:`.TypeEngine.evaluates_none` method in
+ conjunction with this type. Pull request courtesy Sanjana S.
+
+ .. change::
+ :tags: bug, mssql
+ :tickets: 4499
+
+ Fixed bug where the SQL Server "IDENTITY_INSERT" logic that allows an INSERT
+ to proceed with an explicit value on an IDENTITY column was not detecting
+ the case where :meth:`.Insert.values` were used with a dictionary that
+ contained a :class:`.Column` as key and a SQL expression as a value.
+
+ .. change::
+ :tags: bug, sqlite
+ :tickets: 4474
+
+ Fixed bug in SQLite DDL where using an expression as a server side default
+ required that it be contained within parenthesis to be accepted by the
+ sqlite parser. Pull request courtesy Bartlomiej Biernacki.
+
+ .. change::
+ :tags: bug, mysql
+ :tickets: 4492
+
+ Fixed a second regression caused by :ticket:`4344` (the first was
+ :ticket:`4361`), which works around MySQL issue 88718, where the lower
+ casing function used was not correct for Python 2 with OSX/Windows casing
+ conventions, which would then raise ``TypeError``. Full coverage has been
+ added to this logic so that every codepath is exercised in a mock style for
+ all three casing conventions on all versions of Python. MySQL 8.0 has
+ meanwhile fixed issue 88718 so the workaround is only applies to a
+ particular span of MySQL 8.0 versions.
.. changelog::
:version: 1.2.17
+++ /dev/null
-.. change::
- :tags: bug, orm
- :tickets: 4468
-
- Fixed a regression in 1.2 where a wildcard/load_only loader option would
- not work correctly against a loader path where of_type() were used to limit
- to a particular subclass. The fix only works for of_type() of a simple
- subclass so far, not a with_polymorphic entity which will be addressed in a
- separate issue; it is unlikely this latter case was working previously.
-
+++ /dev/null
-.. change::
- :tags: bug, sqlite
- :tickets: 4474
-
- Fixed bug in SQLite DDL where using an expression as a server side default
- required that it be contained within parenthesis to be accepted by the
- sqlite parser. Pull request courtesy Bartlomiej Biernacki.
+++ /dev/null
-.. change::
- :tags: bug, sql
- :tickets: 4485
-
- Fixed issue where the :class:`.JSON` type had a read-only
- :attr:`.JSON.should_evaluate_none` attribute, which would cause failures
- when making use of the :meth:`.TypeEngine.evaluates_none` method in
- conjunction with this type. Pull request courtesy Sanjana S.
+++ /dev/null
-.. change::
- :tags: bug, orm
- :tickets: 4489
-
- Fixed fairly simple but critical issue where the
- :meth:`.SessionEvents.pending_to_persistent` event would be invoked for
- objects not just when they move from pending to persistent, but when they
- were also already persistent and just being updated, thus causing the event
- to be invoked for all objects on every update.
+++ /dev/null
-.. change::
- :tags: bug, mysql
- :tickets: 4492
-
- Fixed a second regression caused by :ticket:`4344` (the first was
- :ticket:`4361`), which works around MySQL issue 88718, where the lower
- casing function used was not correct for Python 2 with OSX/Windows casing
- conventions, which would then raise ``TypeError``. Full coverage has been
- added to this logic so that every codepath is exercised in a mock style for
- all three casing conventions on all versions of Python. MySQL 8.0 has
- meanwhile fixed issue 88718 so the workaround is only applies to a
- particular span of MySQL 8.0 versions.
+++ /dev/null
-.. change::
- :tags: bug, mssql
- :tickets: 4499
-
- Fixed bug where the SQL Server "IDENTITY_INSERT" logic that allows an INSERT
- to proceed with an explicit value on an IDENTITY column was not detecting
- the case where :meth:`.Insert.values` were used with a dictionary that
- contained a :class:`.Column` as key and a SQL expression as a value.
# The short X.Y version.
version = "1.2"
# The full version, including alpha/beta/rc tags.
-release = "1.2.17"
+release = "1.2.18"
-release_date = "January 25, 2019"
+release_date = "February 15, 2019"
site_base = os.environ.get("RTD_SITE_BASE", "http://www.sqlalchemy.org")
site_adapter_template = "docs_adapter.mako"