website icon indicating copy to clipboard operation
website copied to clipboard

Scheduled biweekly dependency update for week 26

Open pyup-bot opened this issue 8 months ago • 0 comments

Update aiohttp-jinja2 from 1.5 to 1.6.

Changelog

1.6

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

- Switch to ``aiohttp.web.AppKey``, and deprecate the old 'static_root_url' key.
- Drop Python 3.7, add Python 3.12.

1.5.1

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

- Add support for Python 3.11.
- Drop support for decorating non-async functions with template (deprecated since 0.16).
Links
  • PyPI: https://pypi.org/project/aiohttp-jinja2
  • Changelog: https://data.safetycli.com/changelogs/aiohttp-jinja2/
  • Repo: https://github.com/aio-libs/aiohttp_jinja2/

Update aiohttp-oauth2 from 0.0.3 to 0.0.5.

Changelog

0.0.5

This fixes when oauth2 resource providers are more technically correct in validating the content-type they receive, specifically for form data.
Links
  • PyPI: https://pypi.org/project/aiohttp-oauth2
  • Changelog: https://data.safetycli.com/changelogs/aiohttp-oauth2/
  • Repo: https://github.com/mrasband/aiohttp-oauth2

Update aiohttp-remotes from 1.0.0 to 1.2.0.

Changelog

1.2.0

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

Bugfixes
--------

- Raise a ``HTTPBadRequest`` instead of ``ValueError`` when ``X-Forwarded-For`` header is not a valid IP. (`311 <https://github.com/aio-libs/aiohttp-remotes/issues/311>`_)


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

- Dropped Python 3.6 support, the minimal supported aiohttp is 3.8.1 (`331 <https://github.com/aio-libs/aiohttp-remotes/issues/331>`_)

1.1.0

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

* Added support for Python 3.10
Links
  • PyPI: https://pypi.org/project/aiohttp-remotes
  • Changelog: https://data.safetycli.com/changelogs/aiohttp-remotes/
  • Repo: https://github.com/aio-libs/aiohttp-remotes

Update aiohttp from 3.7.4.post0 to 3.9.5.

Changelog

3.9.5

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

Bug fixes
---------

- Fixed "Unclosed client session" when initialization of
:py:class:`~aiohttp.ClientSession` fails -- by :user:`NewGlad`.


*Related issues and pull requests on GitHub:*
:issue:`8253`.



- Fixed regression (from :pr:`8280`) with adding ``Content-Disposition`` to the ``form-data``
part after appending to writer -- by :user:`Dreamsorcerer`/:user:`Olegt0rr`.


*Related issues and pull requests on GitHub:*
:issue:`8332`.



- Added default ``Content-Disposition`` in ``multipart/form-data`` responses to avoid broken
form-data responses -- by :user:`Dreamsorcerer`.


*Related issues and pull requests on GitHub:*
:issue:`8335`.




----

3.9.4

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

Bug fixes
---------

- The asynchronous internals now set the underlying causes
when assigning exceptions to the future objects
-- by :user:`webknjaz`.


*Related issues and pull requests on GitHub:*
:issue:`8089`.



- Treated values of ``Accept-Encoding`` header as case-insensitive when checking
for gzip files -- by :user:`steverep`.


*Related issues and pull requests on GitHub:*
:issue:`8104`.



- Improved the DNS resolution performance on cache hit -- by :user:`bdraco`.

This is achieved by avoiding an :mod:`asyncio` task creation in this case.


*Related issues and pull requests on GitHub:*
:issue:`8163`.


- Changed the type annotations to allow ``dict`` on :meth:`aiohttp.MultipartWriter.append`,
:meth:`aiohttp.MultipartWriter.append_json` and
:meth:`aiohttp.MultipartWriter.append_form` -- by :user:`cakemanny`


*Related issues and pull requests on GitHub:*
:issue:`7741`.



- Ensure websocket transport is closed when client does not close it
-- by :user:`bdraco`.

The transport could remain open if the client did not close it. This
change ensures the transport is closed when the client does not close
it.


*Related issues and pull requests on GitHub:*
:issue:`8200`.



- Leave websocket transport open if receive times out or is cancelled
-- by :user:`bdraco`.

This restores the behavior prior to the change in 7978.


*Related issues and pull requests on GitHub:*
:issue:`8251`.



- Fixed content not being read when an upgrade request was not supported with the pure Python implementation.
-- by :user:`bdraco`.


*Related issues and pull requests on GitHub:*
:issue:`8252`.



- Fixed a race condition with incoming connections during server shutdown -- by :user:`Dreamsorcerer`.


*Related issues and pull requests on GitHub:*
:issue:`8271`.



- Fixed ``multipart/form-data`` compliance with :rfc:`7578` -- by :user:`Dreamsorcerer`.


*Related issues and pull requests on GitHub:*
:issue:`8280`.



- Fixed blocking I/O in the event loop while processing files in a POST request
-- by :user:`bdraco`.


*Related issues and pull requests on GitHub:*
:issue:`8283`.



- Escaped filenames in static view -- by :user:`bdraco`.


*Related issues and pull requests on GitHub:*
:issue:`8317`.



- Fixed the pure python parser to mark a connection as closing when a
response has no length -- by :user:`Dreamsorcerer`.


*Related issues and pull requests on GitHub:*
:issue:`8320`.




Features
--------

- Upgraded *llhttp* to 9.2.1, and started rejecting obsolete line folding
in Python parser to match -- by :user:`Dreamsorcerer`.


*Related issues and pull requests on GitHub:*
:issue:`8146`, :issue:`8292`.




Deprecations (removal in next major release)
--------------------------------------------

- Deprecated ``content_transfer_encoding`` parameter in :py:meth:`FormData.add_field()
<aiohttp.FormData.add_field>` -- by :user:`Dreamsorcerer`.


*Related issues and pull requests on GitHub:*
:issue:`8280`.




Improved documentation
----------------------

- Added a note about canceling tasks to avoid delaying server shutdown -- by :user:`Dreamsorcerer`.


*Related issues and pull requests on GitHub:*
:issue:`8267`.




Contributor-facing changes
--------------------------

- The pull request template is now asking the contributors to
answer a question about the long-term maintenance challenges
they envision as a result of merging their patches
-- by :user:`webknjaz`.


*Related issues and pull requests on GitHub:*
:issue:`8099`.



- Updated CI and documentation to use NPM clean install and upgrade
node to version 18 -- by :user:`steverep`.


*Related issues and pull requests on GitHub:*
:issue:`8116`.



- A pytest fixture ``hello_txt`` was introduced to aid
static file serving tests in
:file:`test_web_sendfile_functional.py`. It dynamically
provisions ``hello.txt`` file variants shared across the
tests in the module.

-- by :user:`steverep`


*Related issues and pull requests on GitHub:*
:issue:`8136`.




Packaging updates and notes for downstreams
-------------------------------------------

- Added an ``internal`` pytest marker for tests which should be skipped
by packagers (use ``-m 'not internal'`` to disable them) -- by :user:`Dreamsorcerer`.


*Related issues and pull requests on GitHub:*
:issue:`8299`.




----

3.9.3

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

Bug fixes
---------

- Fixed backwards compatibility breakage (in 3.9.2) of ``ssl`` parameter when set outside
of ``ClientSession`` (e.g. directly in ``TCPConnector``) -- by :user:`Dreamsorcerer`.


*Related issues and pull requests on GitHub:*
:issue:`8097`, :issue:`8098`.




Miscellaneous internal changes
------------------------------

- Improved test suite handling of paths and temp files to consistently use pathlib and pytest fixtures.


*Related issues and pull requests on GitHub:*
:issue:`3957`.




----

3.9.2

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

Bug fixes
---------

- Fixed server-side websocket connection leak.


*Related issues and pull requests on GitHub:*
:issue:`7978`.



- Fixed ``web.FileResponse`` doing blocking I/O in the event loop.


*Related issues and pull requests on GitHub:*
:issue:`8012`.



- Fixed double compress when compression enabled and compressed file exists in server file responses.


*Related issues and pull requests on GitHub:*
:issue:`8014`.



- Added runtime type check for ``ClientSession`` ``timeout`` parameter.


*Related issues and pull requests on GitHub:*
:issue:`8021`.



- Fixed an unhandled exception in the Python HTTP parser on header lines starting with a colon -- by :user:`pajod`.

Invalid request lines with anything but a dot between the HTTP major and minor version are now rejected.
Invalid header field names containing question mark or slash are now rejected.
Such requests are incompatible with :rfc:`9110section-5.6.2` and are not known to be of any legitimate use.


*Related issues and pull requests on GitHub:*
:issue:`8074`.



- Improved validation of paths for static resources requests to the server -- by :user:`bdraco`.


*Related issues and pull requests on GitHub:*
:issue:`8079`.




Features
--------

- Added support for passing :py:data:`True` to ``ssl`` parameter in ``ClientSession`` while
deprecating :py:data:`None` -- by :user:`xiangyan99`.


*Related issues and pull requests on GitHub:*
:issue:`7698`.



Breaking changes
----------------

- Fixed an unhandled exception in the Python HTTP parser on header lines starting with a colon -- by :user:`pajod`.

Invalid request lines with anything but a dot between the HTTP major and minor version are now rejected.
Invalid header field names containing question mark or slash are now rejected.
Such requests are incompatible with :rfc:`9110section-5.6.2` and are not known to be of any legitimate use.


*Related issues and pull requests on GitHub:*
:issue:`8074`.




Improved documentation
----------------------

- Fixed examples of ``fallback_charset_resolver`` function in the :doc:`client_advanced` document. -- by :user:`henry0312`.


*Related issues and pull requests on GitHub:*
:issue:`7995`.



- The Sphinx setup was updated to avoid showing the empty
changelog draft section in the tagged release documentation
builds on Read The Docs -- by :user:`webknjaz`.


*Related issues and pull requests on GitHub:*
:issue:`8067`.




Packaging updates and notes for downstreams
-------------------------------------------

- The changelog categorization was made clearer. The
contributors can now mark their fragment files more
accurately -- by :user:`webknjaz`.

The new category tags are:

   * ``bugfix``

   * ``feature``

   * ``deprecation``

   * ``breaking`` (previously, ``removal``)

   * ``doc``

   * ``packaging``

   * ``contrib``

   * ``misc``


*Related issues and pull requests on GitHub:*
:issue:`8066`.




Contributor-facing changes
--------------------------

- Updated :ref:`contributing/Tests coverage <aiohttp-contributing>` section to show how we use ``codecov`` -- by :user:`Dreamsorcerer`.


*Related issues and pull requests on GitHub:*
:issue:`7916`.



- The changelog categorization was made clearer. The
contributors can now mark their fragment files more
accurately -- by :user:`webknjaz`.

The new category tags are:

   * ``bugfix``

   * ``feature``

   * ``deprecation``

   * ``breaking`` (previously, ``removal``)

   * ``doc``

   * ``packaging``

   * ``contrib``

   * ``misc``


*Related issues and pull requests on GitHub:*
:issue:`8066`.




Miscellaneous internal changes
------------------------------

- Replaced all ``tmpdir`` fixtures with ``tmp_path`` in test suite.


*Related issues and pull requests on GitHub:*
:issue:`3551`.




----

3.9.1

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

Bugfixes
--------

- Fixed importing aiohttp under PyPy on Windows.

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

- Fixed async concurrency safety in websocket compressor.

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

- Fixed ``ClientResponse.close()`` releasing the connection instead of closing.

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

- Fixed a regression where connection may get closed during upgrade. -- by :user:`Dreamsorcerer`

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

- Fixed messages being reported as upgraded without an Upgrade header in Python parser. -- by :user:`Dreamsorcerer`

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



----

3.9.0

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

Features
--------

- Introduced ``AppKey`` for static typing support of ``Application`` storage.
See https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config

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

- Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called.
The period can be adjusted with the ``shutdown_timeout`` parameter. -- by :user:`Dreamsorcerer`.
See https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown

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

- Added `handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation>`_ parameter to cancel web handler on client disconnection. -- by :user:`mosquito`
This (optionally) reintroduces a feature removed in a previous release.
Recommended for those looking for an extra level of protection against denial-of-service attacks.

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

- Added support for setting response header parameters ``max_line_size`` and ``max_field_size``.

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

- Added ``auto_decompress`` parameter to ``ClientSession.request`` to override ``ClientSession._auto_decompress``. -- by :user:`Daste745`

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

- Changed ``raise_for_status`` to allow a coroutine.

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

- Added client brotli compression support (optional with runtime check).

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

- Added ``client_max_size`` to ``BaseRequest.clone()`` to allow overriding the request body size. -- :user:`anesabml`.

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

- Added a middleware type alias ``aiohttp.typedefs.Middleware``.

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

- Exported ``HTTPMove`` which can be used to catch any redirection request
that has a location -- :user:`dreamsorcerer`.

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

- Changed the ``path`` parameter in ``web.run_app()`` to accept a ``pathlib.Path`` object.

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

- Performance: Skipped filtering ``CookieJar`` when the jar is empty or all cookies have expired.

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

- Performance: Only check origin if insecure scheme and there are origins to treat as secure, in ``CookieJar.filter_cookies()``.

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

- Performance: Used timestamp instead of ``datetime`` to achieve faster cookie expiration in ``CookieJar``.

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

- Added support for passing a custom server name parameter to HTTPS connection.

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

- Added support for using Basic Auth credentials from :file:`.netrc` file when making HTTP requests with the
:py:class:`~aiohttp.ClientSession` ``trust_env`` argument is set to ``True``. -- by :user:`yuvipanda`.

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

- Turned access log into no-op when the logger is disabled.

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

- Added typing information to ``RawResponseMessage``. -- by :user:`Gobot1234`

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

- Removed ``async-timeout`` for Python 3.11+ (replaced with ``asyncio.timeout()`` on newer releases).

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

- Added support for ``brotlicffi`` as an alternative to ``brotli`` (fixing Brotli support on PyPy).

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

- Added ``WebSocketResponse.get_extra_info()`` to access a protocol transport's extra info.

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

- Allow ``link`` argument to be set to None/empty in HTTP 451 exception.

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



Bugfixes
--------

- Implemented stripping the trailing dots from fully-qualified domain names in ``Host`` headers and TLS context when acting as an HTTP client.
This allows the client to connect to URLs with FQDN host name like ``https://example.com./``.
-- by :user:`martin-sucha`.

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

- Fixed client timeout not working when incoming data is always available without waiting. -- by :user:`Dreamsorcerer`.

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

- Fixed ``readuntil`` to work with a delimiter of more than one character.

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

- Added ``__repr__`` to ``EmptyStreamReader`` to avoid ``AttributeError``.

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

- Fixed bug when using ``TCPConnector`` with ``ttl_dns_cache=0``.

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

- Fixed response returned from expect handler being thrown away. -- by :user:`Dreamsorcerer`

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

- Avoided raising ``UnicodeDecodeError`` in multipart and in HTTP headers parsing.

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

- Changed ``sock_read`` timeout to start after writing has finished, avoiding read timeouts caused by an unfinished write. -- by :user:`dtrifiro`

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

- Fixed missing query in tracing method URLs when using ``yarl`` 1.9+.

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

- Changed max 32-bit timestamp to an aware datetime object, for consistency with the non-32-bit one, and to avoid a ``DeprecationWarning`` on Python 3.12.

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

- Fixed ``EmptyStreamReader.iter_chunks()`` never ending. -- by :user:`mind1m`

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

- Fixed a rare ``RuntimeError: await wasn't used with future`` exception. -- by :user:`stalkerg`

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

- Fixed issue with insufficient HTTP method and version validation.

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

- Added check to validate that absolute URIs have schemes.

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

- Fixed unhandled exception when Python HTTP parser encounters unpaired Unicode surrogates.

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

- Updated parser to disallow invalid characters in header field names and stop accepting LF as a request line separator.

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

- Fixed Python HTTP parser not treating 204/304/1xx as an empty body.

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

- Ensure empty body response for 1xx/204/304 per RFC 9112 sec 6.3.

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

- Fixed an issue when a client request is closed before completing a chunked payload. -- by :user:`Dreamsorcerer`

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

- Edge Case Handling for ResponseParser for missing reason value.

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

- Fixed ``ClientWebSocketResponse.close_code`` being erroneously set to ``None`` when there are concurrent async tasks receiving data and closing the connection.

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

- Added HTTP method validation.

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

- Fixed arbitrary sequence types being allowed to inject values via version parameter. -- by :user:`Dreamsorcerer`

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

- Performance: Fixed increase in latency with small messages from websocket compression changes.

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



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

- Fixed the `ClientResponse.release`'s type in the doc. Changed from `comethod` to `method`.

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

- Added information on behavior of base_url parameter in `ClientSession`.

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

- Fixed `ClientResponseError` docs.

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

- Updated Redis code examples to follow the latest API.

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

- Added a note about possibly needing to update headers when using ``on_response_prepare``. -- by :user:`Dreamsorcerer`

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

- Completed ``trust_env`` parameter description to honor ``wss_proxy``, ``ws_proxy`` or ``no_proxy`` env.

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

- Expanded SSL documentation with more examples (e.g. how to use certifi). -- by :user:`Dreamsorcerer`

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

- Fix, update, and improve client exceptions documentation.

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



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

- Added ``shutdown_timeout`` parameter to ``BaseRunner``, while
deprecating ``shutdown_timeout`` parameter from ``BaseSite``. -- by :user:`Dreamsorcerer`

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

- Dropped Python 3.6 support.

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

- Dropped Python 3.7 support. -- by :user:`Dreamsorcerer`

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

- Removed support for abandoned ``tokio`` event loop. -- by :user:`Dreamsorcerer`

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



Misc
----

- Made ``print`` argument in ``run_app()`` optional.

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

- Improved performance of ``ceil_timeout`` in some cases.

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

- Changed importing Gunicorn to happen on-demand, decreasing import time by ~53%. -- :user:`Dreamsorcerer`

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

- Improved import time by replacing ``http.server`` with ``http.HTTPStatus``.

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

- Fixed annotation of ``ssl`` parameter to disallow ``True``. -- by :user:`Dreamsorcerer`.

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


----

3.8.6

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

Security bugfixes
-----------------

- Upgraded the vendored copy of llhttp_ to v9.1.3 -- by :user:`Dreamsorcerer`

Thanks to :user:`kenballus` for reporting this, see
https://github.com/aio-libs/aiohttp/security/advisories/GHSA-pjjw-qhg8-p2p9.

.. _llhttp: https://llhttp.org

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

- Updated Python parser to comply with RFCs 9110/9112 -- by :user:`Dreamorcerer`

Thanks to :user:`kenballus` for reporting this, see
https://github.com/aio-libs/aiohttp/security/advisories/GHSA-gfw2-4jvh-wgfg.

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


Deprecation
-----------

- Added ``fallback_charset_resolver`` parameter in ``ClientSession`` to allow a user-supplied
character set detection function.

Character set detection will no longer be included in 3.9 as a default. If this feature is needed,
please use `fallback_charset_resolver <https://docs.aiohttp.org/en/stable/client_advanced.html#character-set-detection>`_.

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


Features
--------

- Enabled lenient response parsing for more flexible parsing in the client
(this should resolve some regressions when dealing with badly formatted HTTP responses). -- by :user:`Dreamsorcerer`

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



Bugfixes
--------

- Fixed ``PermissionError`` when ``.netrc`` is unreadable due to permissions.

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

- Fixed output of parsing errors pointing to a ``\n``. -- by :user:`Dreamsorcerer`

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

- Fixed ``GunicornWebWorker`` max_requests_jitter not working.

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

- Fixed sorting in ``filter_cookies`` to use cookie with longest path. -- by :user:`marq24`.

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

- Fixed display of ``BadStatusLine`` messages from llhttp_. -- by :user:`Dreamsorcerer`

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


----

3.8.5

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

Security bugfixes
-----------------

- Upgraded the vendored copy of llhttp_ to v8.1.1 -- by :user:`webknjaz`
and :user:`Dreamsorcerer`.

Thanks to :user:`sethmlarson` for reporting this and providing us with
comprehensive reproducer, workarounds and fixing details! For more
information, see
https://github.com/aio-libs/aiohttp/security/advisories/GHSA-45c4-8wx5-qw6w.

.. _llhttp: https://llhttp.org

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


Features
--------

- Added information to C parser exceptions to show which character caused the error. -- by :user:`Dreamsorcerer`

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


Bugfixes
--------

- Fixed a transport is :data:`None` error -- by :user:`Dreamsorcerer`.

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


----

3.8.4

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

Bugfixes
--------

- Fixed incorrectly overwriting cookies with the same name and domain, but different path.
`6638 <https://github.com/aio-libs/aiohttp/issues/6638>`_
- Fixed ``ConnectionResetError`` not being raised after client disconnection in SSL environments.
`7180 <https://github.com/aio-libs/aiohttp/issues/7180>`_


----

3.8.3

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

.. attention::

This is the last :doc:`aiohttp <index>` release tested under
Python 3.6. The 3.9 stream is dropping it from the CI and the
distribution package metadata.

Bugfixes
--------

- Increased the upper boundary of the :doc:`multidict:index` dependency
to allow for the version 6 -- by :user:`hugovk`.

It used to be limited below version 7 in :doc:`aiohttp <index>` v3.8.1 but
was lowered in v3.8.2 via :pr:`6550` and never brought back, causing
problems with dependency pins when upgrading. :doc:`aiohttp <index>` v3.8.3
fixes that by recovering the original boundary of ``< 7``.
`6950 <https://github.com/aio-libs/aiohttp/issues/6950>`_


----

3.8.2

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

Bugfixes
--------

- Support registering OPTIONS HTTP method handlers via RouteTableDef.
`4663 <https://github.com/aio-libs/aiohttp/issues/4663>`_
- Started supporting ``authority-form`` and ``absolute-form`` URLs on the server-side.
`6227 <https://github.com/aio-libs/aiohttp/issues/6227>`_
- Fix Python 3.11 alpha incompatibilities by using Cython 0.29.25
`6396 <https://github.com/aio-libs/aiohttp/issues/6396>`_
- Remove a deprecated usage of pytest.warns(None)
`6663 <https://github.com/aio-libs/aiohttp/issues/6663>`_
- Fix regression where ``asyncio.CancelledError`` occurs on client disconnection.
`6719 <https://github.com/aio-libs/aiohttp/issues/6719>`_
- Export :py:class:`~aiohttp.web.PrefixedSubAppResource` under
:py:mod:`aiohttp.web` -- by :user:`Dreamsorcerer`.

This fixes a regression introduced by :pr:`3469`.
`6889 <https://github.com/aio-libs/aiohttp/issues/6889>`_
- Dropped the :class:`object` type possibility from
the :py:attr:`aiohttp.ClientSession.timeout`
property return type declaration.
`6917 <https://github.com/aio-libs/aiohttp/issues/6917>`_,
`6923 <https://github.com/aio-libs/aiohttp/issues/6923>`_


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

- Added clarification on configuring the app object with settings such as a db connection.
`4137 <https://github.com/aio-libs/aiohttp/issues/4137>`_
- Edited the web.run_app declaration.
`6401 <https://github.com/aio-libs/aiohttp/issues/6401>`_
- Dropped the :class:`object` type possibility from
the :py:attr:`aiohttp.ClientSession.timeout`
property return type declaration.
`6917 <https://github.com/aio-libs/aiohttp/issues/6917>`_,
`6923 <https://github.com/aio-libs/aiohttp/issues/6923>`_


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

- Drop Python 3.5 support, aiohttp works on 3.6+ now.
`4046 <https://github.com/aio-libs/aiohttp/issues/4046>`_


Misc
----

- `6369 <https://github.com/aio-libs/aiohttp/issues/6369>`_, `#6399 <https://github.com/aio-libs/aiohttp/issues/6399>`_, `#6550 <https://github.com/aio-libs/aiohttp/issues/6550>`_, `#6708 <https://github.com/aio-libs/aiohttp/issues/6708>`_, `#6757 <https://github.com/aio-libs/aiohttp/issues/6757>`_, `#6857 <https://github.com/aio-libs/aiohttp/issues/6857>`_, `#6872 <https://github.com/aio-libs/aiohttp/issues/6872>`_


----

3.8.1

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

Bugfixes
--------

- Fix the error in handling the return value of `getaddrinfo`.
`getaddrinfo` will return an `(int, bytes)` tuple, if CPython could not handle the address family.
It will cause an index out of range error in aiohttp. For example, if user compile CPython with
`--disable-ipv6` option, but his system enable the ipv6.
`5901 <https://github.com/aio-libs/aiohttp/issues/5901>`_
- Do not install "examples" as a top-level package.
`6189 <https://github.com/aio-libs/aiohttp/issues/6189>`_
- Restored ability to connect IPv6-only host.
`6195 <https://github.com/aio-libs/aiohttp/issues/6195>`_
- Remove ``Signal`` from ``__all__``, replace ``aiohttp.Signal`` with ``aiosignal.Signal`` in docs
`6201 <https://github.com/aio-libs/aiohttp/issues/6201>`_
- Made chunked encoding HTTP header check stricter.
`6305 <https://github.com/aio-libs/aiohttp/issues/6305>`_


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

- update quick starter demo codes.
`6240 <https://github.com/aio-libs/aiohttp/issues/6240>`_
- Added an explanation of how tiny timeouts affect performance to the client reference document.
`6274 <https://github.com/aio-libs/aiohttp/issues/6274>`_
- Add flake8-docstrings to flake8 configuration, enable subset of checks.
`6276 <https://github.com/aio-libs/aiohttp/issues/6276>`_
- Added information on running complex applications with additional tasks/processes -- :user:`Dreamsorcerer`.
`6278 <https://github.com/aio-libs/aiohttp/issues/6278>`_


Misc
----

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


----

3.8.0

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

Features
--------

- Added a ``GunicornWebWorker`` feature for extending the aiohttp server configuration by allowing the 'wsgi' coroutine to return ``web.AppRunner`` object.
`2988 <https://github.com/aio-libs/aiohttp/issues/2988>`_
- Switch from ``http-parser`` to ``llhttp``
`3561 <https://github.com/aio-libs/aiohttp/issues/3561>`_
- Use Brotli instead of brotlipy
`3803 <https://github.com/aio-libs/aiohttp/issues/3803>`_
- Disable implicit switch-back to pure python mode. The build fails loudly if aiohttp
cannot be compiled with C Accelerators.  Use AIOHTTP_NO_EXTENSIONS=1 to explicitly
disable C Extensions complication and switch to Pure-Python mode.  Note that Pure-Python
mode is significantly slower than compiled one.
`3828 <https://github.com/aio-libs/aiohttp/issues/3828>`_
- Make access log use local time with timezone
`3853 <https://github.com/aio-libs/aiohttp/issues/3853>`_
- Implemented ``readuntil`` in ``StreamResponse``
`4054 <https://github.com/aio-libs/aiohttp/issues/4054>`_
- FileResponse now supports ETag.
`4594 <https://github.com/aio-libs/aiohttp/issues/4594>`_
- Add a request handler type alias ``aiohttp.typedefs.Handler``.
`4686 <https://github.com/aio-libs/aiohttp/issues/4686>`_
- ``AioHTTPTestCase`` is more async friendly now.

For people who use unittest and are used to use :py:exc:`~unittest.TestCase`
it will be easier to write new test cases like the sync version of the :py:exc:`~unittest.TestCase` class,
without using the decorator `unittest_run_loop`, just `async def test_*`.
The only difference is that for the people using python3.7 and below a new dependency is needed, it is ``asynctestcase``.
`4700 <https://github.com/aio-libs/aiohttp/issues/4700>`_
- Add validation of HTTP header keys and values to prevent header injection.
`4818 <https://github.com/aio-libs/aiohttp/issues/4818>`_
- Add predicate to ``AbstractCookieJar.clear``.
Add ``AbstractCookieJar.clear_domain`` to clean all domain and subdomains cookies only.
`4942 <https://github.com/aio-libs/aiohttp/issues/4942>`_
- Add keepalive_timeout parameter to web.run_app.
`5094 <https://github.com/aio-libs/aiohttp/issues/5094>`_
- Tracing for client sent headers
`5105 <https://github.com/aio-libs/aiohttp/issues/5105>`_
- Make type hints for http parser stricter
`5267 <https://github.com/aio-libs/aiohttp/issues/5267>`_
- Add final declarations for constants.
`5275 <https://github.com/aio-libs/aiohttp/issues/5275>`_
- Switch to external frozenlist and aiosignal libraries.
`5293 <https://github.com/aio-libs/aiohttp/issues/5293>`_
- Don't send secure cookies by insecure transports.

By default, the transport is secure if https or wss scheme is used.
Use `CookieJar(treat_as_secure_origin="http://127.0.0.1")` to override the default security checker.
`5571 <https://github.com/aio-libs/aiohttp/issues/5571>`_
- Always create a new event loop in ``aiohttp.web.run_app()``.
This adds better compatibility with ``asyncio.run()`` or if trying to run multiple apps in sequence.
`5572 <https://github.com/aio-libs/aiohttp/issues/5572>`_
- Add ``aiohttp.pytest_plugin.AiohttpClient`` for static typing of pytest plugin.
`5585 <https://github.com/aio-libs/aiohttp/issues/5585>`_
- Added a ``socket_factory`` argument to ``BaseTestServer``.
`5844 <https://github.com/aio-libs/aiohttp/issues/5844>`_
- Add compression strategy parameter to enable_compression method.
`5909 <https://github.com/aio-libs/aiohttp/issues/5909>`_
- Added support for Python 3.10 to Github Actions CI/CD workflows and fix the related deprecation warnings -- :user:`Hanaasagi`.
`5927 <https://github.com/aio-libs/aiohttp/issues/5927>`_
- Switched ``chardet`` to ``charset-normalizer`` for guessing the HTTP payload body encoding -- :user:`Ousret`.
`5930 <https://github.com/aio-libs/aiohttp/issues/5930>`_
- Added optional auto_decompress argument for HttpRequestParser
`5957 <https://github.com/aio-libs/aiohttp/issues/5957>`_
- Added support for HTTPS proxies to the extent CPython's
:py:mod:`asyncio` supports it -- by :user:`bmbouter`,
:user:`jborean93` and :user:`webknjaz`.
`5992 <https://github.com/aio-libs/aiohttp/issues/5992>`_
- Added ``base_url`` parameter to the initializer of :class:`~aiohttp.ClientSession`.
`6013 <https://github.com/aio-libs/aiohttp/issues/6013>`_
- Add Trove classifier and create binary wheels for 3.10. -- :user:`hugovk`.
`6079 <https://github.com/aio-libs/aiohttp/issues/6079>`_
- Started shipping platform-specific wheels with the ``musl`` tag targeting typical Alpine Linux runtimes — :user:`asvetlov`.
`6139 <https://github.com/aio-libs/aiohttp/issues/6139>`_
- Started shipping platform-specific arm64 wheels for Apple Silicon — :user:`asvetlov`.
`6139 <https://github.com/aio-libs/aiohttp/issues/6139>`_


Bugfixes
--------

- Modify _drain_helper() to handle concurrent `await resp.write(...)` or `ws.send_json(...)` calls without race-condition.
`2934 <https://github.com/aio-libs/aiohttp/issues/2934>`_
- Started using `MultiLoopChildWatcher` when it's available under POSIX while setting up the test I/O loop.
`3450 <https://github.com/aio-libs/aiohttp/issues/3450>`_
- Only encode content-disposition filename parameter using percent-encoding.
Other parameters are encoded to quoted-string or RFC2231 extended parameter
value.
`4012 <https://github.com/aio-libs/aiohttp/issues/4012>`_
- Fixed HTTP client requests to honor ``no_proxy`` environment variables.
`4431 <https://github.com/aio-libs/aiohttp/issues/4431>`_
- Fix supporting WebSockets proxies configured via environment variables.
`4648 <https://github.com/aio-libs/aiohttp/issues/4648>`_
- Change return type on URLDispatcher to UrlMappingMatchInfo to improve type annotations.
`4748 <https://github.com/aio-libs/aiohttp/issues/4748>`_
- Ensure a cleanup context is cleaned up even when an exception occurs during startup.
`4799 <https://github.com/aio-libs/aiohttp/issues/4799>`_
- Added a new exception type for Unix socket client errors which provides a more useful error message.
`4984 <https://github.com/aio-libs/aiohttp/issues/4984>`_
- Remove Transfer-Encoding and Content-Type headers for 204 in StreamResponse
`5106 <https://github.com/aio-libs/aiohttp/issues/5106>`_
- Only depend on typing_extensions for Python <3.8
`5107 <https://github.com/aio-libs/aiohttp/issues/5107>`_
- Add ABNORMAL_CLOSURE and BAD_GATEWAY to WSCloseCode
`5192 <https://github.com/aio-libs/aiohttp/issues/5192>`_
- Fix cookies disappearing from HTTPExceptions.
`5233 <https://github.com/aio-libs/aiohttp/issues/5233>`_
- StaticResource prefixes no longer match URLs with a non-folder prefix. For example ``routes.static('/foo', '/foo')`` no longer matches the URL ``/foobar``. Previously, this would attempt to load the file ``/foo/ar``.
`5250 <https://github.com/aio-libs/aiohttp/issues/5250>`_
- Acquire the connection before running traces to prevent race condition.
`5259 <https://github.com/aio-libs/aiohttp/issues/5259>`_
- Add missing slots to _RequestContextManager`` and ``_WSRequestContextManager``
`5329 <https://github.com/aio-libs/aiohttp/issues/5329>`_
- Ensure sending a zero byte file does not throw an exception (round 2)
`5380 <https://github.com/aio-libs/aiohttp/issues/5380>`_
- Set "text/plain" when data is an empty string in client requests.
`5392 <https://github.com/aio-libs/aiohttp/issues/5392>`_
- Stop automatically releasing the ``ClientResponse`` object on calls to the ``ok`` property for the failed requests.
`5403 <https://github.com/aio-libs/aiohttp/issues/5403>`_
- Include query parameters from `params` keyword argument in tracing `URL`.
`5432 <https://github.com/aio-libs/aiohttp/issues/5432>`_
- Fix annotations
`5466 <https://github.com/aio-libs/aiohttp/issues/5466>`_
- Fixed the multipart POST requests processing to always release file
descriptors for the ``tempfile.Temporaryfile``-created
``_io.BufferedRandom`` instances of files sent within multipart request
bodies via HTTP POST requests -- by :user:`webknjaz`.
`5494 <https://github.com/aio-libs/aiohttp/issues/5494>`_
- Fix 0 being incorrectly treated as an immediate timeout.
`5527 <https://github.com/aio-libs/aiohttp/issues/5527>`_
- Fixes failing tests when an environment variable <scheme>_proxy is set.
`5554 <https://github.com/aio-libs/aiohttp/issues/5554>`_
- Replace deprecated app handler design in ``tests/autobahn/server.py`` with call to ``web.run_app``; replace deprecated ``aiohttp.ws_connect`` calls in ``tests/autobahn/client.py`` with ``aiohttp.ClienSession.ws_connect``.
`5606 <https://github.com/aio-libs/aiohttp/issues/5606>`_
- Fixed test for ``HTTPUnauthorized`` that access the ``text`` argument. This is not used in any part of the code, so it's removed now.
`5657 <https://github.com/aio-libs/aiohttp/issues/5657>`_
- Remove incorrect default from docs
`5727 <https://github.com/aio-libs/aiohttp/issues/5727>`_
- Remove external test dependency to http://httpbin.org
`5840 <https://github.com/aio-libs/aiohttp/issues/5840>`_
- Don't cancel current task when entering a cancelled timer.
`5853 <https://github.com/aio-libs/aiohttp/issues/5853>`_
- Added ``params`` keyword argument to ``ClientSession.ws_connect``. --  :user:`hoh`.
`5868 <https://github.com/aio-libs/aiohttp/issues/5868>`_
- Uses :py:class:`~asyncio.ThreadedChildWatcher` under POSIX to allow setting up test loop in non-main thread.
`5877 <https://github.com/aio-libs/aiohttp/issues/5877>`_
- Fix the error in handling the return value of `getaddrinfo`.
`getaddrinfo` will return an `(int, bytes)` tuple, if CPython could not handle the address family.
It will cause a index out of range error in aiohttp. For example, if user compile CPython with
`--disable-ipv6` option but his system enable the ipv6.
`5901 <https://github.com/aio-libs/aiohttp/issues/5901>`_
- Removed the deprecated ``loop`` argument from the ``asyncio.sleep``/``gather`` calls
`5905 <https://github.com/aio-libs/aiohttp/issues/5905>`_
- Return ``None`` from ``request.if_modified_since``, ``request.if_unmodified_since``, ``request.if_range`` and ``response.last_modified`` when corresponding http date headers are invalid.
`5925 <https://github.com/aio-libs/aiohttp/issues/5925>`_
- Fix resetting `SIGCHLD` signals in Gunicorn aiohttp Worker to fix `subprocesses` that capture output having an incorrect `returncode`.
`6130 <https://github.com/aio-libs/aiohttp/issues/6130>`_
- Raise ``400: Content-Length can't be present with Transfer-Encoding`` if both ``Content-Length`` and ``Transfer-Encoding`` are sent by peer by both C and Python implementations
`6182 <https://github.com/aio-libs/aiohttp/issues/6182>`_


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

- Refactored OpenAPI/Swagger aiohttp addons, added ``aio-openapi``
`5326 <https://github.com/aio-libs/aiohttp/issues/5326>`_
- Fixed docs on request cookies type, so it matches what is actually used in the code (a
read-only dictionary-like object).
`5725 <https://github.com/aio-libs/aiohttp/issues/5725>`_
- Documented that the HTTP client ``Authorization`` header is removed
on redirects to a different host or protocol.
`5850 <https://github.com/aio-libs/aiohttp/issues/5850>`_


Misc
----

- `3927 <https://github.com/aio-libs/aiohttp/issues/3927>`_, `#4247 <https://github.com/aio-libs/aiohttp/issues/4247>`_, `#4247 <https://github.com/aio-libs/aiohttp/issues/4247>`_, `#5389 <https://github.com/aio-libs/aiohttp/issues/5389>`_, `#5457 <https://github.com/aio-libs/aiohttp/issues/5457>`_, `#5486 <https://github.com/aio-libs/aiohttp/issues/5486>`_, `#5494 <https://github.com/aio-libs/aiohttp/issues/5494>`_, `#5515 <https://github.com/aio-libs/aiohttp/issues/5515>`_, `#5625 <https://github.com/aio-libs/aiohttp/issues/5625>`_, `#5635 <https://github.com/aio-libs/aiohttp/issues/5635>`_, `#5648 <https://github.com/aio-libs/aiohttp/issues/5648>`_, `#5657 <https://github.com/aio-libs/aiohttp/issues/5657>`_, `#5890 <https://github.com/aio-libs/aiohttp/issues/5890>`_, `#5914 <https://github.com/aio-libs/aiohttp/issues/5914>`_, `#5932 <https://github.com/aio-libs/aiohttp/issues/5932>`_, `#6002 <https://github.com/aio-libs/aiohttp/issues/6002>`_, `#6045 <https://github.com/aio-libs/aiohttp/issues/6045>`_, `#6131 <https://github.com/aio-libs/aiohttp/issues/6131>`_, `#6156 <https://github.com/aio-libs/aiohttp/issues/6156>`_, `#6165 <https://github.com/aio-libs/aiohttp/issues/6165>`_, `#6166 <https://github.com/aio-libs/aiohttp/issues/6166>`_


----
Links
  • PyPI: https://pypi.org/project/aiohttp
  • Changelog: https://data.safetycli.com/changelogs/aiohttp/
  • Repo: https://github.com/aio-libs/aiohttp

Update aioredis from 1.3.1 to 2.0.1.

Changelog

2.0.1

Features

- Added Python 3.10 to CI & Updated the Docs
(see 1160)
- Enable mypy in CI (see 1101)
- Synchronized reading the responses from a connection
(see 1106)

Fixes

- Remove __del__ from Redis (Fixes 1115)
(see 1227)
- fix socket.error raises (see 1129)
- Fix buffer is closed error when using PythonParser class
(see 1213)

2.0.0

Features

- Port redis-py's client implementation to aioredis.  
(see 891)

- Make hiredis an optional dependency.  
(see 917)
Links
  • PyPI: https://pypi.org/project/aioredis
  • Changelog: https://data.safetycli.com/changelogs/aioredis/
  • Repo: https://github.com/aio-libs/aioredis-py

Update alembic from 1.5.8 to 1.13.2.

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

Links
  • PyPI: https://pypi.org/project/alembic
  • Homepage: https://alembic.sqlalchemy.org
  • Docs: https://pythonhosted.org/alembic/

Update apscheduler from 3.7.0 to 3.10.4.

Changelog

3.9.1

* Removed a leftover check for pytz ``localize()`` and ``normalize()`` methods

3.9.0

- Added support for PySide6 to the Qt scheduler
- No longer enforce pytz time zones (support for others is experimental in the 3.x series)
- Fixed compatibility with PyMongo 4
- Fixed pytz deprecation warnings
- Fixed RuntimeError when shutting down the scheduler from a scheduled job

3.8.1

- Allowed the use of tzlocal v4.0+ in addition to v2.*

3.8.0

- Allowed passing through keyword arguments to the underlying stdlib executors in the
thread/process pool executors (PR by Albert Xu)
Links
  • PyPI: https://pypi.org/project/apscheduler
  • Changelog: https://data.safetycli.com/changelogs/apscheduler/
  • Repo: https://github.com/agronholm/apscheduler
  • Docs: https://pythonhosted.org/APScheduler/

Update gunicorn from 20.1.0 to 22.0.0.

Changelog

21.2.0

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

- fix thread worker: revert change considering connection as idle . 

*** NOTE ***

This is fixing the bad file description error.

21.0.1

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

- fix documentation build

21.0.0

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

- support python 3.11
- fix gevent and eventlet workers
- fix threads support (gththread): improve performance and unblock requests
- SSL: now use SSLContext object
- HTTP parser: miscellaneous fixes
- remove unnecessary setuid calls
- fix testing
- improve logging
- miscellaneous fixes to core engine

*** RELEASE NOTE ***

We made this release major to start our new release cycle. More info will be provided on our discussion forum.
Links
  • PyPI: https://pypi.org/project/gunicorn
  • Changelog: https://data.safetycli.com/changelogs/gunicorn/

Update marshmallow from 3.11.1 to 3.21.3.

Changelog

3.21.3

*******************

Bug fixes:

- Fix memory leak that prevented schema instances from getting GC'd (:pr:`2277`).
Thanks :user:`mrcljx` for the PR.

3.21.2

*******************

Bug fixes:

- Allow timestamp 0 in ``fields.DateTime`` (:issue:`2133`).
Thanks :user:`flydzen` for reporting.

3.21.1

*******************

Bug fixes:

- Fix error message when field is declared as a class and not an instance (:issue:`2245`).
Thanks :user:`travnick` for reporting.

3.21.0

*******************

Bug fixes:

- Fix validation of ``URL`` fields to allow missing user field,
per NWG RFC 3986 (:issue:`2232`). Thanks :user:`ddennerline3` for reporting
and :user:`deckar01` for the PR.

Other changes:

- *Backwards-incompatible*: ``__version__``, ``__parsed_version__``, and ``__version_info__``
attributes are deprecated (:issue:`2227`). Use feature detection or
``importlib.metadata.version("marshmallow")`` instead.

3.20.2

*******************

Bug fixes:

- Fix ``Nested`` field type hint for lambda ``Schema`` types (:pr:`2164`).
Thanks :user:`somethingnew2-0` for the PR.

Other changes:

- Officially support Python 3.12 (:pr:`2188`).
Thanks :user:`hugovk` for the PR.

3.20.1

*******************

Bug fixes:

- Fix call to ``get_declared_fields``: pass ``dict_cls`` again (:issue:`2152`).
Thanks :user:`Cheaterman` for reporting.

3.20.0

*******************

Features:

- Add ``absolute`` parameter to ``URL`` validator and ``Url`` field (:pr:`2123`).
Thanks :user:`sirosen` for the PR.
- Use Abstract Base Classes to define ``FieldABC`` and ``SchemaABC``
(:issue:`1449`). Thanks :user:`aditkumar72` for the PR.
- Use `OrderedSet` as default `set_class`. Schemas are now ordered by default.
(:issue:`1744`)

Bug fixes:

- Handle ``OSError`` and ``OverflowError`` in ``utils.from_timestamp`` (:pr:`2102`).
Thanks :user:`TheBigRoomXXL` for the PR.
- Fix the default inheritance of nested partial schemas (:issue:`2149`).
Thanks :user:`matejsp` for reporting.

Other changes:

- Officially support Python 3.11 (:pr:`2067`).
- Drop support for Python 3.7 (:pr:`2135`).

3.19.0

*******************

Features:

- Add ``timestamp`` and ``timestamp_ms`` formats to ``fields.DateTime``
(:issue:`612`).
Thanks :user:`vgavro` for the suggestion and thanks :user:`vanHoi` for
the PR.

3.18.0

*******************

Features:

- Add ``Enum`` field (:pr:`2017`) and (:pr:`2044`).

Bug fixes:

- Fix typing in ``Field._serialize`` signature (:pr:`2046`).

3.17.1

*******************

Bug fixes:

- Add return type to ``fields.Email.__init__`` (:pr:`2018`).
Thanks :user:`kkirsche` for the PR.
- Add missing type hint to IPInterface __init__ (:pr:`2036`).

3.17.0

*******************

Features:

- Support serialization as float in ``TimeDelta`` field (:pr:`1998`).
Thanks :user:`marcosatti` for the PR.
- Add ``messages_dict`` property to ``ValidationError`` to facilitate type checking
(:pr:`1976`).
Thanks :user:`sirosen` for the PR.

3.16.0

*******************

Features:

- Raise ``ValueError`` if an invalid value is passed to the ``unknown``
argument (:issue:`1721`, :issue:`1732`).
Thanks :user:`sirosen` for the PR.

Other changes:

- Set lower bound for ``packaging`` requirement (:issue:`1957`).
Thanks :user:`MatthewNicolTR` for reporting and thanks :user:`sirosen` for the PR.
- Improve warning messages by passing ``stacklevel`` (:pr:`1986`).
Thanks :user:`tirkarthi` for the PR.

3.15.0

*******************

Features:

- Allow passing a ``dict`` to ``fields.Nested`` (:pr:`1935`).
Thanks :user:`sirosen` for the PR.

Other changes:

- Address distutils deprecation warning in Python 3.10 (:pr:`1903`).
Thanks :user:`kkirsche` for the PR.
- Add py310 to black target-version (:pr:`1921`).
- Drop support for Python 3.6 (:pr:`1923`).
- Use postponed evaluation of annotations (:pr:`1932`).
Thanks :user:`Isira-Seneviratne` for the PR.

3.14.1

*******************

Bug fixes:

- Fix publishing type hints per `PEP-561 <https://www.python.org/dev/peps/pep-0561/>`_
(:pr:`1905`). Thanks :user:`bwindsor` for the catch and patch.

3.14.0

*******************

Bug fixes:

- Fix ``fields.TimeDelta`` serialization precision (:issue:`1865`).
Thanks :user:`yarsanich` for reporting.

Other changes:

- Fix type-hints for ``data`` arg in ``Schema.validate`` to accept
list of dictionaries (:issue:`1790`, :pr:`1868`).
Thanks  :user:`yourun-proger` for PR.
- Improve warning when passing metadata as keyword arguments (:pr:`1882`).
Thanks :user:`traherom` for the PR.
- Don't build universal wheels. We don't support Python 2 anymore.
(:issue:`1860`) Thanks :user:`YKdvd` for reporting.
- Make the build reproducible (:pr:`1862`).
- Drop support for Python 3.5 (:pr:`1863`).
- Test against Python 3.10 (:pr:`1888`).

3.13.0

*******************

Features:

- Replace ``missing``/``default`` field parameters with
``load_default``/``dump_default`` (:pr:`1742`).
Thanks :user:`sirosen` for the PR.

Deprecations:

- The use of ``missing``/``default`` field parameters is deprecated and will be
removed in marshmallow 4. ``load_default``/``dump_default`` should be used
instead.

3.12.2

*******************

Bug fixes:

- Don't expose ``Field``\s as ``Schema`` attributes. This reverts a change
introduced in 3.12.0 that causes issues when field names conflict with
``Schema`` attributes or methods. ``Fields``\s are still accessible on a
``Schema`` instance through the ``fields`` attribute. (:pr:`1843`)

3.12.1

*******************

Bug fixes:

- Fix bug that raised an ``AttributeError`` when instantiating a
``Schema`` with a field named ``parent`` (:issue:`1808`).
Thanks :user:`flying-sheep` for reporting and helping with the fix.

3.12.0

*******************

Features:

- Add ``validate.And`` (:issue:`1768`).
Thanks :user:`rugleb` for the suggestion.
- Add type annotations to ``marshmallow.decorators`` (:issue:`1788`, :pr:`1789`).
Thanks :user:`michaeldimchuk` for the PR.
- Let ``Field``\s be accessed by name as ``Schema`` attributes (:pr:`1631`).

Other changes:

- Improve types in ``marshmallow.validate`` (:pr:`1786`).
- Make ``marshmallow.validate.Validator`` an abstract base class (:pr:`1786`).
- Remove unnecessary list cast (:pr:`1785`).
Links
  • PyPI: https://pypi.org/project/marshmallow
  • Changelog: https://data.safetycli.com/changelogs/marshmallow/

Update sentry-sdk from 1.0.0 to 2.7.1.

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

Links
  • PyPI: https://pypi.org/project/sentry-sdk
  • Repo: https://github.com/getsentry/sentry-python

Update psycopg2-binary from 2.8.6 to 2.9.9.

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

Links
  • PyPI: https://pypi.org/project/psycopg2-binary
  • Homepage: https://psycopg.org/

Update pyyaml from 5.4.1 to 6.0.1.

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

Links
  • PyPI: https://pypi.org/project/pyyaml
  • Homepage: https://pyyaml.org/

Update uvloop from 0.15.2 to 0.19.0.

Changelog

0.19.0

Changes
=======

* Drop support of Python 3.7 and update CI (578)
(by fantix in ee5ad26a for 578)

Fixes
=====

* Restore uvloop.new_event_loop and other missing uvloop members to typing (573)
(by graingert in 5c500ee2 for 573)

* Fix docstring of loop.shutdown_default_executor (535)
(by Gelbpunkt in 919da567 for 535)

* Fix CI status badge (522)
(by shuuji3 in 0e9ff6cd for 522)

0.18.0

Fixes
=====

* CI fixes (520, 553)
(by altendky in 7783f1c5, dulmandakh in 1dd40f17)

* Make extract_stack resilient to lacking frames. (563)
(by jhance in 06876434 for 563)

* Port uvloop to Python 3.12 (570)
(by 1st1, fantix in 9f82bd74 for 569)

0.17.0

This release adds Python 3.11 support, updates bundled libuv to 1.43.0
and fixes a handful of issues.

Changes
=======

* Expose uv_loop_t pointer for integration with other C-extensions (310)
(by pranavtbhat in b332eb85 for 310)

* Support python 3.11+ (473)
(by zeroday0619 in 8e42921d for 473)

* Expose libuv uv_fs_event functionality (474)
(by jensbjorgensen fantix in 74d381e8 for 474)

* Activate debug mode when `-X dev` is used
(by jack1142 in 637a77a3)

* Expose uv_version() for libuv API compatibility (491)
(by fantix in 089f6cbf for 491)

* Fix loop.getaddrinfo() and tests (495)
(by fantix in 598b16fd for 495)

* Bump to libuv 1.43.0
(by fantix in 94e5e535)

Fixes
=====

* _TransProtPair is no longer defined in asyncio.events
(by jensbjorgensen in fae5f7fb)

* use a TypeVar for asyncio.BaseProtocol (478)
(by graingert in 3aacb352 for 478)

* Fix segfault in TimerHandle.when() after cleared
(by jensbjorgensen in c39afff8 for 469)

* Avoid self._errpipe_write double close (466)
(by graingert in 72140d7e for 466)

* Fix typo in test (456)
(by kianmeng in 033d52d0 for 456)

* Fix potential infinite loop (446)
(by kfur in ada43c06 for 446)

* use a stack of self._fds_to_close to prevent double closes (481)
(by graingert in 3214cf68 for 481)

* Fix incorrect main thread id value forking from a thread  (453)
(by horpto fantix in e7934c88 for 453)

* create_subprocess_exec should treat env={} as empty environment (439) (454)
(by byllyfish in e04637e0 for 439)

* Queue write only after processing all buffers (445)
(by jakirkham fantix in 9c6ecb62 for 445)

* Drop Python 3.6 support for thread ident
(by fantix in 9c37930e)

* bugfix: write to another transport in resume_writing() fails (498)
(by fantix in d2deffef for 498)

Build
=====

* Upgrade GitHub Actions (477) (480)
(by cclauss in fcbf422d for 477, 10086942 for 480)

* typo `same as same`
(by YoSTEALTH in fedba80a)

* setup.py: allow to override extra_compile_args (443)
(by giuliobenetti in a130375f for 443)

* Drop hack in setup.py in finalize_options (492)
(by fantix in 2f1bc83c for 492)

* Fix tests invocation on release CI worklow (489)
(by ben9923 in d6a2b597 for 489)

Documentation
=============

* use asyncio.Runner loop_factory on 3.11+ (472)
(by graingert in 31ba48ca for 472)

* Fix CI badge in docs, remove remaining Travis CI references from docs
(by Nothing4You in c6901a74)

* Fix typo in README
(by monosans in 73d7253b)

0.16.0

This release adds Python 3.10 support, updates bundled libuv to 1.42.0
and fixes a handful of issues.

Changes
=======

* Python 3.10 support (432)
(by elprans in 2519e2df for 432)

* Bump vendored libuv to 1.42.0 (433)
(by elprans in a62f7818 for 433)

* Use cibuildwheel to build wheels (435)
(by elprans in 20febe0b for 435)

* Add support for `<timer handle>.when()`
(by Jens Jorgensen in 62b2af9c)

Fixes
=====

* Fix ref issue when protocol is in Cython
(by fantix in 70cafc82 for 2222)

* Set `python_requires` in setup.py
(by graingert in c808a663)

* SSL: schedule first data after waiter wakeup
(by fantix in 2081db89)

* Fix a possible race condition in sslproto test
(by fantix in b0526cd5 for 412)

* Fix `call_soon_threadsafe` thread safety
(by fantix in 4b803b15)

0.15.3

Bug Fixes

* SSL: schedule first data after waiter wakeup
(by fantix in 0df12282)

* Fix a possible race condition in sslproto test
(by fantix in 2e71c4c2 for 412)

* Fix `call_soon_threadsafe` thread safety
(by fantix and hehaha in 6387a4e4 for 408)
Links
  • PyPI: https://pypi.org/project/uvloop
  • Changelog: https://data.safetycli.com/changelogs/uvloop/

Update sqlalchemy from 1.3.23 to 2.0.31.

Changelog

2.0.31

:released: June 18, 2024

 .. change::
     :tags: usecase, reflection, mysql
     :tickets: 11285

     Added missing foreign key reflection option ``SET DEFAULT``
     in the MySQL and MariaDB dialects.
     Pull request courtesy of Quentin Roche.

 .. change::
     :tags: usecase, orm
     :tickets: 11361

     Added missing parameter :paramref:`_orm.with_polymorphic.name` that
     allows specifying the name of returned :class:`_orm.AliasedClass`.

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

     Fixed issue where a :class:`.MetaData` collection would not be
     serializable, if an :class:`.Enum` or :class:`.Boolean` datatype were
     present which had been adapted. This specific scenario in turn could occur
     when using the :class:`.Enum` or :class:`.Boolean` within ORM Annotated
     Declarative form where type objects frequently get copied.

 .. change::
     :tags: schema, usecase
     :tickets: 11374

     Added :paramref:`_schema.Column.insert_default` as an alias of
     :paramref:`_schema.Column.default` for compatibility with
     :func:`_orm.mapped_column`.

 .. change::
     :tags: bug, general
     :tickets: 11417

     Set up full Python 3.13 support to the extent currently possible, repairing
     issues within internal language helpers as well as the serializer extension
     module.

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

     Fixed issue when serializing an :func:`_sql.over` clause with
     unbounded range or rows.

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

     Added missing methods :meth:`_sql.FunctionFilter.within_group`
     and :meth:`_sql.WithinGroup.filter`

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

     Fixed bug in :meth:`_sql.FunctionFilter.filter` that would mutate
     the existing function in-place. It now behaves like the rest of the
     SQLAlchemy API, returning a new instance instead of mutating the
     original one.

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

     Fixed issue where the :func:`_orm.selectinload` and
     :func:`_orm.subqueryload` loader options would fail to take effect when
     made against an inherited subclass that itself included a subclass-specific
     :paramref:`_orm.Mapper.with_polymorphic` setting.

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

     Fixed very old issue involving the :paramref:`_orm.joinedload.innerjoin`
     parameter where making use of this parameter mixed into a query that also
     included joined eager loads along a self-referential or other cyclical
     relationship, along with complicating factors li

pyup-bot avatar Jul 01 '24 14:07 pyup-bot