Changelog
### 2.10
```
+++++++++++++++++
- Update to Unicode 13.0.0.
- Throws a more specific exception if "xn--" is provided as a label.
- This is expected to be the last version that supports Python 2.
```
Links
- PyPI: https://pypi.org/project/idna
- Changelog: https://pyup.io/changelogs/idna/
- Repo: https://github.com/kjd/idna
Changelog
### 1.9.0
```
==================
- Add type annotation stubs for the following modules:
* ``py.error``
* ``py.iniconfig``
* ``py.path`` (not including SVN paths)
* ``py.io``
* ``py.xml``
There are no plans to type other modules at this time.
The type annotations are provided in external .pyi files, not inline in the
code, and may therefore contain small errors or omissions. If you use ``py``
in conjunction with a type checker, and encounter any type errors you believe
should be accepted, please report it in an issue.
```
### 1.8.2
```
==================
- On Windows, ``py.path.local``s which differ only in case now have the same
Python hash value. Previously, such paths were considered equal but had
different hashes, which is not allowed and breaks the assumptions made by
dicts, sets and other users of hashes.
```
Links
- PyPI: https://pypi.org/project/py
- Changelog: https://pyup.io/changelogs/py/
- Docs: https://py.readthedocs.io/
Changelog
### 2.10.0
```
-------------------
* Improved the ``--no-cov`` warning. Now it's only shown if ``--no-cov`` is present before ``--cov``.
* Removed legacy pytest support. Changed ``setup.py`` so that ``pytest>=4.6`` is required.
```
Links
- PyPI: https://pypi.org/project/pytest-cov
- Changelog: https://pyup.io/changelogs/pytest-cov/
- Repo: https://github.com/pytest-dev/pytest-cov
Changelog
### 2.24.0
```
-------------------
**Improvements**
- pyOpenSSL TLS implementation is now only used if Python
either doesn't have an `ssl` module or doesn't support
SNI. Previously pyOpenSSL was unconditionally used if available.
This applies even if pyOpenSSL is installed via the
`requests[security]` extra (5443)
- Redirect resolution should now only occur when
`allow_redirects` is True. (5492)
- No longer perform unnecessary Content-Length calculation for
requests that won't use it. (5496)
```
Links
- PyPI: https://pypi.org/project/requests
- Changelog: https://pyup.io/changelogs/requests/
- Docs: https://requests.readthedocs.io
Changelog
### 1.3.18
```
:released: June 25, 2020
.. change::
:tags: bug, sqlite
:tickets: 5395
Added "exists" to the list of reserved words for SQLite so that this word
will be quoted when used as a label or column name. Pull request courtesy
Thodoris Sotiropoulos.
.. change::
:tags: bug, mssql
:tickets: 5366, 5364
Refined the logic used by the SQL Server dialect to interpret multi-part
schema names that contain many dots, to not actually lose any dots if the
name does not have bracking or quoting used, and additionally to support a
"dbname" token that has many parts including that it may have multiple,
independently-bracketed sections.
.. change::
:tags: bug, mssql, pyodbc
:tickets: 5346
Fixed an issue in the pyodbc connector such that a warning about pyodbc
"drivername" would be emitted when using a totally empty URL. Empty URLs
are normal when producing a non-connected dialect object or when using the
"creator" argument to create_engine(). The warning now only emits if the
driver name is missing but other parameters are still present.
.. change::
:tags: bug, mssql
:tickets: 5373
Fixed issue with assembling the ODBC connection string for the pyodbc
DBAPI. Tokens containing semicolons and/or braces "{}" were not being
correctly escaped, causing the ODBC driver to misinterpret the
connection string attributes.
.. change::
:tags: usecase, orm
:tickets: 5326
Improve error message when using :meth:`_query.Query.filter_by` in
a query where the first entity is not a mapped class.
.. change::
:tags: sql, schema
:tickets: 5324
Introduce :class:`.IdentityOptions` to store common parameters for
sequences and identity columns.
.. change::
:tags: usecase, sql
:tickets: 5309
Added a ".schema" parameter to the :func:`_expression.table` construct,
allowing ad-hoc table expressions to also include a schema name.
Pull request courtesy Dylan Modesitt.
.. change::
:tags: bug, mssql
:tickets: 5339
Fixed issue where ``datetime.time`` parameters were being converted to
``datetime.datetime``, making them incompatible with comparisons like
``>=`` against an actual :class:`_mssql.TIME` column.
.. change::
:tags: bug, mssql
:tickets: 5359
Fixed an issue where the ``is_disconnect`` function in the SQL Server
pyodbc dialect was incorrectly reporting the disconnect state when the
exception messsage had a substring that matched a SQL Server ODBC error
code.
.. change::
:tags: bug, engine
:tickets: 5326
Further refinements to the fixes to the "reset" agent fixed in
:ticket:`5326`, which now emits a warning when it is not being correctly
invoked and corrects for the behavior. Additional scenarios have been
identified and fixed where this warning was being emitted.
.. change::
:tags: usecase, sqlite
:tickets: 5297
SQLite 3.31 added support for computed column. This change
enables their support in SQLAlchemy when targeting SQLite.
.. change::
:tags: bug, schema
:tickets: 5276
Fixed issue where ``dialect_options`` were omitted when a
database object (e.g., :class:`.Table`) was copied using
:func:`.tometadata`.
.. change::
:tags: bug, sql
:tickets: 5344
Correctly apply self_group in type_coerce element.
The type coerce element did not correctly apply grouping rules when using
in an expression
.. change::
:tags: bug, oracle, reflection
:tickets: 5421
Fixed bug in Oracle dialect where indexes that contain the full set of
primary key columns would be mistaken as the primary key index itself,
which is omitted, even if there were multiples. The check has been refined
to compare the name of the primary key constraint against the index name
itself, rather than trying to guess based on the columns present in the
index.
.. change::
:tags: change, sql, sybase
:tickets: 5294
Added ``.offset`` support to sybase dialect.
Pull request courtesy Alan D. Snow.
.. change::
:tags: bug, engine
:tickets: 5341
Fixed issue in :class:`.URL` object where stringifying the object
would not URL encode special characters, preventing the URL from being
re-consumable as a real URL. Pull request courtesy Miguel Grinberg.
.. change::
:tags: usecase, mysql
:tickets: 4860
Implemented row-level locking support for mysql. Pull request courtesy
Quentin Somerville.
.. change::
:tags: change, mssql
:tickets: 5321
Moved the ``supports_sane_rowcount_returning = False`` requirement from
the ``PyODBCConnector`` level to the ``MSDialect_pyodbc`` since pyodbc
does work properly in some circumstances.
.. change::
:tags: change, examples
Added new option ``--raw`` to the examples.performance suite
which will dump the raw profile test for consumption by any
number of profiling visualizer tools. Removed the "runsnake"
option as runsnake is very hard to build at this point;
.. change::
:tags: bug, sql
:tickets: 5353
Added :meth:`.Select.with_hint` output to the generic SQL string that is
produced when calling ``str()`` on a statement. Previously, this clause
would be omitted under the assumption that it was dialect specific.
The hint text is presented within brackets to indicate the rendering
of such hints varies among backends.
.. change::
:tags: usecase, orm
:tickets: 5198
Added a new parameter :paramref:`_orm.query_expression.default_expr` to the
:func:`_orm.query_expression` construct, which will be appled to queries
automatically if the :func:`_orm.with_expression` option is not used. Pull
request courtesy Haoyu Sun.
.. changelog::
```
Links
- PyPI: https://pypi.org/project/sqlalchemy
- Changelog: https://pyup.io/changelogs/sqlalchemy/
- Homepage: http://www.sqlalchemy.org
Changelog
### 1.4.4
```
------------------
- Fix an issue with keep-alive connections in which memory usage was higher
than expected because output buffers were being reused across requests on
a long-lived connection and each buffer would not be freed until it was full
or the connection was closed. Buffers are now rotated per-request to
stabilize their behavior.
See https://github.com/Pylons/waitress/pull/300
- Waitress threads have been updated to contain their thread number. This will
allow loggers that use that information to print the thread that the log is
coming from.
See https://github.com/Pylons/waitress/pull/302
```
Links
- PyPI: https://pypi.org/project/waitress
- Changelog: https://pyup.io/changelogs/waitress/
- Repo: https://github.com/Pylons/waitress
Update certifi from 2020.4.5.1 to 2020.6.20.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/certifi - Docs: https://certifiio.readthedocs.io/en/latest/Update idna from 2.9 to 2.10.
Changelog
### 2.10 ``` +++++++++++++++++ - Update to Unicode 13.0.0. - Throws a more specific exception if "xn--" is provided as a label. - This is expected to be the last version that supports Python 2. ```Links
- PyPI: https://pypi.org/project/idna - Changelog: https://pyup.io/changelogs/idna/ - Repo: https://github.com/kjd/idnaUpdate inflection from 0.4.0 to 0.5.0.
Changelog
### 0.5.0 ``` Features - Add type hints (83a5b16920ce66982c42b07379eca3948870d991) (44, 45) ```Links
- PyPI: https://pypi.org/project/inflection - Changelog: https://pyup.io/changelogs/inflection/ - Repo: https://github.com/jpvanhal/inflectionUpdate more-itertools from 8.3.0 to 8.4.0.
Changelog
### 8.4.0 ``` See [the changelog](https://github.com/more-itertools/more-itertools/blob/fc70d910cd2a8579e9b4e5fd38f8a8acf4abb2d7/docs/versions.rst840) 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 py from 1.8.1 to 1.9.0.
Changelog
### 1.9.0 ``` ================== - Add type annotation stubs for the following modules: * ``py.error`` * ``py.iniconfig`` * ``py.path`` (not including SVN paths) * ``py.io`` * ``py.xml`` There are no plans to type other modules at this time. The type annotations are provided in external .pyi files, not inline in the code, and may therefore contain small errors or omissions. If you use ``py`` in conjunction with a type checker, and encounter any type errors you believe should be accepted, please report it in an issue. ``` ### 1.8.2 ``` ================== - On Windows, ``py.path.local``s which differ only in case now have the same Python hash value. Previously, such paths were considered equal but had different hashes, which is not allowed and breaks the assumptions made by dicts, sets and other users of hashes. ```Links
- PyPI: https://pypi.org/project/py - Changelog: https://pyup.io/changelogs/py/ - Docs: https://py.readthedocs.io/Update pytest from 5.4.2 to 5.4.3.
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.9.0 to 2.10.0.
Changelog
### 2.10.0 ``` ------------------- * Improved the ``--no-cov`` warning. Now it's only shown if ``--no-cov`` is present before ``--cov``. * Removed legacy pytest support. Changed ``setup.py`` so that ``pytest>=4.6`` is required. ```Links
- PyPI: https://pypi.org/project/pytest-cov - Changelog: https://pyup.io/changelogs/pytest-cov/ - Repo: https://github.com/pytest-dev/pytest-covUpdate redis from 3.5.2 to 3.5.3.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/redis - Changelog: https://pyup.io/changelogs/redis/ - Repo: https://github.com/andymccurdy/redis-pyUpdate requests from 2.23.0 to 2.24.0.
Changelog
### 2.24.0 ``` ------------------- **Improvements** - pyOpenSSL TLS implementation is now only used if Python either doesn't have an `ssl` module or doesn't support SNI. Previously pyOpenSSL was unconditionally used if available. This applies even if pyOpenSSL is installed via the `requests[security]` extra (5443) - Redirect resolution should now only occur when `allow_redirects` is True. (5492) - No longer perform unnecessary Content-Length calculation for requests that won't use it. (5496) ```Links
- PyPI: https://pypi.org/project/requests - Changelog: https://pyup.io/changelogs/requests/ - Docs: https://requests.readthedocs.ioUpdate SQLAlchemy from 1.3.17 to 1.3.18.
Changelog
### 1.3.18 ``` :released: June 25, 2020 .. change:: :tags: bug, sqlite :tickets: 5395 Added "exists" to the list of reserved words for SQLite so that this word will be quoted when used as a label or column name. Pull request courtesy Thodoris Sotiropoulos. .. change:: :tags: bug, mssql :tickets: 5366, 5364 Refined the logic used by the SQL Server dialect to interpret multi-part schema names that contain many dots, to not actually lose any dots if the name does not have bracking or quoting used, and additionally to support a "dbname" token that has many parts including that it may have multiple, independently-bracketed sections. .. change:: :tags: bug, mssql, pyodbc :tickets: 5346 Fixed an issue in the pyodbc connector such that a warning about pyodbc "drivername" would be emitted when using a totally empty URL. Empty URLs are normal when producing a non-connected dialect object or when using the "creator" argument to create_engine(). The warning now only emits if the driver name is missing but other parameters are still present. .. change:: :tags: bug, mssql :tickets: 5373 Fixed issue with assembling the ODBC connection string for the pyodbc DBAPI. Tokens containing semicolons and/or braces "{}" were not being correctly escaped, causing the ODBC driver to misinterpret the connection string attributes. .. change:: :tags: usecase, orm :tickets: 5326 Improve error message when using :meth:`_query.Query.filter_by` in a query where the first entity is not a mapped class. .. change:: :tags: sql, schema :tickets: 5324 Introduce :class:`.IdentityOptions` to store common parameters for sequences and identity columns. .. change:: :tags: usecase, sql :tickets: 5309 Added a ".schema" parameter to the :func:`_expression.table` construct, allowing ad-hoc table expressions to also include a schema name. Pull request courtesy Dylan Modesitt. .. change:: :tags: bug, mssql :tickets: 5339 Fixed issue where ``datetime.time`` parameters were being converted to ``datetime.datetime``, making them incompatible with comparisons like ``>=`` against an actual :class:`_mssql.TIME` column. .. change:: :tags: bug, mssql :tickets: 5359 Fixed an issue where the ``is_disconnect`` function in the SQL Server pyodbc dialect was incorrectly reporting the disconnect state when the exception messsage had a substring that matched a SQL Server ODBC error code. .. change:: :tags: bug, engine :tickets: 5326 Further refinements to the fixes to the "reset" agent fixed in :ticket:`5326`, which now emits a warning when it is not being correctly invoked and corrects for the behavior. Additional scenarios have been identified and fixed where this warning was being emitted. .. change:: :tags: usecase, sqlite :tickets: 5297 SQLite 3.31 added support for computed column. This change enables their support in SQLAlchemy when targeting SQLite. .. change:: :tags: bug, schema :tickets: 5276 Fixed issue where ``dialect_options`` were omitted when a database object (e.g., :class:`.Table`) was copied using :func:`.tometadata`. .. change:: :tags: bug, sql :tickets: 5344 Correctly apply self_group in type_coerce element. The type coerce element did not correctly apply grouping rules when using in an expression .. change:: :tags: bug, oracle, reflection :tickets: 5421 Fixed bug in Oracle dialect where indexes that contain the full set of primary key columns would be mistaken as the primary key index itself, which is omitted, even if there were multiples. The check has been refined to compare the name of the primary key constraint against the index name itself, rather than trying to guess based on the columns present in the index. .. change:: :tags: change, sql, sybase :tickets: 5294 Added ``.offset`` support to sybase dialect. Pull request courtesy Alan D. Snow. .. change:: :tags: bug, engine :tickets: 5341 Fixed issue in :class:`.URL` object where stringifying the object would not URL encode special characters, preventing the URL from being re-consumable as a real URL. Pull request courtesy Miguel Grinberg. .. change:: :tags: usecase, mysql :tickets: 4860 Implemented row-level locking support for mysql. Pull request courtesy Quentin Somerville. .. change:: :tags: change, mssql :tickets: 5321 Moved the ``supports_sane_rowcount_returning = False`` requirement from the ``PyODBCConnector`` level to the ``MSDialect_pyodbc`` since pyodbc does work properly in some circumstances. .. change:: :tags: change, examples Added new option ``--raw`` to the examples.performance suite which will dump the raw profile test for consumption by any number of profiling visualizer tools. Removed the "runsnake" option as runsnake is very hard to build at this point; .. change:: :tags: bug, sql :tickets: 5353 Added :meth:`.Select.with_hint` output to the generic SQL string that is produced when calling ``str()`` on a statement. Previously, this clause would be omitted under the assumption that it was dialect specific. The hint text is presented within brackets to indicate the rendering of such hints varies among backends. .. change:: :tags: usecase, orm :tickets: 5198 Added a new parameter :paramref:`_orm.query_expression.default_expr` to the :func:`_orm.query_expression` construct, which will be appled to queries automatically if the :func:`_orm.with_expression` option is not used. Pull request courtesy Haoyu Sun. .. changelog:: ```Links
- PyPI: https://pypi.org/project/sqlalchemy - Changelog: https://pyup.io/changelogs/sqlalchemy/ - Homepage: http://www.sqlalchemy.orgUpdate waitress from 1.4.3 to 1.4.4.
Changelog
### 1.4.4 ``` ------------------ - Fix an issue with keep-alive connections in which memory usage was higher than expected because output buffers were being reused across requests on a long-lived connection and each buffer would not be freed until it was full or the connection was closed. Buffers are now rotated per-request to stabilize their behavior. See https://github.com/Pylons/waitress/pull/300 - Waitress threads have been updated to contain their thread number. This will allow loggers that use that information to print the thread that the log is coming from. See https://github.com/Pylons/waitress/pull/302 ```Links
- PyPI: https://pypi.org/project/waitress - Changelog: https://pyup.io/changelogs/waitress/ - Repo: https://github.com/Pylons/waitress