Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial Update #1074

Closed
wants to merge 27 commits into from
Closed

Initial Update #1074

wants to merge 27 commits into from

Conversation

pyup-bot
Copy link
Contributor

@pyup-bot pyup-bot commented Jul 7, 2017

This is my first visit to this fine repo so I have bundled all updates in a single pull request to make things easier for you to merge.

Close this pull request and delete the branch if you want me to start with single pull requests right away

Here's the executive summary:

Updates

Here's a list of all the updates bundled in this pull request. I've added some links to make it easier for you to find all the information you need.

apispec 0.14.0 » 0.22.1 PyPI | Changelog | Repo
Flask 0.10.1 » 0.12.2 PyPI | Changelog | Repo
Flask-Migrate 1.3.1 » 2.0.4 PyPI | Changelog | Repo | Docs
Flask-SQLAlchemy 2.0 » 2.2 PyPI | Changelog | Repo | Docs
psycopg2 2.6.2 » 2.7.1 PyPI | Changelog | Homepage | Docs
SQLAlchemy 1.0.15 » 1.1.11 PyPI | Changelog | Homepage
SQLAlchemy-Utils 0.32.9 » 0.32.14 PyPI | Changelog | Repo
PyJWT 1.4.2 » 1.5.2 PyPI | Changelog | Repo
marshmallow 2.4.2 » 2.13.5 PyPI | Changelog | Repo
marshmallow-sqlalchemy 0.8.0 » 0.13.1 PyPI | Changelog | Repo
flask-marshmallow 0.6.2 » 0.8.0 PyPI | Changelog | Repo
Flask-Bcrypt 0.6.2 » 0.7.1 PyPI | Repo | Docs
credstash 1.8.0 » 1.13.2 PyPI | Changelog | Repo
celery 3.1.25 » 4.0.2 PyPI | Changelog | Homepage | Docs
monotonic 1.2 » 1.3 PyPI | Changelog | Repo
jsonschema 2.5.1 » 2.6.0 PyPI | Changelog | Repo
gunicorn 19.6.0 » 19.7.1 PyPI | Changelog | Homepage
notifications-python-client 3.1.0 » 4.3.1 PyPI | Changelog | Repo
pytest 3.0.1 » 3.1.3 PyPI | Changelog | Repo | Homepage
pytest-mock 1.2 » 1.6.0 PyPI | Changelog | Repo
pytest-cov 2.3.1 » 2.5.1 PyPI | Changelog | Repo
moto 0.4.25 » 1.0.1 PyPI | Changelog | Repo
flex 5.8.0 » 6.10.0 PyPI | Changelog | Repo
freezegun 0.3.7 » 0.3.9 PyPI | Changelog | Repo
requests-mock 1.0.0 » 1.3.0 PyPI | Docs

Changelogs

apispec 0.14.0 -> 0.22.1

0.22.1

+++++++++++++++++++

Bug fixes:

  • [apispec.ext.marshmallow]: Include default in output spec when
    False is the default for a Boolean field (:issue:130).
    Thanks :user:nebularazer.

0.22.0

+++++++++++++++++++

Features:

  • [apispec.ext.bottle] Added bottle plugin (:issue:128). Thanks :user:lucasrc.

0.21.0

+++++++++++++++++++

Features:

  • [apispec.ext.marshmallow] Sort list of required field names in generated spec (:issue:124). Thanks :user:dradetsky.

0.20.1

+++++++++++++++++++

Bug fixes:

  • [apispec.ext.tornado]: Fix compatibility with Tornado>=4.5.
  • [apispec.ext.tornado]: Fix adding paths for handlers with coroutine methods in Python 2 (:issue:99).

0.20.0

+++++++++++++++++++

Features:

  • [apispec.core]: Definition helper functions receive the definition keyword argument, which is the current state of the definition (:issue:122). Thanks :user:martinlatrille for the PR.

Other changes:

  • [apispec.ext.marshmallow] Backwards-incompatible: Remove dump parameter from schema2parameters, fields2parameters, and field2parameter (:issue:114). Thanks :user:lafrech and :user:frol for the feedback and :user:lafrech for the PR.

0.19.0

+++++++++++++++++++

Features:

  • [apispec.core]: Add extra_fields parameter to APISpec.definition (:issue:110). Thanks :user:lafrech for the PR.
  • [apispec.ext.marshmallow]: Preserve the order of choices (:issue:113). Thanks :user:frol for the PR.

Bug fixes:

  • [apispec.ext.marshmallow]: 'discriminator' is no longer valid as field metadata. It should be defined by passing extra_fields={'discriminator': '...'} to APISpec.definition. Thanks for reporting, :user:lafrech.
  • [apispec.ext.marshmallow]: Allow additional properties when translating Nested fields using allOf (:issue:108). Thanks :user:lafrech for the suggestion and the PR.
  • [apispec.ext.marshmallow]: Respect dump_only and load_only specified in class Meta (:issue:84). Thanks :user:lafrech for the fix.

Other changes:

  • Drop support for Python 3.3.

0.18.0

+++++++++++++++++++

Features:

  • [apispec.ext.marshmallow]: Translate allow_none on Fields to x-nullable (:issue:66). Thanks :user:lafrech.

0.17.4

+++++++++++++++++++

Bug fixes:

  • [apispec.ext.marshmallow]: Fix corruption of Schema._declared_fields when serializing an APISpec (:issue:107). Thanks :user:serebrov for the catch and patch.

0.17.3

+++++++++++++++++++

Bug fixes:

  • [apispec.ext.marshmallow]: Fix behavior when passing Schema instances to APISpec.definition. The Schema's class will correctly be registered as a an available ref (:issue:84). Thanks :user:lafrech for reporting and for the PR.

0.17.2

+++++++++++++++++++

Bug fixes:

  • [apispec.ext.tornado]: Remove usage of inspect.getargspec for Python >= 3.3 (:issue:102). Thanks :user:matijabesednik.

0.17.1

+++++++++++++++++++

Bug fixes:

  • [apispec.ext.marshmallow]: Prevent unnecessary warning when generating specs for marshmallow Schema's with autogenerated fields (:issue:95). Thanks :user:khorolets reporting and for the PR.
  • [apispec.ext.marshmallow]: Correctly translate Length validator to minItems and maxItems for array-type fields (Nested and List) (:issue:97). Thanks :user:YuriHeupa for reporting and for the PR.

0.17.0

+++++++++++++++++++

Features:

  • [apispec.ext.marshmallow]: Add support for properties that start with x-. Thanks :user:martinlatrille for the PR.

0.16.0

+++++++++++++++++++

Features:

  • [apispec.core]: Allow description to be passed to APISpec.definition (:issue:93). Thanks :user:martinlatrille.

0.15.0

+++++++++++++++++++

Features:

  • [apispec.ext.marshmallow]: Allow 'query' to be passed as a field location (:issue:89). Thanks :user:lafrech.

Bug fixes:

  • [apispec.ext.flask]: Properly strip off basePath when APPLICATION_ROOT is set on a Flask app's config (:issue:78). Thanks :user:deckar01 for reporting and :user:asteinlein for the PR.

Flask 0.10.1 -> 0.12.2

0.12.2


Released on May 16 2017

  • Fix a bug in safe_join on Windows.

0.12.1


Bugfix release, released on March 31st 2017

  • Prevent flask run from showing a NoAppException when an ImportError occurs
    within the imported application module.
  • Fix encoding behavior of app.config.from_pyfile for Python 3. Fix
    2118.
  • Use the SERVER_NAME config if it is present as default values for
    app.run. 2109, 2152
  • Call ctx.auto_pop with the exception object instead of None, in the
    event that a BaseException such as KeyboardInterrupt is raised in a
    request handler.

0.12


Released on December 21st 2016, codename Punsch.

  • the cli command now responds to --version.
  • Mimetype guessing and ETag generation for file-like objects in send_file
    has been removed, as per issue 104. See pull request 1849.
  • Mimetype guessing in send_file now fails loudly and doesn't fall back to
    application/octet-stream. See pull request 1988.
  • Make flask.safe_join able to join multiple paths like os.path.join
    (pull request 1730).
  • Revert a behavior change that made the dev server crash instead of returning
    a Internal Server Error (pull request 2006).
  • Correctly invoke response handlers for both regular request dispatching as
    well as error handlers.
  • Disable logger propagation by default for the app logger.
  • Add support for range requests in send_file.
  • app.test_client includes preset default environment, which can now be
    directly set, instead of per client.get.

0.11.2


Bugfix release, unreleased

  • Fix crash when running under PyPy3, see pull request 1814.

0.11.1


Bugfix release, released on June 7th 2016.

  • Fixed a bug that prevented FLASK_APP=foobar/__init__.py from working. See
    pull request 1872.

0.11


Released on May 29th 2016, codename Absinthe.

  • Added support to serializing top-level arrays to :func:flask.jsonify. This
    introduces a security risk in ancient browsers. See
    :ref:json-security for details.
  • Added before_render_template signal.
  • Added **kwargs to :meth:flask.Test.test_client to support passing
    additional keyword arguments to the constructor of
    :attr:flask.Flask.test_client_class.
  • Added SESSION_REFRESH_EACH_REQUEST config key that controls the
    set-cookie behavior. If set to True a permanent session will be
    refreshed each request and get their lifetime extended, if set to
    False it will only be modified if the session actually modifies.
    Non permanent sessions are not affected by this and will always
    expire if the browser window closes.
  • Made Flask support custom JSON mimetypes for incoming data.
  • Added support for returning tuples in the form (response, headers)
    from a view function.
  • Added :meth:flask.Config.from_json.
  • Added :attr:flask.Flask.config_class.
  • Added :meth:flask.Config.get_namespace.
  • Templates are no longer automatically reloaded outside of debug mode. This
    can be configured with the new TEMPLATES_AUTO_RELOAD config key.
  • Added a workaround for a limitation in Python 3.3's namespace loader.
  • Added support for explicit root paths when using Python 3.3's namespace
    packages.
  • Added :command:flask and the flask.cli module to start the local
    debug server through the click CLI system. This is recommended over the old
    flask.run() method as it works faster and more reliable due to a
    different design and also replaces Flask-Script.
  • Error handlers that match specific classes are now checked first,
    thereby allowing catching exceptions that are subclasses of HTTP
    exceptions (in werkzeug.exceptions). This makes it possible
    for an extension author to create exceptions that will by default
    result in the HTTP error of their choosing, but may be caught with
    a custom error handler if desired.
  • Added :meth:flask.Config.from_mapping.
  • Flask will now log by default even if debug is disabled. The log format is
    now hardcoded but the default log handling can be disabled through the
    LOGGER_HANDLER_POLICY configuration key.
  • Removed deprecated module functionality.
  • Added the EXPLAIN_TEMPLATE_LOADING config flag which when enabled will
    instruct Flask to explain how it locates templates. This should help
    users debug when the wrong templates are loaded.
  • Enforce blueprint handling in the order they were registered for template
    loading.
  • Ported test suite to py.test.
  • Deprecated request.json in favour of request.get_json().
  • Add "pretty" and "compressed" separators definitions in jsonify() method.
    Reduces JSON response size when JSONIFY_PRETTYPRINT_REGULAR=False by removing
    unnecessary white space included by default after separators.
  • JSON responses are now terminated with a newline character, because it is a
    convention that UNIX text files end with a newline and some clients don't
    deal well when this newline is missing. See
    Add JSONIFY_END_WITH_NEWLINE config variable pallets/flask#1262 -- this came up originally as a
    part of https://github.com/kennethreitz/httpbin/issues/168
  • The automatically provided OPTIONS method is now correctly disabled if
    the user registered an overriding rule with the lowercase-version
    options (issue 1288).
  • flask.json.jsonify now supports the datetime.date type (pull request
    1326).
  • Don't leak exception info of already catched exceptions to context teardown
    handlers (pull request 1393).
  • Allow custom Jinja environment subclasses (pull request 1422).
  • flask.g now has pop() and setdefault methods.
  • Turn on autoescape for flask.templating.render_template_string by default
    (pull request 1515).
  • flask.ext is now deprecated (pull request 1484).
  • send_from_directory now raises BadRequest if the filename is invalid on
    the server OS (pull request 1763).
  • Added the JSONIFY_MIMETYPE configuration variable (pull request 1728).
  • Exceptions during teardown handling will no longer leave bad application
    contexts lingering around.

0.10.2


(bugfix release, release date to be announced)

  • Fixed broken test_appcontext_signals() test case.
  • Raise an :exc:AttributeError in :func:flask.helpers.find_package with a
    useful message explaining why it is raised when a PEP 302 import hook is used
    without an is_package() method.
  • Fixed an issue causing exceptions raised before entering a request or app
    context to be passed to teardown handlers.
  • Fixed an issue with query parameters getting removed from requests in
    the test client when absolute URLs were requested.
  • Made before_first_request into a decorator as intended.
  • Fixed an etags bug when sending a file streams with a name.
  • Fixed send_from_directory not expanding to the application root path
    correctly.
  • Changed logic of before first request handlers to flip the flag after
    invoking. This will allow some uses that are potentially dangerous but
    should probably be permitted.
  • Fixed Python 3 bug when a handler from app.url_build_error_handlers
    reraises the BuildError.

Flask-Migrate 1.3.1 -> 2.0.4

2.0.4

  • Support -x arguments in "migrate" command (148)

2.0.3

  • Support multiple -x arguments in the Flask-Script interface (103)

2.0.2

  • Support passing alembic context kwargs from constructor into init_app (138)

2.0.1

  • Fix flake8 warnings in Alembic templates (136)

2.0.0

  • Added Travis CI builds for Python 3.5
  • Support for the new Flask CLI based on Click

1.8.1

  • Allow to init_app to work correctly when db is given in constructor (118)

1.8.0

  • Allow db to be given in constructor, while app is given later in init_app
  • Added missing Python 2 classifiers in setup script
  • Various documentation updates

1.7.0

  • Added migrate.configure decorator to register configuration callbacks
  • Documentation updates

1.6.0

  • Added support for Alembic's edit command
  • Allow migration directory to be given in constructor and not in init_app

1.5.1

  • Do not generate a migration if no schema changes are found
  • Merge command now supports multiple arguments

1.5.0

  • Support for multiple databases
  • Added support for Alembic's -x option
  • Added sane default for db downgrade --sql command

1.4.0

  • Any kwargs given to the Migrate constructor or init_app method are passed to Alembic as additional configuration

Flask-SQLAlchemy 2.0 -> 2.2

2.2


Released on February 27, 2017, codename Dubnium

  • Minimum SQLAlchemy version is 0.8 due to use of sqlalchemy.inspect.
  • Added support for custom query_class and model_class as args
    to the SQLAlchemy constructor. (328_)
  • Allow listening to SQLAlchemy events on db.session. (364_)
  • Allow __bind_key__ on abstract models. (373_)
  • Allow SQLALCHEMY_ECHO to be a string. (409_)
  • Warn when SQLALCHEMY_DATABASE_URI is not set. (443_)
  • Don't let pagination generate invalid page numbers. (460_)
  • Drop support of Flask < 0.10. This means the db session is always tied to
    the app context and its teardown event. (461_)
  • Tablename generation logic no longer accesses class properties unless they
    are declared_attr. (467_)

.. _328: pallets-eco/flask-sqlalchemy#328
.. _364: pallets-eco/flask-sqlalchemy#364
.. _373: pallets-eco/flask-sqlalchemy#373
.. _409: pallets-eco/flask-sqlalchemy#409
.. _443: pallets-eco/flask-sqlalchemy#443
.. _460: pallets-eco/flask-sqlalchemy#460
.. _461: pallets-eco/flask-sqlalchemy#461
.. _467: pallets-eco/flask-sqlalchemy#467

2.1


Released on October 23rd 2015, codename Caesium

  • Table names are automatically generated in more cases, including
    subclassing mixins and abstract models.
  • Allow using a custom MetaData object.
  • Add support for binds parameter to session.

psycopg2 2.6.2 -> 2.7.1

2.7.1

^^^^^^^^^^^^^^^^^^^^^^^^^^^

  • Ignore !None arguments passed to ~psycopg2.connect() and
    ~psycopg2.extensions.make_dsn() (:ticket:517).
  • OpenSSL upgraded from major version 0.9.8 to 1.0.2 in the Linux wheel
    packages (:ticket:518).
  • Fixed build with libpq versions < 9.3 (:ticket:520).

2.7


New features:

  • Added ~psycopg2.sql module to generate SQL dynamically (:ticket:308).
  • Added :ref:replication-support (:ticket:322). Main authors are
    Oleksandr Shulgin and Craig Ringer, who deserve a huge thank you.
  • Added ~psycopg2.extensions.parse_dsn() and
    ~psycopg2.extensions.make_dsn() functions (:tickets:321, 363).
    ~psycopg2.connect() now can take both dsn and keyword arguments, merging
    them together.
  • Added ~psycopg2.__libpq_version__ and
    ~psycopg2.extensions.libpq_version() to inspect the version of the
    libpq library the module was compiled/loaded with
    (:tickets:35, 323).
  • The attributes ~connection.notices and ~connection.notifies can be
    customized replacing them with any object exposing an !append() method
    (:ticket:326).
  • Adapt network types to ipaddress objects when available. When not
    enabled, convert arrays of network types to lists by default. The old !Inet
    adapter is deprecated (:tickets:317, 343, 387).
  • Added ~psycopg2.extensions.quote_ident() function (:ticket:359).
  • Added ~connection.get_dsn_parameters() connection method (:ticket:364).
  • ~cursor.callproc() now accepts a dictionary of parameters (:ticket:381).
  • Give precedence to !__conform__() over superclasses to choose an object
    adapter (:ticket:456).
  • Using Python C API decoding functions and codecs caching for faster
    unicode encoding/decoding (:ticket:473).
  • ~cursor.executemany() slowness addressed by
    ~psycopg2.extras.execute_batch() and ~psycopg2.extras.execute_values()
    (:ticket:491).
  • Added async_ as an alias for async to support Python 3.7 where
    async will become a keyword (:ticket:495).
  • Unless in autocommit, do not use :sql:default_transaction_* settings to
    control the session characteristics as it may create problems with external
    connection pools such as pgbouncer; use :sql:BEGIN options instead
    (:ticket:503).
  • ~connection.isolation_level is now writable and entirely separated from
    ~connection.autocommit; added ~connection.readonly,
    ~connection.deferrable writable attributes.

Bug fixes:

  • Fixed error caused by missing decoding ~psycopg2.extras.LoggingConnection
    (:ticket:483).
  • Fixed integer overflow in :sql:interval seconds (:ticket:512).

Other changes:

  • Dropped support for Python 2.5 and 3.1.
  • Dropped support for client library older than PostgreSQL 9.1 (but older
    server versions are still supported).
  • ~connection.isolation_level doesn't read from the database but will return
    ~psycopg2.extensions.ISOLATION_LEVEL_DEFAULT if no value was set on the
    connection.
  • Empty arrays no more converted into lists if they don't have a type attached
    (:ticket:506)

2.6.3

^^^^^^^^^^^^^^^^^^^^^^^^^^^

  • Throw an exception trying to pass NULL chars as parameters
    (:ticket:420).
  • Make ~psycopg2.extras.Range objects picklable (:ticket:462).

SQLAlchemy 1.0.15 -> 1.1.11

1.1.11

:released: Monday, June 19, 2017

.. change:: 4012
:tags: bug, sql
🎟️ 4012
:versions: 1.2.0b1

   Fixed AttributeError which would occur in :class:`.WithinGroup`
   construct during an iteration of the structure.

.. change:: 4011
:tags: bug, orm
🎟️ 4011
:versions: 1.2.0b1

   Fixed issue with subquery eagerloading which continues on from
   the series of issues fixed in :ticket:`2699`, :ticket:`3106`,
   :ticket:`3893` involving that the &quot;subquery&quot; contains the correct
   FROM clause when beginning from a joined inheritance subclass
   and then subquery eager loading onto a relationship from
   the base class, while the query also includes criteria against
   the subclass. The fix in the previous tickets did not accommodate
   for additional subqueryload operations loading more deeply from
   the first level, so the fix has been further generalized.

.. change:: 4005
:tags: bug, postgresql
🎟️ 4005
:versions: 1.2.0b1

   Continuing with the fix that correctly handles Postgresql
   version string &quot;10devel&quot; released in 1.1.8, an additional regexp
   bump to handle version strings of the form &quot;10beta1&quot;.   While
   Postgresql now offers better ways to get this information, we
   are sticking w/ the regexp at least through 1.1.x for the least
   amount of risk to compatibility w/ older or alternate Postgresql
   databases.

.. change:: 4006
:tags: bug, postgresql
🎟️ 4006
:versions: 1.2.0b1

   Fixed bug where using :class:`.ARRAY` with a string type that
   features a collation would fail to produce the correct syntax
   within CREATE TABLE.

.. change:: 4007
:tags: bug, mysql
🎟️ 4007
:versions: 1.2.0b1

   MySQL 5.7 has introduced permission limiting for the &quot;SHOW VARIABLES&quot;
   command; the MySQL dialect will now handle when SHOW returns no
   row, in particular for the initial fetch of SQL_MODE, and will
   emit a warning that user permissions should be modified to allow the
   row to be present.

.. change:: 3994
:tags: bug, mssql
🎟️ 3994
:versions: 1.2.0b1

   Fixed bug where SQL Server transaction isolation must be fetched
   from a different view when using Azure data warehouse, the query
   is now attempted against both views and then a NotImplemented
   is raised unconditionally if failure continues to provide the
   best resiliency against future arbitrary API changes in new
   SQL Server versions.

.. change:: 3997
:tags: bug, oracle
🎟️ 3997
:versions: 1.2.0b1

   Support for two-phase transactions has been removed entirely for
   cx_Oracle when version 6.0b1 or later of the DBAPI is in use.  The two-
   phase feature historically has never been usable under cx_Oracle 5.x in
   any case, and cx_Oracle 6.x has removed the connection-level &quot;twophase&quot;
   flag upon which this feature relied.

.. change:: 3973
:tags: bug, mssql
🎟️ 3973
:versions: 1.2.0b1

   Added a placeholder type :class:`.mssql.XML` to the SQL Server
   dialect, so that a reflected table which includes this type can
   be re-rendered as a CREATE TABLE.  The type has no special round-trip
   behavior nor does it currently support additional qualifying
   arguments.

.. changelog::

1.1.10

:released: Friday, May 19, 2017

.. change:: 3986
:tags: bug, orm
:versions: 1.2.0b1
🎟️ 3986

   Fixed bug where a cascade such as &quot;delete-orphan&quot; (but others as well)
   would fail to locate an object linked to a relationship that itself
   is local to a subclass in an inheritance relationship, thus causing
   the operation to not take place.

.. change:: 3975
:tags: bug, oracle
:versions: 1.2.0b1
🎟️ 3975

   Fixed bug in cx_Oracle dialect where version string parsing would
   fail for cx_Oracle version 6.0b1 due to the &quot;b&quot; character.  Version
   string parsing is now via a regexp rather than a simple split.

.. change:: 3949
:tags: bug, schema
:versions: 1.2.0b1
🎟️ 3949

   An :class:`.ArgumentError` is now raised if a
   :class:`.ForeignKeyConstraint` object is created with a mismatched
   number of &quot;local&quot; and &quot;remote&quot; columns, which otherwise causes the
   internal state of the constraint to be incorrect.   Note that this
   also impacts the condition where a dialect&#39;s reflection process
   produces a mismatched set of columns for a foreign key constraint.

.. change:: 3980
:tags: bug, ext
:versions: 1.2.0b1
🎟️ 3980

   Protected against testing &quot;None&quot; as a class in the case where
   declarative classes are being garbage collected and new
   automap prepare() operations are taking place concurrently, very
   infrequently hitting a weakref that has not been fully acted upon
   after gc.

.. change::
:tags: bug, postgresql
:versions: 1.2.0b1

   Added &quot;autocommit&quot; support for GRANT, REVOKE keywords.  Pull request
   courtesy Jacob Hayes.

.. change:: 3966
:tags: bug, mysql
:versions: 1.2.0b1
🎟️ 3966

   Removed an ancient and unnecessary intercept of the UTC_TIMESTAMP
   MySQL function, which was getting in the way of using it with a
   parameter.

.. change:: 3961
:tags: bug, mysql
:versions: 1.2.0b1
🎟️ 3961

   Fixed bug in MySQL dialect regarding rendering of table options in
   conjunction with PARTITION options when rendering CREATE TABLE.
   The PARTITION related options need to follow the table options,
   whereas previously this ordering was not enforced.

.. changelog::

1.1.9

:released: April 4, 2017

.. change:: 3956
:tags: bug, ext
🎟️ 3956

   Fixed regression released in 1.1.8 due to :ticket:`3950` where the
   deeper search for information about column types in the case of a
   &quot;schema type&quot; or a :class:`.TypeDecorator` would produce an attribute
   error if the mapping also contained a :obj:`.column_property`.

.. change:: 3952
:tags: bug, sql
:versions: 1.2.0b1
🎟️ 3952

   Fixed regression released in 1.1.5 due to :ticket:`3859` where
   adjustments to the &quot;right-hand-side&quot; evaluation of an expression
   based on :class:`.Variant` to honor the underlying type&#39;s
   &quot;right-hand-side&quot; rules caused the :class:`.Variant` type
   to be inappropriately lost, in those cases when we *do* want the
   left-hand side type to be transferred directly to the right hand side
   so that bind-level rules can be applied to the expression&#39;s argument.

.. change:: 3955
:tags: bug, sql, postgresql
:versions: 1.2.0b1
🎟️ 3955

   Changed the mechanics of :class:`.ResultProxy` to unconditionally
   delay the &quot;autoclose&quot; step until the :class:`.Connection` is done
   with the object; in the case where Postgresql ON CONFLICT with
   RETURNING returns no rows, autoclose was occurring in this previously
   non-existent use case, causing the usual autocommit behavior that
   occurs unconditionally upon INSERT/UPDATE/DELETE to fail.

.. changelog::

1.1.8

:released: March 31, 2017

.. change:: 3950
:tags: bug, ext
:versions: 1.2.0b1
🎟️ 3950

   Fixed bug in :mod:`sqlalchemy.ext.mutable` where the
   :meth:`.Mutable.as_mutable` method would not track a type that had
   been copied using :meth:`.TypeEngine.copy`.  This became more of
   a regression in 1.1 compared to 1.0 because the :class:`.TypeDecorator`
   class is now a subclass of :class:`.SchemaEventTarget`, which among
   other things indicates to the parent :class:`.Column` that the type
   should be copied when the :class:`.Column` is.  These copies are
   common when using declarative with mixins or abstract classes.

.. change::
:tags: bug, ext
:versions: 1.2.0b1

   Added support for bound parameters, e.g. those normally set up
   via :meth:`.Query.params`, to the :meth:`.baked.Result.count`
   method.  Previously, support for parameters were omitted. Pull request
   courtesy Pat Deegan.

.. change::
:tags: bug, postgresql
:versions: 1.2.0b1

   Added support for parsing the Postgresql version string for
   a development version like &quot;PostgreSQL 10devel&quot;.  Pull request
   courtesy Sean McCully.

.. changelog::

1.1.7

:released: March 27, 2017

.. change::
:tags: feature, orm
🎟️ 3933
:versions: 1.2.0b1

   An :func:`.aliased()` construct can now be passed to the
   :meth:`.Query.select_entity_from` method.   Entities will be pulled
   from the selectable represented by the :func:`.aliased` construct.
   This allows special options for :func:`.aliased` such as
   :paramref:`.aliased.adapt_on_names` to be used in conjunction with
   :meth:`.Query.select_entity_from`.

.. change::
:tags: bug, engine
🎟️ 3946
:versions: 1.2.0b1

   Added an exception handler that will warn for the &quot;cause&quot; exception on
   Py2K when the &quot;autorollback&quot; feature of :class:`.Connection` itself
   raises an exception. In Py3K, the two exceptions are naturally reported
   by the interpreter as one occurring during the handling of the other.
   This is continuing with the series of changes for rollback failure
   handling that were last visited as part of :ticket:`2696` in 1.0.12.

.. change::
:tags: bug, orm
🎟️ 3947
:versions: 1.2.0b1

   Fixed a race condition which could occur under threaded environments
   as a result of the caching added via :ticket:`3915`.   An internal
   collection of ``Column`` objects could be regenerated on an alias
   object inappropriately, confusing a joined eager loader when it
   attempts to render SQL and collect results and resulting in an
   attribute error.   The collection is now generated up front before
   the alias object is cached and shared among threads.

.. change::
:tags: bug, sql, postgresql
🎟️ 2892

   Added support for the :class:`.Variant` and the :class:`.SchemaType`
   objects to be compatible with each other.  That is, a variant
   can be created against a type like :class:`.Enum`, and the instructions
   to create constraints and/or database-specific type objects will
   propagate correctly as per the variant&#39;s dialect mapping.

.. change::
:tags: bug, sql
🎟️ 3931

   Fixed bug in compiler where the string identifier of a savepoint would
   be cached in the identifier quoting dictionary; as these identifiers
   are arbitrary, a small memory leak could occur if a single
   :class:`.Connection` had an unbounded number of savepoints used,
   as well as if the savepoint clause constructs were used directly
   with an unbounded umber of savepoint names.   The memory leak does
   **not** impact the vast majority of cases as normally the
   :class:`.Connection`, which renders savepoint names with a simple
   counter starting at &quot;1&quot;, is used on a per-transaction or
   per-fixed-number-of-transactions basis before being discarded.

.. change::
:tags: bug, sql
🎟️ 3924

   Fixed bug in new &quot;schema translate&quot; feature where the translated schema
   name would be invoked in terms of an alias name when rendered along
   with a column expression; occurred only when the source translate
   name was &quot;None&quot;.   The &quot;schema translate&quot; feature now only takes
   effect for :class:`.SchemaItem` and :class:`.SchemaType` subclasses,
   that is, objects that correspond to a DDL-creatable structure in
   a database.

.. changelog::

1.1.6

:released: February 28, 2017

.. change::
:tags: bug, mysql

   Added new MySQL 8.0 reserved words to the MySQL dialect for proper
   quoting.  Pull request courtesy Hanno Schlichting.

.. change:: 3915
:tags: bug, orm
🎟️ 3915

   Addressed some long unattended performance concerns within the joined
   eager loader query construction system that have accumulated since
   earlier versions as a result of increased abstraction. The use of ad-
   hoc :class:`.AliasedClass` objects per query, which produces lots of
   column lookup overhead each time, has been replaced with a cached
   approach that makes use of a small pool of :class:`.AliasedClass`
   objects that are reused between invocations of joined eager loading.
   Some mechanics involving eager join path construction have also been
   optimized.   Callcounts for an end-to-end query construction + single
   row fetch test with a worst-case joined loader scenario have been
   reduced by about 60% vs. 1.1.5 and 42% vs. that of 0.8.6.

.. change:: 3804
:tags: bug, postgresql
🎟️ 3804

   Added regular expressions for the &quot;IMPORT FOREIGN SCHEMA&quot;,
   &quot;REFRESH MATERIALIZED VIEW&quot; Postgresql statements so that they
   autocommit when invoked via a connection or engine without
   an explicit transaction.  Pull requests courtesy Frazer McLean
   and Paweł Stiasny.

.. change:: 3909
:tags: bug, orm
🎟️ 3909

   Fixed a major inefficiency in the &quot;eager_defaults&quot; feature whereby
   an unnecessary SELECT would be emitted for column values where the
   ORM had explicitly inserted NULL, corresponding to attributes that
   were unset on the object but did not have any server default
   specified, as well as expired attributes on update that nevertheless
   had no server onupdate set up.   As these columns are not part of the
   RETURNING that eager_defaults tries to use, they should not be
   post-SELECTed either.

.. change:: 3908
:tags: bug, orm
🎟️ 3908

   Fixed two closely related bugs involving the mapper eager_defaults
   flag in conjunction with single-table inheritance; one where the
   eager defaults logic would inadvertently try to access a column
   that&#39;s part of the mapper&#39;s &quot;exclude_properties&quot; list (used by
   Declarative with single table inheritance) during the eager defaults
   fetch, and the other where the full load of the row in order to
   fetch the defaults would fail to use the correct inheriting mapper.

.. change:: 3905
:tags: bug, sql
🎟️ 3905

   Fixed bug whereby the :meth:`.DDLEvents.column_reflect` event would not
   allow a non-textual expression to be passed as the value of the
   &quot;default&quot; for the new column, such as a :class:`.FetchedValue`
   object to indicate a generic triggered default or a
   :func:`.sql.expression.text` construct.  Clarified the documentation
   in this regard as well.

.. change:: 3901
:tags: bug, ext
🎟️ 3901

   Fixed bug in new :mod:`sqlalchemy.ext.indexable` extension
   where setting of a property that itself refers to another property
   would fail.

.. change:: 3900
:tags: bug, postgresql
🎟️ 3900

   Fixed bug in Postgresql :class:`.ExcludeConstraint` where the
   &quot;whereclause&quot; and &quot;using&quot; parameters would not be copied during an
   operation like :meth:`.Table.tometadata`.

.. change:: 3898
:tags: bug, mssql
🎟️ 3898

   Added a version check to the &quot;get_isolation_level&quot; feature, which is
   invoked upon first connect, so that it skips for SQL Server version
   2000, as the necessary system view is not available prior to SQL Server
   2005.

.. change:: 3897
:tags: feature, ext
🎟️ 3896

   Added :meth:`.baked.Result.scalar` and :meth:`.baked.Result.count`
   to the &quot;baked&quot; query system.

.. change:: 3895
:tags: bug, orm, declarative
🎟️ 3895

   Fixed bug where the &quot;automatic exclude&quot; feature of declarative that
   ensures a column local to a single table inheritance subclass does
   not appear as an attribute on other derivations of the base would
   not take effect for multiple levels of subclassing from the base.

.. change:: 3893
:tags: bug, orm
🎟️ 3893

   Fixed bug first introduced in 0.9.7 as a result of :ticket:`3106`
   which would cause an incorrect query in some forms of multi-level
   subqueryload against aliased entities, with an unnecessary extra
   FROM entity in the innermost subquery.

.. changelog::

1.1.5

:released: January 17, 2017

.. change:: mysql_index_prefix
:tags: feature, mysql

   Added a new parameter ``mysql_prefix`` supported by the :class:`.Index`
   construct, allows specification of MySQL-specific prefixes such as
   &quot;FULLTEXT&quot;. Pull request courtesy Joseph Schorr.

.. change:: 3854
:tags: bug, orm
🎟️ 3854

   Fixed bug in subquery loading where an object encountered as an
   &quot;existing&quot; row, e.g. already loaded from a different path in the
   same query, would not invoke subquery loaders for unloaded attributes
   that specified this loading.  This issue is in the same area
   as that of :ticket:`3431`, :ticket:`3811` which involved
   similar issues with joined loading.

.. change:: 3888
:tags: bug, postgresql
🎟️ 3888

   Fixed bug in new &quot;ON CONFLICT DO UPDATE&quot; feature where the &quot;set&quot;
   values for the UPDATE clause would not be subject to type-level
   processing, as normally takes effect to handle both user-defined
   type level conversions as well as dialect-required conversions, such
   as those required for JSON datatypes.   Additionally, clarified that
   the keys in the set_ dictionary should match the &quot;key&quot; of the column,
   if distinct from the column name.  A warning is emitted
   for remaining column names that don&#39;t match column keys; for
   compatibility reasons, these are emitted as they were previously.

.. change:: 3872
:tags: bug, examples
🎟️ 3872

   Fixed two issues with the versioned_history example, one is that
   the history table now gets autoincrement=False to avoid 1.1&#39;s new
   errors regarding composite primary keys with autoincrement; the other
   is that the sqlite_autoincrement flag is now used to ensure on SQLite,
   unique identifiers are used for the lifespan of a table even if
   some rows are deleted.  Pull request courtesy Carlos García Montoro.

.. change:: 3882
:tags: bug, sql
:tikets: 3882

   Fixed bug originally introduced in 0.9 via :ticket:`1068` where
   order_by(&lt;some Label()&gt;) would order by the label name based on name
   alone, that is, even if the labeled expression were not at all the same
   expression otherwise present, implicitly or explicitly, in the
   selectable.  The logic that orders by label now ensures that the
   labeled expression is related to the one that resolves to that name
   before ordering by the label name; additionally, the name has to
   resolve to an actual label explicit in the expression elsewhere, not
   just a column name.  This logic is carefully kept separate from the
   order by(textual name) feature that has a slightly different purpose.

.. change:: try_finally_for_noautoflush
:tags: bug, orm

   The :attr:`.Session.no_autoflush` context manager now ensures that
   the autoflush flag is reset within a &quot;finally&quot; block, so that if
   an exception is raised within the block, the state still resets
   appropriately.  Pull request courtesy Emin Arakelian.

.. change:: 3878
:tags: bug, sql
🎟️ 3878

   Fixed 1.1 regression where &quot;import *&quot; would not work for
   sqlalchemy.sql.expression, due to mis-spelled &quot;any_&quot; and &quot;all_&quot;
   functions.

.. change:: 3880
:tags: bg, sql
🎟️ 3880

   Fixed bug where literal_binds compiler flag was not honored by the
   :class:`.Insert` construct for the &quot;multiple values&quot; feature; the
   subsequent values are now rendered as literals.

.. change:: 3877
:tags: bug, oracle, postgresql
🎟️ 3877

   Fixed bug where an INSERT from SELECT where the source table contains
   an autoincrementing Sequence would fail to compile correctly.

.. change:: 3876
:tags: bug, mssql
🎟️ 3876

   Fixed bug where SQL Server dialects would attempt to select the
   last row identity for an INSERT from SELECT, failing in the case when
   the SELECT has no rows.  For such a statement,
   the inline flag is set to True indicating no last primary key
   should be fetched.

.. change:: 3875
:tags: bug, oracle
🎟️ 3875

   Fixed bug where the &quot;COMPRESSION&quot; keyword was used in the ALL_TABLES
   query on Oracle 9.2; even though Oracle docs state table compression
   was introduced in 9i, the actual column is not present until
   10.1.

.. change:: 3874
:tags: bug, orm
🎟️ 3874

   Fixed bug where the single-table inheritance query criteria would not
   be inserted into the query in the case that the :class:`.Bundle`
   construct were used as the selection criteria.

.. change:: repr_for_url_reflect
:tags: bug, sql

   The engine URL embedded in the exception for &quot;could not reflect&quot;
   in :meth:`.MetaData.reflect` now conceals the password; also
   the ``__repr__`` for :class:`.TLEngine` now acts like that of
   :class:`.Engine`, concealing the URL password.  Pull request courtesy
   Valery Yundin.

.. change:: 3867
:tags: bug, mysql
🎟️ 3867

   The MySQL dialect now will not warn when a reflected column has a
   &quot;COMMENT&quot; keyword on it, but note however the comment is not yet
   reflected; this is on the roadmap for a future release.  Pull request
   courtesy Lele Long.

.. change:: pg_timestamp_zero_prec
:tags: bug, postgresql

   The :class:`.postgresql.TIME` and :class:`.postgresql.TIMESTAMP`
   datatypes now support a setting of zero for &quot;precision&quot;; previously
   a zero would be ignored.  Pull request courtesy Ionuț Ciocîrlan.

.. change:: 3861
:tags: bug, engine
🎟️ 3861

   The &quot;extend_existing&quot; option of :class:`.Table` reflection would
   cause indexes and constraints to be doubled up in the case that the parameter
   were used with :meth:`.MetaData.reflect` (as the automap extension does)
   due to tables being reflected both within the foreign key path as well
   as directly.  A new de-duplicating set is passed through within the
   :meth:`.MetaData.reflect` sequence to prevent double reflection in this
   way.

.. change:: 3859
:tags: bug, sql
🎟️ 3859

   Fixed issue in :class:`.Variant` where the &quot;right hand coercion&quot; logic,
   inherited from :class:`.TypeDecorator`, would
   coerce the right-hand side into the :class:`.Variant` itself, rather than
   what the default type for the :class:`.Variant` would do.   In the
   case of :class:`.Variant`, we want the type to act mostly like the base
   type so the default logic of :class:`.TypeDecorator` is now overridden
   to fall back to the underlying wrapped type&#39;s logic.   Is mostly relevant
   for JSON at the moment.

.. change:: 3856
:tags: bug, orm
🎟️ 3856

   Fixed bug related to :ticket:`3177`, where a UNION or other set operation
   emitted by a :class:`.Query` would apply &quot;single-inheritance&quot; criteria
   to the outside of the union (also referencing the wrong selectable),
   even though this criteria is now expected to
   be already present on the inside subqueries.  The single-inheritance
   criteria is now omitted once union() or another set operation is
   called against :class:`.Query` in the same way as :meth:`.Query.from_self`.

.. change:: 3548
:tags: bug, firebird
🎟️ 3548

   Ported the fix for Oracle quoted-lowercase names to Firebird, so that
   a table name that is quoted as lower case can be reflected properly
   including when the table name comes from the get_table_names()
   inspection function.

.. changelog::

1.1.4

:released: November 15, 2016

.. change:: 3842
:tags: bug, sql
🎟️ 3842

   Fixed bug where newly added warning for primary key on insert w/o
   autoincrement setting (see :ref:`change_3216`) would fail to emit
   correctly when invoked upon a lower-case :func:`.table` construct.

.. change:: 3852
:tags: bug, orm
🎟️ 3852

   Fixed regression in collections due to :ticket:`3457` whereby
   deserialize during pickle or deepcopy would fail to establish all
   attributes of an ORM collection, causing further mutation operations to
   fail.

.. change:: default_schema
:tags: bug, engine

   Removed long-broken &quot;default_schema_name()&quot; method from
   :class:`.Connection`.  This method was left over from a very old
   version and was non-working (e.g. would raise).  Pull request
   courtesy Benjamin Dopplinger.

.. change:: pragma
:tags: bug, sqlite

   Added quotes to the PRAGMA directives in the pysqlcipher dialect
   to support additional cipher arguments appropriately.  Pull request
   courtesy Kevin Jurczyk.

.. change:: 3846
:tags: bug, postgresql
🎟️ 3846, 3807

   Fixed regression caused by the fix in :ticket:`3807` (version 1.1.0)
   where we ensured that the tablename was qualified in the WHERE clause
   of the DO UPDATE portion of PostgreSQL&#39;s ON CONFLICT, however you
   *cannot* put the table name in the  WHERE clause in the actual ON
   CONFLICT itself.   This was an incorrect assumption, so that portion
   of the change in :ticket:`3807` is rolled back.

.. change:: 3845
:tags: bug, orm
🎟️ 3845

   Fixed long-standing bug where the &quot;noload&quot; relationship loading
   strategy would cause backrefs and/or back_populates options to be
   ignored.

.. change:: sscursor_mysql
:tags: feature, mysql

   Added support for server side cursors to the mysqlclient and
   pymysql dialects.   This feature is available via the
   :paramref:`.Connection.execution_options.stream_results` flag as well
   as the ``server_side_cursors=True`` dialect argument in the
   same way that it has been for psycopg2 on Postgresql.  Pull request
   courtesy Roman Podoliaka.

.. change::
:tags: bug, mysql
🎟️ 3841

   MySQL&#39;s native ENUM type supports any non-valid value being sent, and
   in response will return a blank string.  A hardcoded rule to check for
   &quot;is returning the blank string&quot; has been added to the  MySQL
   implementation for ENUM so that this blank string is returned to the
   application rather than being rejected as a non-valid value.  Note that
   if your MySQL enum is linking values to objects, you still get the
   blank string back.

.. change::
:tags: bug, sqlite, py3k

   Added an optional import for the pysqlcipher3 DBAPI when using the
   pysqlcipher dialect.  This package will attempt to be imported
   if the Python-2 only pysqlcipher DBAPI is non-present.
   Pull request courtesy Kevin Jurczyk.

.. changelog::

1.1.3

:released: October 27, 2016

.. change::
:tags: bug, orm
🎟️ 3839

   Fixed regression caused by :ticket:`2677` whereby calling
   :meth:`.Session.delete` on an object that was already flushed as
   deleted in that session would fail to set up the object in the
   identity map (or reject the object), causing flush errors as the
   object were in a state not accommodated by the unit of work.
   The pre-1.1 behavior in this case has been restored, which is that
   the object is put back into the identity map so that the DELETE
   statement will be attempted again, which emits a warning that the number
   of expected rows was not matched (unless the row were restored outside
   of the session).

.. change::
:tags: bug, postgresql
🎟️ 3835

   Postgresql table reflection will ensure that the
   :paramref:`.Column.autoincrement` flag is set to False when reflecting
   a primary key column that is not of an :class:`.Integer` datatype,
   even if the default is related to an integer-generating sequence.
   This can happen if a column is created as SERIAL and the datatype
   is changed.  The autoincrement flag can only be True if the datatype
   is of integer affinity in the 1.1 series.

.. change::
:tags: bug, orm
🎟️ 3836

   Fixed regression where some :class:`.Query` methods like
   :meth:`.Query.update` and others would fail if the :class:`.Query`
   were against a series of mapped columns, rather than the mapped
   entity as a whole.

.. change::
:tags: bug, sql
🎟️ 3833

   Fixed bug involving new value translation and validation feature
   in :class:`.Enum` whereby using the enum object in a string
   concatenation would maintain the :class:`.Enum` type as the type
   of the expression overall, producing missing lookups.  A string
   concatenation against an :class:`.Enum`-typed column now uses
   :class:`.String` as the datatype of the expression itself.

.. change::
:tags: bug, sql
🎟️ 3832

   Fixed regression which occurred as a side effect of :ticket:`2919`,
   which in the less typical case of a user-defined
   :class:`.TypeDecorator` that was also itself an instance of
   :class:`.SchemaType` (rather than the implementation being such)
   would cause the column attachment events to be skipped for the
   type itself.

.. changelog::

1.1.2

:released: October 17, 2016

.. change::
:tags: bug, sql
🎟️ 3823

   Fixed a regression caused by a newly added function that performs the
   &quot;wrap callable&quot; function of sql :class:`.DefaultGenerator` objects,
   an attribute error raised for ``__module__`` when the default callable
   was a ``functools.partial`` or other object that doesn&#39;t have a
   ``__module__`` attribute.

.. change::
:tags: bug, orm
🎟️ 3824

   Fixed bug involving the rule to disable a joined collection eager
   loader on the other side of a many-to-one lazy loader, first added
   in :ticket:`1495`, where the rule would fail if the parent object
   had some other lazyloader-bound query options associated with it.

.. change::
:tags: bug, orm
🎟️ 3822

   Fixed self-referential entity, deferred column loading issue in a
   similar style as that of :ticket:`3431`, :ticket:`3811` where an entity
   is present in multiple positions within the row due to self-referential
   eager loading; when the deferred loader only applies to one of the
   paths, the &quot;present&quot; column loader will now override the deferred non-
   load for that entity regardless of row ordering.

.. change::
:tags: bug, sql, postgresql
🎟️ 3827

   Fixed regression in :class:`.Enum` type where event handlers were not
   transferred in the case of the type object being copied, due to a
   conflicting copy() method added as part of :ticket:`3250`.  This copy
   occurs normally in situations when the column is copied, such as
   in tometadata() or when using declarative mixins with columns.  The
   event handler not being present would impact the constraint being
   created for a non-native enumerated type, but more critically the
   ENUM object on the PostgreSQL backend.

.. change::
:tags: bug, postgresql, sql
🎟️ 3828

   Changed the naming convention used when generating bound parameters
   for a multi-VALUES insert statement, so that the numbered parameter
   names don&#39;t conflict with the anonymized parameters of a WHERE clause,
   as is now common in a PostgreSQL ON CONFLICT construct.

.. changelog::

1.1.1

:released: October 7, 2016

.. change::
:tags: bug, mssql
🎟️ 3820

   The &quot;SELECT SERVERPROPERTY&quot;
   query added in :ticket:`3810` and :ticket:`3814` is failing on unknown
   combinations of Pyodbc and SQL Server.  While failure of this function
   was anticipated, the exception catch was not broad enough so it now
   catches all forms of pyodbc.Error.

.. change::
:tags: bug, core
🎟️ 3216

   Changed the CompileError raised when various primary key missing
   situations are detected to a warning.  The statement is again
   passed to the database where it will fail and the DBAPI error (usually
   IntegrityError) raises as usual.
   .. seealso::
       :ref:`change_3216`

.. changelog::

1.1.0

:released: October 5, 2016

.. change::
:tags: bug, sql
🎟️ 3805

   Execution options can now be propagated from within a
   statement at compile time to the outermost statement, so that
   if an embedded element wants to set &quot;autocommit&quot; to be True for example,
   it can propagate this to the enclosing statement.  Currently, this
   feature is enabled for a DML-oriented CTE embedded inside of a SELECT
   statement, e.g. INSERT/UPDATE/DELETE inside of SELECT.

.. change::
:tags: bug, orm
🎟️ 3802

   ORM attributes can now be assigned any object that is has a
   ``__clause_element__()`` attribute, which will result in inline
   SQL the way any :class:`.ClauseElement` class does.  This covers other
   mapped attributes not otherwise transformed by further expression
   constructs.

.. change::
:tags: feature, orm
🎟️ 3812

   Enhanced the new &quot;raise&quot; lazy loader strategy to also include a
   &quot;raise_on_sql&quot; variant, available both via :paramref:`.orm.relationship.lazy`
   as well as :func:`.orm.raiseload`.   This variant only raises if the
   lazy load would actually emit SQL, vs. raising if the lazy loader
   mechanism is invoked at all.

.. change::
:tags: bug, postgresql
🎟️ 3813

   An adjustment to ON CONFLICT such that the &quot;inserted_primary_key&quot;
   logic is able to accommodate the case where there&#39;s no INSERT or
   UPDATE and there&#39;s no net change.  The value comes out as None
   in this case, rather than failing on an exception.

.. change::
:tags: bug, orm
🎟️ 3811

   Made an adjustment to the bug fix first introduced in [ticket:3431]
   that involves an object appearing in multiple contexts in a single
   result set, such that an eager loader that would set the related
   object value to be None will still fire off, thus satisfying the
   load of that attribute.  Previously, the adjustment only honored
   a non-None value arriving for an eagerly loaded attribute in a
   secondary row.

.. change::
:tags: bug, orm
🎟️ 3808

   Fixed bug in new :meth:`.SessionEvents.persistent_to_deleted` event

@ghost
Copy link

ghost commented Jul 7, 2017

Can one of the admins verify this patch?

1 similar comment
@ghost
Copy link

ghost commented Jul 7, 2017

Can one of the admins verify this patch?

@leohemsted
Copy link
Contributor

why doesn't jenkins pick this up 😭

@leohemsted
Copy link
Contributor

leohemsted commented Jul 10, 2017

although @quis this'll never work anyway because it's got the breaking celery change

breaking changes:

flex
celery
flask-migrate

@leohemsted leohemsted deleted the pyup-initial-update branch August 22, 2017 15:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants