Changelog
### 2.4.3
```
-------------
Released 2020-05-26
- Deprecate ``SQLALCHEMY_COMMIT_ON_TEARDOWN`` as it can cause various
design issues that are difficult to debug. Call
``db.session.commit()`` directly instead. :issue:`216`
```
### 2.4.2
```
-------------
Released 2020-05-25
- Fix bad pagination when records are de-duped. :pr:`812`
```
Links
- PyPI: https://pypi.org/project/flask-sqlalchemy
- Changelog: https://pyup.io/changelogs/flask-sqlalchemy/
- Repo: https://github.com/pallets/flask-sqlalchemy
- Docs: https://pythonhosted.org/Flask-SQLAlchemy/
Changelog
### 1.1.3
```
:released: Fri May 29 2020
.. change::
:tags: bug, templates
:tickets: 267
The default template encoding is now utf-8. Previously, the encoding was
"ascii", which was standard throughout Python 2. This allows that
"magic encoding comment" for utf-8 templates is no longer required.
.. changelog::
```
Links
- PyPI: https://pypi.org/project/mako
- Changelog: https://pyup.io/changelogs/mako/
- Homepage: https://www.makotemplates.org/
Changelog
### 2.3.0
```
----------
- [enhancement] Ability to set up expected exit code for executor. In Java exit codes 1- 127 have
special meaning, and the regular exit codes are offset by those of special meaning.
```
Links
- PyPI: https://pypi.org/project/mirakuru
- Changelog: https://pyup.io/changelogs/mirakuru/
- Repo: https://github.com/ClearcodeHQ/mirakuru
Changelog
### 2.9.0
```
------------------
* Fixed ``RemovedInPytest4Warning`` when using Pytest 3.10.
Contributed by Michael Manganiello in `354 <https://github.com/pytest-dev/pytest-cov/pull/354>`_.
* Made pytest startup faster when plugin not active by lazy-importing.
Contributed by Anders Hovmöller in `339 <https://github.com/pytest-dev/pytest-cov/pull/339>`_.
* Various CI improvements.
Contributed by Daniel Hahler in `363 <https://github.com/pytest-dev/pytest-cov/pull/>`_ and
`364 <https://github.com/pytest-dev/pytest-cov/pull/364>`_.
* Various Python support updates (drop EOL 3.4, test against 3.8 final).
Contributed by Hugo van Kemenade in
`336 <https://github.com/pytest-dev/pytest-cov/pull/336>`_ and
`367 <https://github.com/pytest-dev/pytest-cov/pull/367>`_.
* Changed ``--cov-append`` to always enable ``data_suffix`` (a coverage setting).
Contributed by Harm Geerts in
`387 <https://github.com/pytest-dev/pytest-cov/pull/387>`_.
* Changed ``--cov-append`` to handle loading previous data better
(fixes various path aliasing issues).
* Various other testing improvements, github issue templates, example updates.
* Fixed internal failures that are caused by tests that change the current working directory by
ensuring a consistent working directory when coverage is called.
See `306 <https://github.com/pytest-dev/pytest-cov/issues/306>`_ and
`coveragepy881 <https://github.com/nedbat/coveragepy/issues/881>`_
```
Links
- PyPI: https://pypi.org/project/pytest-cov
- Changelog: https://pyup.io/changelogs/pytest-cov/
- Repo: https://github.com/pytest-dev/pytest-cov
Changelog
### 3.5.2
```
* Tune the locking in ConnectionPool.get_connection so that the lock is
not held while waiting for the socket to establish and validate the
TCP connection.
```
### 3.5.1
```
* Fix for HSET argument validation to allow any non-None key. Thanks
AleksMat, 1337, 1341
```
Links
- PyPI: https://pypi.org/project/redis
- Changelog: https://pyup.io/changelogs/redis/
- Repo: https://github.com/andymccurdy/redis-py
Changelog
### 1.3.17
```
:released: May 13, 2020
.. change::
:tags: bug, oracle
:tickets: 5246
Some modifications to how the cx_oracle dialect sets up per-column
outputtype handlers for LOB and numeric datatypes to adjust for potential
changes coming in cx_Oracle 8.
.. change::
:tags: bug, orm
:tickets: 5288
Fixed bug where using :func:`.with_polymorphic` as the target of a join via
:meth:`.RelationshipComparator.of_type` on a mapper that already has a
subquery-based with_polymorphic setting that's equivalent to the one
requested would not correctly alias the ON clause in the join.
.. change::
:tags: bug, oracle, performance
:tickets: 5314
Changed the implementation of fetching CLOB and BLOB objects to use
cx_Oracle's native implementation which fetches CLOB/BLOB objects inline
with other result columns, rather than performing a separate fetch. As
always, this can be disabled by setting auto_convert_lobs to False.
As part of this change, the behavior of a CLOB that was given a blank
string on INSERT now returns None on SELECT, which is now consistent with
that of VARCHAR on Oracle.
.. change::
:tags: usecase, postgresql
:tickets: 5265
Added support for columns or type :class:`.ARRAY` of :class:`.Enum`,
:class:`.JSON` or :class:`_postgresql.JSONB` in PostgreSQL.
Previously a workaround was required in these use cases.
.. change::
:tags: schema
:tickets: 4138
Add ``comment`` attribute to :class:`_schema.Column` ``__repr__`` method.
.. change::
:tags: bug, orm
:tickets: 5303
Fixed issue in the area of where loader options such as selectinload()
interact with the baked query system, such that the caching of a query is
not supposed to occur if the loader options themselves have elements such
as with_polymorphic() objects in them that currently are not
cache-compatible. The baked loader could sometimes not fully invalidate
itself in these some of these scenarios leading to missed eager loads.
.. change::
:tags: bug, engine
:tickets: 5326
Fixed fairly critical issue where the DBAPI connection could be returned to
the connection pool while still in an un-rolled-back state. The reset agent
responsible for rolling back the connection could be corrupted in the case
that the transaction was "closed" without being rolled back or committed,
which can occur in some scenarios when using ORM sessions and emitting
.close() in a certain pattern involving savepoints. The fix ensures that
the reset agent is always active.
.. change::
:tags: bug, orm
:tickets: 5304
Modified the internal "identity set" implementation, which is a set that
hashes objects on their id() rather than their hash values, to not actually
call the ``__hash__()`` method of the objects, which are typically
user-mapped objects. Some methods were calling this method as a side
effect of the implementation.
.. change::
:tags: usecase, postgresql
:tickets: 5266
Raise an explicit :class:`.exc.CompileError` when adding a table with a
column of type :class:`.ARRAY` of :class:`.Enum` configured with
:paramref:`.Enum.native_enum` set to ``False`` when
:paramref:`.Enum.create_constraint` is not set to ``False``
.. change::
:tags: bug, schema
:tickets: 5298
Fixed issue where an :class:`.Index` that is deferred in being associated
with a table, such as as when it contains a :class:`.Column` that is not
associated with any :class:`.Table` yet, would fail to attach correctly if
it also contained a non table-oriented expession.
.. change::
:tags: change, firebird
:tickets: 5278
Adjusted dialect loading for ``firebird://`` URIs so the external
sqlalchemy-firebird dialect will be used if it has been installed,
otherwise fall back to the (now deprecated) internal Firebird dialect.
.. change::
:tags: bug, mssql, reflection
:tickets: 5255
Fix a regression introduced by the reflection of computed column in
MSSQL when using the legacy TDS version 4.2. The dialect will try
to detect the protocol version of first connect and run in compatibility
mode if it cannot detect it.
.. change::
:tags: bug, mssql, reflection
:tickets: 5271
Fix a regression introduced by the reflection of computed column in
MSSQL when using SQL server versions before 2012, which does not support
the ``concat`` function.
.. change::
:tags: bug, orm
:tickets: 5269
An informative error message is raised when an ORM many-to-one comparison
is attempted against an object that is not an actual mapped instance.
Comparisons such as those to scalar subqueries aren't supported;
generalized comparison with subqueries is better achieved using
:meth:`~.RelationshipProperty.Comparator.has`.
.. change::
:tags: usecase, orm
:tickets: 5262
Added an accessor :attr:`.ColumnProperty.Comparator.expressions` which
provides access to the group of columns mapped under a multi-column
:class:`.ColumnProperty` attribute.
.. change::
:tags: bug, schema
:tickets: 5316
A warning is emitted when making use of the :attr:`.MetaData.sorted_tables`
attribute as well as the :func:`_schema.sort_tables` function, and the
given tables cannot be correctly sorted due to a cyclic dependency between
foreign key constraints. In this case, the functions will no longer sort
the involved tables by foreign key, and a warning will be emitted. Other
tables that are not part of the cycle will still be returned in dependency
order. Previously, the sorted_table routines would return a collection that
would unconditionally omit all foreign keys when a cycle was detected, and
no warning was emitted.
.. change::
:tags: orm, usecase
:tickets: 5237
Introduce :paramref:`_orm.relationship.sync_backref` flag in a relationship
to control if the synchronization events that mutate the in-Python
attributes are added. This supersedes the previous change :ticket:`5149`,
which warned that ``viewonly=True`` relationship target of a
back_populates or backref configuration would be disallowed.
.. changelog::
```
Links
- PyPI: https://pypi.org/project/sqlalchemy
- Changelog: https://pyup.io/changelogs/sqlalchemy/
- Homepage: http://www.sqlalchemy.org
Update beautifulsoup4 from 4.9.0 to 4.9.1.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/beautifulsoup4 - Homepage: http://www.crummy.com/software/BeautifulSoup/bs4/Update email-validator from 1.1.0 to 1.1.1.
Changelog
Links
- PyPI: https://pypi.org/project/email-validator - Changelog: https://pyup.io/changelogs/email-validator/ - Repo: https://github.com/JoshData/python-email-validatorUpdate Flask-Session from 0.3.1 to 0.3.2.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/flask-session - Changelog: https://pyup.io/changelogs/flask-session/ - Repo: https://github.com/fengsp/flask-sessionUpdate Flask-SQLAlchemy from 2.4.1 to 2.4.3.
Changelog
### 2.4.3 ``` ------------- Released 2020-05-26 - Deprecate ``SQLALCHEMY_COMMIT_ON_TEARDOWN`` as it can cause various design issues that are difficult to debug. Call ``db.session.commit()`` directly instead. :issue:`216` ``` ### 2.4.2 ``` ------------- Released 2020-05-25 - Fix bad pagination when records are de-duped. :pr:`812` ```Links
- PyPI: https://pypi.org/project/flask-sqlalchemy - Changelog: https://pyup.io/changelogs/flask-sqlalchemy/ - Repo: https://github.com/pallets/flask-sqlalchemy - Docs: https://pythonhosted.org/Flask-SQLAlchemy/Update Mako from 1.1.2 to 1.1.3.
Changelog
### 1.1.3 ``` :released: Fri May 29 2020 .. change:: :tags: bug, templates :tickets: 267 The default template encoding is now utf-8. Previously, the encoding was "ascii", which was standard throughout Python 2. This allows that "magic encoding comment" for utf-8 templates is no longer required. .. changelog:: ```Links
- PyPI: https://pypi.org/project/mako - Changelog: https://pyup.io/changelogs/mako/ - Homepage: https://www.makotemplates.org/Update Markdown from 3.2.1 to 3.2.2.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/markdown - Repo: https://Python-Markdown.github.io/Update mirakuru from 2.2.0 to 2.3.0.
Changelog
### 2.3.0 ``` ---------- - [enhancement] Ability to set up expected exit code for executor. In Java exit codes 1- 127 have special meaning, and the regular exit codes are offset by those of special meaning. ```Links
- PyPI: https://pypi.org/project/mirakuru - Changelog: https://pyup.io/changelogs/mirakuru/ - Repo: https://github.com/ClearcodeHQ/mirakuruUpdate more-itertools from 8.2.0 to 8.3.0.
Changelog
### 8.3.0 ``` See the [release notes](https://github.com/more-itertools/more-itertools/blob/41a6d0fcc01b29e6c5839979a16a834a7b4d0fd8/docs/versions.rst830) for details. ```Links
- PyPI: https://pypi.org/project/more-itertools - Changelog: https://pyup.io/changelogs/more-itertools/ - Repo: https://github.com/more-itertools/more-itertools - Docs: https://pythonhosted.org/more-itertools/Update pytest from 5.4.1 to 5.4.2.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/pytest - Homepage: https://docs.pytest.org/en/latest/Update pytest-cov from 2.8.1 to 2.9.0.
Changelog
### 2.9.0 ``` ------------------ * Fixed ``RemovedInPytest4Warning`` when using Pytest 3.10. Contributed by Michael Manganiello in `354 <https://github.com/pytest-dev/pytest-cov/pull/354>`_. * Made pytest startup faster when plugin not active by lazy-importing. Contributed by Anders Hovmöller in `339 <https://github.com/pytest-dev/pytest-cov/pull/339>`_. * Various CI improvements. Contributed by Daniel Hahler in `363 <https://github.com/pytest-dev/pytest-cov/pull/>`_ and `364 <https://github.com/pytest-dev/pytest-cov/pull/364>`_. * Various Python support updates (drop EOL 3.4, test against 3.8 final). Contributed by Hugo van Kemenade in `336 <https://github.com/pytest-dev/pytest-cov/pull/336>`_ and `367 <https://github.com/pytest-dev/pytest-cov/pull/367>`_. * Changed ``--cov-append`` to always enable ``data_suffix`` (a coverage setting). Contributed by Harm Geerts in `387 <https://github.com/pytest-dev/pytest-cov/pull/387>`_. * Changed ``--cov-append`` to handle loading previous data better (fixes various path aliasing issues). * Various other testing improvements, github issue templates, example updates. * Fixed internal failures that are caused by tests that change the current working directory by ensuring a consistent working directory when coverage is called. See `306 <https://github.com/pytest-dev/pytest-cov/issues/306>`_ and `coveragepy881 <https://github.com/nedbat/coveragepy/issues/881>`_ ```Links
- PyPI: https://pypi.org/project/pytest-cov - Changelog: https://pyup.io/changelogs/pytest-cov/ - Repo: https://github.com/pytest-dev/pytest-covUpdate pytest-postgresql from 2.3.0 to 2.4.0.
Changelog
### 2.4.0 ``` ---------- - [feature] Drop support for pyhon 3.5 - [enhancement] require at least mirakuru 2.3.0 (executor's stop method parameter's change) - [bug] pass password to DatabaseJanitor in client's factory ```Links
- PyPI: https://pypi.org/project/pytest-postgresql - Changelog: https://pyup.io/changelogs/pytest-postgresql/ - Repo: https://github.com/ClearcodeHQ/pytest-postgresqlUpdate redis from 3.5.0 to 3.5.2.
Changelog
### 3.5.2 ``` * Tune the locking in ConnectionPool.get_connection so that the lock is not held while waiting for the socket to establish and validate the TCP connection. ``` ### 3.5.1 ``` * Fix for HSET argument validation to allow any non-None key. Thanks AleksMat, 1337, 1341 ```Links
- PyPI: https://pypi.org/project/redis - Changelog: https://pyup.io/changelogs/redis/ - Repo: https://github.com/andymccurdy/redis-pyUpdate six from 1.14.0 to 1.15.0.
Changelog
### 1.15.0 ``` ------ - Pull request 331: Optimize `six.ensure_str` and `six.ensure_binary`. ```Links
- PyPI: https://pypi.org/project/six - Changelog: https://pyup.io/changelogs/six/ - Repo: https://github.com/benjaminp/sixUpdate SQLAlchemy from 1.3.16 to 1.3.17.
Changelog
### 1.3.17 ``` :released: May 13, 2020 .. change:: :tags: bug, oracle :tickets: 5246 Some modifications to how the cx_oracle dialect sets up per-column outputtype handlers for LOB and numeric datatypes to adjust for potential changes coming in cx_Oracle 8. .. change:: :tags: bug, orm :tickets: 5288 Fixed bug where using :func:`.with_polymorphic` as the target of a join via :meth:`.RelationshipComparator.of_type` on a mapper that already has a subquery-based with_polymorphic setting that's equivalent to the one requested would not correctly alias the ON clause in the join. .. change:: :tags: bug, oracle, performance :tickets: 5314 Changed the implementation of fetching CLOB and BLOB objects to use cx_Oracle's native implementation which fetches CLOB/BLOB objects inline with other result columns, rather than performing a separate fetch. As always, this can be disabled by setting auto_convert_lobs to False. As part of this change, the behavior of a CLOB that was given a blank string on INSERT now returns None on SELECT, which is now consistent with that of VARCHAR on Oracle. .. change:: :tags: usecase, postgresql :tickets: 5265 Added support for columns or type :class:`.ARRAY` of :class:`.Enum`, :class:`.JSON` or :class:`_postgresql.JSONB` in PostgreSQL. Previously a workaround was required in these use cases. .. change:: :tags: schema :tickets: 4138 Add ``comment`` attribute to :class:`_schema.Column` ``__repr__`` method. .. change:: :tags: bug, orm :tickets: 5303 Fixed issue in the area of where loader options such as selectinload() interact with the baked query system, such that the caching of a query is not supposed to occur if the loader options themselves have elements such as with_polymorphic() objects in them that currently are not cache-compatible. The baked loader could sometimes not fully invalidate itself in these some of these scenarios leading to missed eager loads. .. change:: :tags: bug, engine :tickets: 5326 Fixed fairly critical issue where the DBAPI connection could be returned to the connection pool while still in an un-rolled-back state. The reset agent responsible for rolling back the connection could be corrupted in the case that the transaction was "closed" without being rolled back or committed, which can occur in some scenarios when using ORM sessions and emitting .close() in a certain pattern involving savepoints. The fix ensures that the reset agent is always active. .. change:: :tags: bug, orm :tickets: 5304 Modified the internal "identity set" implementation, which is a set that hashes objects on their id() rather than their hash values, to not actually call the ``__hash__()`` method of the objects, which are typically user-mapped objects. Some methods were calling this method as a side effect of the implementation. .. change:: :tags: usecase, postgresql :tickets: 5266 Raise an explicit :class:`.exc.CompileError` when adding a table with a column of type :class:`.ARRAY` of :class:`.Enum` configured with :paramref:`.Enum.native_enum` set to ``False`` when :paramref:`.Enum.create_constraint` is not set to ``False`` .. change:: :tags: bug, schema :tickets: 5298 Fixed issue where an :class:`.Index` that is deferred in being associated with a table, such as as when it contains a :class:`.Column` that is not associated with any :class:`.Table` yet, would fail to attach correctly if it also contained a non table-oriented expession. .. change:: :tags: change, firebird :tickets: 5278 Adjusted dialect loading for ``firebird://`` URIs so the external sqlalchemy-firebird dialect will be used if it has been installed, otherwise fall back to the (now deprecated) internal Firebird dialect. .. change:: :tags: bug, mssql, reflection :tickets: 5255 Fix a regression introduced by the reflection of computed column in MSSQL when using the legacy TDS version 4.2. The dialect will try to detect the protocol version of first connect and run in compatibility mode if it cannot detect it. .. change:: :tags: bug, mssql, reflection :tickets: 5271 Fix a regression introduced by the reflection of computed column in MSSQL when using SQL server versions before 2012, which does not support the ``concat`` function. .. change:: :tags: bug, orm :tickets: 5269 An informative error message is raised when an ORM many-to-one comparison is attempted against an object that is not an actual mapped instance. Comparisons such as those to scalar subqueries aren't supported; generalized comparison with subqueries is better achieved using :meth:`~.RelationshipProperty.Comparator.has`. .. change:: :tags: usecase, orm :tickets: 5262 Added an accessor :attr:`.ColumnProperty.Comparator.expressions` which provides access to the group of columns mapped under a multi-column :class:`.ColumnProperty` attribute. .. change:: :tags: bug, schema :tickets: 5316 A warning is emitted when making use of the :attr:`.MetaData.sorted_tables` attribute as well as the :func:`_schema.sort_tables` function, and the given tables cannot be correctly sorted due to a cyclic dependency between foreign key constraints. In this case, the functions will no longer sort the involved tables by foreign key, and a warning will be emitted. Other tables that are not part of the cycle will still be returned in dependency order. Previously, the sorted_table routines would return a collection that would unconditionally omit all foreign keys when a cycle was detected, and no warning was emitted. .. change:: :tags: orm, usecase :tickets: 5237 Introduce :paramref:`_orm.relationship.sync_backref` flag in a relationship to control if the synchronization events that mutate the in-Python attributes are added. This supersedes the previous change :ticket:`5149`, which warned that ``viewonly=True`` relationship target of a back_populates or backref configuration would be disallowed. .. changelog:: ```Links
- PyPI: https://pypi.org/project/sqlalchemy - Changelog: https://pyup.io/changelogs/sqlalchemy/ - Homepage: http://www.sqlalchemy.org