Update dependency aiohttp to v3.8.0 - autoclosed
This MR contains the following updates:
Package | Change | Age | Adoption | Passing | Confidence |
---|---|---|---|---|---|
aiohttp |
==3.7.4.post0 -> ==3.8.0
|
Release Notes
aio-libs/aiohttp
v3.8.0
==================
Features
-
Added a
GunicornWebWorker
feature for extending the aiohttp server configuration by allowing the 'wsgi' coroutine to returnweb.AppRunner
object.#​2988 <https://github.com/aio-libs/aiohttp/issues/2988>
_ -
Switch from
http-parser
tollhttp
#​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
inStreamResponse
#​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
, justasync def test_*
. The only difference is that for the people using python3.7 and below a new dependency is needed, it isasynctestcase
.#​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
. AddAbstractCookieJar.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 withasyncio.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 toBaseTestServer
.#​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
tocharset-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(...)
orws.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 theok
property for the failed requests.#​5403 <https://github.com/aio-libs/aiohttp/issues/5403>
_ - Include query parameters from
params
keyword argument in tracingURL
.#​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 proxy is set.
#​5554 <https://github.com/aio-libs/aiohttp/issues/5554>
- Replace deprecated app handler design in
tests/autobahn/server.py
with call toweb.run_app
; replace deprecatedaiohttp.ws_connect
calls intests/autobahn/client.py
withaiohttp.ClienSession.ws_connect
.#​5606 <https://github.com/aio-libs/aiohttp/issues/5606>
_ - Fixed test for
HTTPUnauthorized
that access thetext
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 toClientSession.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 theasyncio.sleep
/gather
calls#​5905 <https://github.com/aio-libs/aiohttp/issues/5905>
_ - Return
None
fromrequest.if_modified_since
,request.if_unmodified_since
,request.if_range
andresponse.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 fixsubprocesses
that capture output having an incorrectreturncode
.#​6130 <https://github.com/aio-libs/aiohttp/issues/6130>
_ - Raise
400: Content-Length can't be present with Transfer-Encoding
if bothContent-Length
andTransfer-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>
_
Configuration
-
If you want to rebase/retry this MR, click this checkbox.
This MR has been generated by Renovate Bot.