aio-libs/aiohttp (aiohttp)
### [`v3.9.5`](https://togithub.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#395-2024-04-16)
[Compare Source](https://togithub.com/aio-libs/aiohttp/compare/v3.9.4...v3.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`.
***
### [`v3.9.4`](https://togithub.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#394-2024-04-11)
[Compare Source](https://togithub.com/aio-libs/aiohttp/compare/v3.9.3...v3.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](https://togithub.com/aio-libs/aiohttp/issues/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() ` -- 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`.
***
### [`v3.9.3`](https://togithub.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#393-2024-01-29)
[Compare Source](https://togithub.com/aio-libs/aiohttp/compare/v3.9.2...v3.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`.
***
### [`v3.9.2`](https://togithub.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#392-2024-01-28)
[Compare Source](https://togithub.com/aio-libs/aiohttp/compare/v3.9.1...v3.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:`9110#section-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:`9110#section-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 ` 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`.
***
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
3.9.1
->3.9.5
Release Notes
aio-libs/aiohttp (aiohttp)
### [`v3.9.5`](https://togithub.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#395-2024-04-16) [Compare Source](https://togithub.com/aio-libs/aiohttp/compare/v3.9.4...v3.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`. *** ### [`v3.9.4`](https://togithub.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#394-2024-04-11) [Compare Source](https://togithub.com/aio-libs/aiohttp/compare/v3.9.3...v3.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](https://togithub.com/aio-libs/aiohttp/issues/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()Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.