Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==3.5.3
->==3.7.4
By merging this PR, the issue #5 will be automatically resolved and closed:
Release Notes
aio-libs/aiohttp (aiohttp)
v3.7.4
Compare Source
========================
Misc
chardet
runtime dependencyto allow their v4.0 version stream.
#​5366 <https://github.com/aio-libs/aiohttp/issues/5366>
_v3.7.3
Compare Source
==================
Features
#​3803 <https://github.com/aio-libs/aiohttp/issues/3803>
_#​4077 <https://github.com/aio-libs/aiohttp/issues/4077>
_Bugfixes
HTTP Reason Phrase.
#​3532 <https://github.com/aio-libs/aiohttp/issues/3532>
_web_middlewares.normalize_path_middleware
behavior for patch without slash.#​3669 <https://github.com/aio-libs/aiohttp/issues/3669>
_#​3701 <https://github.com/aio-libs/aiohttp/issues/3701>
_BaseConnector.close()
a coroutine and wait until the client closes all connections. Drop deprecated "with Connector():" syntax.#​3736 <https://github.com/aio-libs/aiohttp/issues/3736>
_sock_read
timeout each time data is received for aaiohttp.client
response.#​3808 <https://github.com/aio-libs/aiohttp/issues/3808>
_#​3880 <https://github.com/aio-libs/aiohttp/issues/3880>
_#​5156 <https://github.com/aio-libs/aiohttp/issues/5156>
_#​5163 <https://github.com/aio-libs/aiohttp/issues/5163>
_#​5230 <https://github.com/aio-libs/aiohttp/issues/5230>
_Improved Documentation
aiohttp.web.FileResponse
.#​3958 <https://github.com/aio-libs/aiohttp/issues/3958>
_#​3964 <https://github.com/aio-libs/aiohttp/issues/3964>
_aiohttp.client.request
.#​4603 <https://github.com/aio-libs/aiohttp/issues/4603>
_#​5228 <https://github.com/aio-libs/aiohttp/issues/5228>
_Misc
#​4102 <https://github.com/aio-libs/aiohttp/issues/4102>
_v3.7.2
Compare Source
==================
Bugfixes
.sendfile()
support#​5149 <https://github.com/aio-libs/aiohttp/issues/5149>
_v3.7.1
Compare Source
==================
Bugfixes
Protocol
.#​5111 <https://github.com/aio-libs/aiohttp/issues/5111>
_#​4901 <https://github.com/aio-libs/aiohttp/issues/4901>
_#​4957 <https://github.com/aio-libs/aiohttp/issues/4957>
_typing_extensions
library.#​5107 <https://github.com/aio-libs/aiohttp/issues/5107>
_ThreadedResolver.resolve
toreturn the resolved IP as the
hostname
in each record, which preventedvalidation of HTTPS connections.
#​5110 <https://github.com/aio-libs/aiohttp/issues/5110>
_#​5115 <https://github.com/aio-libs/aiohttp/issues/5115>
_#​5116 <https://github.com/aio-libs/aiohttp/issues/5116>
_#​5124 <https://github.com/aio-libs/aiohttp/issues/5124>
_web.run_app()
about Python version checking on Windows#​5127 <https://github.com/aio-libs/aiohttp/issues/5127>
_v3.7.0
Compare Source
==================
Features
on_response_prepare
hooks, directly before headers are sent to the client.#​1958 <https://github.com/aio-libs/aiohttp/issues/1958>
_quote_cookie
option toCookieJar
, a way to skip quotation wrapping of cookies containing special characters.#​2571 <https://github.com/aio-libs/aiohttp/issues/2571>
_AccessLogger.log
with the current exception available fromsys.exc_info()
.#​3557 <https://github.com/aio-libs/aiohttp/issues/3557>
_web.UrlDispatcher.add_routes
andweb.Application.add_routes
return a listof registered
AbstractRoute
instances.AbstractRouteDef.register
(and allsubclasses) return a list of registered resources registered resource.
#​3866 <https://github.com/aio-libs/aiohttp/issues/3866>
_#​3882 <https://github.com/aio-libs/aiohttp/issues/3882>
_OSError
on reading/writing instead.#​4080 <https://github.com/aio-libs/aiohttp/issues/4080>
_#​4189 <https://github.com/aio-libs/aiohttp/issues/4189>
_ClientSession.timeout
property.#​4191 <https://github.com/aio-libs/aiohttp/issues/4191>
_#​4224 <https://github.com/aio-libs/aiohttp/issues/4224>
_loop.sendfile()
instead of custom implementation if available.#​4269 <https://github.com/aio-libs/aiohttp/issues/4269>
_#​4393 <https://github.com/aio-libs/aiohttp/issues/4393>
_#​4402 <https://github.com/aio-libs/aiohttp/issues/4402>
_read_bufsize
argument.#​4453 <https://github.com/aio-libs/aiohttp/issues/4453>
_#​4513 <https://github.com/aio-libs/aiohttp/issues/4513>
_method
andurl
attributes toTraceRequestChunkSentParams
andTraceResponseChunkReceivedParams
.#​4674 <https://github.com/aio-libs/aiohttp/issues/4674>
_#​4711 <https://github.com/aio-libs/aiohttp/issues/4711>
_#​4850 <https://github.com/aio-libs/aiohttp/issues/4850>
_None
is passed in as the host.#​4894 <https://github.com/aio-libs/aiohttp/issues/4894>
_http_parser
to 2.9.4#​5070 <https://github.com/aio-libs/aiohttp/issues/5070>
_Bugfixes
Fix keepalive connections not being closed in time
#​3296 <https://github.com/aio-libs/aiohttp/issues/3296>
_Fix failed websocket handshake leaving connection hanging.
#​3380 <https://github.com/aio-libs/aiohttp/issues/3380>
_Fix tasks cancellation order on exit. The run_app task needs to be cancelled first for cleanup hooks to run with all tasks intact.
#​3805 <https://github.com/aio-libs/aiohttp/issues/3805>
_Don't start heartbeat until writer is set
#​4062 <https://github.com/aio-libs/aiohttp/issues/4062>
Fix handling of multipart file uploads without a content type.
#​4089 <https://github.com/aio-libs/aiohttp/issues/4089>
_Preserve view handler function attributes across middlewares
#​4174 <https://github.com/aio-libs/aiohttp/issues/4174>
_Fix the string representation of
ServerDisconnectedError
.#​4175 <https://github.com/aio-libs/aiohttp/issues/4175>
_Raising RuntimeError when trying to get encoding from not read body
#​4214 <https://github.com/aio-libs/aiohttp/issues/4214>
_Remove warning messages from noop.
#​4282 <https://github.com/aio-libs/aiohttp/issues/4282>
_Raise ClientPayloadError if FormData re-processed.
#​4345 <https://github.com/aio-libs/aiohttp/issues/4345>
_Fix a warning about unfinished task in
web_protocol.py
#​4408 <https://github.com/aio-libs/aiohttp/issues/4408>
_Fixed 'deflate' compression. According to RFC 2616 now.
#​4506 <https://github.com/aio-libs/aiohttp/issues/4506>
_Fixed OverflowError on platforms with 32-bit time_t
#​4515 <https://github.com/aio-libs/aiohttp/issues/4515>
_Fixed request.body_exists returns wrong value for methods without body.
#​4528 <https://github.com/aio-libs/aiohttp/issues/4528>
_Fix connecting to link-local IPv6 addresses.
#​4554 <https://github.com/aio-libs/aiohttp/issues/4554>
_Fix a problem with connection waiters that are never awaited.
#​4562 <https://github.com/aio-libs/aiohttp/issues/4562>
_Always make sure transport is not closing before reuse a connection.
Reuse a protocol based on keepalive in headers is unreliable.
For example, uWSGI will not support keepalive even it serves a
HTTP 1.1 request, except explicitly configure uWSGI with a
--http-keepalive
option.Servers designed like uWSGI could cause aiohttp intermittently
raise a ConnectionResetException when the protocol poll runs
out and some protocol is reused.
#​4587 <https://github.com/aio-libs/aiohttp/issues/4587>
_Handle the last CRLF correctly even if it is received via separate TCP segment.
#​4630 <https://github.com/aio-libs/aiohttp/issues/4630>
_Fix the register_resource function to validate route name before splitting it so that route name can include python keywords.
#​4691 <https://github.com/aio-libs/aiohttp/issues/4691>
_Improve typing annotations for
web.Request
,aiohttp.ClientResponse
andmultipart
module.#​4736 <https://github.com/aio-libs/aiohttp/issues/4736>
_Fix resolver task is not awaited when connector is cancelled
#​4795 <https://github.com/aio-libs/aiohttp/issues/4795>
_Fix a bug "Aiohttp doesn't return any error on invalid request methods"
#​4798 <https://github.com/aio-libs/aiohttp/issues/4798>
_Fix HEAD requests for static content.
#​4809 <https://github.com/aio-libs/aiohttp/issues/4809>
_Fix incorrect size calculation for memoryview
#​4890 <https://github.com/aio-libs/aiohttp/issues/4890>
_Add HTTPMove to all_.
#​4897 <https://github.com/aio-libs/aiohttp/issues/4897>
_Fixed the type annotations in the
tracing
module.#​4912 <https://github.com/aio-libs/aiohttp/issues/4912>
_Fix typing for multipart
__aiter__
.#​4931 <https://github.com/aio-libs/aiohttp/issues/4931>
_Fix for race condition on connections in BaseConnector that leads to exceeding the connection limit.
#​4936 <https://github.com/aio-libs/aiohttp/issues/4936>
_Add forced UTF-8 encoding for
application/rdap+json
responses.#​4938 <https://github.com/aio-libs/aiohttp/issues/4938>
_Fix inconsistency between Python and C http request parsers in parsing pct-encoded URL.
#​4972 <https://github.com/aio-libs/aiohttp/issues/4972>
_Fix connection closing issue in HEAD request.
#​5012 <https://github.com/aio-libs/aiohttp/issues/5012>
_Fix type hint on BaseRunner.addresses (from
List[str]
toList[Any]
)#​5086 <https://github.com/aio-libs/aiohttp/issues/5086>
_Make
web.run_app()
more responsive to Ctrl+C on Windows for Python < 3.8. It slightlyincreases CPU load as a side effect.
#​5098 <https://github.com/aio-libs/aiohttp/issues/5098>
_Improved Documentation
#​3376 <https://github.com/aio-libs/aiohttp/issues/3376>
_ttl_dns_cache
default value#​3512 <https://github.com/aio-libs/aiohttp/issues/3512>
_#​4201 <https://github.com/aio-libs/aiohttp/issues/4201>
_Optional[str]
toOptional[bool]
#​4204 <https://github.com/aio-libs/aiohttp/issues/4204>
_ttl_dns_cache
type from int to Optional[int].#​4270 <https://github.com/aio-libs/aiohttp/issues/4270>
_#​4272 <https://github.com/aio-libs/aiohttp/issues/4272>
_#​4285 <https://github.com/aio-libs/aiohttp/issues/4285>
_#​4312 <https://github.com/aio-libs/aiohttp/issues/4312>
_#​4314 <https://github.com/aio-libs/aiohttp/issues/4314>
_#​4810 <https://github.com/aio-libs/aiohttp/issues/4810>
_#​4986 <https://github.com/aio-libs/aiohttp/issues/4986>
_aiohttp-sse-client
library to third party usage list.#​5084 <https://github.com/aio-libs/aiohttp/issues/5084>
_Misc
#​2856 <https://github.com/aio-libs/aiohttp/issues/2856>
,#​4218 <https://github.com/aio-libs/aiohttp/issues/4218>
,#​4250 <https://github.com/aio-libs/aiohttp/issues/4250>
_v3.6.3
Compare Source
==================
Bugfixes
<1.6.0
to avoid buggy behavior that will be fixed by the next aiohttprelease.
v3.6.2
Compare Source
==================
Features
#​4077 <https://github.com/aio-libs/aiohttp/issues/4077>
_Iterable
type hint instead ofSequence
forApplication
middlewareparameter.
#​4125 <https://github.com/aio-libs/aiohttp/issues/4125>
_Bugfixes
sock_read
timeout each time data is received for aaiohttp.ClientResponse
.#​3808 <https://github.com/aio-libs/aiohttp/issues/3808>
_#​4063 <https://github.com/aio-libs/aiohttp/issues/4063>
_ClientConnectorError
;self.ssl == None
means default SSL context, not SSL disabled#​4097 <https://github.com/aio-libs/aiohttp/issues/4097>
_#​4106 <https://github.com/aio-libs/aiohttp/issues/4106>
_Improved Documentation
#​2469 <https://github.com/aio-libs/aiohttp/issues/2469>
_#​4100 <https://github.com/aio-libs/aiohttp/issues/4100>
_#​4108 <https://github.com/aio-libs/aiohttp/issues/4108>
_Misc
#​4102 <https://github.com/aio-libs/aiohttp/issues/4102>
_v3.6.1
Compare Source
==================
Features
#​4056 <https://github.com/aio-libs/aiohttp/issues/4056>
_Bugfixes
#​4068 <https://github.com/aio-libs/aiohttp/issues/4068>
_ssl.OP_NO_COMPRESSION
isunavailable because the runtime is built against
an outdated OpenSSL.
#​4052 <https://github.com/aio-libs/aiohttp/issues/4052>
_#​4057 <https://github.com/aio-libs/aiohttp/issues/4057>
_Improved Documentation
#​3723 <https://github.com/aio-libs/aiohttp/issues/3723>
_v3.6.0
Compare Source
==================
Features
Proactor event loop to work.
#​3629 <https://github.com/aio-libs/aiohttp/issues/3629>
_Transfer-Encoding: chunked
header from websocket responses to becompatible with more http proxy servers.
#​3798 <https://github.com/aio-libs/aiohttp/issues/3798>
_#​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 Permanent 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 atask 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 fromSignal[Callable[['TraceConfig'], Awaitable[None]]]
toSignal[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
matchasyncio.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 inLooseHeaders
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
#​3526 <https://github.com/aio-libs/aiohttp/issues/3526>
_if __name__ == '__main__':
in server examples.#​3775 <https://github.com/aio-libs/aiohttp/issues/3775>
_#​3783 <https://github.com/aio-libs/aiohttp/issues/3783>
_web.BaseRequest.path
andweb.BaseRequest.raw_path
.#​3791 <https://github.com/aio-libs/aiohttp/issues/3791>
_#​3964 <https://github.com/aio-libs/aiohttp/issues/3964>
_v3.5.4
Compare Source
==================
Bugfixes
.read()
/.readany()
/.iter_any()
which used to return apartial content only in case of compressed content
#​3525 <https://github.com/aio-libs/aiohttp/issues/3525>
_