Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency aiohttp to v3 (branch1) #37

Open
wants to merge 1 commit into
base: branch1
Choose a base branch
from

Conversation

mend-for-github-com[bot]
Copy link
Contributor

@mend-for-github-com mend-for-github-com bot commented Jun 30, 2022

This PR contains the following updates:

Package Update Change
aiohttp major ==0.16.3 -> ==3.7.4

By merging this PR, the below issues will be automatically resolved and closed:

Severity CVSS Score CVE GitHub Issue
Medium 6.1 CVE-2021-21330 #15

Release Notes

aio-libs/aiohttp

v3.7.4

Compare Source

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

Misc

  • Bumped upper bound of the chardet runtime dependency
    to allow their v4.0 version stream.
    #&#8203;5366 <https://github.com/aio-libs/aiohttp/issues/5366>_

v3.7.3

Compare Source

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

Features

  • Use Brotli instead of brotlipy
    #&#8203;3803 <https://github.com/aio-libs/aiohttp/issues/3803>_
  • Made exceptions pickleable. Also changed the repr of some exceptions.
    #&#8203;4077 <https://github.com/aio-libs/aiohttp/issues/4077>_

Bugfixes

  • Raise a ClientResponseError instead of an AssertionError for a blank
    HTTP Reason Phrase.
    #&#8203;3532 <https://github.com/aio-libs/aiohttp/issues/3532>_
  • Fix web_middlewares.normalize_path_middleware behavior for patch without slash.
    #&#8203;3669 <https://github.com/aio-libs/aiohttp/issues/3669>_
  • Fix overshadowing of overlapped sub-applications prefixes.
    #&#8203;3701 <https://github.com/aio-libs/aiohttp/issues/3701>_
  • Make BaseConnector.close() a coroutine and wait until the client closes all connections. Drop deprecated "with Connector():" syntax.
    #&#8203;3736 <https://github.com/aio-libs/aiohttp/issues/3736>_
  • Reset the sock_read timeout each time data is received for a aiohttp.client response.
    #&#8203;3808 <https://github.com/aio-libs/aiohttp/issues/3808>_
  • Fixed type annotation for add_view method of UrlDispatcher to accept any subclass of View
    #&#8203;3880 <https://github.com/aio-libs/aiohttp/issues/3880>_
  • Fixed querying the address families from DNS that the current host supports.
    #&#8203;5156 <https://github.com/aio-libs/aiohttp/issues/5156>_
  • Change return type of MultipartReader.aiter() and BodyPartReader.aiter() to AsyncIterator.
    #&#8203;5163 <https://github.com/aio-libs/aiohttp/issues/5163>_
  • Provide x86 Windows wheels.
    #&#8203;5230 <https://github.com/aio-libs/aiohttp/issues/5230>_

Improved Documentation

  • Add documentation for aiohttp.web.FileResponse.
    #&#8203;3958 <https://github.com/aio-libs/aiohttp/issues/3958>_
  • Removed deprecation warning in tracing example docs
    #&#8203;3964 <https://github.com/aio-libs/aiohttp/issues/3964>_
  • Fixed wrong "Usage" docstring of aiohttp.client.request.
    #&#8203;4603 <https://github.com/aio-libs/aiohttp/issues/4603>_
  • Add aiohttp-pydantic to third party libraries
    #&#8203;5228 <https://github.com/aio-libs/aiohttp/issues/5228>_

Misc

  • #&#8203;4102 <https://github.com/aio-libs/aiohttp/issues/4102>_

v3.7.2

Compare Source

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

Bugfixes

  • Fixed static files handling for loops without .sendfile() support
    #&#8203;5149 <https://github.com/aio-libs/aiohttp/issues/5149>_

v3.7.1

Compare Source

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

Bugfixes

  • Fixed a type error caused by the conditional import of Protocol.
    #&#8203;5111 <https://github.com/aio-libs/aiohttp/issues/5111>_
  • Server doesn't send Content-Length for 1xx or 204
    #&#8203;4901 <https://github.com/aio-libs/aiohttp/issues/4901>_
  • Fix run_app typing
    #&#8203;4957 <https://github.com/aio-libs/aiohttp/issues/4957>_
  • Always require typing_extensions library.
    #&#8203;5107 <https://github.com/aio-libs/aiohttp/issues/5107>_
  • Fix a variable-shadowing bug causing ThreadedResolver.resolve to
    return the resolved IP as the hostname in each record, which prevented
    validation of HTTPS connections.
    #&#8203;5110 <https://github.com/aio-libs/aiohttp/issues/5110>_
  • Added annotations to all public attributes.
    #&#8203;5115 <https://github.com/aio-libs/aiohttp/issues/5115>_
  • Fix flaky test_when_timeout_smaller_second
    #&#8203;5116 <https://github.com/aio-libs/aiohttp/issues/5116>_
  • Ensure sending a zero byte file does not throw an exception
    #&#8203;5124 <https://github.com/aio-libs/aiohttp/issues/5124>_
  • Fix a bug in web.run_app() about Python version checking on Windows
    #&#8203;5127 <https://github.com/aio-libs/aiohttp/issues/5127>_

v3.7.0

Compare Source

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

Features

  • Response headers are now prepared prior to running on_response_prepare hooks, directly before headers are sent to the client.
    #&#8203;1958 <https://github.com/aio-libs/aiohttp/issues/1958>_
  • Add a quote_cookie option to CookieJar, a way to skip quotation wrapping of cookies containing special characters.
    #&#8203;2571 <https://github.com/aio-libs/aiohttp/issues/2571>_
  • Call AccessLogger.log with the current exception available from sys.exc_info().
    #&#8203;3557 <https://github.com/aio-libs/aiohttp/issues/3557>_
  • web.UrlDispatcher.add_routes and web.Application.add_routes return a list
    of registered AbstractRoute instances. AbstractRouteDef.register (and all
    subclasses) return a list of registered resources registered resource.
    #&#8203;3866 <https://github.com/aio-libs/aiohttp/issues/3866>_
  • Added properties of default ClientSession params to ClientSession class so it is available for introspection
    #&#8203;3882 <https://github.com/aio-libs/aiohttp/issues/3882>_
  • Don't cancel web handler on peer disconnection, raise OSError on reading/writing instead.
    #&#8203;4080 <https://github.com/aio-libs/aiohttp/issues/4080>_
  • Implement BaseRequest.get_extra_info() to access a protocol transports' extra info.
    #&#8203;4189 <https://github.com/aio-libs/aiohttp/issues/4189>_
  • Added ClientSession.timeout property.
    #&#8203;4191 <https://github.com/aio-libs/aiohttp/issues/4191>_
  • allow use of SameSite in cookies.
    #&#8203;4224 <https://github.com/aio-libs/aiohttp/issues/4224>_
  • Use loop.sendfile() instead of custom implementation if available.
    #&#8203;4269 <https://github.com/aio-libs/aiohttp/issues/4269>_
  • Apply SO_REUSEADDR to test server's socket.
    #&#8203;4393 <https://github.com/aio-libs/aiohttp/issues/4393>_
  • Use .raw_host instead of slower .host in client API
    #&#8203;4402 <https://github.com/aio-libs/aiohttp/issues/4402>_
  • Allow configuring the buffer size of input stream by passing read_bufsize argument.
    #&#8203;4453 <https://github.com/aio-libs/aiohttp/issues/4453>_
  • Pass tests on Python 3.8 for Windows.
    #&#8203;4513 <https://github.com/aio-libs/aiohttp/issues/4513>_
  • Add method and url attributes to TraceRequestChunkSentParams and TraceResponseChunkReceivedParams.
    #&#8203;4674 <https://github.com/aio-libs/aiohttp/issues/4674>_
  • Add ClientResponse.ok property for checking status code under 400.
    #&#8203;4711 <https://github.com/aio-libs/aiohttp/issues/4711>_
  • Don't ceil timeouts that are smaller than 5 seconds.
    #&#8203;4850 <https://github.com/aio-libs/aiohttp/issues/4850>_
  • TCPSite now listens by default on all interfaces instead of just IPv4 when None is passed in as the host.
    #&#8203;4894 <https://github.com/aio-libs/aiohttp/issues/4894>_
  • Bump http_parser to 2.9.4
    #&#8203;5070 <https://github.com/aio-libs/aiohttp/issues/5070>_

Bugfixes

  • Fix keepalive connections not being closed in time
    #&#8203;3296 <https://github.com/aio-libs/aiohttp/issues/3296>_

  • Fix failed websocket handshake leaving connection hanging.
    #&#8203;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.
    #&#8203;3805 <https://github.com/aio-libs/aiohttp/issues/3805>_

  • Don't start heartbeat until writer is set
    #&#8203;4062 <https://github.com/aio-libs/aiohttp/issues/4062>

  • Fix handling of multipart file uploads without a content type.
    #&#8203;4089 <https://github.com/aio-libs/aiohttp/issues/4089>_

  • Preserve view handler function attributes across middlewares
    #&#8203;4174 <https://github.com/aio-libs/aiohttp/issues/4174>_

  • Fix the string representation of ServerDisconnectedError.
    #&#8203;4175 <https://github.com/aio-libs/aiohttp/issues/4175>_

  • Raising RuntimeError when trying to get encoding from not read body
    #&#8203;4214 <https://github.com/aio-libs/aiohttp/issues/4214>_

  • Remove warning messages from noop.
    #&#8203;4282 <https://github.com/aio-libs/aiohttp/issues/4282>_

  • Raise ClientPayloadError if FormData re-processed.
    #&#8203;4345 <https://github.com/aio-libs/aiohttp/issues/4345>_

  • Fix a warning about unfinished task in web_protocol.py
    #&#8203;4408 <https://github.com/aio-libs/aiohttp/issues/4408>_

  • Fixed 'deflate' compression. According to RFC 2616 now.
    #&#8203;4506 <https://github.com/aio-libs/aiohttp/issues/4506>_

  • Fixed OverflowError on platforms with 32-bit time_t
    #&#8203;4515 <https://github.com/aio-libs/aiohttp/issues/4515>_

  • Fixed request.body_exists returns wrong value for methods without body.
    #&#8203;4528 <https://github.com/aio-libs/aiohttp/issues/4528>_

  • Fix connecting to link-local IPv6 addresses.
    #&#8203;4554 <https://github.com/aio-libs/aiohttp/issues/4554>_

  • Fix a problem with connection waiters that are never awaited.
    #&#8203;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.
    #&#8203;4587 <https://github.com/aio-libs/aiohttp/issues/4587>_

  • Handle the last CRLF correctly even if it is received via separate TCP segment.
    #&#8203;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.
    #&#8203;4691 <https://github.com/aio-libs/aiohttp/issues/4691>_

  • Improve typing annotations for web.Request, aiohttp.ClientResponse and
    multipart module.
    #&#8203;4736 <https://github.com/aio-libs/aiohttp/issues/4736>_

  • Fix resolver task is not awaited when connector is cancelled
    #&#8203;4795 <https://github.com/aio-libs/aiohttp/issues/4795>_

  • Fix a bug "Aiohttp doesn't return any error on invalid request methods"
    #&#8203;4798 <https://github.com/aio-libs/aiohttp/issues/4798>_

  • Fix HEAD requests for static content.
    #&#8203;4809 <https://github.com/aio-libs/aiohttp/issues/4809>_

  • Fix incorrect size calculation for memoryview
    #&#8203;4890 <https://github.com/aio-libs/aiohttp/issues/4890>_

  • Add HTTPMove to all_.
    #&#8203;4897 <https://github.com/aio-libs/aiohttp/issues/4897>_

  • Fixed the type annotations in the tracing module.
    #&#8203;4912 <https://github.com/aio-libs/aiohttp/issues/4912>_

  • Fix typing for multipart __aiter__.
    #&#8203;4931 <https://github.com/aio-libs/aiohttp/issues/4931>_

  • Fix for race condition on connections in BaseConnector that leads to exceeding the connection limit.
    #&#8203;4936 <https://github.com/aio-libs/aiohttp/issues/4936>_

  • Add forced UTF-8 encoding for application/rdap+json responses.
    #&#8203;4938 <https://github.com/aio-libs/aiohttp/issues/4938>_

  • Fix inconsistency between Python and C http request parsers in parsing pct-encoded URL.
    #&#8203;4972 <https://github.com/aio-libs/aiohttp/issues/4972>_

  • Fix connection closing issue in HEAD request.
    #&#8203;5012 <https://github.com/aio-libs/aiohttp/issues/5012>_

  • Fix type hint on BaseRunner.addresses (from List[str] to List[Any])
    #&#8203;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 slightly
    increases CPU load as a side effect.
    #&#8203;5098 <https://github.com/aio-libs/aiohttp/issues/5098>_

Improved Documentation

  • Fix example code in client quick-start
    #&#8203;3376 <https://github.com/aio-libs/aiohttp/issues/3376>_
  • Updated the docs so there is no contradiction in ttl_dns_cache default value
    #&#8203;3512 <https://github.com/aio-libs/aiohttp/issues/3512>_
  • Add 'Deploy with SSL' to docs.
    #&#8203;4201 <https://github.com/aio-libs/aiohttp/issues/4201>_
  • Change typing of the secure argument on StreamResponse.set_cookie from Optional[str] to Optional[bool]
    #&#8203;4204 <https://github.com/aio-libs/aiohttp/issues/4204>_
  • Changes ttl_dns_cache type from int to Optional[int].
    #&#8203;4270 <https://github.com/aio-libs/aiohttp/issues/4270>_
  • Simplify README hello word example and add a documentation page for people coming from requests.
    #&#8203;4272 <https://github.com/aio-libs/aiohttp/issues/4272>_
  • Improve some code examples in the documentation involving websockets and starting a simple HTTP site with an AppRunner.
    #&#8203;4285 <https://github.com/aio-libs/aiohttp/issues/4285>_
  • Fix typo in code example in Multipart docs
    #&#8203;4312 <https://github.com/aio-libs/aiohttp/issues/4312>_
  • Fix code example in Multipart section.
    #&#8203;4314 <https://github.com/aio-libs/aiohttp/issues/4314>_
  • Update contributing guide so new contributors read the most recent version of that guide. Update command used to create test coverage reporting.
    #&#8203;4810 <https://github.com/aio-libs/aiohttp/issues/4810>_
  • Spelling: Change "canonize" to "canonicalize".
    #&#8203;4986 <https://github.com/aio-libs/aiohttp/issues/4986>_
  • Add aiohttp-sse-client library to third party usage list.
    #&#8203;5084 <https://github.com/aio-libs/aiohttp/issues/5084>_

Misc

  • #&#8203;2856 <https://github.com/aio-libs/aiohttp/issues/2856>, #&#8203;4218 <https://github.com/aio-libs/aiohttp/issues/4218>, #&#8203;4250 <https://github.com/aio-libs/aiohttp/issues/4250>_

v3.6.3

Compare Source

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

Bugfixes

  • Pin yarl to <1.6.0 to avoid buggy behavior that will be fixed by the next aiohttp
    release.

v3.6.2

Compare Source

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

Features

  • Made exceptions pickleable. Also changed the repr of some exceptions.
    #&#8203;4077 <https://github.com/aio-libs/aiohttp/issues/4077>_
  • Use Iterable type hint instead of Sequence for Application middleware
    parameter. #&#8203;4125 <https://github.com/aio-libs/aiohttp/issues/4125>_

Bugfixes

  • Reset the sock_read timeout each time data is received for a
    aiohttp.ClientResponse. #&#8203;3808 <https://github.com/aio-libs/aiohttp/issues/3808>_
  • Fix handling of expired cookies so they are not stored in CookieJar.
    #&#8203;4063 <https://github.com/aio-libs/aiohttp/issues/4063>_
  • Fix misleading message in the string representation of ClientConnectorError;
    self.ssl == None means default SSL context, not SSL disabled #&#8203;4097 <https://github.com/aio-libs/aiohttp/issues/4097>_
  • Don't clobber HTTP status when using FileResponse.
    #&#8203;4106 <https://github.com/aio-libs/aiohttp/issues/4106>_

Improved Documentation

  • Added minimal required logging configuration to logging documentation.
    #&#8203;2469 <https://github.com/aio-libs/aiohttp/issues/2469>_
  • Update docs to reflect proxy support.
    #&#8203;4100 <https://github.com/aio-libs/aiohttp/issues/4100>_
  • Fix typo in code example in testing docs.
    #&#8203;4108 <https://github.com/aio-libs/aiohttp/issues/4108>_

Misc

  • #&#8203;4102 <https://github.com/aio-libs/aiohttp/issues/4102>_

v3.6.1

Compare Source

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

Features

  • Compatibility with Python 3.8.
    #&#8203;4056 <https://github.com/aio-libs/aiohttp/issues/4056>_

Bugfixes

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

Improved Documentation

  • Provide pytest-aiohttp namespace for pytest fixtures in docs.
    #&#8203;3723 <https://github.com/aio-libs/aiohttp/issues/3723>_

v3.6.0

Compare Source

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

Features

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

Bugfixes

  • Raise a ClientResponseError instead of an AssertionError for a blank
    HTTP Reason Phrase.
    #&#8203;3532 <https://github.com/aio-libs/aiohttp/issues/3532>_

  • Fix an issue where cookies would sometimes not be set during a redirect.
    #&#8203;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.
    #&#8203;3579 <https://github.com/aio-libs/aiohttp/issues/3579>_

  • Drop the processed task from all_tasks() list early. It prevents logging about a
    task with unhandled exception when the server is used in conjunction with
    asyncio.run(). #&#8203;3587 <https://github.com/aio-libs/aiohttp/issues/3587>_

  • Signal type annotation changed from Signal[Callable[['TraceConfig'], Awaitable[None]]] to Signal[Callable[ClientSession, SimpleNamespace, ...].
    #&#8203;3595 <https://github.com/aio-libs/aiohttp/issues/3595>_

  • Use sanitized URL as Location header in redirects
    #&#8203;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.
    #&#8203;3621 <https://github.com/aio-libs/aiohttp/issues/3621>_

  • Close session created inside aiohttp.request when unhandled exception occurs
    #&#8203;3628 <https://github.com/aio-libs/aiohttp/issues/3628>_

  • Cleanup per-chunk data in generic data read. Memory leak fixed.
    #&#8203;3631 <https://github.com/aio-libs/aiohttp/issues/3631>_

  • Use correct type for add_view and family
    #&#8203;3633 <https://github.com/aio-libs/aiohttp/issues/3633>_

  • Fix keepalive field in slots of RequestHandler.
    #&#8203;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.
    #&#8203;3648 <https://github.com/aio-libs/aiohttp/issues/3648>_

  • Suppress pytest warnings due to test_utils classes
    #&#8203;3660 <https://github.com/aio-libs/aiohttp/issues/3660>_

  • Fix overshadowing of overlapped sub-application prefixes.
    #&#8203;3701 <https://github.com/aio-libs/aiohttp/issues/3701>_

  • Fixed return type annotation for WSMessage.json()
    #&#8203;3720 <https://github.com/aio-libs/aiohttp/issues/3720>_

  • Properly expose TooManyRedirects publicly as documented.
    #&#8203;3818 <https://github.com/aio-libs/aiohttp/issues/3818>_

  • Fix missing brackets for IPv6 in proxy CONNECT request
    #&#8203;3841 <https://github.com/aio-libs/aiohttp/issues/3841>_

  • Make the signature of aiohttp.test_utils.TestClient.request match
    asyncio.ClientSession.request according to the docs #&#8203;3852 <https://github.com/aio-libs/aiohttp/issues/3852>_

  • Use correct style for re-exported imports, makes mypy --strict mode happy.
    #&#8203;3868 <https://github.com/aio-libs/aiohttp/issues/3868>_

  • Fixed type annotation for add_view method of UrlDispatcher to accept any subclass of
    View #&#8203;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. #&#8203;3906 <https://github.com/aio-libs/aiohttp/issues/3906>_

  • Add URL to the string representation of ClientResponseError.
    #&#8203;3959 <https://github.com/aio-libs/aiohttp/issues/3959>_

  • Accept istr keys in LooseHeaders type hints.
    #&#8203;3976 <https://github.com/aio-libs/aiohttp/issues/3976>_

  • Fixed race conditions in resolve_host caching and throttling when tracing is enabled.
    #&#8203;4013 <https://github.com/aio-libs/aiohttp/issues/4013>

  • For URLs like "unix://localhost/..." set Host HTTP header to "localhost" instead of
    "localhost:None". #&#8203;4039 <https://github.com/aio-libs/aiohttp/issues/4039>_

Improved Documentation

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

v3.5.4

Compare Source

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

Bugfixes

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

v3.5.3

Compare Source

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

Bugfixes

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

v3.5.2

Compare Source

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

Features

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

Bugfixes

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

Improved Documentation

  • Add documentation for aiohttp.web.HTTPException.
    #&#8203;3490 <https://github.com/aio-libs/aiohttp/issues/3490>_

Misc

  • #&#8203;3487 <https://github.com/aio-libs/aiohttp/issues/3487>_

v3.5.1

Compare Source

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

  • Fix a regression about ClientSession._requote_redirect_url modification in debug
    mode.

v3.5.0

Compare Source

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

Features

  • The library type annotations are checked in strict mode now.
  • Add support for setting cookies for individual request (#&#8203;2387 <https://github.com/aio-libs/aiohttp/pull/2387>_)
  • Application.add_domain implementation (#&#8203;2809 <https://github.com/aio-libs/aiohttp/pull/2809>_)
  • The default app in the request returned by test_utils.make_mocked_request can
    now have objects assigned to it and retrieved using the [] operator. (#&#8203;3174 <https://github.com/aio-libs/aiohttp/pull/3174>_)
  • Make request.url accessible when transport is closed. (#&#8203;3177 <https://github.com/aio-libs/aiohttp/pull/3177>_)
  • Add zlib_executor_size argument to Response constructor to allow compression
    to run in a background executor to avoid blocking the main thread and potentially
    triggering health check failures. (#&#8203;3205 <https://github.com/aio-libs/aiohttp/pull/3205>_)
  • Enable users to set ClientTimeout in aiohttp.request (#&#8203;3213 <https://github.com/aio-libs/aiohttp/pull/3213>_)
  • Don't raise a warning if NETRC environment variable is not set and ~/.netrc
    file doesn't exist. (#&#8203;3267 <https://github.com/aio-libs/aiohttp/pull/3267>_)
  • Add default logging handler to web.run_app If the Application.debug``` flag is set and the default logger aiohttp.accessis used, access logs will now be output using a *stderr*StreamHandlerif no handlers are attached. Furthermore, if the default logger has no log level set, the log level will be set toDEBUG``. (#&#8203;3324 <https://github.com/aio-libs/aiohttp/pull/3324>_)
  • Add method argument to session.ws_connect(). Sometimes server API requires a
    different HTTP method for WebSocket connection establishment. For example, Docker exec needs POST. (#&#8203;3378 <https://github.com/aio-libs/aiohttp/pull/3378>_)
  • Create a task per request handling. (#&#8203;3406 <https://github.com/aio-libs/aiohttp/pull/3406>_)

Bugfixes

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

Improved Documentation

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

Deprecations and Removals

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

Misc

v3.4.4

Compare Source

Changes

  • Fix installation from sources when compiling toolkit is not available (#&#8203;3241 <https://github.com/aio-libs/aiohttp/pull/3241>_)

v3.4.3

Compare Source

Changes

  • Add app.pre_frozen state to properly handle startup signals in sub-applications. (#&#8203;3237 <https://github.com/aio-libs/aiohttp/pull/3237>_)

v3.4.2

Compare Source

Changes

  • Fix iter_chunks type annotation (#&#8203;3230 <https://github.com/aio-libs/aiohttp/pull/3230>_)

v3.4.1

Compare Source

Fixed regressions for HTTP headers processing and documentation publishing

Changes

  • Fix empty header parsing regression. (#&#8203;3218 <https://github.com/aio-libs/aiohttp/pull/3218>_)
  • Fix BaseRequest.raw_headers doc. (#&#8203;3215 <https://github.com/aio-libs/aiohttp/pull/3215>_)
  • Fix documentation building on ReadTheDocs (#&#8203;3221 <https://github.com/aio-libs/aiohttp/pull/3221>_)

v3.4.0

Compare Source

Changes

Features

  • Add type hints (#&#8203;3049 <https://github.com/aio-libs/aiohttp/pull/3049>_)
  • Add raise_for_status request parameter (#&#8203;3073 <https://github.com/aio-libs/aiohttp/pull/3073>_)
  • Add type hints to HTTP client (#&#8203;3092 <https://github.com/aio-libs/aiohttp/pull/3092>_)
  • Minor server optimizations (#&#8203;3095 <https://github.com/aio-libs/aiohttp/pull/3095>_)
  • Preserve the cause when HTTPException is raised from another exception. (#&#8203;3096 <https://github.com/aio-libs/aiohttp/pull/3096>_)
  • Add close_boundary option in MultipartWriter.write method. Support streaming (#&#8203;3104 <https://github.com/aio-libs/aiohttp/pull/3104>_)
  • Added a remove_slash option to the normalize_path_middleware factory. (#&#8203;3173 <https://github.com/aio-libs/aiohttp/pull/3173>_)
  • The class AbstractRouteDef is importable from aiohttp.web. (#&#8203;3183 <https://github.com/aio-libs/aiohttp/pull/3183>_)

Bugfixes

  • Prevent double closing when client connection is released before the
    last data_received() callback. (#&#8203;3031 <https://github.com/aio-libs/aiohttp/pull/3031>_)
  • Make redirect with normalize_path_middleware work when using url encoded paths. (#&#8203;3051 <https://github.com/aio-libs/aiohttp/pull/3051>_)
  • Postpone web task creation to connection establishment. (#&#8203;3052 <https://github.com/aio-libs/aiohttp/pull/3052>_)
  • Fix sock_read timeout. (#&#8203;3053 <https://github.com/aio-libs/aiohttp/pull/3053>_)
  • When using a server-request body as the data= argument of a client request, iterate over the content with readany instead of readline to avoid Line too long errors. (#&#8203;3054 <https://github.com/aio-libs/aiohttp/pull/3054>_)
  • fix UrlDispatcher has no attribute add_options, add web.options (#&#8203;3062 <https://github.com/aio-libs/aiohttp/pull/3062>_)
  • correct filename in content-disposition with multipart body (#&#8203;3064 <https://github.com/aio-libs/aiohttp/pull/3064>_)
  • Many HTTP proxies has buggy keepalive support.
    Let's not reuse connection but close it after processing every response. (#&#8203;3070 <https://github.com/aio-libs/aiohttp/pull/3070>_)
  • raise 413 "Payload Too Large" rather than raising ValueError in request.post()
    Add helpful debug message to 413 responses (#&#8203;3087 <https://github.com/aio-libs/aiohttp/pull/3087>_)
  • Fix StreamResponse equality, now that they are MutableMapping objects. (#&#8203;3100 <https://github.com/aio-libs/aiohttp/pull/3100>_)
  • Fix server request objects comparison (#&#8203;3116 <https://github.com/aio-libs/aiohttp/pull/3116>_)
  • Do not hang on 206 Partial Content response with Content-Encoding: gzip (#&#8203;3123 <https://github.com/aio-libs/aiohttp/pull/3123>_)
  • Fix timeout precondition checkers (#&#8203;3145 <https://github.com/aio-libs/aiohttp/pull/3145>_)

Improved Documentation

  • Add a new FAQ entry that clarifies that you should not reuse response
    objects in middleware functions. (#&#8203;3020 <https://github.com/aio-libs/aiohttp/pull/3020>_)
  • Add FAQ section "Why is creating a ClientSession outside of an event loop dangerous?" (#&#8203;3072 <https://github.com/aio-libs/aiohttp/pull/3072>_)
  • Fix link to Rambler (#&#8203;3115 <https://github.com/aio-libs/aiohttp/pull/3115>_)
  • Fix TCPSite documentation on the Server Reference page. (#&#8203;3146 <https://github.com/aio-libs/aiohttp/pull/3146>_)
  • Fix documentation build configuration file for Windows. (#&#8203;3147 <https://github.com/aio-libs/aiohttp/pull/3147>_)
  • Remove no longer existing lingering_timeout parameter of Application.make_handler from documentation. (#&#8203;3151 <https://github.com/aio-libs/aiohttp/pull/3151>_)
  • Mention that app.make_handler is deprecated, recommend to use runners
    API instead. (#&#8203;3157 <https://github.com/aio-libs/aiohttp/pull/3157>_)

Deprecations and Removals

  • Drop loop.current_task() from helpers.current_task() (#&#8203;2826 <https://github.com/aio-libs/aiohttp/pull/2826>_)
  • Drop reader parameter from request.multipart(). (#&#8203;3090 <https://github.com/aio-libs/aiohttp/pull/3090>_)

v3.3.2

Compare Source

Bugfix release

Changes

  • Many HTTP proxies has buggy keepalive support. Let's not reuse connection but
    close it after processing every response. (#​3070)

  • Provide vendor source files in tarball (#​3076)

v3.3.1

Compare Source

Bugfix release.

Changes

  • Fix sock_read timeout. (#​3053)
  • When using a server-request body as the data= argument of a client request,
    iterate over the content with readany instead of readline to avoid Line too long errors. (#​3054)

v3.3.0

Compare Source

The main change is introducing new client timeouts.

The release has many new improvements and bugfixes as well.

Changes

Features

  • Raise ConnectionResetError instead of CancelledError on trying to
    write to a closed stream. #​2499
  • Implement ClientTimeout class and support socket read timeout. #​2768
  • Enable logging when aiohttp.web is used as a program #​2956
  • Add canonical property to resources #​2968
  • Forbid reading response BODY after release #​2983
  • Implement base protocol class to avoid a dependency from internal
    asyncio.streams.FlowControlMixin #​2986
  • Cythonize @helpers.reify, 5% boost on macro benchmark #​2995
  • Optimize HTTP parser #​3015
  • Implement runner.addresses property. #​3036
  • Use bytearray instead of a list of bytes in websocket reader. It
    improves websocket message reading a little. #​3039
  • Remove heartbeat on closing connection on keepalive timeout. The used hack
    violates HTTP protocol. #​3041
  • Limit websocket message size on reading to 4 MB by default. #​3045

Bugfixes

  • Don't reuse a connection with the same URL but different proxy/TLS settings
    #​2981
  • When parsing the Forwarded header, the optional port number is now preserved.
    #​3009

Improved Documentation

  • Make Change Log more visible in docs #​3029
  • Make style and grammar improvements on the FAQ page. #​3030- Document that signal handlers should be async functions since aiohttp 3.0
    #​3032

Deprecations and Removals

  • Deprecate custom application's router. #​3021

v3.2.1

Compare Source

Changes

  • Don't reuse a connection with the same URL but different proxy/TLS settings
    (#​2981)

v3.2.0

Compare Source

Changes

Features

  • Raise TooManyRedirects exception when client gets redirected too many
    times instead of returning last response. (#&#8203;2631 <https://github.com/aio-libs/aiohttp/pull/2631>_)
  • Extract route definitions into separate web_routedef.py file (#&#8203;2876 <https://github.com/aio-libs/aiohttp/pull/2876>_)
  • Raise an exception on request body reading after sending response. (#&#8203;2895 <https://github.com/aio-libs/aiohttp/pull/2895>_)
  • ClientResponse and RequestInfo now have real_url property, which is request
    url without fragment part being stripped (#&#8203;2925 <https://github.com/aio-libs/aiohttp/pull/2925>_)
  • Speed up connector limiting (#&#8203;2937 <https://github.com/aio-libs/aiohttp/pull/2937>_)
  • Added and links property for ClientResponse object (#&#8203;2948 <https://github.com/aio-libs/aiohttp/pull/2948>_)
  • Add request.config_dict for exposing nested applications data. (#&#8203;2949 <https://github.com/aio-libs/aiohttp/pull/2949>_)
  • Speed up HTTP headers serialization, server micro-benchmark runs 5% faster
    now. (#&#8203;2957 <https://github.com/aio-libs/aiohttp/pull/2957>_)
  • Apply assertions in debug mode only (#&#8203;2966 <https://github.com/aio-libs/aiohttp/pull/2966>_)

Bugfixes

  • expose property app for TestClient (#&#8203;2891 <https://github.com/aio-libs/aiohttp/pull/2891>_)
  • Call on_chunk_sent when write_eof takes as a param the last chunk (#&#8203;2909 <https://github.com/aio-libs/aiohttp/pull/2909>_)
  • A closing bracket was added to repr of resources (#&#8203;2935 <https://github.com/aio-libs/aiohttp/pull/2935>_)
  • Fix compression of FileResponse (#&#8203;2942 <https://github.com/aio-libs/aiohttp/pull/2942>_)
  • Fixes some bugs in the limit connection feature (#&#8203;2964 <https://github.com/aio-libs/aiohttp/pull/2964>_)

Improved Documentation

  • Drop async_timeout usage from documentation for client API in favor of
    timeout parameter. (#&#8203;2865 <https://github.com/aio-libs/aiohttp/pull/2865>_)
  • Improve Gunicorn logging documentation (#&#8203;2921 <https://github.com/aio-libs/aiohttp/pull/2921>_)
  • Replace multipart writer .serialize() method with .write() in
    documentation. (#&#8203;2965 <https://github.com/aio-libs/aiohttp/pull/2965>_)

Deprecations and Removals

  • Deprecate Application.make_handler() (#&#8203;2938 <https://github.com/aio-libs/aiohttp/pull/2938>_)

Misc

v3.1.3

Compare Source

Bugfix release

Changes

  • Fix cancellation broadcast during DNS resolve (#&#8203;2910 <https://github.com/aio-libs/aiohttp/pull/2910>_)

v3.1.2

Compare Source

Bugfix release, no new features against 3.1.0

Changes

  • Make LineTooLong exception more detailed about actual data size (#​2863)
  • Call on_chunk_sent when write_eof() takes as a param the last chunk (#​2909)

v3.1.1

Compare Source

Changes

  • Support asynchronous iterators (and asynchronous generators as
    well) in both client and server API as request / response BODY
    payloads. (#​2802)

v3.1.0

Compare Source

Welcome to aiohttp 3.1 release.

This is an incremental release, fully backward compatible with aiohttp 3.0.

But we have added several new features.

The most visible one is app.add_routes() (an alias for existing
app.router.add_routes(). The addition is very important because
all aiohttp docs now uses app.add_routes() call in code
snippets. All your existing code still do register routes / resource
without any warning but you've got the idea for a favorite way: noisy
app.router.add_get() is replaced by app.add_routes().

The library does not make a preference between decorators::

routes = web.RouteTableDef()

@​routes.get('/')
async def hello(request):
return web.Response(text="Hello, world")

app.add_routes(routes)

and route tables as a list::

async def hello(request):
return web.Response(text="Hello, world")

app.add_routes([web.get('/', hello)])

Both ways are equal, user may decide basing on own code taste.

Also we have a lot of minor features, bug fixes and documentation
updates, see below.

Features

  • Relax JSON content-type checking in the ClientResponse.json() to allow
    "application/xxx+json" instead of strict "application/json". (#​2206)
  • Bump C HTTP parser to version 2.8 (#​2730)
  • Accept a coroutine as an application factory in web.run_app and gunicorn
    worker. (#​2739)
  • Implement application cleanup context (app.cleanup_ctx property). (#​2747)
  • Make writer.write_headers a coroutine. (#​2762)
  • Add tracking signals for getting request/response bodies. (#​2767)
  • Deprecate ClientResponseError.code in favor of .status to keep similarity
    with response classes. (#​2781)
  • Implement app.add_routes() method. (#​2787)
  • Implement web.static() and RouteTableDef.static() API. (#​2795)
  • Install a test event loop as default by asyncio.set_event_loop(). The
    change affects aiohttp test utils but backward compatibility is not broken
    for 99.99% of use cases. (#​2804)
  • Refactor ClientResponse constructor: make logically required constructor
    arguments mandatory, drop _post_init() method. (#​2820)
  • Use app.add_routes() in server docs everywhere (#​2830)
  • Websockets refactoring, all websocket writer methods are converted into
    coroutines. (#​2836)
  • Provide Content-Range header for Range requests (#​2844)

Bugfixes

  • Fix websocket client return EofStream. (#​2784)
  • Fix websocket demo. (#​2789)
  • Property BaseRequest.http_range now returns a python-like slice when
    requesting the tail of the range. It's now indicated by a negative value in
    range.start rather then in range.stop (#​2805)
  • Close a connection if an unexpected exception occurs while sending a request
    (#​2827)
  • Fix firing DNS tracing events. (#​2841)

Improved Documentation

  • Change ClientResponse.json() documentation to reflect that it now
    allows "application/xxx+json" content-types (#​2206)
  • Document behavior when cchardet detects encodings that are unknown to Python.
    (#​2732)
  • Add diagrams for tracing request life style. (#​2748)
  • Drop removed functionality for passing StreamReader as data at client
    side. (#​2793)

v3.0.9

Compare Source

Changes

  • Close a connection if an unexpected exception occurs while sending a request
    (#​2827)

v3.0.8

Compare Source

Changes

  • Use asyncio.current_task() on Python 3.7 (#​2825)

v3.0.7

Compare Source

Fixed previously broken SSL proxies (http proxies with upgrade to HTTPS by CONNECT method).

Changes

  • Fix SSL proxy support by client. (#​2810)
  • Restore a imperative check in setup.py for python version. The check
    works in parallel to environment marker. As effect a error about unsupported
    Python versions is raised even on outdated systems with very old
    setuptools version installed. (#​2813)

v3.0.6

Compare Source

Changes

  • Add _reuse_address and _reuse_port to
    web_runner.TCPSite.__slots__. (#​2792)

v3.0.5

Compare Source

The release is pretty important, as well as bug fixes for aiohttp 3.0.4

Update to aiohttp 3.0.5 is highly recommended for aiohttp server code.

Changes

  • Fix InvalidStateError on processing a sequence of two
    RequestHandler.data_received calls on web server. (#​2773)

v3.0.4

Compare Source

Changes

  • Fix IndexError in HTTP request handling by server. (#​2752)
  • Fix MultipartWriter.append* no longer returning part/payload. (#​2759)

v3.0.3

Compare Source

Changes

  • Relax attrs dependency to minimal actually supported version
    17.0.3 The change allows to avoid version conflicts with currently
    existing test tools.

v3.0.2

Compare Source

Upgrade is highly recommended for Windows users.

Changes

  • Prevent Windows absolute URLs in static files. Paths like
    /static/D:\path and /static/\\hostname\drive\path are
    forbidden.

v3.0.1

Compare Source

Brief

Major release, many already deprecated things are removed
Minimal supported Python version is 3.5.3.
aiohttp uses shiny async/await syntax everywhere internally (while old yield from is still supported).

Read https://docs.aiohttp.org/en/stable/whats_new\_3\_0.html for brief information about most important changes.

The full changelog is below:

3.0.0 (2018-02-12)

Features

  • Speed up the PayloadWriter.write method for large request bodies. (#​2126)
  • StreamResponse and Response are now MutableMappings. (#​2246)
  • ClientSession publishes a set of signals to track the HTTP request execution.
    (#​2313)
  • Content-Disposition fast access in ClientResponse (#​2455)
  • Added support to Flask-style decorators with class-based Views. (#​2472)
  • Signal handlers (registered callbacks) should be coroutines. (#​2480)
  • Support async with test_client.ws_connect(...) (#​2525)
  • Introduce site and application runner as underlying API for web.run_app
    implementation. (#​2530)
  • Only quote multipart boundary when necessary and sanitize input (#​2544)
  • Make the aiohttp.ClientResponse.get_encoding method public with the
    processing of invalid charset while detecting content encoding. (#​2549)
  • Add optional configurable per message compression for
    ClientWebSocketResponse and WebSocketResponse. (#​2551)
  • Add hysteresis to StreamReader to prevent flipping between paused and
    resumed states too often. (#​2555)
  • Support .netrc by trust_env (#​2581)
  • Avoid to create a new resource when adding a route with the same name and
    path of the last added resource (#​2586)
  • MultipartWriter.boundary is str now. ([#​2589](

@mend-for-github-com mend-for-github-com bot added the security fix Security fix generated by WhiteSource label Jun 30, 2022
@mend-for-github-com mend-for-github-com bot changed the title Update dependency aiohttp to v3 (branch1) Update dependency aiohttp to v3 (branch1) - autoclosed Aug 24, 2022
@mend-for-github-com mend-for-github-com bot deleted the whitesource-remediate/branch1-aiohttp-3.x branch August 24, 2022 07:50
@mend-for-github-com mend-for-github-com bot changed the title Update dependency aiohttp to v3 (branch1) - autoclosed Update dependency aiohttp to v3 (branch1) Aug 26, 2022
@mend-for-github-com mend-for-github-com bot restored the whitesource-remediate/branch1-aiohttp-3.x branch August 26, 2022 06:03
@mend-for-github-com mend-for-github-com bot reopened this Aug 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
security fix Security fix generated by WhiteSource
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants