From 208a4eb6dbf5373d9f5a9f18efac839a6448eadc Mon Sep 17 00:00:00 2001 From: Andrew Svetlov Date: Sun, 31 Oct 2021 22:09:45 +0200 Subject: [PATCH] Bump to 3.8.0 --- CHANGES.rst | 186 +++++++++++++++++++++++++++++++++++++++++ CHANGES/2934.bugfix | 1 - CHANGES/2988.feature | 1 - CHANGES/3450.bugfix | 1 - CHANGES/3561.feature | 1 - CHANGES/3803.feature | 1 - CHANGES/3828.feature | 4 - CHANGES/3853.feature | 1 - CHANGES/3927.misc | 1 - CHANGES/4012.bugfix | 3 - CHANGES/4054.feature | 1 - CHANGES/4247.misc | 1 - CHANGES/4247.misc.1 | 1 - CHANGES/4431.bugfix | 1 - CHANGES/4594.feature | 1 - CHANGES/4648.bugfix | 1 - CHANGES/4686.feature | 1 - CHANGES/4700.feature | 6 -- CHANGES/4748.bugfix | 1 - CHANGES/4799.bugfix | 1 - CHANGES/4818.feature | 1 - CHANGES/4942.feature | 2 - CHANGES/4984.bugfix | 1 - CHANGES/5094.feature | 1 - CHANGES/5105.feature | 1 - CHANGES/5106.bugfix | 1 - CHANGES/5107.bugfix | 1 - CHANGES/5192.bugfix | 1 - CHANGES/5233.bugfix | 1 - CHANGES/5250.bugfix | 1 - CHANGES/5259.bugfix | 1 - CHANGES/5267.feature | 1 - CHANGES/5275.feature | 1 - CHANGES/5293.feature | 1 - CHANGES/5326.doc | 1 - CHANGES/5329.bugfix | 1 - CHANGES/5380.bugfix | 1 - CHANGES/5389.misc | 1 - CHANGES/5392.bugfix | 1 - CHANGES/5403.bugfix | 1 - CHANGES/5432.bugfix | 1 - CHANGES/5457.misc | 1 - CHANGES/5466.bugfix | 1 - CHANGES/5486.misc | 1 - CHANGES/5494.bugfix | 4 - CHANGES/5494.misc | 3 - CHANGES/5515.misc | 1 - CHANGES/5527.bugfix | 1 - CHANGES/5554.bugfix | 1 - CHANGES/5571.feature | 4 - CHANGES/5572.feature | 2 - CHANGES/5585.feature | 1 - CHANGES/5606.bugfix | 1 - CHANGES/5625.misc | 1 - CHANGES/5635.misc | 1 - CHANGES/5648.misc | 1 - CHANGES/5657.bugfix | 1 - CHANGES/5657.misc | 1 - CHANGES/5725.doc | 2 - CHANGES/5727.bugfix | 1 - CHANGES/5840.bugfix | 1 - CHANGES/5844.feature | 1 - CHANGES/5850.doc | 2 - CHANGES/5853.bugfix | 1 - CHANGES/5868.bugfix | 1 - CHANGES/5877.bugfix | 1 - CHANGES/5890.misc | 1 - CHANGES/5901.bugfix | 4 - CHANGES/5905.bugfix | 1 - CHANGES/5909.feature | 1 - CHANGES/5914.misc | 1 - CHANGES/5925.bugfix | 1 - CHANGES/5927.feature | 1 - CHANGES/5930.feature | 1 - CHANGES/5932.misc | 1 - CHANGES/5957.feature | 1 - CHANGES/5992.feature | 3 - CHANGES/6002.misc | 2 - CHANGES/6013.feature | 1 - CHANGES/6045.misc | 3 - CHANGES/6079.feature | 1 - CHANGES/6130.bugfix | 1 - CHANGES/6131.misc | 1 - CHANGES/6139.feature.1 | 1 - CHANGES/6139.feature.2 | 1 - CHANGES/6156.misc | 1 - CHANGES/6165.misc | 2 - CHANGES/6166.misc | 2 - CHANGES/6182.bugfix | 1 - aiohttp/__init__.py | 2 +- 90 files changed, 187 insertions(+), 121 deletions(-) delete mode 100644 CHANGES/2934.bugfix delete mode 100644 CHANGES/2988.feature delete mode 100644 CHANGES/3450.bugfix delete mode 100644 CHANGES/3561.feature delete mode 100644 CHANGES/3803.feature delete mode 100644 CHANGES/3828.feature delete mode 100644 CHANGES/3853.feature delete mode 100644 CHANGES/3927.misc delete mode 100644 CHANGES/4012.bugfix delete mode 100644 CHANGES/4054.feature delete mode 100644 CHANGES/4247.misc delete mode 100644 CHANGES/4247.misc.1 delete mode 100644 CHANGES/4431.bugfix delete mode 100644 CHANGES/4594.feature delete mode 100644 CHANGES/4648.bugfix delete mode 100644 CHANGES/4686.feature delete mode 100644 CHANGES/4700.feature delete mode 100644 CHANGES/4748.bugfix delete mode 100644 CHANGES/4799.bugfix delete mode 100644 CHANGES/4818.feature delete mode 100644 CHANGES/4942.feature delete mode 100644 CHANGES/4984.bugfix delete mode 100644 CHANGES/5094.feature delete mode 100644 CHANGES/5105.feature delete mode 100644 CHANGES/5106.bugfix delete mode 100644 CHANGES/5107.bugfix delete mode 100644 CHANGES/5192.bugfix delete mode 100644 CHANGES/5233.bugfix delete mode 100644 CHANGES/5250.bugfix delete mode 100644 CHANGES/5259.bugfix delete mode 100644 CHANGES/5267.feature delete mode 100644 CHANGES/5275.feature delete mode 100644 CHANGES/5293.feature delete mode 100644 CHANGES/5326.doc delete mode 100644 CHANGES/5329.bugfix delete mode 100644 CHANGES/5380.bugfix delete mode 100644 CHANGES/5389.misc delete mode 100644 CHANGES/5392.bugfix delete mode 100644 CHANGES/5403.bugfix delete mode 100644 CHANGES/5432.bugfix delete mode 100644 CHANGES/5457.misc delete mode 100644 CHANGES/5466.bugfix delete mode 100644 CHANGES/5486.misc delete mode 100644 CHANGES/5494.bugfix delete mode 100644 CHANGES/5494.misc delete mode 100644 CHANGES/5515.misc delete mode 100644 CHANGES/5527.bugfix delete mode 100644 CHANGES/5554.bugfix delete mode 100644 CHANGES/5571.feature delete mode 100644 CHANGES/5572.feature delete mode 100644 CHANGES/5585.feature delete mode 100644 CHANGES/5606.bugfix delete mode 100644 CHANGES/5625.misc delete mode 100644 CHANGES/5635.misc delete mode 100644 CHANGES/5648.misc delete mode 100644 CHANGES/5657.bugfix delete mode 100644 CHANGES/5657.misc delete mode 100644 CHANGES/5725.doc delete mode 100644 CHANGES/5727.bugfix delete mode 100644 CHANGES/5840.bugfix delete mode 100644 CHANGES/5844.feature delete mode 100644 CHANGES/5850.doc delete mode 100644 CHANGES/5853.bugfix delete mode 100644 CHANGES/5868.bugfix delete mode 100644 CHANGES/5877.bugfix delete mode 100644 CHANGES/5890.misc delete mode 100644 CHANGES/5901.bugfix delete mode 100644 CHANGES/5905.bugfix delete mode 100644 CHANGES/5909.feature delete mode 100644 CHANGES/5914.misc delete mode 100644 CHANGES/5925.bugfix delete mode 100644 CHANGES/5927.feature delete mode 100644 CHANGES/5930.feature delete mode 100644 CHANGES/5932.misc delete mode 100644 CHANGES/5957.feature delete mode 100644 CHANGES/5992.feature delete mode 100644 CHANGES/6002.misc delete mode 100644 CHANGES/6013.feature delete mode 100644 CHANGES/6045.misc delete mode 100644 CHANGES/6079.feature delete mode 100644 CHANGES/6130.bugfix delete mode 100644 CHANGES/6131.misc delete mode 100644 CHANGES/6139.feature.1 delete mode 100644 CHANGES/6139.feature.2 delete mode 100644 CHANGES/6156.misc delete mode 100644 CHANGES/6165.misc delete mode 100644 CHANGES/6166.misc delete mode 100644 CHANGES/6182.bugfix diff --git a/CHANGES.rst b/CHANGES.rst index 6301a2a17a5..aad7b53de6b 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -10,6 +10,192 @@ .. towncrier release notes start +3.8.0 (2021-10-31) +================== + +Features +-------- + +- Added a ``GunicornWebWorker`` feature for extending the aiohttp server configuration by allowing the 'wsgi' coroutine to return ``web.AppRunner`` object. + `#2988 `_ +- Switch from ``http-parser`` to ``llhttp`` + `#3561 `_ +- Use Brotli instead of brotlipy + `#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 `_ +- Make access log use local time with timezone + `#3853 `_ +- Implemented ``readuntil`` in ``StreamResponse`` + `#4054 `_ +- FileResponse now supports ETag. + `#4594 `_ +- 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 `_ +- Tracing for client sent headers + `#5105 `_ +- Make type hints for http parser stricter + `#5267 `_ +- Add final declarations for constants. + `#5275 `_ +- 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 `_ +- Always create a new event loop in ``aiohttp.web.run_app()``. + This adds better compatibility with ``asyncio.run()`` or if trying to run multiple apps in sequence. + `#5572 `_ +- Add ``aiohttp.pytest_plugin.AiohttpClient`` for static typing of pytest plugin. + `#5585 `_ +- Added a ``socket_factory`` argument to ``BaseTestServer``. + `#5844 `_ +- Add compression strategy parameter to enable_compression method. + `#5909 `_ +- Added support for Python 3.10 to Github Actions CI/CD workflows and fix the related deprecation warnings -- :user:`Hanaasagi`. + `#5927 `_ +- Switched ``chardet`` to ``charset-normalizer`` for guessing the HTTP payload body encoding -- :user:`Ousret`. + `#5930 `_ +- Added optional auto_decompress argument for HttpRequestParser + `#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 `_ +- Added ``base_url`` parameter to the initializer of :class:`~aiohttp.ClientSession`. + `#6013 `_ +- Add Trove classifier and create binary wheels for 3.10. -- :user:`hugovk`. + `#6079 `_ +- Started shipping platform-specific wheels with the ``musl`` tag targeting typical Alpine Linux runtimes — :user:`asvetlov`. + `#6139 `_ +- Started shipping platform-specific arm64 wheels for Apple Silicon — :user:`asvetlov`. + `#6139 `_ + + +Bugfixes +-------- + +- Modify _drain_helper() to handle concurrent `await resp.write(...)` or `ws.send_json(...)` calls without race-condition. + `#2934 `_ +- Started using `MultiLoopChildWatcher` when it's available under POSIX while setting up the test I/O loop. + `#3450 `_ +- Only encode content-disposition filename parameter using percent-encoding. + Other parameters are encoded to quoted-string or RFC2231 extended parameter + value. + `#4012 `_ +- Fixed HTTP client requests to honor ``no_proxy`` environment variables. + `#4431 `_ +- Fix supporting WebSockets proxies configured via environment variables. + `#4648 `_ +- Change return type on URLDispatcher to UrlMappingMatchInfo to improve type annotations. + `#4748 `_ +- Ensure a cleanup context is cleaned up even when an exception occurs during startup. + `#4799 `_ +- Added a new exception type for Unix socket client errors which provides a more useful error message. + `#4984 `_ +- Remove Transfer-Encoding and Content-Type headers for 204 in StreamResponse + `#5106 `_ +- Only depend on typing_extensions for Python <3.8 + `#5107 `_ +- Add ABNORMAL_CLOSURE and BAD_GATEWAY to WSCloseCode + `#5192 `_ +- Fix cookies disappearing from HTTPExceptions. + `#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 `_ +- Acquire the connection before running traces to prevent race condition. + `#5259 `_ +- Add missing slots to ```_RequestContextManager`` and ``_WSRequestContextManager`` + `#5329 `_ +- Ensure sending a zero byte file does not throw an exception (round 2) + `#5380 `_ +- Set "text/plain" when data is an empty string in client requests. + `#5392 `_ +- Stop automatically releasing the ``ClientResponse`` object on calls to the ``ok`` property for the failed requests. + `#5403 `_ +- Include query parameters from `params` keyword argument in tracing `URL`. + `#5432 `_ +- Fix annotations + `#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 `_ +- Fix 0 being incorrectly treated as an immediate timeout. + `#5527 `_ +- Fixes failing tests when an environment variable _proxy is set. + `#5554 `_ +- Replace deprecated app handler design in ``tests/autobahn/server.py`` with call to ``web.run_app``; replace deprecated ``aiohttp.ws_connect`` calls in ``tests/autobahn/client.py`` with ``aiohttp.ClienSession.ws_connect``. + `#5606 `_ +- Fixed test for ``HTTPUnauthorized`` that access the ``text`` argument. This is not used in any part of the code, so it's removed now. + `#5657 `_ +- Remove incorrect default from docs + `#5727 `_ +- Remove external test dependency to http://httpbin.org + `#5840 `_ +- Don't cancel current task when entering a cancelled timer. + `#5853 `_ +- Added ``params`` keyword argument to ``ClientSession.ws_connect``. -- :user:`hoh`. + `#5868 `_ +- Uses :py:class:`~asyncio.ThreadedChildWatcher` under POSIX to allow setting up test loop in non-main thread. + `#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 `_ +- Removed the deprecated ``loop`` argument from the ``asyncio.sleep``/``gather`` calls + `#5905 `_ +- Return ``None`` from ``request.if_modified_since``, ``request.if_unmodified_since``, ``request.if_range`` and ``response.last_modified`` when corresponding http date headers are invalid. + `#5925 `_ +- Fix resetting `SIGCHLD` signals in Gunicorn aiohttp Worker to fix `subprocesses` that capture output having an incorrect `returncode`. + `#6130 `_ +- Raise ``400: Content-Length can't be present with Transfer-Encoding`` if both ``Content-Length`` and ``Transfer-Encoding`` are sent by peer by both C and Python implementations + `#6182 `_ + + +Improved Documentation +---------------------- + +- Refactored OpenAPI/Swagger aiohttp addons, added ``aio-openapi`` + `#5326 `_ +- Fixed docs on request cookies type, so it matches what is actually used in the code (a + read-only dictionary-like object). + `#5725 `_ +- Documented that the HTTP client ``Authorization`` header is removed + on redirects to a different host or protocol. + `#5850 `_ + + +Misc +---- + +- `#3927 `_, `#4247 `_, `#4247 `_, `#5389 `_, `#5457 `_, `#5486 `_, `#5494 `_, `#5515 `_, `#5625 `_, `#5635 `_, `#5648 `_, `#5657 `_, `#5890 `_, `#5914 `_, `#5932 `_, `#6002 `_, `#6045 `_, `#6131 `_, `#6156 `_, `#6165 `_, `#6166 `_ + + +---- + + 3.7.4.post0 (2021-03-06) ======================== diff --git a/CHANGES/2934.bugfix b/CHANGES/2934.bugfix deleted file mode 100644 index fbbacb05dde..00000000000 --- a/CHANGES/2934.bugfix +++ /dev/null @@ -1 +0,0 @@ -Modify _drain_helper() to handle concurrent `await resp.write(...)` or `ws.send_json(...)` calls without race-condition. diff --git a/CHANGES/2988.feature b/CHANGES/2988.feature deleted file mode 100644 index 1e1fd0a5aeb..00000000000 --- a/CHANGES/2988.feature +++ /dev/null @@ -1 +0,0 @@ -Added a ``GunicornWebWorker`` feature for extending the aiohttp server configuration by allowing the 'wsgi' coroutine to return ``web.AppRunner`` object. diff --git a/CHANGES/3450.bugfix b/CHANGES/3450.bugfix deleted file mode 100644 index 6b82b4c0481..00000000000 --- a/CHANGES/3450.bugfix +++ /dev/null @@ -1 +0,0 @@ -Started using `MultiLoopChildWatcher` when it's available under POSIX while setting up the test I/O loop. diff --git a/CHANGES/3561.feature b/CHANGES/3561.feature deleted file mode 100644 index 5fd4523ad36..00000000000 --- a/CHANGES/3561.feature +++ /dev/null @@ -1 +0,0 @@ -Switch from ``http-parser`` to ``llhttp`` diff --git a/CHANGES/3803.feature b/CHANGES/3803.feature deleted file mode 100644 index b2a4656196a..00000000000 --- a/CHANGES/3803.feature +++ /dev/null @@ -1 +0,0 @@ -Use Brotli instead of brotlipy diff --git a/CHANGES/3828.feature b/CHANGES/3828.feature deleted file mode 100644 index 5af711e9920..00000000000 --- a/CHANGES/3828.feature +++ /dev/null @@ -1,4 +0,0 @@ -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. diff --git a/CHANGES/3853.feature b/CHANGES/3853.feature deleted file mode 100644 index cdadc706855..00000000000 --- a/CHANGES/3853.feature +++ /dev/null @@ -1 +0,0 @@ -Make access log use local time with timezone diff --git a/CHANGES/3927.misc b/CHANGES/3927.misc deleted file mode 100644 index 5c67ea64744..00000000000 --- a/CHANGES/3927.misc +++ /dev/null @@ -1 +0,0 @@ -Use ``mypy --strict`` diff --git a/CHANGES/4012.bugfix b/CHANGES/4012.bugfix deleted file mode 100644 index 279de94d821..00000000000 --- a/CHANGES/4012.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Only encode content-disposition filename parameter using percent-encoding. -Other parameters are encoded to quoted-string or RFC2231 extended parameter -value. diff --git a/CHANGES/4054.feature b/CHANGES/4054.feature deleted file mode 100644 index e34d741cba1..00000000000 --- a/CHANGES/4054.feature +++ /dev/null @@ -1 +0,0 @@ -Implemented ``readuntil`` in ``StreamResponse`` diff --git a/CHANGES/4247.misc b/CHANGES/4247.misc deleted file mode 100644 index 44b05c3c9c1..00000000000 --- a/CHANGES/4247.misc +++ /dev/null @@ -1 +0,0 @@ -Updated the Autobahn test suite to v0.8.2. diff --git a/CHANGES/4247.misc.1 b/CHANGES/4247.misc.1 deleted file mode 100644 index 86463d0577d..00000000000 --- a/CHANGES/4247.misc.1 +++ /dev/null @@ -1 +0,0 @@ -Automated running autobahn test suite by integrating with pytest. diff --git a/CHANGES/4431.bugfix b/CHANGES/4431.bugfix deleted file mode 100644 index bb325354c5e..00000000000 --- a/CHANGES/4431.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed HTTP client requests to honor ``no_proxy`` environment variables. diff --git a/CHANGES/4594.feature b/CHANGES/4594.feature deleted file mode 100644 index f00e14a5e93..00000000000 --- a/CHANGES/4594.feature +++ /dev/null @@ -1 +0,0 @@ -FileResponse now supports ETag. diff --git a/CHANGES/4648.bugfix b/CHANGES/4648.bugfix deleted file mode 100644 index 094eb9d4925..00000000000 --- a/CHANGES/4648.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix supporting WebSockets proxies configured via environment variables. diff --git a/CHANGES/4686.feature b/CHANGES/4686.feature deleted file mode 100644 index 1b74265fb94..00000000000 --- a/CHANGES/4686.feature +++ /dev/null @@ -1 +0,0 @@ -Add a request handler type alias ``aiohttp.typedefs.Handler``. diff --git a/CHANGES/4700.feature b/CHANGES/4700.feature deleted file mode 100644 index da691aa7c0e..00000000000 --- a/CHANGES/4700.feature +++ /dev/null @@ -1,6 +0,0 @@ -``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``. diff --git a/CHANGES/4748.bugfix b/CHANGES/4748.bugfix deleted file mode 100644 index 439a81e949e..00000000000 --- a/CHANGES/4748.bugfix +++ /dev/null @@ -1 +0,0 @@ -Change return type on URLDispatcher to UrlMappingMatchInfo to improve type annotations. diff --git a/CHANGES/4799.bugfix b/CHANGES/4799.bugfix deleted file mode 100644 index d2d82073ddd..00000000000 --- a/CHANGES/4799.bugfix +++ /dev/null @@ -1 +0,0 @@ -Ensure a cleanup context is cleaned up even when an exception occurs during startup. diff --git a/CHANGES/4818.feature b/CHANGES/4818.feature deleted file mode 100644 index 158e4ebae84..00000000000 --- a/CHANGES/4818.feature +++ /dev/null @@ -1 +0,0 @@ -Add validation of HTTP header keys and values to prevent header injection. diff --git a/CHANGES/4942.feature b/CHANGES/4942.feature deleted file mode 100644 index b64c4ddd088..00000000000 --- a/CHANGES/4942.feature +++ /dev/null @@ -1,2 +0,0 @@ -Add predicate to ``AbstractCookieJar.clear``. -Add ``AbstractCookieJar.clear_domain`` to clean all domain and subdomains cookies only. diff --git a/CHANGES/4984.bugfix b/CHANGES/4984.bugfix deleted file mode 100644 index 506fc8c0e36..00000000000 --- a/CHANGES/4984.bugfix +++ /dev/null @@ -1 +0,0 @@ -Added a new exception type for Unix socket client errors which provides a more useful error message. diff --git a/CHANGES/5094.feature b/CHANGES/5094.feature deleted file mode 100644 index 2d140f175e9..00000000000 --- a/CHANGES/5094.feature +++ /dev/null @@ -1 +0,0 @@ -Add keepalive_timeout parameter to web.run_app. diff --git a/CHANGES/5105.feature b/CHANGES/5105.feature deleted file mode 100644 index 4167552bdcf..00000000000 --- a/CHANGES/5105.feature +++ /dev/null @@ -1 +0,0 @@ -Tracing for client sent headers diff --git a/CHANGES/5106.bugfix b/CHANGES/5106.bugfix deleted file mode 100644 index 1d03b7c5678..00000000000 --- a/CHANGES/5106.bugfix +++ /dev/null @@ -1 +0,0 @@ -Remove Transfer-Encoding and Content-Type headers for 204 in StreamResponse diff --git a/CHANGES/5107.bugfix b/CHANGES/5107.bugfix deleted file mode 100644 index 4287bfad126..00000000000 --- a/CHANGES/5107.bugfix +++ /dev/null @@ -1 +0,0 @@ -Only depend on typing_extensions for Python <3.8 diff --git a/CHANGES/5192.bugfix b/CHANGES/5192.bugfix deleted file mode 100644 index 9f5b7cd3dcb..00000000000 --- a/CHANGES/5192.bugfix +++ /dev/null @@ -1 +0,0 @@ -Add ABNORMAL_CLOSURE and BAD_GATEWAY to WSCloseCode diff --git a/CHANGES/5233.bugfix b/CHANGES/5233.bugfix deleted file mode 100644 index ab5544cec3c..00000000000 --- a/CHANGES/5233.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix cookies disappearing from HTTPExceptions. diff --git a/CHANGES/5250.bugfix b/CHANGES/5250.bugfix deleted file mode 100644 index 3e0bf0a30bb..00000000000 --- a/CHANGES/5250.bugfix +++ /dev/null @@ -1 +0,0 @@ -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``. diff --git a/CHANGES/5259.bugfix b/CHANGES/5259.bugfix deleted file mode 100644 index c53e99e0825..00000000000 --- a/CHANGES/5259.bugfix +++ /dev/null @@ -1 +0,0 @@ -Acquire the connection before running traces to prevent race condition. diff --git a/CHANGES/5267.feature b/CHANGES/5267.feature deleted file mode 100644 index 63dd2ffc518..00000000000 --- a/CHANGES/5267.feature +++ /dev/null @@ -1 +0,0 @@ -Make type hints for http parser stricter diff --git a/CHANGES/5275.feature b/CHANGES/5275.feature deleted file mode 100644 index e44960a322b..00000000000 --- a/CHANGES/5275.feature +++ /dev/null @@ -1 +0,0 @@ -Add final declarations for constants. diff --git a/CHANGES/5293.feature b/CHANGES/5293.feature deleted file mode 100644 index fced7ed5aca..00000000000 --- a/CHANGES/5293.feature +++ /dev/null @@ -1 +0,0 @@ -Switch to external frozenlist and aiosignal libraries. diff --git a/CHANGES/5326.doc b/CHANGES/5326.doc deleted file mode 100644 index 5564425aff4..00000000000 --- a/CHANGES/5326.doc +++ /dev/null @@ -1 +0,0 @@ -Refactored OpenAPI/Swagger aiohttp addons, added ``aio-openapi`` diff --git a/CHANGES/5329.bugfix b/CHANGES/5329.bugfix deleted file mode 100644 index a86edc1ced1..00000000000 --- a/CHANGES/5329.bugfix +++ /dev/null @@ -1 +0,0 @@ -Add missing slots to ```_RequestContextManager`` and ``_WSRequestContextManager`` diff --git a/CHANGES/5380.bugfix b/CHANGES/5380.bugfix deleted file mode 100644 index 5ff003a3fac..00000000000 --- a/CHANGES/5380.bugfix +++ /dev/null @@ -1 +0,0 @@ -Ensure sending a zero byte file does not throw an exception (round 2) diff --git a/CHANGES/5389.misc b/CHANGES/5389.misc deleted file mode 100644 index b127d576370..00000000000 --- a/CHANGES/5389.misc +++ /dev/null @@ -1 +0,0 @@ -Use pip-tools to pin dependencies diff --git a/CHANGES/5392.bugfix b/CHANGES/5392.bugfix deleted file mode 100644 index 99a0fa38938..00000000000 --- a/CHANGES/5392.bugfix +++ /dev/null @@ -1 +0,0 @@ -Set "text/plain" when data is an empty string in client requests. diff --git a/CHANGES/5403.bugfix b/CHANGES/5403.bugfix deleted file mode 100644 index 40cc5a22294..00000000000 --- a/CHANGES/5403.bugfix +++ /dev/null @@ -1 +0,0 @@ -Stop automatically releasing the ``ClientResponse`` object on calls to the ``ok`` property for the failed requests. diff --git a/CHANGES/5432.bugfix b/CHANGES/5432.bugfix deleted file mode 100644 index b5360aa75e8..00000000000 --- a/CHANGES/5432.bugfix +++ /dev/null @@ -1 +0,0 @@ -Include query parameters from `params` keyword argument in tracing `URL`. diff --git a/CHANGES/5457.misc b/CHANGES/5457.misc deleted file mode 100644 index 5f0fad6bce6..00000000000 --- a/CHANGES/5457.misc +++ /dev/null @@ -1 +0,0 @@ -Improve Mypy coverage. diff --git a/CHANGES/5466.bugfix b/CHANGES/5466.bugfix deleted file mode 100644 index c33a3900421..00000000000 --- a/CHANGES/5466.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix annotations diff --git a/CHANGES/5486.misc b/CHANGES/5486.misc deleted file mode 100644 index bc8fa84a4e3..00000000000 --- a/CHANGES/5486.misc +++ /dev/null @@ -1 +0,0 @@ -Complete pip-tools setup. diff --git a/CHANGES/5494.bugfix b/CHANGES/5494.bugfix deleted file mode 100644 index 20db5581f46..00000000000 --- a/CHANGES/5494.bugfix +++ /dev/null @@ -1,4 +0,0 @@ -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`. diff --git a/CHANGES/5494.misc b/CHANGES/5494.misc deleted file mode 100644 index fc00335ff1f..00000000000 --- a/CHANGES/5494.misc +++ /dev/null @@ -1,3 +0,0 @@ -Made sure to always close most of file descriptors and release other -resouces in tests. Started ignoring ``ResourceWarning``s in pytest for -warnings that are hard to track -- by :user:`webknjaz`. diff --git a/CHANGES/5515.misc b/CHANGES/5515.misc deleted file mode 100644 index e3d810b17f6..00000000000 --- a/CHANGES/5515.misc +++ /dev/null @@ -1 +0,0 @@ -Deprecate ``@unittest_run_loop``. This behaviour is now the default. diff --git a/CHANGES/5527.bugfix b/CHANGES/5527.bugfix deleted file mode 100644 index 4543677e7db..00000000000 --- a/CHANGES/5527.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix 0 being incorrectly treated as an immediate timeout. diff --git a/CHANGES/5554.bugfix b/CHANGES/5554.bugfix deleted file mode 100644 index 18de1ee6bf2..00000000000 --- a/CHANGES/5554.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixes failing tests when an environment variable _proxy is set. diff --git a/CHANGES/5571.feature b/CHANGES/5571.feature deleted file mode 100644 index 625651f5ffc..00000000000 --- a/CHANGES/5571.feature +++ /dev/null @@ -1,4 +0,0 @@ -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. diff --git a/CHANGES/5572.feature b/CHANGES/5572.feature deleted file mode 100644 index a5d60fb6ee3..00000000000 --- a/CHANGES/5572.feature +++ /dev/null @@ -1,2 +0,0 @@ -Always create a new event loop in ``aiohttp.web.run_app()``. -This adds better compatibility with ``asyncio.run()`` or if trying to run multiple apps in sequence. diff --git a/CHANGES/5585.feature b/CHANGES/5585.feature deleted file mode 100644 index 06ddbe453d4..00000000000 --- a/CHANGES/5585.feature +++ /dev/null @@ -1 +0,0 @@ -Add ``aiohttp.pytest_plugin.AiohttpClient`` for static typing of pytest plugin. diff --git a/CHANGES/5606.bugfix b/CHANGES/5606.bugfix deleted file mode 100644 index b61de2fa83f..00000000000 --- a/CHANGES/5606.bugfix +++ /dev/null @@ -1 +0,0 @@ -Replace deprecated app handler design in ``tests/autobahn/server.py`` with call to ``web.run_app``; replace deprecated ``aiohttp.ws_connect`` calls in ``tests/autobahn/client.py`` with ``aiohttp.ClienSession.ws_connect``. diff --git a/CHANGES/5625.misc b/CHANGES/5625.misc deleted file mode 100644 index 69e2723e6d6..00000000000 --- a/CHANGES/5625.misc +++ /dev/null @@ -1 +0,0 @@ -Remove (broken) legacy examples. diff --git a/CHANGES/5635.misc b/CHANGES/5635.misc deleted file mode 100644 index c4ec37f8d26..00000000000 --- a/CHANGES/5635.misc +++ /dev/null @@ -1 +0,0 @@ -Added regression tests for dispatching urlencoded routes. diff --git a/CHANGES/5648.misc b/CHANGES/5648.misc deleted file mode 100644 index 17a71c3fda5..00000000000 --- a/CHANGES/5648.misc +++ /dev/null @@ -1 +0,0 @@ -Fix pip upgrade on windows machines diff --git a/CHANGES/5657.bugfix b/CHANGES/5657.bugfix deleted file mode 100644 index 1613c09cc99..00000000000 --- a/CHANGES/5657.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed test for ``HTTPUnauthorized`` that access the ``text`` argument. This is not used in any part of the code, so it's removed now. diff --git a/CHANGES/5657.misc b/CHANGES/5657.misc deleted file mode 100644 index 9758d551865..00000000000 --- a/CHANGES/5657.misc +++ /dev/null @@ -1 +0,0 @@ -Added a regression test for constructing ``HTTPUnauthorized`` with a ``body`` argument that is a Unicode string. diff --git a/CHANGES/5725.doc b/CHANGES/5725.doc deleted file mode 100644 index 1b50453f0b7..00000000000 --- a/CHANGES/5725.doc +++ /dev/null @@ -1,2 +0,0 @@ -Fixed docs on request cookies type, so it matches what is actually used in the code (a -read-only dictionary-like object). diff --git a/CHANGES/5727.bugfix b/CHANGES/5727.bugfix deleted file mode 100644 index 7f2e3a2a9d8..00000000000 --- a/CHANGES/5727.bugfix +++ /dev/null @@ -1 +0,0 @@ - Remove incorrect default from docs diff --git a/CHANGES/5840.bugfix b/CHANGES/5840.bugfix deleted file mode 100644 index 7380aa246f2..00000000000 --- a/CHANGES/5840.bugfix +++ /dev/null @@ -1 +0,0 @@ -Remove external test dependency to http://httpbin.org diff --git a/CHANGES/5844.feature b/CHANGES/5844.feature deleted file mode 100644 index 3b88da83ab8..00000000000 --- a/CHANGES/5844.feature +++ /dev/null @@ -1 +0,0 @@ -Added a ``socket_factory`` argument to ``BaseTestServer``. diff --git a/CHANGES/5850.doc b/CHANGES/5850.doc deleted file mode 100644 index 59e23218161..00000000000 --- a/CHANGES/5850.doc +++ /dev/null @@ -1,2 +0,0 @@ -Documented that the HTTP client ``Authorization`` header is removed -on redirects to a different host or protocol. diff --git a/CHANGES/5853.bugfix b/CHANGES/5853.bugfix deleted file mode 100644 index 3b3b03a374f..00000000000 --- a/CHANGES/5853.bugfix +++ /dev/null @@ -1 +0,0 @@ -Don't cancel current task when entering a cancelled timer. diff --git a/CHANGES/5868.bugfix b/CHANGES/5868.bugfix deleted file mode 100644 index e14a650b3b1..00000000000 --- a/CHANGES/5868.bugfix +++ /dev/null @@ -1 +0,0 @@ -Added ``params`` keyword argument to ``ClientSession.ws_connect``. -- :user:`hoh`. diff --git a/CHANGES/5877.bugfix b/CHANGES/5877.bugfix deleted file mode 100644 index 5a8108a9a45..00000000000 --- a/CHANGES/5877.bugfix +++ /dev/null @@ -1 +0,0 @@ -Uses :py:class:`~asyncio.ThreadedChildWatcher` under POSIX to allow setting up test loop in non-main thread. diff --git a/CHANGES/5890.misc b/CHANGES/5890.misc deleted file mode 100644 index 489cfc336a7..00000000000 --- a/CHANGES/5890.misc +++ /dev/null @@ -1 +0,0 @@ -Update to Mypy 0.910. diff --git a/CHANGES/5901.bugfix b/CHANGES/5901.bugfix deleted file mode 100644 index 5c5940fde1b..00000000000 --- a/CHANGES/5901.bugfix +++ /dev/null @@ -1,4 +0,0 @@ -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. diff --git a/CHANGES/5905.bugfix b/CHANGES/5905.bugfix deleted file mode 100644 index 0e581b5cbf3..00000000000 --- a/CHANGES/5905.bugfix +++ /dev/null @@ -1 +0,0 @@ -Removed the deprecated ``loop`` argument from the ``asyncio.sleep``/``gather`` calls diff --git a/CHANGES/5909.feature b/CHANGES/5909.feature deleted file mode 100644 index d820979dac9..00000000000 --- a/CHANGES/5909.feature +++ /dev/null @@ -1 +0,0 @@ -Add compression strategy parameter to enable_compression method. diff --git a/CHANGES/5914.misc b/CHANGES/5914.misc deleted file mode 100644 index f876dc3ca92..00000000000 --- a/CHANGES/5914.misc +++ /dev/null @@ -1 +0,0 @@ -Changed the SVG logos to be more optimized and the viewbox to 0 0 24 24, while keeping the same height and width -- :user:`ShadiestGoat`. diff --git a/CHANGES/5925.bugfix b/CHANGES/5925.bugfix deleted file mode 100644 index 297033b0f44..00000000000 --- a/CHANGES/5925.bugfix +++ /dev/null @@ -1 +0,0 @@ -Return ``None`` from ``request.if_modified_since``, ``request.if_unmodified_since``, ``request.if_range`` and ``response.last_modified`` when corresponding http date headers are invalid. diff --git a/CHANGES/5927.feature b/CHANGES/5927.feature deleted file mode 100644 index dac4f3e5eb9..00000000000 --- a/CHANGES/5927.feature +++ /dev/null @@ -1 +0,0 @@ -Added support for Python 3.10 to Github Actions CI/CD workflows and fix the related deprecation warnings -- :user:`Hanaasagi`. diff --git a/CHANGES/5930.feature b/CHANGES/5930.feature deleted file mode 100644 index 17cecee40d9..00000000000 --- a/CHANGES/5930.feature +++ /dev/null @@ -1 +0,0 @@ -Switched ``chardet`` to ``charset-normalizer`` for guessing the HTTP payload body encoding -- :user:`Ousret`. diff --git a/CHANGES/5932.misc b/CHANGES/5932.misc deleted file mode 100644 index c9d96ad9361..00000000000 --- a/CHANGES/5932.misc +++ /dev/null @@ -1 +0,0 @@ -Enable auto-merging of Dependabot PRs. diff --git a/CHANGES/5957.feature b/CHANGES/5957.feature deleted file mode 100644 index 80a1adb1dc4..00000000000 --- a/CHANGES/5957.feature +++ /dev/null @@ -1 +0,0 @@ -Added optional auto_decompress argument for HttpRequestParser diff --git a/CHANGES/5992.feature b/CHANGES/5992.feature deleted file mode 100644 index 5667d2de24b..00000000000 --- a/CHANGES/5992.feature +++ /dev/null @@ -1,3 +0,0 @@ -Added support for HTTPS proxies to the extent CPython's -:py:mod:`asyncio` supports it -- by :user:`bmbouter`, -:user:`jborean93` and :user:`webknjaz`. diff --git a/CHANGES/6002.misc b/CHANGES/6002.misc deleted file mode 100644 index 5df927cf65d..00000000000 --- a/CHANGES/6002.misc +++ /dev/null @@ -1,2 +0,0 @@ -Implemented end-to-end testing of sending HTTP and HTTPS requests -via ``proxy.py``. diff --git a/CHANGES/6013.feature b/CHANGES/6013.feature deleted file mode 100644 index 82d1be03a1b..00000000000 --- a/CHANGES/6013.feature +++ /dev/null @@ -1 +0,0 @@ -Added ``base_url`` parameter to the initializer of :class:`~aiohttp.ClientSession`. diff --git a/CHANGES/6045.misc b/CHANGES/6045.misc deleted file mode 100644 index a27f2d17d4b..00000000000 --- a/CHANGES/6045.misc +++ /dev/null @@ -1,3 +0,0 @@ -Added ``commit``, ``gh``, ``issue``, ``pr`` -and ``user`` RST roles in Sphinx --- :user:`webknjaz`. diff --git a/CHANGES/6079.feature b/CHANGES/6079.feature deleted file mode 100644 index 25dc6039b44..00000000000 --- a/CHANGES/6079.feature +++ /dev/null @@ -1 +0,0 @@ -Add Trove classifier and create binary wheels for 3.10. -- :user:`hugovk`. diff --git a/CHANGES/6130.bugfix b/CHANGES/6130.bugfix deleted file mode 100644 index cefad394b56..00000000000 --- a/CHANGES/6130.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix resetting `SIGCHLD` signals in Gunicorn aiohttp Worker to fix `subprocesses` that capture output having an incorrect `returncode`. diff --git a/CHANGES/6131.misc b/CHANGES/6131.misc deleted file mode 100644 index 907a6d55af3..00000000000 --- a/CHANGES/6131.misc +++ /dev/null @@ -1 +0,0 @@ -Add test targets to Makefile for different versions of Python diff --git a/CHANGES/6139.feature.1 b/CHANGES/6139.feature.1 deleted file mode 100644 index 0dfa6b110e0..00000000000 --- a/CHANGES/6139.feature.1 +++ /dev/null @@ -1 +0,0 @@ -Started shipping platform-specific arm64 wheels for Apple Silicon — :user:`asvetlov`. diff --git a/CHANGES/6139.feature.2 b/CHANGES/6139.feature.2 deleted file mode 100644 index eb9630701df..00000000000 --- a/CHANGES/6139.feature.2 +++ /dev/null @@ -1 +0,0 @@ -Started shipping platform-specific wheels with the ``musl`` tag targeting typical Alpine Linux runtimes — :user:`asvetlov`. diff --git a/CHANGES/6156.misc b/CHANGES/6156.misc deleted file mode 100644 index 8ee5794c358..00000000000 --- a/CHANGES/6156.misc +++ /dev/null @@ -1 +0,0 @@ -Excluded the changelog from the release pages on PyPI — :user:`webknjaz`. diff --git a/CHANGES/6165.misc b/CHANGES/6165.misc deleted file mode 100644 index f9c5097ab68..00000000000 --- a/CHANGES/6165.misc +++ /dev/null @@ -1,2 +0,0 @@ -Migrated the Python packaging setup to have static metadata -in the declarative ``setup.cfg`` file — :user:`webknjaz`. diff --git a/CHANGES/6166.misc b/CHANGES/6166.misc deleted file mode 100644 index bc66542c359..00000000000 --- a/CHANGES/6166.misc +++ /dev/null @@ -1,2 +0,0 @@ -Migrated the Python packaging setup to use PEP 517 in the CI via -the official PyPA front-end called ``build`` — :user:`webknjaz`. diff --git a/CHANGES/6182.bugfix b/CHANGES/6182.bugfix deleted file mode 100644 index 28daaa328a2..00000000000 --- a/CHANGES/6182.bugfix +++ /dev/null @@ -1 +0,0 @@ -Raise ``400: Content-Length can't be present with Transfer-Encoding`` if both ``Content-Length`` and ``Transfer-Encoding`` are sent by peer by both C and Python implementations diff --git a/aiohttp/__init__.py b/aiohttp/__init__.py index bdd2a15258b..46f9e76aeaf 100644 --- a/aiohttp/__init__.py +++ b/aiohttp/__init__.py @@ -1,4 +1,4 @@ -__version__ = "3.8.0a7" +__version__ = "3.8.0" from typing import Tuple