Added a GunicornWebWorker feature for extending the aiohttp server configuration by allowing the 'wsgi' coroutine to return web.AppRunner object.
(#2988)_
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)_
Make access log use local time with timezone
(#3853)_
Add a request handler type alias aiohttp.typedefs.Handler.
(#4686)_
AioHTTPTestCase is more async friendly now.
For people who use unittest and are used to use :py:exc:~unittest.TestCase
it will be easier to write new test cases like the sync version of the :py:exc:~unittest.TestCase class,
without using the decorator @unittest_run_loop, just async def test_*.
The only difference is that for the people using python3.7 and below a new dependency is needed, it is asynctestcase.
(#4700)_
Add validation of HTTP header keys and values to prevent header injection.
(#4818)_
Add predicate to AbstractCookieJar.clear.
Add AbstractCookieJar.clear_domain to clean all domain and subdomains cookies only.
(#4942)_
Add keepalive_timeout parameter to web.run_app.
(#5094)_
Switch to external frozenlist and aiosignal libraries.
(#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)_
Added a GunicornWebWorker feature for extending the aiohttp server configuration by allowing the 'wsgi' coroutine to return web.AppRunner object.
[#2988](https://github.com/aio-libs/aiohttp/issues/2988) <https://github.com/aio-libs/aiohttp/issues/2988>_
Switch from http-parser to llhttp[#3561](https://github.com/aio-libs/aiohttp/issues/3561) <https://github.com/aio-libs/aiohttp/issues/3561>_
Use Brotli instead of brotlipy
[#3803](https://github.com/aio-libs/aiohttp/issues/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) <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) <https://github.com/aio-libs/aiohttp/issues/3853>_
Implemented readuntil in StreamResponse[#4054](https://github.com/aio-libs/aiohttp/issues/4054) <https://github.com/aio-libs/aiohttp/issues/4054>_
FileResponse now supports ETag.
[#4594](https://github.com/aio-libs/aiohttp/issues/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) <https://github.com/aio-libs/aiohttp/issues/4686>_
AioHTTPTestCase is more async friendly now.
For people who use unittest and are used to use :py:exc:~unittest.TestCase
it will be easier to write new test cases like the sync version of the :py:exc:~unittest.TestCase class,
without using the decorator @unittest_run_loop, just async def test_*.
The only difference is that for the people using python3.7 and below a new dependency is needed, it is asynctestcase.
[#4700](https://github.com/aio-libs/aiohttp/issues/4700) <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) <https://github.com/aio-libs/aiohttp/issues/4818>_
Add predicate to AbstractCookieJar.clear.
Add AbstractCookieJar.clear_domain to clean all domain and subdomains cookies only.
[#4942](https://github.com/aio-libs/aiohttp/issues/4942) <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) <https://github.com/aio-libs/aiohttp/issues/5094>_
Tracing for client sent headers
[#5105](https://github.com/aio-libs/aiohttp/issues/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) <https://github.com/aio-libs/aiohttp/issues/5267>_
Add final declarations for constants.
[#5275](https://github.com/aio-libs/aiohttp/issues/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) <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.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on aiohttp to permit the latest version.
Release notes
Sourced from aiohttp's releases.
... (truncated)
Changelog
Sourced from aiohttp's changelog.
... (truncated)
Commits
208a4eb
Bump to 3.8.02d4329a
[PR #5557/bb4ee18d backport][3.8] test_proxy_from_env did not clear proxies a...a4b70ab
[PR #4661/50753eac backport][3.8] Support websocket proxies configured via en...59bbcac
Add abase_url
option toClientSession
(#6129)0854cd7
Update the project maintainers recordf016f06
Raise '400: Content-Length can't be present with Transfer-Encoding' if both C...a8f01d7
[PR #5534/9c7f3d37 backport][3.8] StaticResource only matches folder-like URL...eeaea0c
Bump to 3.8.0a7daa336b
Sepcify path for downloading dist artifactbcaabd4
Bump to 3.8.0a6Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)