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

Scheduled weekly dependency update for week 41 #66

Open
wants to merge 21 commits into
base: master
Choose a base branch
from

Conversation

pyup-bot
Copy link
Contributor

Update aiohttp from 3.4.4 to 3.6.2.

Changelog

3.6.1

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

Features
--------

- Compatibility with Python 3.8.
`4056 <https://github.com/aio-libs/aiohttp/issues/4056>`_


Bugfixes
--------

- correct some exception string format
`4068 <https://github.com/aio-libs/aiohttp/issues/4068>`_
- Emit a warning when ``ssl.OP_NO_COMPRESSION`` is
unavailable because the runtime is built against
an outdated OpenSSL.
`4052 <https://github.com/aio-libs/aiohttp/issues/4052>`_
- Update multidict requirement to >= 4.5
`4057 <https://github.com/aio-libs/aiohttp/issues/4057>`_


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

- Provide pytest-aiohttp namespace for pytest fixtures in docs.
`3723 <https://github.com/aio-libs/aiohttp/issues/3723>`_


----

3.6.0

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

Features
--------

- Add support for Named Pipes (Site and Connector) under Windows. This feature requires Proactor event loop to work.
`3629 <https://github.com/aio-libs/aiohttp/issues/3629>`_
- Removed `Transfer-Encoding: chunked` header from websocket responses to be compatible with more http proxy servers.
`3798 <https://github.com/aio-libs/aiohttp/issues/3798>`_
- Accept non-GET request for starting websocket handshake on server side.
`3980 <https://github.com/aio-libs/aiohttp/issues/3980>`_


Bugfixes
--------

- Raise a ClientResponseError instead of an AssertionError for a blank
HTTP Reason Phrase.
`3532 <https://github.com/aio-libs/aiohttp/issues/3532>`_
- Fix an issue where cookies would sometimes not be set during a redirect.
`3576 <https://github.com/aio-libs/aiohttp/issues/3576>`_
- Change normalize_path_middleware to use 308 redirect instead of 301.

This behavior should prevent clients from being unable to use PUT/POST
methods on endpoints that are redirected because of a trailing slash.
`3579 <https://github.com/aio-libs/aiohttp/issues/3579>`_
- Drop the processed task from ``all_tasks()`` list early. It prevents logging about a task with unhandled exception when the server is used in conjunction with ``asyncio.run()``.
`3587 <https://github.com/aio-libs/aiohttp/issues/3587>`_
- ``Signal`` type annotation changed from `Signal[Callable[['TraceConfig'], Awaitable[None]]]` to `Signal[Callable[ClientSession, SimpleNamespace, ...]`.
`3595 <https://github.com/aio-libs/aiohttp/issues/3595>`_
- Use sanitized URL as Location header in redirects
`3614 <https://github.com/aio-libs/aiohttp/issues/3614>`_
- Improve typing annotations for multipart.py along with changes required
by mypy in files that references multipart.py.
`3621 <https://github.com/aio-libs/aiohttp/issues/3621>`_
- Close session created inside ``aiohttp.request`` when unhandled exception occurs
`3628 <https://github.com/aio-libs/aiohttp/issues/3628>`_
- Cleanup per-chunk data in generic data read. Memory leak fixed.
`3631 <https://github.com/aio-libs/aiohttp/issues/3631>`_
- Use correct type for add_view and family
`3633 <https://github.com/aio-libs/aiohttp/issues/3633>`_
- Fix _keepalive field in __slots__ of ``RequestHandler``.
`3644 <https://github.com/aio-libs/aiohttp/issues/3644>`_
- Properly handle ConnectionResetError, to silence the "Cannot write to closing
transport" exception when clients disconnect uncleanly.
`3648 <https://github.com/aio-libs/aiohttp/issues/3648>`_
- Suppress pytest warnings due to ``test_utils`` classes
`3660 <https://github.com/aio-libs/aiohttp/issues/3660>`_
- Fix overshadowing of overlapped sub-application prefixes.
`3701 <https://github.com/aio-libs/aiohttp/issues/3701>`_
- Fixed return type annotation for WSMessage.json()
`3720 <https://github.com/aio-libs/aiohttp/issues/3720>`_
- Properly expose TooManyRedirects publicly as documented.
`3818 <https://github.com/aio-libs/aiohttp/issues/3818>`_
- Fix missing brackets for IPv6 in proxy CONNECT request
`3841 <https://github.com/aio-libs/aiohttp/issues/3841>`_
- Make the signature of `aiohttp.test_utils.TestClient.request` match `asyncio.ClientSession.request` according to the docs
`3852 <https://github.com/aio-libs/aiohttp/issues/3852>`_
- Use correct style for re-exported imports, makes mypy ``--strict`` mode happy.
`3868 <https://github.com/aio-libs/aiohttp/issues/3868>`_
- Fixed type annotation for add_view method of UrlDispatcher to accept any subclass of View
`3880 <https://github.com/aio-libs/aiohttp/issues/3880>`_
- Made cython HTTP parser set Reason-Phrase of the response to an empty string if it is missing.
`3906 <https://github.com/aio-libs/aiohttp/issues/3906>`_
- Add URL to the string representation of ClientResponseError.
`3959 <https://github.com/aio-libs/aiohttp/issues/3959>`_
- Accept ``istr`` keys in ``LooseHeaders`` type hints.
`3976 <https://github.com/aio-libs/aiohttp/issues/3976>`_
- Fixed race conditions in _resolve_host caching and throttling when tracing is enabled.
`4013 <https://github.com/aio-libs/aiohttp/issues/4013>`_
- For URLs like "unix://localhost/..." set Host HTTP header to "localhost" instead of "localhost:None".
`4039 <https://github.com/aio-libs/aiohttp/issues/4039>`_


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

- Modify documentation for Background Tasks to remove deprecated usage of event loop.
`3526 <https://github.com/aio-libs/aiohttp/issues/3526>`_
- use ``if __name__ == '__main__':`` in server examples.
`3775 <https://github.com/aio-libs/aiohttp/issues/3775>`_
- Update documentation reference to the default access logger.
`3783 <https://github.com/aio-libs/aiohttp/issues/3783>`_
- Improve documentation for ``web.BaseRequest.path`` and ``web.BaseRequest.raw_path``.
`3791 <https://github.com/aio-libs/aiohttp/issues/3791>`_
- Removed deprecation warning in tracing example docs
`3964 <https://github.com/aio-libs/aiohttp/issues/3964>`_


----

3.5.4

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

Bugfixes
--------

- Fix stream ``.read()`` / ``.readany()`` / ``.iter_any()`` which used to return a
partial content only in case of compressed content
`3525 <https://github.com/aio-libs/aiohttp/issues/3525>`_

3.5.3

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

Bugfixes
--------

- Fix type stubs for ``aiohttp.web.run_app(access_log=True)`` and fix edge case of ``access_log=True`` and the event loop being in debug mode.
`3504 <https://github.com/aio-libs/aiohttp/issues/3504>`_
- Fix ``aiohttp.ClientTimeout`` type annotations to accept ``None`` for fields
`3511 <https://github.com/aio-libs/aiohttp/issues/3511>`_
- Send custom per-request cookies even if session jar is empty
`3515 <https://github.com/aio-libs/aiohttp/issues/3515>`_
- Restore Linux binary wheels publishing on PyPI

----

3.5.2

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

Features
--------

- ``FileResponse`` from ``web_fileresponse.py`` uses a ``ThreadPoolExecutor`` to work with files asynchronously.
I/O based payloads from ``payload.py`` uses a ``ThreadPoolExecutor`` to work with I/O objects asynchronously.
`3313 <https://github.com/aio-libs/aiohttp/issues/3313>`_
- Internal Server Errors in plain text if the browser does not support HTML.
`3483 <https://github.com/aio-libs/aiohttp/issues/3483>`_


Bugfixes
--------

- Preserve MultipartWriter parts headers on write.

Refactor the way how ``Payload.headers`` are handled. Payload instances now always
have headers and Content-Type defined.

Fix Payload Content-Disposition header reset after initial creation.
`3035 <https://github.com/aio-libs/aiohttp/issues/3035>`_
- Log suppressed exceptions in ``GunicornWebWorker``.
`3464 <https://github.com/aio-libs/aiohttp/issues/3464>`_
- Remove wildcard imports.
`3468 <https://github.com/aio-libs/aiohttp/issues/3468>`_
- Use the same task for app initialization and web server handling in gunicorn workers.
It allows to use Python3.7 context vars smoothly.
`3471 <https://github.com/aio-libs/aiohttp/issues/3471>`_
- Fix handling of chunked+gzipped response when first chunk does not give uncompressed data
`3477 <https://github.com/aio-libs/aiohttp/issues/3477>`_
- Replace ``collections.MutableMapping`` with ``collections.abc.MutableMapping`` to avoid a deprecation warning.
`3480 <https://github.com/aio-libs/aiohttp/issues/3480>`_
- ``Payload.size`` type annotation changed from `Optional[float]` to `Optional[int]`.
`3484 <https://github.com/aio-libs/aiohttp/issues/3484>`_
- Ignore done tasks when cancels pending activities on ``web.run_app`` finalization.
`3497 <https://github.com/aio-libs/aiohttp/issues/3497>`_


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

- Add documentation for ``aiohttp.web.HTTPException``.
`3490 <https://github.com/aio-libs/aiohttp/issues/3490>`_


Misc
----

- `3487 <https://github.com/aio-libs/aiohttp/issues/3487>`_


----

3.5.1

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

- Fix a regression about ``ClientSession._requote_redirect_url`` modification in debug
mode.

3.5.0

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

Features
--------

- The library type annotations are checked in strict mode now.
- Add support for setting cookies for individual request (`2387 <https://github.com/aio-libs/aiohttp/pull/2387>`_)
- Application.add_domain implementation (`2809 <https://github.com/aio-libs/aiohttp/pull/2809>`_)
- The default ``app`` in the request returned by ``test_utils.make_mocked_request``
can now have objects assigned to it and retrieved using the ``[]`` operator. (`3174 <https://github.com/aio-libs/aiohttp/pull/3174>`_)
- Make ``request.url`` accessible when transport is closed. (`3177 <https://github.com/aio-libs/aiohttp/pull/3177>`_)
- Add ``zlib_executor_size`` argument to ``Response`` constructor to allow compression to run in a background executor to avoid blocking the main thread and potentially triggering health check failures. (`3205 <https://github.com/aio-libs/aiohttp/pull/3205>`_)
- Enable users to set `ClientTimeout` in `aiohttp.request` (`3213 <https://github.com/aio-libs/aiohttp/pull/3213>`_)
- Don't raise a warning if ``NETRC`` environment variable is not set and ``~/.netrc`` file
doesn't exist. (`3267 <https://github.com/aio-libs/aiohttp/pull/3267>`_)
- Add default logging handler to web.run_app

If the `Application.debug` flag is set and the default logger `aiohttp.access` is used, access logs will now be output using a `stderr` `StreamHandler` if no handlers are attached. Furthermore, if the default logger has no log level set, the log level will be set to `DEBUG`. (`3324 <https://github.com/aio-libs/aiohttp/pull/3324>`_)
- Add method argument to ``session.ws_connect()``.

Sometimes server API requires a different HTTP method for WebSocket connection establishment.

For example, ``Docker exec`` needs POST. (`3378 <https://github.com/aio-libs/aiohttp/pull/3378>`_)
- Create a task per request handling. (`3406 <https://github.com/aio-libs/aiohttp/pull/3406>`_)


Bugfixes
--------

- Enable passing `access_log_class` via `handler_args` (`3158 <https://github.com/aio-libs/aiohttp/pull/3158>`_)
- Return empty bytes with end-of-chunk marker in empty stream reader. (`3186 <https://github.com/aio-libs/aiohttp/pull/3186>`_)
- Accept ``CIMultiDictProxy`` instances for ``headers`` argument in ``web.Response``
constructor. (`3207 <https://github.com/aio-libs/aiohttp/pull/3207>`_)
- Don't uppercase HTTP method in parser (`3233 <https://github.com/aio-libs/aiohttp/pull/3233>`_)
- Make method match regexp RFC-7230 compliant (`3235 <https://github.com/aio-libs/aiohttp/pull/3235>`_)
- Add ``app.pre_frozen`` state to properly handle startup signals in sub-applications. (`3237 <https://github.com/aio-libs/aiohttp/pull/3237>`_)
- Enhanced parsing and validation of helpers.BasicAuth.decode. (`3239 <https://github.com/aio-libs/aiohttp/pull/3239>`_)
- Change imports from collections module in preparation for 3.8. (`3258 <https://github.com/aio-libs/aiohttp/pull/3258>`_)
- Ensure Host header is added first to ClientRequest to better replicate browser (`3265 <https://github.com/aio-libs/aiohttp/pull/3265>`_)
- Fix forward compatibility with Python 3.8: importing ABCs directly from the collections module will not be supported anymore. (`3273 <https://github.com/aio-libs/aiohttp/pull/3273>`_)
- Keep the query string by `normalize_path_middleware`. (`3278 <https://github.com/aio-libs/aiohttp/pull/3278>`_)
- Fix missing parameter ``raise_for_status`` for aiohttp.request() (`3290 <https://github.com/aio-libs/aiohttp/pull/3290>`_)
- Bracket IPv6 addresses in the HOST header (`3304 <https://github.com/aio-libs/aiohttp/pull/3304>`_)
- Fix default message for server ping and pong frames. (`3308 <https://github.com/aio-libs/aiohttp/pull/3308>`_)
- Fix tests/test_connector.py typo and tests/autobahn/server.py duplicate loop def. (`3337 <https://github.com/aio-libs/aiohttp/pull/3337>`_)
- Fix false-negative indicator end_of_HTTP_chunk in StreamReader.readchunk function (`3361 <https://github.com/aio-libs/aiohttp/pull/3361>`_)
- Release HTTP response before raising status exception (`3364 <https://github.com/aio-libs/aiohttp/pull/3364>`_)
- Fix task cancellation when ``sendfile()`` syscall is used by static file handling. (`3383 <https://github.com/aio-libs/aiohttp/pull/3383>`_)
- Fix stack trace for ``asyncio.TimeoutError`` which was not logged, when it is caught
in the handler. (`3414 <https://github.com/aio-libs/aiohttp/pull/3414>`_)


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

- Improve documentation of ``Application.make_handler`` parameters. (`3152 <https://github.com/aio-libs/aiohttp/pull/3152>`_)
- Fix BaseRequest.raw_headers doc. (`3215 <https://github.com/aio-libs/aiohttp/pull/3215>`_)
- Fix typo in TypeError exception reason in ``web.Application._handle`` (`3229 <https://github.com/aio-libs/aiohttp/pull/3229>`_)
- Make server access log format placeholder %b documentation reflect
behavior and docstring. (`3307 <https://github.com/aio-libs/aiohttp/pull/3307>`_)


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

- Deprecate modification of ``session.requote_redirect_url`` (`2278 <https://github.com/aio-libs/aiohttp/pull/2278>`_)
- Deprecate ``stream.unread_data()`` (`3260 <https://github.com/aio-libs/aiohttp/pull/3260>`_)
- Deprecated use of boolean in ``resp.enable_compression()`` (`3318 <https://github.com/aio-libs/aiohttp/pull/3318>`_)
- Encourage creation of aiohttp public objects inside a coroutine (`3331 <https://github.com/aio-libs/aiohttp/pull/3331>`_)
- Drop dead ``Connection.detach()`` and ``Connection.writer``. Both methods were broken
for more than 2 years. (`3358 <https://github.com/aio-libs/aiohttp/pull/3358>`_)
- Deprecate ``app.loop``, ``request.loop``, ``client.loop`` and ``connector.loop`` properties. (`3374 <https://github.com/aio-libs/aiohttp/pull/3374>`_)
- Deprecate explicit debug argument. Use asyncio debug mode instead. (`3381 <https://github.com/aio-libs/aiohttp/pull/3381>`_)
- Deprecate body parameter in HTTPException (and derived classes) constructor. (`3385 <https://github.com/aio-libs/aiohttp/pull/3385>`_)
- Deprecate bare connector close, use ``async with connector:`` and ``await connector.close()`` instead. (`3417 <https://github.com/aio-libs/aiohttp/pull/3417>`_)
- Deprecate obsolete ``read_timeout`` and ``conn_timeout`` in ``ClientSession`` constructor. (`3438 <https://github.com/aio-libs/aiohttp/pull/3438>`_)


Misc
----

- 3341, 3351
Links

Update attrs from 18.2.0 to 19.2.0.

Changelog

19.2.0

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

Backward-incompatible Changes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- Removed deprecated ``Attribute`` attribute ``convert`` per scheduled removal on 2019/1.
This planned deprecation is tracked in issue `307 <https://github.com/python-attrs/attrs/issues/307>`_.
`504 <https://github.com/python-attrs/attrs/issues/504>`_
- ``__lt__``, ``__le__``, ``__gt__``, and ``__ge__`` do not consider subclasses comparable anymore.

This has been deprecated since 18.2.0 and was raising a ``DeprecationWarning`` for over a year.
`570 <https://github.com/python-attrs/attrs/issues/570>`_


Deprecations
^^^^^^^^^^^^

- The ``cmp`` argument to ``attr.s()`` and ``attr.ib()`` is now deprecated.

Please use ``eq`` to add equality methods (``__eq__`` and ``__ne__``) and ``order`` to add ordering methods (``__lt__``, ``__le__``, ``__gt__``, and ``__ge__``) instead – just like with `dataclasses <https://docs.python.org/3/library/dataclasses.html>`_.

Both are effectively ``True`` by default but it's enough to set ``eq=False`` to disable both at once.
Passing ``eq=False, order=True`` explicitly will raise a ``ValueError`` though.

Since this is arguably a deeper backward-compatibility break, it will have an extended deprecation period until 2021-06-01.
After that day, the ``cmp`` argument will be removed.

``attr.Attribute`` also isn't orderable anymore.
`574 <https://github.com/python-attrs/attrs/issues/574>`_


Changes
^^^^^^^

- Updated ``attr.validators.__all__`` to include new validators added in `425`_.
`517 <https://github.com/python-attrs/attrs/issues/517>`_
- Slotted classes now use a pure Python mechanism to rewrite the ``__class__`` cell when rebuilding the class, so ``super()`` works even on environments where ``ctypes`` is not installed.
`522 <https://github.com/python-attrs/attrs/issues/522>`_
- When collecting attributes using ``attr.s(auto_attribs=True)``, attributes with a default of ``None`` are now deleted too.
`523 <https://github.com/python-attrs/attrs/issues/523>`_,
`556 <https://github.com/python-attrs/attrs/issues/556>`_
- Fixed ``attr.validators.deep_iterable()`` and ``attr.validators.deep_mapping()`` type stubs.
`533 <https://github.com/python-attrs/attrs/issues/533>`_
- ``attr.validators.is_callable()`` validator now raises an exception ``attr.exceptions.NotCallableError``, a subclass of ``TypeError``, informing the received value.
`536 <https://github.com/python-attrs/attrs/issues/536>`_
- ``attr.s(auto_exc=True)`` now generates classes that are hashable by ID, as the documentation always claimed it would.
`543 <https://github.com/python-attrs/attrs/issues/543>`_,
`563 <https://github.com/python-attrs/attrs/issues/563>`_
- Added ``attr.validators.matches_re()`` that checks string attributes whether they match a regular expression.
`552 <https://github.com/python-attrs/attrs/issues/552>`_
- Keyword-only attributes (``kw_only=True``) and attributes that are excluded from the ``attrs``'s ``__init__`` (``init=False``) now can appear before mandatory attributes.
`559 <https://github.com/python-attrs/attrs/issues/559>`_
- The fake filename for generated methods is now more stable.
It won't change when you restart the process.
`560 <https://github.com/python-attrs/attrs/issues/560>`_
- The value passed to ``attr.ib(repr=…)`` can now be either a boolean (as before) or a callable.
That callable must return a string and is then used for formatting the attribute by the generated ``__repr__()`` method.
`568 <https://github.com/python-attrs/attrs/issues/568>`_
- Added ``attr.__version_info__`` that can be used to reliably check the version of ``attrs`` and write forward- and backward-compatible code.
Please check out the `section on deprecated APIs <http://www.attrs.org/en/stable/api.htmldeprecated-apis>`_ on how to use it.
`580 <https://github.com/python-attrs/attrs/issues/580>`_

.. _`425`: https://github.com/python-attrs/attrs/issues/425


----

19.1.0

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

Backward-incompatible Changes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- Fixed a bug where deserialized objects with ``cache_hash=True`` could have incorrect hash code values.
This change breaks classes with ``cache_hash=True`` when a custom ``__setstate__`` is present.
An exception will be thrown when applying the ``attrs`` annotation to such a class.
This limitation is tracked in issue `494 <https://github.com/python-attrs/attrs/issues/494>`_.
`482 <https://github.com/python-attrs/attrs/issues/482>`_


Changes
^^^^^^^

- Add ``is_callable``, ``deep_iterable``, and ``deep_mapping`` validators.

* ``is_callable``: validates that a value is callable
* ``deep_iterable``: Allows recursion down into an iterable,
 applying another validator to every member in the iterable
 as well as applying an optional validator to the iterable itself.
* ``deep_mapping``: Allows recursion down into the items in a mapping object,
 applying a key validator and a value validator to the key and value in every item.
 Also applies an optional validator to the mapping object itself.

You can find them in the ``attr.validators`` package.
`425`_
- Fixed stub files to prevent errors raised by mypy's ``disallow_any_generics = True`` option.
`443 <https://github.com/python-attrs/attrs/issues/443>`_
- Attributes with ``init=False`` now can follow after ``kw_only=True`` attributes.
`450 <https://github.com/python-attrs/attrs/issues/450>`_
- ``attrs`` now has first class support for defining exception classes.

If you define a class using ``attr.s(auto_exc=True)`` and subclass an exception, the class will behave like a well-behaved exception class including an appropriate ``__str__`` method, and all attributes additionally available in an ``args`` attribute.
`500 <https://github.com/python-attrs/attrs/issues/500>`_
- Clarified documentation for hashing to warn that hashable objects should be deeply immutable (in their usage, even if this is not enforced).
`503 <https://github.com/python-attrs/attrs/issues/503>`_


----
Links

Update bandit from 1.5.1 to 1.6.2.

Changelog

1.6.2

<details open>
<summary><strong>Changelog</strong></summary>

* Performance fix (502) tylerwince 

</details>

[See full changelog](https://github.com/PyCQA/bandit/compare/1.6.1...1.6.2)

1.6.1

<details open>
<summary><strong>Changelog</strong></summary>

* add test for regression and fix directory exclusion without wildcards (489) mattjegan 
* add namespaces for parent attributes (492) tylerwince 

</details>

[See full changelog](https://github.com/PyCQA/bandit/compare/1.6.0...1.6.1)

1.6.0

<details open>
<summary><strong>Changelog</strong></summary>

* Remove paramiko invoke_shell and fix example (377) ericwb
* Fix custom format argument handling (380) evqna
* Add release drafter template (382) evqna
* Add option -q, --quiet, --silent to hide output (385) ericwb
* Password (387) ehooo
* Properly handle nosec strings in code (388) ericwb 
* Fix Pylint warning W0612: use of unused variables (389) ericwb 
* No need to skip R0204: redefined-variable-type (390) ericwb
* Allow failures on dev branch of Python 3.8 (392) ericwb 
* Fix more info line to be in color also (408) ericwb
* Add pre-commit config (411) KPilnacek
* Fix B611 doc title (414) paulopontesm 
* Describe baseline and it's usage in README (415) BillBrower
* Remove unneeded trailing paren in link (416) ericwb 
* Add missing custom formatter doc (406) (421) nixphix
* Fix terminal colors not displaying properly on Windows (424) GhostofGoes
* Fix sql injection check for f-strings (434) mikespallino
* Bump PyYAML minimum version to 3.13 (432) ericwb 
* Supporting CSafeLoader in yaml.load plugin (436) domanchi 
* Add a readthedocs build status badge (440) lukehinds 
* Fix DeprecationWarning: invalid escape sequence (441) BoboTiG
* Fix ResourceWarning: unclosed file (442) BoboTiG
* check if ast.JoinedStr exists before using it (446) calvinli
* Fix context class (449) ehooo 
* Interpret wildcards in the file exclusion list (450) thilp 
* Fix typo in README (451) bitcoinhodler 
* Redo logo on the README (463) ericwb 
* Remove pycryptodome blacklist (470) mikespallino 
* updated readme links for werkzeug debugger (473) soumitr-snowflake

</details>

[See full changelog](https://github.com/PyCQA/bandit/compare/1.5.1...1.6.0)
Links

Update flake8 from 3.5.0 to 3.7.8.

Changelog

3.7.8

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

You can view the `3.7.8 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix handling of ``Application.parse_preliminary_options_and_args`` when
argv is an empty list (See also `GitLab!310`_, `GitLab518`_)

- Fix crash when a file parses but fails to tokenize (See also `GitLab!314`_,
`GitLab532`_)

- Log the full traceback on plugin exceptions (See also `GitLab!317`_)

- Fix `` noqa: ...`` comments with multi-letter codes (See also `GitLab!326`_,
`GitLab549`_)


.. all links
.. _3.7.8 milestone:
 https://gitlab.com/pycqa/flake8/milestones/31

.. issue links
.. _GitLab518:
 https://gitlab.com/pycqa/flake8/issues/518
.. _GitLab532:
 https://gitlab.com/pycqa/flake8/issues/532
.. _GitLab549:
 https://gitlab.com/pycqa/flake8/issues/549

.. merge request links
.. _GitLab!310:
 https://gitlab.com/pycqa/flake8/merge_requests/310
.. _GitLab!314:
 https://gitlab.com/pycqa/flake8/merge_requests/314
.. _GitLab!317:
 https://gitlab.com/pycqa/flake8/merge_requests/317
.. _GitLab!326:
 https://gitlab.com/pycqa/flake8/merge_requests/326

3.7.7

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

You can view the `3.7.7 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix crahes in plugins causing ``flake8`` to hang while unpickling errors (See
also `GitLab!308`_, `GitLab505`_)


.. all links
.. _3.7.7 milestone:
 https://gitlab.com/pycqa/flake8/milestones/30

.. issue links
.. _GitLab505:
 https://gitlab.com/pycqa/flake8/issues/505

.. merge request links
.. _GitLab!308:
 https://gitlab.com/pycqa/flake8/merge_requests/308

3.7.6

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

You can view the `3.7.6 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix ``--per-file-ignores`` for multi-letter error codes (See also
`GitLab!303`_, `GitLab507`_)

- Improve flake8 speed when only 1 filename is passed (See also `GitLab!305`_)


.. all links
.. _3.7.6 milestone:
 https://gitlab.com/pycqa/flake8/milestones/29

.. issue links
.. _GitLab507:
 https://gitlab.com/pycqa/flake8/issues/507

.. merge request links
.. _GitLab!303:
 https://gitlab.com/pycqa/flake8/merge_requests/303
.. _GitLab!305:
 https://gitlab.com/pycqa/flake8/merge_requests/305

3.7.5

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

You can view the `3.7.5 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix reporting of pyflakes "referenced before assignment" error (See also
`GitLab!301`_, `GitLab503`_)


.. all links
.. _3.7.5 milestone:
 https://gitlab.com/pycqa/flake8/milestones/28

.. issue links
.. _GitLab503:
 https://gitlab.com/pycqa/flake8/issues/503

.. merge request links
.. _GitLab!301:
 https://gitlab.com/pycqa/flake8/merge_requests/301

3.7.4

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

You can view the `3.7.4 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix performance regression with lots of ``per-file-ignores`` and errors
(See also `GitLab!299`_, `GitLab501`_)


.. all links
.. _3.7.4 milestone:
 https://gitlab.com/pycqa/flake8/milestones/27

.. issue links
.. _GitLab501:
 https://gitlab.com/pycqa/flake8/issues/501

.. merge request links
.. _GitLab!299:
 https://gitlab.com/pycqa/flake8/merge_requests/299

3.7.3

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

You can view the `3.7.3 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix imports of ``typing`` in python 3.5.0 / 3.5.1 (See also `GitLab!294`_,
`GitLab498`_)

- Fix ``flake8 --statistics`` (See also `GitLab!295`_, `GitLab499`_)

- Gracefully ignore ``flake8-per-file-ignores`` plugin if installed (See also
`GitLab!297`_, `GitLab495`_)

- Improve error message for malformed ``per-file-ignores`` (See also
`GitLab!298`_, `GitLab489`_)


.. all links
.. _3.7.3 milestone:
 https://gitlab.com/pycqa/flake8/milestones/26

.. issue links
.. _GitLab489:
 https://gitlab.com/pycqa/flake8/issues/489
.. _GitLab495:
 https://gitlab.com/pycqa/flake8/issues/495
.. _GitLab498:
 https://gitlab.com/pycqa/flake8/issues/498
.. _GitLab499:
 https://gitlab.com/pycqa/flake8/issues/499

.. merge request links
.. _GitLab!294:
 https://gitlab.com/pycqa/flake8/merge_requests/294
.. _GitLab!295:
 https://gitlab.com/pycqa/flake8/merge_requests/295
.. _GitLab!297:
 https://gitlab.com/pycqa/flake8/merge_requests/297
.. _GitLab!298:
 https://gitlab.com/pycqa/flake8/merge_requests/298

3.7.2

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

You can view the `3.7.2 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix broken ``flake8 --diff`` (regressed in 3.7.0) (See also `GitLab!292`_,
`GitLab490`_)

- Fix typo in plugin exception reporting (See also `GitLab!275`_,
`GitLab491`_)

- Fix ``AttributeError`` while attempting to use the legacy api (regressed in
3.7.0) (See also `GitLab!293`_, `GitLab497`_)

.. all links
.. _3.7.2 milestone:
 https://gitlab.com/pycqa/flake8/milestones/25

.. issue links
.. _GitLab490:
 https://gitlab.com/pycqa/flake8/issues/490
.. _GitLab491:
 https://gitlab.com/pycqa/flake8/issues/491
.. _GitLab497:
 https://gitlab.com/pycqa/flake8/issues/497

.. merge request links
.. _GitLab!292:
 https://gitlab.com/pycqa/flake8/merge_requests/292
.. _GitLab!275:
 https://gitlab.com/pycqa/flake8/merge_requests/275
.. _GitLab!293:
 https://gitlab.com/pycqa/flake8/merge_requests/293

3.7.1

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

You can view the `3.7.1 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix capitalized filenames in ``per-file-ignores`` setting (See also
`GitLab!290`_, `GitLab488`_)

.. all links
.. _3.7.1 milestone:
 https://gitlab.com/pycqa/flake8/milestones/24

.. issue links
.. _GitLab488:
 https://gitlab.com/pycqa/flake8/issues/488

.. merge request links
.. _GitLab!290:
 https://gitlab.com/pycqa/flake8/merge_requests/290

3.7.0

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

You can view the `3.7.0 milestone`_ on GitLab for more details.

New Dependency Information
~~~~~~~~~~~~~~~~~~~~~~~~~~

- Add dependency on ``entrypoints`` >= 0.3, < 0.4 (See also `GitLab!264`_,
`GitLab!288`_)

- Pyflakes has been updated to >= 2.1.0, < 2.2.0 (See also `GitLab!283`_,
`GitLab!285`_)

- pycodestyle has been updated to >= 2.5.0, < 2.6.0 (See also `GitLab!287`_)

Features
~~~~~~~~

- Add support for ``per-file-ignores`` (See also `GitLab!259`_, `GitLab156`_,
`GitLab!281`_, `GitLab471`_)

- Enable use of ``float`` and ``complex`` option types (See also `GitLab!261`_,
`GitLab452`_)

- Improve startup performance by switching from ``pkg_resources`` to
``entrypoints`` (See also `GitLab!264`_)

- Add metadata for use through the `pre-commit`_ git hooks framework (See also
`GitLab!268`_, `GitLab!284`_)

- Allow physical line checks to return more than one result (See also
`GitLab!269`_)

- Allow `` noqa:X123`` comments without space between the colon and codes
list (See also `GitLab!273`_, `GitLab470`_)

- Remove broken and unused ``flake8.listen`` plugin type (See also
`GitLab!274`_, `GitLab480`_)

.. all links
.. _3.7.0 milestone:
 https://gitlab.com/pycqa/flake8/milestones/23
.. _pre-commit:
 https://pre-commit.com/

.. issue links
.. _GitLab156:
 https://gitlab.com/pycqa/flake8/issues/156
.. _GitLab452:
 https://gitlab.com/pycqa/flake8/issues/452
.. _GitLab470:
 https://gitlab.com/pycqa/flake8/issues/470
.. _GitLab471:
 https://gitlab.com/pycqa/flake8/issues/471
.. _GitLab480:
 https://gitlab.com/pycqa/flake8/issues/480

.. merge request links
.. _GitLab!259:
 https://gitlab.com/pycqa/flake8/merge_requests/259
.. _GitLab!261:
 https://gitlab.com/pycqa/flake8/merge_requests/261
.. _GitLab!264:
 https://gitlab.com/pycqa/flake8/merge_requests/264
.. _GitLab!268:
 https://gitlab.com/pycqa/flake8/merge_requests/268
.. _GitLab!269:
 https://gitlab.com/pycqa/flake8/merge_requests/269
.. _GitLab!273:
 https://gitlab.com/pycqa/flake8/merge_requests/273
.. _GitLab!274:
 https://gitlab.com/pycqa/flake8/merge_requests/274
.. _GitLab!281:
 https://gitlab.com/pycqa/flake8/merge_requests/281
.. _GitLab!283:
 https://gitlab.com/pycqa/flake8/merge_requests/283
.. _GitLab!284:
 https://gitlab.com/pycqa/flake8/merge_requests/284
.. _GitLab!285:
 https://gitlab.com/pycqa/flake8/merge_requests/285
.. _GitLab!287:
 https://gitlab.com/pycqa/flake8/merge_requests/287
.. _GitLab!288:
 https://gitlab.com/pycqa/flake8/merge_requests/288

3.6.0

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

You can view the `3.6.0 milestone`_ on GitLab for more details.

New Dependency Information
~~~~~~~~~~~~~~~~~~~~~~~~~~

- pycodestyle has been updated to >= 2.4.0, < 2.5.0 (See also `GitLab381`_,
`GitLab415`_, `GitLab!212`_, `GitLab!230`_, `GitLab!231`_)

- Pyflakes has been updated to >= 2.0.0, < 2.1.0 (See also `GitLab422`_,
`GitLab!239`_)

- flake8 requires python 2.x >= 2.7 or python 3.x >= 3.4 (See also
`GitLab!225`_)

Features
~~~~~~~~

- Add ``paths`` to allow local plugins to exist outside of ``sys.path`` (See
also `GitLab379`_, `GitLab!211`_)

- Copy ``setup.cfg`` files to the temporary git hook execution directory (See
also `GitLab!215`_)

- Only skip a file if `` flake8: noqa`` is on a line by itself (See also
`GitLab453`_, `GitLab!219`_)

- Provide a better user experience for broken plugins (See also `GitLab!221`_)

- Report ``E902`` when a file passed on the command line does not exist (See
also `GitLab405`_, `GitLab!227`_)

- Add ``--extend-ignore`` for extending the default ``ignore`` instead of
overriding it (See also `GitLab365`_, `GitLab!233`_)

Bugs Fixed
~~~~~~~~~~

- Respect a formatter's newline setting when printing (See also `GitLab!222`_)

- Fix leaking of processes in the legacy api (See also `GitLab410`_,
`GitLab!228`_)

- Fix a ``SyntaxWarning`` for an invalid escape sequence (See also
`GitLab!244`_)

- Fix ``DeprecationWarning`` due to import of ``abc`` classes from the
``collections`` module (See also `GitLab!249`_)

- Defer ``setuptools`` import to improve flake8 startup time (See also
`GitLab!250`_)

- Fix inconsistent line endings in ``FileProcessor.lines`` when running under
python 3.x (See also `GitLab457`_, `GitLab!255`_)


.. all links
.. _3.6.0 milestone:
 https://gitlab.com/pycqa/flake8/milestones/21

.. issue links
.. _GitLab365:
 https://gitlab.com/pycqa/flake8/issues/365
.. _GitLab379:
 https://gitlab.com/pycqa/flake8/issues/379
.. _GitLab381:
 https://gitlab.com/pycqa/flake8/issues/381
.. _GitLab405:
 https://gitlab.com/pycqa/flake8/issues/405
.. _GitLab410:
 https://gitlab.com/pycqa/flake8/issues/410
.. _GitLab415:
 https://gitlab.com/pycqa/flake8/issues/415
.. _GitLab422:
 https://gitlab.com/pycqa/flake8/issues/422
.. _GitLab453:
 https://gitlab.com/pycqa/flake8/issues/453
.. _GitLab457:
 https://gitlab.com/pycqa/flake8/issues/457

.. merge request links
.. _GitLab!211:
 https://gitlab.com/pycqa/flake8/merge_requests/211
.. _GitLab!212:
 https://gitlab.com/pycqa/flake8/merge_requests/212
.. _GitLab!215:
 https://gitlab.com/pycqa/flake8/merge_requests/215
.. _GitLab!219:
 https://gitlab.com/pycqa/flake8/merge_requests/219
.. _GitLab!221:
 https://gitlab.com/pycqa/flake8/merge_requests/221
.. _GitLab!222:
 https://gitlab.com/pycqa/flake8/merge_requests/222
.. _GitLab!225:
 https://gitlab.com/pycqa/flake8/merge_requests/225
.. _GitLab!227:
 https://gitlab.com/pycqa/flake8/merge_requests/227
.. _GitLab!228:
 https://gitlab.com/pycqa/flake8/merge_requests/228
.. _GitLab!230:
 https://gitlab.com/pycqa/flake8/merge_requests/230
.. _GitLab!231:
 https://gitlab.com/pycqa/flake8/merge_requests/231
.. _GitLab!233:
 https://gitlab.com/pycqa/flake8/merge_requests/233
.. _GitLab!239:
 https://gitlab.com/pycqa/flake8/merge_requests/239
.. _GitLab!244:
 https://gitlab.com/pycqa/flake8/merge_requests/244
.. _GitLab!249:
 https://gitlab.com/pycqa/flake8/merge_requests/249
.. _GitLab!250:
 https://gitlab.com/pycqa/flake8/merge_requests/250
.. _GitLab!255:
 https://gitlab.com/pycqa/flake8/merge_requests/255
Links

Update flake8-bugbear from 18.8.0 to 19.8.0.

Changelog

19.3.0

Refer to README.md for changes.
Links

Update flake8-comprehensions from 1.4.1 to 2.2.0.

Changelog

2.2.0

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

* Update Python support to 3.5-3.7, as 3.4 has reached its end of life.
* ``C412`` rule that complains about using list comprehension with ``in``.

2.1.0

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

* Add missing builtin ``enumerate`` to ``C407``.

2.0.0

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

* Drop Python 2 support, only Python 3.4+ is supported now.
Links

Update flake8-debugger from 3.1.0 to 3.1.1.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update flake8-pyi from 18.3.1 to 19.3.0.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update flake8-quotes from 1.0.0 to 2.1.0.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update flake8-tuple from 0.2.13 to 0.4.0.

Changelog

0.3.1

------------------
* Fix 21 preceding-blankline bug.

0.3.0

-------------------
* Refactor and simplify crucial for loop.

0.2.14

-------------------
* Fix reading from stdin when it is closed.
Links

Update ipdb from 0.11 to 0.12.2.

Changelog

0.12.2

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

- Avoid emitting term-title bytes
[steinnes]

0.12.1

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

- Fix --help 
[native-api]

0.12

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

- Drop support for Python 3.3.x
[bmw]
- Stop deprecation warnings from being raised when IPython >= 5.1 is used.
Support for IPython < 5.1 has been dropped.
[bmw]
Links

Update jsonschema from 2.6.0 to 3.1.1.

Changelog

3.1.0

------

* Regular expressions throughout schemas now respect the ECMA 262 dialect, as
recommended by the specification (609).

3.0.2

------

* Fixed a bug where ``0`` and ``False`` were considered equal by
``const`` and ``enum`` (575).

3.0.1

------

* Fixed a bug where extending validators did not preserve their notion
of which validator property contains ``$id`` information.

3.0.0

------

* Support for Draft 6 and Draft 7
* Draft 7 is now the default
* New ``TypeChecker`` object for more complex type definitions (and overrides)
* Falling back to isodate for the date-time format checker is no longer
attempted, in accordance with the specification
Links

Update mypy from 0.641 to 0.730.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update pandas from 0.23.4 to 0.25.1.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update pyroma from 2.4 to 2.5.

Changelog

2.5

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

- Fixed 35: Correctly restore ``sys.argv``.  [maurits]

- Added back the BusFactor test, the XMLRPC API supports it.

- 26: Adding a test to check for a development status classifier.

- 21: Accept the new project_urls distribution data.

- Now verifies that classifiers are valid, and that the license field
and license classifiers match.

- The rating now again reflects if the long_description isn't valid ReST.

- 38: Recommendations for the License field has changed.
Links

Update pytest-asyncio from 0.9.0 to 0.10.0.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update pytest-cov from 2.6.0 to 2.8.1.

Changelog

2.8.1

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

* Fixed `348 <https://github.com/pytest-dev/pytest-cov/issues/348>`_ -
regression when only certain reports (html or xml) are used then ``--cov-fail-under`` always fails.

2.8.0

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

* Fixed ``RecursionError`` that can occur when using
`cleanup_on_signal <https://pytest-cov.readthedocs.io/en/latest/subprocess-support.htmlif-you-got-custom-signal-handling>`__ or
`cleanup_on_sigterm <https://pytest-cov.readthedocs.io/en/latest/subprocess-support.htmlif-you-got-custom-signal-handling>`__.
See: `294 <https://github.com/pytest-dev/pytest-cov/issues/294>`_.
The 2.7.x releases of pytest-cov should be considered broken regarding aforementioned cleanup API.
* Added compatibility with future xdist release that deprecates some internals
(match pytest-xdist master/worker terminology).
Contributed by Thomas Grainger in `321 <https://github.com/pytest-dev/pytest-cov/pull/321>`_
* Fixed breakage that occurs when multiple reporting options are used.
Contributed by Thomas Grainger in `338 <https://github.com/pytest-dev/pytest-cov/pull/338>`_.
* Changed internals to use a stub instead of ``os.devnull``.
Contributed by Thomas Grainger in `332 <https://github.com/pytest-dev/pytest-cov/pull/332>`_.
* Added support for Coverage 5.0.
Contributed by Ned Batchelder in `319 <https://github.com/pytest-dev/pytest-cov/pull/319>`_.
* Added support for float values in ``--cov-fail-under``.
Contributed by Martín Gaitán in `311 <https://github.com/pytest-dev/pytest-cov/pull/311>`_.
* Various documentation fixes. Contributed by
Juanjo Bazán,
Andrew Murray and
Albert Tugushev in
`298 <https://github.com/pytest-dev/pytest-cov/pull/298>`_,
`299 <https://github.com/pytest-dev/pytest-cov/pull/299>`_ and
`307 <https://github.com/pytest-dev/pytest-cov/pull/307>`_.
* Various testing improvements. Contributed by
Ned Batchelder,
Daniel Hahler,
Ionel Cristian Mărieș and
Hugo van Kemenade in
`313 <https://github.com/pytest-dev/pytest-cov/pull/313>`_,
`314 <https://github.com/pytest-dev/pytest-cov/pull/314>`_,
`315 <https://github.com/pytest-dev/pytest-cov/pull/315>`_,
`316 <https://github.com/pytest-dev/pytest-cov/pull/316>`_,
`325 <https://github.com/pytest-dev/pytest-cov/pull/325>`_,
`326 <https://github.com/pytest-dev/pytest-cov/pull/326>`_,
`334 <https://github.com/pytest-dev/pytest-cov/pull/334>`_ and
`335 <https://github.com/pytest-dev/pytest-cov/pull/335>`_.
* Added the ``--cov-context`` CLI options that enables coverage contexts. Only works with coverage 5.0+.
Contributed by Ned Batchelder in `345 <https://github.com/pytest-dev/pytest-cov/pull/345>`_.

2.7.1

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

* Fixed source distribution manifest so that garbage ain't included in the tarball.

2.7.0

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

* Fixed ``AttributeError: 'NoneType' object has no attribute 'configure_node'`` error when ``--no-cov`` is used.
Contributed by Alexander Shadchin in `263 <https://github.com/pytest-dev/pytest-cov/pull/263>`_.
* Various testing and CI improvements. Contributed by Daniel Hahler in
`255 <https://github.com/pytest-dev/pytest-cov/pull/255>`_,
`266 <https://github.com/pytest-dev/pytest-cov/pull/266>`_,
`272 <https://github.com/pytest-dev/pytest-cov/pull/272>`_,
`271 <https://github.com/pytest-dev/pytest-cov/pull/271>`_ and
`269 <https://github.com/pytest-dev/pytest-cov/pull/269>`_.
* Improved documentation regarding subprocess and multiprocessing.
Contributed in `265 <https://github.com/pytest-dev/pytest-cov/pull/265>`_.
* Improved ``pytest_cov.embed.cleanup_on_sigterm`` to be reentrant (signal deliveries while signal handling is
running won't break stuff).
* Added ``pytest_cov.embed.cleanup_on_signal`` for customized cleanup.
* Improved cleanup code and fixed various issues with leftover data files. All contributed in
`265 <https://github.com/pytest-dev/pytest-cov/pull/265>`_ or
`262 <https://github.com/pytest-dev/pytest-cov/pull/262>`_.
* Improved examples. Now there are two examples for the common project layouts, complete with working coverage
configuration. The examples have CI testing. Contributed in
`267 <https://github.com/pytest-dev/pytest-cov/pull/267>`_.
* Improved help text for CLI options.

2.6.1

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

* Added support for Pytest 4.1. Contributed by Daniel Hahler and Семён Марьясин in
`253 <https://github.com/pytest-dev/pytest-cov/pull/253>`_ and
`230 <https://github.com/pytest-dev/pytest-cov/pull/230>`_.
* Various test and docs fixes. Contributed by Daniel Hahler in
`224 <https://github.com/pytest-dev/pytest-cov/pull/224>`_ and
`223 <https://github.com/pytest-dev/pytest-cov/pull/223>`_.
* Fixed the "Module already imported" issue (`211 <https://github.com/pytest-dev/pytest-cov/issues/211>`_).
Contributed by Daniel Hahler in `228 <https://github.com/pytest-dev/pytest-cov/pull/228>`_.
Links

Update pytest-sugar from 0.9.1 to 0.9.2.

Changelog

0.9.2

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

- Fix incompatibility with pytest 3.10 (thanks Natim)
- Double colons for verbose output (thanks albertodonato)
- Fix "Wrong count with items modified in pytest_collection_modifyitems" (thanks blueyed)
- Defer registration of xdist hook (thanks blueyed)
Links

Update pytest from 3.8.2 to 5.2.1.

Changelog

5.2.1

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

Bug Fixes
---------

- `5902 <https://github.com/pytest-dev/pytest/issues/5902>`_: Fix warnings about deprecated ``cmp`` attribute in ``attrs>=19.2``.

5.2.0

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

Deprecations
------------

- `1682 <https://github.com/pytest-dev/pytest/issues/1682>`_: Passing arguments to pytest.fixture() as positional arguments is deprecated - pass them
as a keyword argument instead.



Features
--------

- `1682 <https://github.com/pytest-dev/pytest/issues/1682>`_: The ``scope`` parameter of ``pytest.fixture`` can now be a callable that receives
the fixture name and the ``config`` object as keyword-only parameters.
See `the docs <https://docs.pytest.org/en/latest/fixture.htmldynamic-scope>`__ for more information.


- `5764 <https://github.com/pytest-dev/pytest/issues/5764>`_: New behavior of the ``--pastebin`` option: failures to connect to the pastebin server are reported, without failing the pytest run



Bug Fixes
---------

- `5806 <https://github.com/pytest-dev/pytest/issues/5806>`_: Fix "lexer" being used when uploading to bpaste.net from ``--pastebin`` to "text".


- `5884 <https://github.com/pytest-dev/pytest/issues/5884>`_: Fix ``--setup-only`` and ``--setup-show`` for custom pytest items.



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

- `5056 <https://github.com/pytest-dev/pytest/issues/5056>`_: The HelpFormatter uses ``py.io.get_terminal_width`` for better width detection.

5.1.3

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

Bug Fixes
---------

- `5807 <https://github.com/pytest-dev/pytest/issues/5807>`_: Fix pypy3.6 (nightly) on windows.


- `5811 <https://github.com/pytest-dev/pytest/issues/5811>`_: Handle ``--fulltrace`` correctly with ``pytest.raises``.


- `5819 <https://github.com/pytest-dev/pytest/issues/5819>`_: Windows: Fix regression with conftest whose qualified name contains uppercase
characters (introduced by 5792).

5.1.2

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

Bug Fixes
---------

- `2270 <https://github.com/pytest-dev/pytest/issues/2270>`_: Fixed ``self`` reference in function-scoped fixtures defined plugin classes: previously ``self``
would be a reference to a *test* class, not the *plugin* class.


- `570 <https://github.com/pytest-dev/pytest/issues/570>`_: Fixed long standing issue where fixture scope was not respected when indirect fixtures were used during
parametrization.


- `5782 <https://github.com/pytest-dev/pytest/issues/5782>`_: Fix decoding error when printing an error response from ``--pastebin``.


- `5786 <https://github.com/pytest-dev/pytest/issues/5786>`_: Chained exceptions in test and collection reports are now correctly serialized, allowing plugins like
``pytest-xdist`` to display them properly.


- `5792 <https://github.com/pytest-dev/pytest/issues/5792>`_: Windows: Fix error that occurs in certain circumstances when loading
``conftest.py`` from a working directory that has casing other than the one stored
in the filesystem (e.g., ``c:\test`` instead of ``C:\test``).

5.1.1

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

Bug Fixes
---------

- `5751 <https://github.com/pytest-dev/pytest/issues/5751>`_: Fixed ``TypeError`` when importing pytest on Python 3.5.0 and 3.5.1.

5.1.0

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

Removals
--------

- `5180 <https://github.com/pytest-dev/pytest/issues/5180>`_: As per our policy, the following features have been deprecated in the 4.X series and are now
removed:

* ``Request.getfuncargvalue``: use ``Request.getfixturevalue`` instead.

* ``pytest.raises`` and ``pytest.warns`` no longer support strings as the second argument.

* ``message`` parameter of ``pytest.raises``.

* ``pytest.raises``, ``pytest.warns`` and ``ParameterSet.param`` now use native keyword-only
 syntax. This might change the exception message from previous versions, but they still raise
 ``TypeError`` on unknown keyword arguments as before.

* ``pytest.config`` global variable.

* ``tmpdir_factory.ensuretemp`` method.

* ``pytest_logwarning`` hook.

* ``RemovedInPytest4Warning`` warning type.

* ``request`` is now a reserved name for fixtures.


For more information consult
`Deprecations and Removals <https://docs.pytest.org/en/latest/deprecations.html>`__ in the docs.


- `5565 <https://github.com/pytest-dev/pytest/issues/5565>`_: Removed unused support code for `unittest2 <https://pypi.org/project/unittest2/>`__.

The ``unittest2`` backport module is no longer
necessary since Python 3.3+, and the small amount of code in pytest to support it also doesn't seem
to be used: after removed, all tests still pass unchanged.

Although our policy is to introduce a deprecation period before removing any features or support
for third party libraries, because this code is apparently not used
at all (even if ``unittest2`` is used by a test suite executed by pytest), it was decided to
remove it in this release.

If you experience a regression because of this, please
`file an issue <https://github.com/pytest-dev/pytest/issues/new>`__.


- `5615 <https://github.com/pytest-dev/pytest/issues/5615>`_: ``pytest.fail``, ``pytest.xfail`` and ``pytest.skip`` no longer support bytes for the message argument.

This was supported for Python 2 where it was tempting to use ``"message"``
instead of ``u"message"``.

Python 3 code is unlikely to pass ``bytes`` to these functions. If you do,
please decode it to an ``str`` beforehand.



Features
--------

- `5564 <https://github.com/pytest-dev/pytest/issues/5564>`_: New ``Config.invocation_args`` attribute containing the unchanged arguments passed to ``pytest.main()``.


- `5576 <https://github.com/pytest-dev/pytest/issues/5576>`_: New `NUMBER <https://docs.pytest.org/en/latest/doctest.htmlusing-doctest-options>`__
option for doctests to ignore irrelevant differences in floating-point numbers.
Inspired by Sébastien Boisgérault's `numtest <https://github.com/boisgera/numtest>`__
extension for doctest.



Improvements
------------

- `5471 <https://github.com/pytest-dev/pytest/issues/5471>`_: JUnit XML now includes a timestamp and hostname in the testsuite tag.


- `5707 <https://github.com/pytest-dev/pytest/issues/5707>`_: Time taken to run the test suite now includes a human-readable representation when it takes over
60 seconds, for example::

   ===== 2 failed in 102.70s (0:01:42) =====



Bug Fixes
---------

- `4344 <https://github.com/pytest-dev/pytest/issues/4344>`_: Fix RuntimeError/StopIteration when trying to collect package with "__init__.py" only.


- `5115 <https://github.com/pytest-dev/pytest/issues/5115>`_: Warnings issued during ``pytest_configure`` are explicitly not treated as errors, even if configured as such, because it otherwise completely breaks pytest.


- `5477 <https://github.com/pytest-dev/pytest/issues/5477>`_: The XML file produced by ``--junitxml`` now correctly contain a ``<testsuites>`` root element.


- `5523 <https://github.com/pytest-dev/pytest/issues/5523>`_: Fixed using multiple short options together in the command-line (for example ``-vs``) in Python 3.8+.


- `5524 <https://github.com/pytest-dev/pytest/issues/5524>`_: Fix issue where ``tmp_path`` and ``tmpdir`` would not remove directories containing files marked as read-only,
which could lead to pytest crashing when executed a second time with the ``--basetemp`` option.


- `5537 <https://github.com/pytest-dev/pytest/issues/5537>`_: Replace ``importlib_metadata`` backport with ``importlib.metadata`` from the
standard library on Python 3.8+.


- `5578 <https://github.com/pytest-dev/pytest/issues/5578>`_: Improve type checking for some exception-raising functions (``pytest.xfail``, ``pytest.skip``, etc)
so they provide better error messages when users meant to use marks (for example ``pytest.xfail``
instead of ``pytest.mark.xfail``).


- `5606 <https://github.com/pytest-dev/pytest/issues/5606>`_: Fixed internal error when test functions were patched with objects that cannot be compared
for truth values against others, like ``numpy`` arrays.


- `5634 <https://github.com/pytest-dev/pytest/issues/5634>`_: ``pytest.exit`` is now correctly handled in ``unittest`` cases.
This makes ``unittest`` cases handle ``quit`` from pytest's pdb correctly.


- `5650 <https://github.com/pytest-dev/pytest/issues/5650>`_: Improved output when parsing an ini configuration file fails.


- `5701 <https://github.com/pytest-dev/pytest/issues/5701>`_: Fix collection of ``staticmethod`` objects defined with ``functools.partial``.


- `5734 <https://github.com/pytest-dev/pytest/issues/5734>`_: Skip async generator test functions, and update the warning message to refer to ``async def`` functions.



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

- `5669 <https://github.com/pytest-dev/pytest/issues/5669>`_: Add docstring for ``Testdir.copy_example``.



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

- `5095 <https://github.com/pytest-dev/pytest/issues/5095>`_: XML files of the ``xunit2`` family are now validated against the schema by pytest's own test suite
to avoid future regressions.


- `5516 <https://github.com/pytest-dev/pytest/issues/5516>`_: Cache node splitting function which can improve collection performance in very large test suites.


- `5603 <https://github.com/pytest-dev/pytest/issues/5603>`_: Simplified internal ``SafeRepr`` class and removed some dead code.


- `5664 <https://github.com/pytest-dev/pytest/issues/5664>`_: When invoking pytest's own testsuite with ``PYTHONDONTWRITEBYTECODE=1``,
the ``test_xfail_handling`` test no longer fails.


- `5684 <https://github.com/pytest-dev/pytest/issues/5684>`_: Replace manual handling of ``OSError.errno`` in the codebase by new ``OSError`` subclasses (``PermissionError``, ``FileNotFoundError``, etc.).

5.0.1

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

Bug Fixes
---------

- `5479 <https://github.com/pytest-dev/pytest/issues/5479>`_: Improve quoting in ``raises`` match failure message.


- `5523 <https://github.com/pytest-dev/pytest/issues/5523>`_: Fixed using multiple short options together in the command-line (for example ``-vs``) in Python 3.8+.


- `5547 <https://github.com/pytest-dev/pytest/issues/5547>`_: ``--step-wise`` now handles ``xfail(strict=True)`` markers properly.



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

- `5517 <https://github.com/pytest-dev/pytest/issues/5517>`_: Improve "Declaring new hooks" section in chapter "Writing Plugins"

5.0.0

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

Important
---------

This release is a Python3.5+ only release.

For more details, see our `Python 2.7 and 3.4 support plan <https://docs.pytest.org/en/latest/py27-py34-deprecation.html>`__.

Removals
--------

- `1149 <https://github.com/pytest-dev/pytest/issues/1149>`_: Pytest no longer accepts prefixes of command-line arguments, for example
typing ``pytest --doctest-mod`` inplace of ``--doctest-modules``.
This was previously allowed where the ``ArgumentParser`` thought it was unambiguous,
but this could be incorrect due to delayed parsing of options for plugins.
See for example issues `1149 <https://github.com/pytest-dev/pytest/issues/1149>`__,
`3413 <https://github.com/pytest-dev/pytest/issues/3413>`__, and
`4009 <https://github.com/pytest-dev/pytest/issues/4009>`__.


- `5402 <https://github.com/pytest-dev/pytest/issues/5402>`_: **PytestDeprecationWarning are now errors by default.**

Following our plan to remove deprecated features with as little disruption as
possible, all warnings of type ``PytestDeprecationWarning`` now generate errors
instead of warning messages.

**The affected features will be effectively removed in pytest 5.1**, so please consult the
`Deprecations and Removals <https://docs.pytest.org/en/latest/deprecations.html>`__
section in the docs for directions on how to update existing code.

In the pytest ``5.0.X`` series, it is possible to change the errors back into warnings as a stop
gap measure by adding this to your ``pytest.ini`` file:

.. code-block:: ini

   [pytest]
   filterwarnings =
       ignore::pytest.PytestDeprecationWarning

But this will stop working when pytest ``5.1`` is released.

**If you have concerns** about the removal of a specific feature, please add a
comment to `5402 <https://github.com/pytest-dev/pytest/issues/5402>`__.


- `5412 <https://github.com/pytest-dev/pytest/issues/5412>`_: ``ExceptionInfo`` objects (returned by ``pytest.raises``) now have the same ``str`` representation as ``repr``, which
avoids some confusion when users use ``print(e)`` to inspect the object.

This means code like:

.. code-block:: python

     with pytest.raises(SomeException) as e:
         ...
     assert "some message" in str(e)


Needs to be changed to:

.. code-block:: python

     with pytest.raises(SomeException) as e:
         ...
     assert "some

@codecov-io
Copy link

codecov-io commented Oct 14, 2019

Codecov Report

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

Impacted file tree graph

@@           Coverage Diff           @@
##           master      #66   +/-   ##
=======================================
  Coverage   84.39%   84.39%           
=======================================
  Files          13       13           
  Lines         423      423           
  Branches       48       48           
=======================================
  Hits          357      357           
  Misses         51       51           
  Partials       15       15

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 571152e...9d0e145. Read the comment docs.

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