Skip to content

Scheduled monthly dependency update for May#183

Merged
samuelcolvin merged 19 commits into
masterfrom
pyup-scheduled-update-2018-05-01
May 26, 2018
Merged

Scheduled monthly dependency update for May#183
samuelcolvin merged 19 commits into
masterfrom
pyup-scheduled-update-2018-05-01

Conversation

@pyup-bot

@pyup-bot pyup-bot commented May 1, 2018

Copy link
Copy Markdown
Contributor

Update aiohttp from 3.0.1 to 3.1.3.

Changelog

3.1.2

==================

- Make ``LineTooLong`` exception more detailed about actual data size (2863)
- Call ``on_chunk_sent`` when write_eof takes as a param the last chunk (2909)

3.1.1

==================

- Support *asynchronous iterators* (and *asynchronous generators* as
well) in both client and server API as request / response BODY
payloads. (2802)

3.1.0

==================

Welcome to aiohttp 3.1 release.

This is an *incremental* release, fully backward compatible with *aiohttp 3.0*.

But we have added several new features.

The most visible one is ``app.add_routes()`` (an alias for existing
``app.router.add_routes()``. The addition is very important because
all *aiohttp* docs now uses ``app.add_routes()`` call in code
snippets. All your existing code still do register routes / resource
without any warning but you've got the idea for a favorite way: noisy
``app.router.add_get()`` is replaced by ``app.add_routes()``.

The library does not make a preference between decorators::

routes = web.RouteTableDef()

routes.get('/')
async def hello(request):
    return web.Response(text="Hello, world")

app.add_routes(routes)

and route tables as a list::

async def hello(request):
    return web.Response(text="Hello, world")

app.add_routes([web.get('/', hello)])

Both ways are equal, user may decide basing on own code taste.

Also we have a lot of minor features, bug fixes and documentation
updates, see below.

Features
--------

- Relax JSON content-type checking in the ``ClientResponse.json()`` to allow
"application/xxx+json" instead of strict "application/json". (2206)
- Bump C HTTP parser to version 2.8 (2730)
- Accept a coroutine as an application factory in ``web.run_app`` and gunicorn
worker. (2739)
- Implement application cleanup context (``app.cleanup_ctx`` property). (2747)
- Make ``writer.write_headers`` a coroutine. (2762)
- Add tracking signals for getting request/response bodies. (2767)
- Deprecate ClientResponseError.code in favor of .status to keep similarity
with response classes. (2781)
- Implement ``app.add_routes()`` method. (2787)
- Implement ``web.static()`` and ``RouteTableDef.static()`` API. (2795)
- Install a test event loop as default by ``asyncio.set_event_loop()``. The
change affects aiohttp test utils but backward compatibility is not broken
for 99.99% of use cases. (2804)
- Refactor ``ClientResponse`` constructor: make logically required constructor
arguments mandatory, drop ``_post_init()`` method. (2820)
- Use ``app.add_routes()`` in server docs everywhere (2830)
- Websockets refactoring, all websocket writer methods are converted into
coroutines. (2836)
- Provide ``Content-Range`` header for ``Range`` requests (2844)


Bugfixes
--------

- Fix websocket client return EofStream. (2784)
- Fix websocket demo. (2789)
- Property ``BaseRequest.http_range`` now returns a python-like slice when
requesting the tail of the range. It's now indicated by a negative value in
``range.start`` rather then in ``range.stop`` (2805)
- Close a connection if an unexpected exception occurs while sending a request
(2827)
- Fix firing DNS tracing events. (2841)


Improved Documentation
----------------------

- Change ``ClientResponse.json()`` documentation to reflect that it now
allows "application/xxx+json" content-types (2206)
- Document behavior when cchardet detects encodings that are unknown to Python.
(2732)
- Add diagrams for tracing request life style. (2748)
- Drop removed functionality for passing ``StreamReader`` as data at client
side. (2793)

3.0.9

==================

- Close a connection if an unexpected exception occurs while sending a request
(2827)

3.0.8

==================

- Use ``asyncio.current_task()`` on Python 3.7 (2825)

3.0.7

==================

- Fix SSL proxy support by client. (2810)
- Restore a imperative check in ``setup.py`` for python version. The check
works in parallel to environment marker. As effect a error about unsupported
Python versions is raised even on outdated systems with very old
``setuptools`` version installed. (2813)

3.0.6

==================

- Add ``_reuse_address`` and ``_reuse_port`` to
``web_runner.TCPSite.__slots__``. (2792)

3.0.5

==================

- Fix ``InvalidStateError`` on processing a sequence of two
``RequestHandler.data_received`` calls on web server. (2773)

3.0.4

==================

- Fix ``IndexError`` in HTTP request handling by server. (2752)
- Fix MultipartWriter.append* no longer returning part/payload. (2759)

3.0.3

==================

- Relax ``attrs`` dependency to minimal actually supported version
17.0.3 The change allows to avoid version conflicts with currently
existing test tools.

3.0.2

==================

Security Fix
------------

- Prevent Windows absolute URLs in static files.  Paths like
``/static/D:\path`` and ``/static/\\hostname\drive\path`` are
forbidden.
Links

Update pytest from 3.4.0 to 3.5.1.

Changelog

3.5.0

=========================

Deprecations and Removals
-------------------------

- ``record_xml_property`` fixture is now deprecated in favor of the more
generic ``record_property``. (`2770
<https://github.com/pytest-dev/pytest/issues/2770>`_)

- Defining ``pytest_plugins`` is now deprecated in non-top-level conftest.py
files, because they "leak" to the entire directory tree. (`3084
<https://github.com/pytest-dev/pytest/issues/3084>`_)


Features
--------

- New ``--show-capture`` command-line option that allows to specify how to
display captured output when tests fail: ``no``, ``stdout``, ``stderr``,
``log`` or ``all`` (the default). (`1478
<https://github.com/pytest-dev/pytest/issues/1478>`_)

- New ``--rootdir`` command-line option to override the rules for discovering
the root directory. See `customize
<https://docs.pytest.org/en/latest/customize.html>`_ in the documentation for
details. (`1642 <https://github.com/pytest-dev/pytest/issues/1642>`_)

- Fixtures are now instantiated based on their scopes, with higher-scoped
fixtures (such as ``session``) being instantiated first than lower-scoped
fixtures (such as ``function``). The relative order of fixtures of the same
scope is kept unchanged, based in their declaration order and their
dependencies. (`2405 <https://github.com/pytest-dev/pytest/issues/2405>`_)

- ``record_xml_property`` renamed to ``record_property`` and is now compatible
with xdist, markers and any reporter. ``record_xml_property`` name is now
deprecated. (`2770 <https://github.com/pytest-dev/pytest/issues/2770>`_)

- New ``--nf``, ``--new-first`` options: run new tests first followed by the
rest of the tests, in both cases tests are also sorted by the file modified
time, with more recent files coming first. (`3034
<https://github.com/pytest-dev/pytest/issues/3034>`_)

- New ``--last-failed-no-failures`` command-line option that allows to specify
the behavior of the cache plugin's --last-failed`` feature when no tests
failed in the last run (or no cache was found): ``none`` or ``all`` (the
default). (`3139 <https://github.com/pytest-dev/pytest/issues/3139>`_)

- New ``--doctest-continue-on-failure`` command-line option to enable doctests
to show multiple failures for each snippet, instead of stopping at the first
failure. (`3149 <https://github.com/pytest-dev/pytest/issues/3149>`_)

- Captured log messages are added to the ``<system-out>`` tag in the generated
junit xml file if the ``junit_logging`` ini option is set to ``system-out``.
If the value of this ini option is ``system-err`, the logs are written to
``<system-err>``. The default value for ``junit_logging`` is ``no``, meaning
captured logs are not written to the output file. (`3156
<https://github.com/pytest-dev/pytest/issues/3156>`_)

- Allow the logging plugin to handle ``pytest_runtest_logstart`` and
``pytest_runtest_logfinish`` hooks when live logs are enabled. (`3189
<https://github.com/pytest-dev/pytest/issues/3189>`_)

- Passing `--log-cli-level` in the command-line now automatically activates
live logging. (`3190 <https://github.com/pytest-dev/pytest/issues/3190>`_)

- Add command line option ``--deselect`` to allow deselection of individual
tests at collection time. (`3198
<https://github.com/pytest-dev/pytest/issues/3198>`_)

- Captured logs are printed before entering pdb. (`3204
<https://github.com/pytest-dev/pytest/issues/3204>`_)

- Deselected item count is now shown before tests are run, e.g. ``collected X
items / Y deselected``. (`3213
<https://github.com/pytest-dev/pytest/issues/3213>`_)

- The builtin module ``platform`` is now available for use in expressions in
``pytest.mark``. (`3236
<https://github.com/pytest-dev/pytest/issues/3236>`_)

- The *short test summary info* section now is displayed after tracebacks and
warnings in the terminal. (`3255
<https://github.com/pytest-dev/pytest/issues/3255>`_)

- New ``--verbosity`` flag to set verbosity level explicitly. (`3296
<https://github.com/pytest-dev/pytest/issues/3296>`_)

- ``pytest.approx`` now accepts comparing a numpy array with a scalar. (`3312
<https://github.com/pytest-dev/pytest/issues/3312>`_)


Bug Fixes
---------

- Suppress ``IOError`` when closing the temporary file used for capturing
streams in Python 2.7. (`2370
<https://github.com/pytest-dev/pytest/issues/2370>`_)

- Fixed ``clear()`` method on ``caplog`` fixture which cleared ``records``, but
not the ``text`` property. (`3297
<https://github.com/pytest-dev/pytest/issues/3297>`_)

- During test collection, when stdin is not allowed to be read, the
``DontReadFromStdin`` object still allow itself to be iterable and resolved
to an iterator without crashing. (`3314
<https://github.com/pytest-dev/pytest/issues/3314>`_)


Improved Documentation
----------------------

- Added a `reference <https://docs.pytest.org/en/latest/reference.html>`_ page
to the docs. (`1713 <https://github.com/pytest-dev/pytest/issues/1713>`_)


Trivial/Internal Changes
------------------------

- Change minimum requirement of ``attrs`` to ``17.4.0``. (`3228
<https://github.com/pytest-dev/pytest/issues/3228>`_)

- Renamed example directories so all tests pass when ran from the base
directory. (`3245 <https://github.com/pytest-dev/pytest/issues/3245>`_)

- Internal ``mark.py`` module has been turned into a package. (`3250
<https://github.com/pytest-dev/pytest/issues/3250>`_)

- ``pytest`` now depends on the `more-itertools
<https://github.com/erikrose/more-itertools>`_ package. (`3265
<https://github.com/pytest-dev/pytest/issues/3265>`_)

- Added warning when ``[pytest]`` section is used in a ``.cfg`` file passed
with ``-c`` (`3268 <https://github.com/pytest-dev/pytest/issues/3268>`_)

- ``nodeids`` can now be passed explicitly to ``FSCollector`` and ``Node``
constructors. (`3291 <https://github.com/pytest-dev/pytest/issues/3291>`_)

- Internal refactoring of ``FormattedExcinfo`` to use ``attrs`` facilities and
remove old support code for legacy Python versions. (`3292
<https://github.com/pytest-dev/pytest/issues/3292>`_)

- Refactoring to unify how verbosity is handled internally. (`3296
<https://github.com/pytest-dev/pytest/issues/3296>`_)

- Internal refactoring to better integrate with argparse. (`3304
<https://github.com/pytest-dev/pytest/issues/3304>`_)

- Fix a python example when calling a fixture in doc/en/usage.rst (`3308
<https://github.com/pytest-dev/pytest/issues/3308>`_)

3.4.2

=========================

Bug Fixes
---------

- Removed progress information when capture option is ``no``. (`3203
<https://github.com/pytest-dev/pytest/issues/3203>`_)

- Refactor check of bindir from ``exists`` to ``isdir``. (`3241
<https://github.com/pytest-dev/pytest/issues/3241>`_)

- Fix ``TypeError`` issue when using ``approx`` with a ``Decimal`` value.
(`3247 <https://github.com/pytest-dev/pytest/issues/3247>`_)

- Fix reference cycle generated when using the ``request`` fixture. (`3249
<https://github.com/pytest-dev/pytest/issues/3249>`_)

- ``[tool:pytest]`` sections in ``*.cfg`` files passed by the ``-c`` option are
now properly recognized. (`3260
<https://github.com/pytest-dev/pytest/issues/3260>`_)


Improved Documentation
----------------------

- Add logging plugin to plugins list. (`3209
<https://github.com/pytest-dev/pytest/issues/3209>`_)


Trivial/Internal Changes
------------------------

- Fix minor typo in fixture.rst (`3259
<https://github.com/pytest-dev/pytest/issues/3259>`_)

3.4.1

=========================

Bug Fixes
---------

- Move import of ``doctest.UnexpectedException`` to top-level to avoid possible
errors when using ``--pdb``. (`1810
<https://github.com/pytest-dev/pytest/issues/1810>`_)

- Added printing of captured stdout/stderr before entering pdb, and improved a
test which was giving false negatives about output capturing. (`3052
<https://github.com/pytest-dev/pytest/issues/3052>`_)

- Fix ordering of tests using parametrized fixtures which can lead to fixtures
being created more than necessary. (`3161
<https://github.com/pytest-dev/pytest/issues/3161>`_)

- Fix bug where logging happening at hooks outside of "test run" hooks would
cause an internal error. (`3184
<https://github.com/pytest-dev/pytest/issues/3184>`_)

- Detect arguments injected by ``unittest.mock.patch`` decorator correctly when
pypi ``mock.patch`` is installed and imported. (`3206
<https://github.com/pytest-dev/pytest/issues/3206>`_)

- Errors shown when a ``pytest.raises()`` with ``match=`` fails are now cleaner
on what happened: When no exception was raised, the "matching '...'" part got
removed as it falsely implies that an exception was raised but it didn't
match. When a wrong exception was raised, it's now thrown (like
``pytest.raised()`` without ``match=`` would) instead of complaining about
the unmatched text. (`3222
<https://github.com/pytest-dev/pytest/issues/3222>`_)

- Fixed output capture handling in doctests on macOS. (`985
<https://github.com/pytest-dev/pytest/issues/985>`_)


Improved Documentation
----------------------

- Add Sphinx parameter docs for ``match`` and ``message`` args to
``pytest.raises``. (`3202
<https://github.com/pytest-dev/pytest/issues/3202>`_)


Trivial/Internal Changes
------------------------

- pytest has changed the publication procedure and is now being published to
PyPI directly from Travis. (`3060
<https://github.com/pytest-dev/pytest/issues/3060>`_)

- Rename ``ParameterSet._for_parameterize()`` to ``_for_parametrize()`` in
order to comply with the naming convention. (`3166
<https://github.com/pytest-dev/pytest/issues/3166>`_)

- Skip failing pdb/doctest test on mac. (`985
<https://github.com/pytest-dev/pytest/issues/985>`_)
Links

Update aiohttp-jinja2 from 0.15.0 to 1.0.0.

Changelog

1.0.0

-------------------

- Allow context_processors to compose from parent apps 195

0.17.0

-------------------

- Auto-cast ``int`` values in ``url()`` jinja function to ``str`` 191

0.16.0

-------------------

- Pin to aiohttp 3.0+

- Deprecate non-async handlers support
Links

Update aiohttp-session[secure] from 2.2.0 to 2.3.0.

Changelog

2.3.0

------------------

- Support custom encoder and decoder by all storages 252
- Bump to aiohttp 3.0
Links

Update SQLAlchemy from 1.2.2 to 1.2.7.

Changelog

1.2.7

:released: April 20, 2018

 .. change::
     :tags: bug, orm
     :tickets: 4228

     Fixed regression in 1.2 within sharded query feature where the
     new "identity_token" element was not being correctly considered within
     the scope of a lazy load operation, when searching the identity map
     for a related many-to-one element.   The new behavior will allow for
     making use of the "id_chooser" in order to determine the best identity
     key to retrieve from the identity map.  In order to achieve this, some
     refactoring of 1.2's "identity_token" approach has made some slight changes
     to the implementation of ``ShardedQuery`` which should be noted for other
     derivations of this class.

 .. change::
     :tags: bug, postgresql
     :tickets: 4229

     Fixed bug where the special "not equals" operator for the Postgresql
     "range" datatypes such as DATERANGE would fail to render "IS NOT NULL" when
     compared to the Python ``None`` value.



 .. change::
     :tags: bug, mssql
     :tickets: 4234
     :versions: 1.3.0b1

     Fixed 1.2 regression caused by :ticket:`4060` where the query used to
     reflect SQL Server cross-schema foreign keys was limiting the criteria
     incorrectly.



 .. change::
     :tags: bug, oracle
     :versions: 1.3.0b1

     The Oracle NUMBER datatype is reflected as INTEGER if the precision is NULL
     and the scale is zero, as this is how INTEGER values come back when
     reflected from Oracle's tables.  Pull request courtesy Kent Bower.

 .. change::
     :tags: feature, postgresql
     :tickets: 4160
     :versions: 1.3.0b1

     Added new PG type :class:`.postgresql.REGCLASS` which assists in casting
     table names to OID values.  Pull request courtesy Sebastian Bank.

 .. change::
     :tags: bug, sql
     :tickets: 4231
     :versions: 1.3.0b1

     Fixed issue where the compilation of an INSERT statement with the
     "literal_binds" option that also uses an explicit sequence and "inline"
     generation, as on Postgresql and Oracle, would fail to accommodate the
     extra keyword argument within the sequence processing routine.

 .. change::
     :tags: bug, orm
     :tickets: 4241

     Fixed issue in single-inheritance loading where the use of an aliased
     entity against a single-inheritance subclass in conjunction with the
     :meth:`.Query.select_from` method would cause the SQL to be rendered with
     the unaliased table mixed in to the query, causing a cartesian product.  In
     particular this was affecting the new "selectin" loader when used against a
     single-inheritance subclass.

.. changelog::

1.2.6

:released: March 30, 2018

 .. change::
     :tags: bug, mssql
     :tickets: 4227
     :versions: 1.3.0b1

     Adjusted the SQL Server version detection for pyodbc to only allow for
     numeric tokens, filtering out non-integers, since the dialect does tuple-
     numeric comparisons with this value.  This is normally true for all known
     SQL Server / pyodbc drivers in any case.

 .. change::
     :tags: feature, postgresql
     :versions: 1.3.0b1

     Added support for "PARTITION BY" in Postgresql table definitions,
     using "postgresql_partition_by".  Pull request courtesy
     Vsevolod Solovyov.

 .. change::
     :tags: bug, sql
     :tickets: 4204
     :versions: 1.3.0b1

     Fixed a regression that occurred from the previous fix to :ticket:`4204` in
     version 1.2.5, where a CTE that refers to itself after the
     :meth:`.CTE.alias` method has been called would not refer to iself
     correctly.

 .. change::
     :tags: bug, engine
     :tickets: 4225
     :versions: 1.3.0b1

     Fixed bug in connection pool where a connection could be present in the
     pool without all of its "connect" event handlers called, if a previous
     "connect" handler threw an exception; note that the dialects themselves
     have connect handlers that emit SQL, such as those which set transaction
     isolation, which can fail if the database is in a non-available state, but
     still allows a connection.  The connection is now invalidated first if any
     of the connect handlers fail.

 .. change::
     :tags: bug, oracle
     :tickets: 4211
     :versions: 1.3.0b1

     The minimum cx_Oracle version supported is 5.2 (June 2015).  Previously,
     the dialect asserted against version 5.0 but as of 1.2.2 we are using some
     symbols that did not appear until 5.2.

 .. change::
     :tags: bug, declarative
     :tickets: 4221

     Removed a warning that would be emitted when calling upon
     ``__table_args__``, ``__mapper_args__`` as named with a ``declared_attr``
     method, when called from a non-mapped declarative mixin.  Calling these
     directly is documented as the approach to use when one is overidding one
     of these methods on a mapped class.  The warning still emits for regular
     attribute names.

 .. change::
     :tags: bug, orm
     :tickets: 4215
     :versions: 1.3.0b1

     Fixed bug where using :meth:`.Mutable.associate_with` or
     :meth:`.Mutable.as_mutable` in conjunction with a class that has non-
     primary mappers set up with alternatively-named attributes would produce an
     attribute error.  Since non-primary mappers are not used for persistence,
     the mutable extension now excludes non-primary mappers from its
     instrumentation steps.


.. changelog::

1.2.5

:released: March 6, 2018

 .. change::
     :tags: bug, sql
     :tickets: 4210
     :versions: 1.3.0b1

     Fixed bug in :class:.`CTE` construct along the same lines as that of
     :ticket:`4204` where a :class:`.CTE` that was aliased would not copy itself
     correctly during a "clone" operation as is frequent within the ORM as well
     as when using the :meth:`.ClauseElement.params` method.

 .. change::
     :tags: bug, orm
     :tickets: 4199

     Fixed bug in new "polymorphic selectin" loading when a selection of
     polymorphic objects were to be partially loaded from a relationship
     lazy loader, leading to an "empty IN" condition within the load that
     raises an error for the "inline" form of "IN".

 .. change::
     :tags: bug, sql
     :tickets: 4204

     Fixed bug in CTE rendering where a :class:`.CTE` that was also turned into
     an :class:`.Alias` would not render its "ctename AS aliasname" clause
     appropriately if there were more than one reference to the CTE in a FROM
     clause.

 .. change::
     :tags: bug, orm
     :tickets: 4209
     :versions: 1.3.0b1

     Fixed 1.2 regression where a mapper option that contains an
     :class:`.AliasedClass` object, as is typical when using the
     :meth:`.QueryableAttribute.of_type` method, could not be pickled.   1.1's
     behavior was to omit the aliased class objects from the path, so this
     behavior is restored.

 .. change::
     :tags: feature, orm
     :versions: 1.3.0b1

     Added new feature :meth:`.Query.only_return_tuples`.  Causes the
     :class:`.Query` object to return keyed tuple objects unconditionally even
     if the query is against a single entity.   Pull request courtesy Eric
     Atkin.


 .. change::
     :tags: bug, sql
     :tickets: 4198

     Fixed bug in new "expanding IN parameter" feature where the bind parameter
     processors for values wasn't working at all, tests failed to cover this
     pretty basic case which includes that ENUM values weren't working.

.. changelog::

1.2.4

:released: February 22, 2018

 .. change::
     :tags: bug, orm
     :tickets: 4193

     Fixed 1.2 regression in ORM versioning feature where a mapping against a
     :func:`.select` or :func:`.alias` that also used a versioning column
     against the underlying table would fail due to the check added as part of
     :ticket:`3673`.

 .. change::
     :tags: bug, engine
     :tickets: 4190

     Fixed regression caused in 1.2.3 due to fix from :ticket:`4181` where
     the changes to the event system involving :class:`.Engine` and
     :class:`.OptionEngine` did not accommodate for event removals, which
     would raise an ``AttributeError`` when invoked at the class
     level.

 .. change::
     :tags: bug, sql
     :tickets: 4197

     Fixed bug where CTE expressions would not have their name or alias name
     quoted when the given name is case sensitive or otherwise requires quoting.
     Pull request courtesy Eric Atkin.

.. changelog::

1.2.3

:released: February 16, 2018

 .. change::
     :tags: bug, oracle
     :tickets: 4182

     Fixed bug in cx_Oracle disconnect detection, used by pre_ping and other
     features, where an error could be raised as DatabaseError which includes a
     numeric error code; previously we weren't checking in this case for a
     disconnect code.

 .. change::
     :tags: bug, sqlite

     Fixed the import error raised when a platform
     has neither pysqlite2 nor sqlite3 installed, such
     that the sqlite3-related import error is raised,
     not the pysqlite2 one which is not the actual
     failure mode.  Pull request courtesy Robin.

 .. change::
     :tags: bug, orm
     :tickets: 4175

     Fixed bug where the :class:`.Bundle` object did not
     correctly report upon the primary :class:`.Mapper` object
     represened by the bundle, if any.   An immediate
     side effect of this issue was that the new selectinload
     loader strategy wouldn't work with the horizontal sharding
     extension.

 .. change::
     :tags: bug, sql
     :tickets: 4180

     Fixed bug where the :class:`.Enum` type wouldn't handle
     enum "aliases" correctly, when more than one key refers to the
     same value.  Pull request courtesy Daniel Knell.


 .. change::
     :tags: bug, engine
     :tickets: 4181

     Fixed bug where events associated with an :class:`Engine`
     at the class level would be doubled when the
     :meth:`.Engine.execution_options` method were used.  To
     achieve this, the semi-private class :class:`.OptionEngine`
     no longer accepts events directly at the class level
     and will raise an error; the class only propagates class-level
     events from its parent :class:`.Engine`.   Instance-level
     events continue to work as before.

 .. change::
     :tags: bug, tests
     :tickets: 3265

     A test added in 1.2 thought to confirm a Python 2.7 behavior turns out to
     be confirming the behavior only as of Python 2.7.8. Python bug 8743 still
     impacts set comparison in Python 2.7.7 and earlier, so the test in question
     involving AssociationSet no longer runs for these older Python 2.7
     versions.

 .. change::
     :tags: feature, oracle

     The ON DELETE options for foreign keys are now part of
     Oracle reflection.  Oracle does not support ON UPDATE
     cascades.  Pull request courtesy Miroslav Shubernetskiy.



 .. change::
     :tags: bug, orm
     :tickets: 4188

     Fixed bug in concrete inheritance mapping where user-defined
     attributes such as hybrid properties that mirror the names
     of mapped attributes from sibling classes would be overwritten by
     the mapper as non-accessible at the instance level.   Additionally
     ensured that user-bound descriptors are not implicitly invoked at the class
     level during the mapper configuration stage.

 .. change::
     :tags: bug, orm
     :tickets: 4178

     Fixed bug where the :func:`.orm.reconstructor` event
     helper would not be recognized if it were applied to the
     ``__init__()`` method of the mapped class.

 .. change::
     :tags: bug, engine
     :tickets: 4170

     The :class:`.URL` object now allows query keys to be specified multiple
     times where their values will be joined into a list.  This is to support
     the plugins feature documented at :class:`.CreateEnginePlugin` which
     documents that "plugin" can be passed multiple times. Additionally, the
     plugin names can be passed to :func:`.create_engine` outside of the URL
     using the new :paramref:`.create_engine.plugins` parameter.

 .. change::
     :tags: feature, sql
     :tickets: 3906

     Added support for :class:`.Enum` to persist the values of the enumeration,
     rather than the keys, when using a Python pep-435 style enumerated object.
     The user supplies a callable function that will return the string values to
     be persisted.  This allows enumerations against non-string values to be
     value-persistable as well.  Pull request courtesy Jon Snyder.

 .. change::
     :tags: feature, orm

     Added new argument :paramref:`.attributes.set_attribute.inititator`
     to the :func:`.attributes.set_attribute` function, allowing an
     event token received from a listener function to be propagated
     to subsequent set events.

.. changelog::
Links

Update coverage from 4.4.2 to 4.5.1.

Changelog

4.5.1

----------------------------

- Now that 4.5 properly separated the ``[run] omit`` and ``[report] omit``
settings, an old bug has become apparent.  If you specified a package name
for ``[run] source``, then omit patterns weren't matched inside that package.
This bug (`issue 638`_) is now fixed.

- On Python 3.7, reporting about a decorated function with no body other than a
docstring would crash coverage.py with an IndexError (`issue 640`_).  This is
now fixed.

- Configurer plugins are now reported in the output of ``--debug=sys``.

.. _issue 638: https://bitbucket.org/ned/coveragepy/issues/638/run-omit-is-ignored-since-45
.. _issue 640: https://bitbucket.org/ned/coveragepy/issues/640/indexerror-reporting-on-an-empty-decorated


.. _changes_45:

4.5

--------------------------

- A new kind of plugin is supported: configurators are invoked at start-up to
allow more complex configuration than the .coveragerc file can easily do.
See :ref:`api_plugin` for details.  This solves the complex configuration
problem described in `issue 563`_.

- The ``fail_under`` option can now be a float.  Note that you must specify the
``[report] precision`` configuration option for the fractional part to be
used.  Thanks to Lars Hupfeldt Nielsen for help with the implementation.
Fixes `issue 631`_.

- The ``include`` and ``omit`` options can be specified for both the ``[run]``
and ``[report]`` phases of execution.  4.4.2 introduced some incorrect
interactions between those phases, where the options for one were confused
for the other.  This is now corrected, fixing `issue 621`_ and `issue 622`_.
Thanks to Daniel Hahler for seeing more clearly than I could.

- The ``coverage combine`` command used to always overwrite the data file, even
when no data had been read from apparently combinable files.  Now, an error
is raised if we thought there were files to combine, but in fact none of them
could be used.  Fixes `issue 629`_.

- The ``coverage combine`` command could get confused about path separators
when combining data collected on Windows with data collected on Linux, as
described in `issue 618`_.  This is now fixed: the result path always uses
the path separator specified in the ``[paths]`` result.

- On Windows, the HTML report could fail when source trees are deeply nested,
due to attempting to create HTML filenames longer than the 250-character
maximum.  Now filenames will never get much larger than 200 characters,
fixing `issue 627`_.  Thanks to Alex Sandro for helping with the fix.

.. _issue 563: https://bitbucket.org/ned/coveragepy/issues/563/platform-specific-configuration
.. _issue 618: https://bitbucket.org/ned/coveragepy/issues/618/problem-when-combining-windows-generated
.. _issue 621: https://bitbucket.org/ned/coveragepy/issues/621/include-ignored-warning-when-using
.. _issue 622: https://bitbucket.org/ned/coveragepy/issues/622/report-omit-overwrites-run-omit
.. _issue 627: https://bitbucket.org/ned/coveragepy/issues/627/failure-generating-html-reports-when-the
.. _issue 629: https://bitbucket.org/ned/coveragepy/issues/629/multiple-use-of-combine-leads-to-empty
.. _issue 631: https://bitbucket.org/ned/coveragepy/issues/631/precise-coverage-percentage-value


.. _changes_442:
Links

Update grablib from 0.6.1 to 0.7.4.

Changelog

0.7.4

------------------
* support and require libsass>=0.14.4 56

0.7.3

------------------
* allow custom importers for sass generation

0.7.2

------------------
* allow custom function mapping for sass generation

0.7.1

------------------
* tweak hash insertion
* correct deploy tag name

0.7.0

------------------
* uprev
* tweak type annotations
* add hash insertion in output names to sass generation
* drop support for python 3.5
Links

Update pycodestyle from 2.3.1 to 2.4.0.

Changelog

2.4.0

------------------

New checks:

* Add W504 warning for checking that a break doesn't happen after a binary
operator. This check is ignored by default. PR 502.
* Add W605 warning for invalid escape sequences in string literals. PR 676.
* Add W606 warning for 'async' and 'await' reserved keywords being introduced
in Python 3.7. PR 684.
* Add E252 error for missing whitespace around equal sign in type annotated
function arguments with defaults values. PR 717.

Changes:

* An internal bisect search has replaced a linear search in order to improve
efficiency. PR 648.
* pycodestyle now uses PyPI trove classifiers in order to document supported
python versions on PyPI. PR 654.
* 'setup.cfg' '[wheel]' section has been renamed to '[bdist_wheel]', as
the former is legacy. PR 653.
* pycodestyle now handles very long lines much more efficiently for python
3.2+. Fixes 643. PR 644.
* You can now write 'pycodestyle.StyleGuide(verbose=True)' instead of
'pycodestyle.StyleGuide(verbose=True, paths=['-v'])' in order to achieve
verbosity. PR 663.
* The distribution of pycodestyle now includes the license text in order to
comply with open source licenses which require this. PR 694.
* 'maximum_line_length' now ignores shebang ('!') lines. PR 736.
* Add configuration option for the allowed number of blank lines. It is
implemented as a top level dictionary which can be easily overwritten. Fixes
732. PR 733.

Bugs:

* Prevent a 'DeprecationWarning', and a 'SyntaxError' in future python, caused
by an invalid escape sequence. PR 625.
* Correctly report E501 when the first line of a docstring is too long.
Resolves 622. PR 630.
* Support variable annotation when variable start by a keyword, such as class
variable type annotations in python 3.6. PR 640.
* pycodestyle internals have been changed in order to allow 'python3 -m
cProfile' to report correct metrics. PR 647.
* Fix a spelling mistake in the description of E722. PR 697.
* 'pycodestyle --diff' now does not break if your 'gitconfig' enables
'mnemonicprefix'. PR 706.
Links

Update pytest-mock from 1.6.3 to 1.9.0.

Changelog

1.9.0

-----

* Add support for the recently added ``assert_called_once`` method in Python 3.6 and ``mock-2.0``. Thanks `rouge8`_ for the PR (`113`_).

.. _113: https://github.com/pytest-dev/pytest-mock/pull/113

1.8.0

-----

* Add aliases for ``NonCallableMock`` and ``create_autospec`` to ``mocker``. Thanks `mlhamel`_ for the PR (`111`_).

.. _111: https://github.com/pytest-dev/pytest-mock/pull/111

1.7.1

-----

* Fix ``setup.py`` to correctly read the ``README.rst``. Thanks `ghisvail`_ for the fix (`107`_).

.. _107: https://github.com/pytest-dev/pytest-mock/issues/107

1.7.0

-----

**Incompatible change**

* ``pytest-mock`` no longer supports Python 2.6 and Python 3.3, following the lead of
``pytest`` and other projects in the community. Thanks `hugovk`_ for the PR (`96`_).

**Packaging**

* Fix ``mock`` requirement in Python 2. Thanks `ghisvail`_ for the report (`101`_).

**Internal**

* Some tests in ``pytest-mock``'s suite are skipped if assertion rewriting is disabled (`102`_).

.. _ghisvail: https://github.com/ghisvail
.. _hugovk: https://github.com/hugovk
.. _96: https://github.com/pytest-dev/pytest-mock/pull/96
.. _101: https://github.com/pytest-dev/pytest-mock/issues/101
.. _102: https://github.com/pytest-dev/pytest-mock/issues/102
Links

Update pytest-toolbox from 0.2 to 0.4.

Changelog

0.4.0

------------------
* add comparison classes
* rename ``caplog`` > ``smart_caplog``
* rename ``debug`` > ``print_logs``
* updates
* remove python 3.5 support, now 3.6 only due to pydantic requirement

0.3.0

------------------
* check for un-awaited coroutines
Links

Update pytest-xdist from 1.22.0 to 1.22.2.

Changelog

1.22.1

================================

Bug Fixes
---------

- Fix issue when using ``loadscope`` or ``loadfile`` where tests would fail to
start if the first scope had only one test. (`257
<https://github.com/pytest-dev/pytest-xdist/issues/257>`_)


Trivial Changes
---------------

- Change terminology used by ``pytest-xdist`` to *master* and *worker* in
arguments and messages (for example ``--max-worker-reset``). (`234
<https://github.com/pytest-dev/pytest-xdist/issues/234>`_)
Links

Update Sphinx from 1.6.6 to 1.7.4.

Changelog

1.7.4

=====================================

Bugs fixed
----------

* 4885, 4887: domains: Crashed with duplicated objects
* 4889: latex: sphinx.writers.latex causes recusrive import

1.7.3

=====================================

Bugs fixed
----------

* 4769: autodoc loses the first staticmethod parameter
* 4790: autosummary: too wide two column tables in PDF builds
* 4795: Latex customization via ``_templates/longtable.tex_t`` is broken
* 4789: imgconverter: confused by convert.exe of Windows
* 4783: On windows, Sphinx crashed when drives of srcdir and outdir are
different
* 4812: autodoc ignores type annotated variables
* 4817: wrong URLs on warning messages
* 4784: latex: :confval:`latex_show_urls` assigns incorrect footnote numbers if
hyperlinks exists inside substitutions
* 4837: latex with class memoir Error: Font command ``\sf`` is not supported
* 4803: latex: too slow in proportion to number of auto numbered footnotes
* 4838: htmlhelp: The entries in .hhp file is not ordered
* toctree directive tries to glob for URL having query_string
* 4871: html search: Upper characters problem in German
* 4717: latex: Compilation for German docs failed with LuaLaTeX and XeLaTeX
* 4459: duplicated labels detector does not work well in parallel build
* 4878: Crashed with extension which returns invalid metadata

1.7.2

=====================================

Incompatible changes
--------------------
* 4520: apidoc: folders with an empty __init__.py are no longer excluded from
TOC

Bugs fixed
----------

* 4669: sphinx.build_main and sphinx.make_main throw NameError
* 4685: autosummary emits meaningless warnings
* autodoc: crashed when invalid options given
* pydomain: always strip parenthesis if empty (refs: 1042)
* 4689: autosummary: unexpectedly strips docstrings containing "i.e."
* 4701: viewcode: Misplaced ``<div>`` in viewcode html output
* 4444: Don't require numfig to use :numref: on sections
* 4727: Option clash for package textcomp
* 4725: Sphinx does not work with python 3.5.0 and 3.5.1
* 4716: Generation PDF file with TexLive on Windows, file not found error
* 4574: vertical space before equation in latex
* 4720: message when an image is mismatched for builder is not clear
* 4655, 4684: Incomplete localization strings in Polish and Chinese
* 2286: Sphinx crashes when error is happens in rendering HTML pages
* 4688: Error to download remote images having long URL
* 4754: sphinx/pycode/__init__.py raises AttributeError
* 1435: qthelp builder should htmlescape keywords
* epub: Fix docTitle elements of toc.ncx is not escaped
* 4520: apidoc: Subpackage not in toc (introduced in 1.6.6) now fixed
* 4767: html: search highlighting breaks mathjax equations

1.7.1

=====================================

Deprecated
----------

* 4623: ``sphinx.build_main()`` is deprecated.
* autosummary: The interface of ``sphinx.ext.autosummary.get_documenter()`` has
been changed (Since 1.7.0)
* 4664: ``sphinx.ext.intersphinx.debug()`` is deprecated.

For more details, see `deprecation APIs list
<http://www.sphinx-doc.org/en/master/extdev/index.htmldeprecated-apis>`_

Bugs fixed
----------

* 4608: epub: Invalid meta tag is generated
* 4260: autodoc: keyword only argument separator is not disappeared if it is
appeared at top of the argument list
* 4622: epub: :confval:`epub_scheme` does not effect to content.opf
* 4627: graphviz: Fit graphviz images to page
* 4617: quickstart: PROJECT_DIR argument is required
* 4623: sphinx.build_main no longer exists in 1.7.0
* 4615: The argument of ``sphinx.build`` has been changed in 1.7.0
* autosummary: The interface of ``sphinx.ext.autosummary.get_documenter()`` has
been changed
* 4630: Have order on msgids in sphinx.pot deterministic
* 4563: autosummary: Incorrect end of line punctuation detection
* 4577: Enumerated sublists with explicit start with wrong number
* 4641: A external link in TOC cannot contain "?" with ``:glob:`` option
* C++, add missing parsing of explicit casts and typeid in expression parsing.
* C++, add missing parsing of ``this`` in expression parsing.
* 4655: Fix incomplete localization strings in Polish
* 4653: Fix error reporting for parameterless ImportErrors
* 4664: Reading objects.inv fails again
* 4662: ``any`` refs with ``term`` targets crash when an ambiguity is
encountered

1.7.0

=====================================

Dependencies
------------

1.7.0b3

* 4019: inheritance_diagram AttributeError stoping make process
* 4531: autosummary: methods are not treated as attributes
* 4538: autodoc: ``sphinx.ext.autodoc.Options`` has been moved
* 4539: autodoc emits warnings for partialmethods
* 4223: doctest: failing tests reported in wrong file, at wrong line
* i18n: message catalogs are not compiled if specific filenames are given for
``sphinx-build`` as arguments (refs: 4560)
* 4027: sphinx.ext.autosectionlabel now expects labels to be the same as they
are in the raw source; no smart quotes, nothig fancy.
* 4581: apidoc: Excluded modules still included


Testing
--------

1.7.0b2

* 4415: autodoc classifies inherited classmethods as regular methods
* 4415: autodoc classifies inherited staticmethods as regular methods
* 4472: DOCUMENTATION_OPTIONS is not defined
* 4491: autodoc: prefer _MockImporter over other importers in sys.meta_path
* 4490: autodoc: type annotation is broken with python 3.7.0a4+
* utils package is no longer installed
* 3952: apidoc: module header is too escaped
* 4275: Formats accepted by sphinx.util.i18n.format_date are limited
* 4493: recommonmark raises AttributeError if AutoStructify enabled
* 4209: intersphinx: In link title, "v" should be optional if target has no
version
* 4230: slowdown in writing pages with sphinx 1.6
* 4522: epub: document is not rebuilt even if config changed

1.7.0b1

* Add support for docutils 0.14
* Add tests for the ``sphinx.ext.inheritance_diagram`` extension.

1.6.7

=====================================

Bugs fixed
----------

* 1922: html search: Upper characters problem in French
* 4412: Updated jQuery version from 3.1.0 to 3.2.1
* 4438: math: math with labels with whitespace cause html error
* 2437: make full reference for classes, aliased with "alias of"
* 4434: pure numbers as link targets produce warning
* 4477: Build fails after building specific files
* 4449: apidoc: include "empty" packages that contain modules
* 3917: citation labels are tranformed to ellipsis
* 4501: graphviz: epub3 validation error caused if graph is not clickable
* 4514: graphviz: workaround for wrong map ID which graphviz generates
* 4525: autosectionlabel does not support parallel build
* 3953: Do not raise warning when there is a working intersphinx inventory
* 4487: math: ValueError is raised on parallel build. Thanks to jschueller.
* 2372: autosummary: invalid signatures are shown for type annotated functions
* 3942: html: table is not aligned to center even if ``:align: center``
Links

@samuelcolvin samuelcolvin deleted the pyup-scheduled-update-2018-05-01 branch May 26, 2018 14:25
@samuelcolvin samuelcolvin restored the pyup-scheduled-update-2018-05-01 branch May 26, 2018 14:25
@samuelcolvin samuelcolvin reopened this May 26, 2018
@samuelcolvin samuelcolvin force-pushed the pyup-scheduled-update-2018-05-01 branch from 816fc95 to 942eab9 Compare May 26, 2018 14:26
@samuelcolvin samuelcolvin force-pushed the pyup-scheduled-update-2018-05-01 branch from ef6dcc7 to 104be92 Compare May 26, 2018 14:28
@codecov

codecov Bot commented May 26, 2018

Copy link
Copy Markdown

Codecov Report

Merging #183 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #183   +/-   ##
=======================================
  Coverage   94.52%   94.52%           
=======================================
  Files          12       12           
  Lines         730      730           
  Branches       96       96           
=======================================
  Hits          690      690           
  Misses         24       24           
  Partials       16       16

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c27422d...b773d6f. Read the comment docs.

@samuelcolvin samuelcolvin merged commit e37cfd5 into master May 26, 2018
@samuelcolvin samuelcolvin deleted the pyup-scheduled-update-2018-05-01 branch May 26, 2018 15:38
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.

2 participants