freshcrate
Home > Frameworks > aiohttp

aiohttp

Async http client/server framework (asyncio)

Description

================================== Async http client/server framework ================================== .. image:: https://raw.githubusercontent.com/aio-libs/aiohttp/master/docs/aiohttp-plain.svg :height: 64px :width: 64px :alt: aiohttp logo | .. image:: https://github.com/aio-libs/aiohttp/workflows/CI/badge.svg :target: https://github.com/aio-libs/aiohttp/actions?query=workflow%3ACI :alt: GitHub Actions status for master branch .. image:: https://codecov.io/gh/aio-libs/aiohttp/branch/master/graph/badge.svg :target: https://codecov.io/gh/aio-libs/aiohttp :alt: codecov.io status for master branch .. image:: https://badge.fury.io/py/aiohttp.svg :target: https://pypi.org/project/aiohttp :alt: Latest PyPI package version .. image:: https://img.shields.io/pypi/dm/aiohttp :target: https://pypistats.org/packages/aiohttp :alt: Downloads count .. image:: https://readthedocs.org/projects/aiohttp/badge/?version=latest :target: https://docs.aiohttp.org/ :alt: Latest Read The Docs .. image:: https://img.shields.io/endpoint?url=https://codspeed.io/badge.json :target: https://codspeed.io/aio-libs/aiohttp :alt: Codspeed.io status for aiohttp Key Features ============ - Supports both client and server side of HTTP protocol. - Supports both client and server Web-Sockets out-of-the-box and avoids Callback Hell. - Provides Web-server with middleware and pluggable routing. Getting started =============== Client ------ To get something from the web: .. code-block:: python import aiohttp import asyncio async def main(): async with aiohttp.ClientSession() as session: async with session.get('http://python.org') as response: print("Status:", response.status) print("Content-type:", response.headers['content-type']) html = await response.text() print("Body:", html[:15], "...") asyncio.run(main()) This prints: .. code-block:: Status: 200 Content-type: text/html; charset=utf-8 Body: <!doctype html> ... Coming from `requests <https://requests.readthedocs.io/>`_ ? Read `why we need so many lines <https://aiohttp.readthedocs.io/en/latest/http_request_lifecycle.html>`_. Server ------ An example using a simple server: .. code-block:: python # examples/server_simple.py from aiohttp import web async def handle(request): name = request.match_info.get('name', "Anonymous") text = "Hello, " + name return web.Response(text=text) async def wshandle(request): ws = web.WebSocketResponse() await ws.prepare(request) async for msg in ws: if msg.type == web.WSMsgType.text: await ws.send_str("Hello, {}".format(msg.data)) elif msg.type == web.WSMsgType.binary: await ws.send_bytes(msg.data) elif msg.type == web.WSMsgType.close: break return ws app = web.Application() app.add_routes([web.get('/', handle), web.get('/echo', wshandle), web.get('/{name}', handle)]) if __name__ == '__main__': web.run_app(app) Documentation ============= https://aiohttp.readthedocs.io/ Demos ===== https://github.com/aio-libs/aiohttp-demos External links ============== * `Third party libraries <http://aiohttp.readthedocs.io/en/latest/third_party.html>`_ * `Built with aiohttp <http://aiohttp.readthedocs.io/en/latest/built_with.html>`_ * `Powered by aiohttp <http://aiohttp.readthedocs.io/en/latest/powered_by.html>`_ Feel free to make a Pull Request for adding your link to these pages! Communication channels ====================== *aio-libs Discussions*: https://github.com/aio-libs/aiohttp/discussions *Matrix*: `#aio-libs:matrix.org <https://matrix.to/#/#aio-libs:matrix.org>`_ We support `Stack Overflow <https://stackoverflow.com/questions/tagged/aiohttp>`_. Please add *aiohttp* tag to your question there. Requirements ============ - attrs_ - multidict_ - yarl_ - frozenlist_ Optionally you may install the aiodns_ library (highly recommended for sake of speed). .. _aiodns: https://pypi.python.org/pypi/aiodns .. _attrs: https://github.com/python-attrs/attrs .. _multidict: https://pypi.python.org/pypi/multidict .. _frozenlist: https://pypi.org/project/frozenlist/ .. _yarl: https://pypi.python.org/pypi/yarl .. _async-timeout: https://pypi.python.org/pypi/async_timeout License ======= ``aiohttp`` is offered under the Apache 2 license. Keepsafe ======== The aiohttp community would like to thank Keepsafe (https://www.getkeepsafe.com) for its support in the early days of the project. Source code =========== The latest developer version is available in a GitHub repository: https://github.com/aio-libs/aiohttp Benchmarks ========== If you are interested in efficiency, the AsyncIO community maintains a list of benchmarks on the official wiki: https://github.com/python/asyncio/w

Release History

VersionChangesUrgencyDate
3.13.5Imported from PyPI (3.13.5)Low4/21/2026
v3.13.5Bug fixes --------- - Skipped the duplicate singleton header check in lax mode (the default for response parsing). In strict mode (request parsing, or ``-X dev``), all RFC 9110 singletons are still enforced -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #12302. ----Medium3/31/2026
v3.13.4Features -------- - Added ``max_headers`` parameter to limit the number of headers that should be read from a response -- by :user:`Dreamsorcerer`. *Related issues and pull requests on GitHub:* #11955. - Added a ``dns_cache_max_size`` parameter to ``TCPConnector`` to limit the size of the cache -- by :user:`Dreamsorcerer`. *Related issues and pull requests on GitHub:* #12106. Bug fixes --------- - Fixed server hanging indefinitely when chunked transfer encoding chunk-size dMedium3/28/2026
v3.13.3This release contains fixes for several vulnerabilities. It is advised to upgrade as soon as possible. Bug fixes --------- - Fixed proxy authorization headers not being passed when reusing a connection, which caused 407 (Proxy authentication required) errors -- by :user:`GLeurquin`. *Related issues and pull requests on GitHub:* #2596. - Fixed multipart reading failing when encountering an empty body part -- by :user:`Dreamsorcerer`. *Related issues and pull requests on GitHub:* Low1/3/2026
v3.13.2Bug fixes --------- - Fixed cookie parser to continue parsing subsequent cookies when encountering a malformed cookie that fails regex validation, such as Google's ``g_state`` cookie with unescaped quotes -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #11632. - Fixed loading netrc credentials from the default :file:`~/.netrc` (:file:`~/_netrc` on Windows) location when the :envvar:`NETRC` environment variable is not set -- by :user:`bdraco`. *Related issues andLow10/28/2025
v3.13.1Features -------- - Make configuration options in ``AppRunner`` also available in ``run_app()`` -- by :user:`Cycloctane`. *Related issues and pull requests on GitHub:* #11633. Bug fixes --------- - Switched to `backports.zstd` for Python <3.14 and fixed zstd decompression for chunked zstd streams -- by :user:`ZhaoMJ`. Note: Users who installed ``zstandard`` for support on Python <3.14 will now need to install ``backports.zstd`` instead (installing ``aiohttp[speedups]`` will do Low10/17/2025
v3.13.0Features -------- - Added support for Python 3.14. *Related issues and pull requests on GitHub:* #10851, #10872. - Added support for free-threading in Python 3.14+ -- by :user:`kumaraditya303`. *Related issues and pull requests on GitHub:* #11466, #11464. - Added support for Zstandard (aka Zstd) compression -- by :user:`KGuillaume-chaps`. *Related issues and pull requests on GitHub:* #11161. - Added ``StreamReader.total_raw_bytes`` to check the number of bytes downlLow10/6/2025
v3.12.15Bug fixes --------- - Fixed :class:`~aiohttp.DigestAuthMiddleware` to preserve the algorithm case from the server's challenge in the authorization response. This improves compatibility with servers that perform case-sensitive algorithm matching (e.g., servers expecting ``algorithm=MD5-sess`` instead of ``algorithm=MD5-SESS``) -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #11352. Improved documentation ---------------------- - Remove outdated contents of ``aiohLow7/29/2025
v3.12.14Bug fixes --------- - Fixed file uploads failing with HTTP 422 errors when encountering 307/308 redirects, and 301/302 redirects for non-POST methods, by preserving the request body when appropriate per :rfc:`9110#section-15.4.3-3.1` -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #11270. - Fixed :py:meth:`ClientSession.close() <aiohttp.ClientSession.close>` hanging indefinitely when using HTTPS requests through HTTP proxies -- by :user:`bdraco`. *Related issuesLow7/10/2025
v3.12.13Bug fixes --------- - Fixed auto-created :py:class:`~aiohttp.TCPConnector` not using the session's event loop when :py:class:`~aiohttp.ClientSession` is created without an explicit connector -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #11147. ----Low6/14/2025
v3.12.12Bug fixes --------- - Fixed cookie unquoting to properly handle octal escape sequences in cookie values (e.g., ``\012`` for newline) by vendoring the correct ``_unquote`` implementation from Python's ``http.cookies`` module -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #11173. - Fixed ``Cookie`` header parsing to treat attribute names as regular cookies per :rfc:`6265#section-5.4` -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #11178. Low6/10/2025
v3.12.11Features -------- - Improved SSL connection handling by changing the default ``ssl_shutdown_timeout`` from ``0.1`` to ``0`` seconds. SSL connections now use Python's default graceful shutdown during normal operation but are aborted immediately when the connector is closed, providing optimal behavior for both cases. Also added support for ``ssl_shutdown_timeout=0`` on all Python versions. Previously, this value was rejected on Python 3.11+ and ignored on earlier versions. Non-zero valuLow6/7/2025
v3.12.10Bug fixes --------- - Fixed leak of ``aiodns.DNSResolver`` when :py:class:`~aiohttp.TCPConnector` is closed and no resolver was passed when creating the connector -- by :user:`Tasssadar`. This was a regression introduced in version 3.12.0 (:pr:`10897`). *Related issues and pull requests on GitHub:* #11150. ----Low6/7/2025
v3.12.9Bug fixes --------- - Fixed ``IOBasePayload`` and ``TextIOPayload`` reading entire files into memory when streaming large files -- by :user:`bdraco`. When using file-like objects with the aiohttp client, the entire file would be read into memory if the file size was provided in the ``Content-Length`` header. This could cause out-of-memory errors when uploading large files. The payload classes now correctly read data in chunks of ``READ_SIZE`` (64KB) regardless of the total content length. Low6/4/2025
v3.12.8Features -------- - Added preemptive digest authentication to :class:`~aiohttp.DigestAuthMiddleware` -- by :user:`bdraco`. The middleware now reuses authentication credentials for subsequent requests to the same protection space, improving efficiency by avoiding extra authentication round trips. This behavior matches how web browsers handle digest authentication and follows :rfc:`7616#section-3.6`. Preemptive authentication is enabled by default but can be disabled by passing ``prLow6/4/2025
v3.12.7> [!WARNING] > This release fixes an issue where the `quote_cookie` parameter was not being properly respected for shared cookies (domain="", path=""). If your server does not handle quoted cookies correctly, you may need to disable cookie quoting by setting `quote_cookie=False` when creating your `ClientSession` or `CookieJar`. > See https://docs.aiohttp.org/en/stable/client_advanced.html#cookie-quoting-routine for details. Bug fixes --------- - Fixed cookie parsing to be more lenient Low6/2/2025
v3.12.7rc0Bug fixes --------- - Fixed cookie parsing to be more lenient when handling cookies with special characters in names or values. Cookies with characters like ``{``, ``}``, and ``/`` in names are now accepted instead of causing a :exc:`~http.cookies.CookieError` and 500 errors. Additionally, cookies with mismatched quotes in values are now parsed correctly, and quoted cookie values are now handled consistently whether or not they include special attributes like ``Domain``. Also fixed :cLow6/2/2025
v3.12.6Bug fixes --------- - Fixed spurious "Future exception was never retrieved" warnings for connection lost errors when the connector is not closed -- by :user:`bdraco`. When connections are lost, the exception is now marked as retrieved since it is always propagated through other means, preventing unnecessary warnings in logs. *Related issues and pull requests on GitHub:* #11100. ----Low5/31/2025
v3.12.5## This release failed to upload to PyPI because sigstore failed with 502 Server Error: Bad Gateway for url: https://rekor.sigstore.dev/api/v1/log/entries/. A new release will need to be made. Features -------- - Added ``ssl_shutdown_timeout`` parameter to :py:class:`~aiohttp.ClientSession` and :py:class:`~aiohttp.TCPConnector` to control the grace period for SSL shutdown handshake on TLS connections. This helps prevent "connection reset" errors on the server side while avoiding excessiLow5/31/2025
v3.12.4Bug fixes --------- - Fixed connector not waiting for connections to close before returning from :meth:`~aiohttp.BaseConnector.close` (partial backport of :pr:`3733`) -- by :user:`atemate` and :user:`bdraco`. *Related issues and pull requests on GitHub:* #1925, #11074. ----Low5/29/2025
v3.12.3Bug fixes --------- - Fixed memory leak in :py:meth:`~aiohttp.CookieJar.filter_cookies` that caused unbounded memory growth when making requests to different URL paths -- by :user:`bdraco` and :user:`Cycloctane`. *Related issues and pull requests on GitHub:* #11052, #11054. ----Low5/28/2025
v3.12.2Bug fixes --------- - Fixed ``Content-Length`` header not being set to ``0`` for non-GET requests with ``None`` body -- by :user:`bdraco`. Non-GET requests (``POST``, ``PUT``, ``PATCH``, ``DELETE``) with ``None`` as the body now correctly set the ``Content-Length`` header to ``0``, matching the behavior of requests with empty bytes (``b""``). This regression was introduced in aiohttp 3.12.1. *Related issues and pull requests on GitHub:* #11035. ----Low5/26/2025
v3.12.1Features -------- - Added support for reusable request bodies to enable retries, redirects, and digest authentication -- by :user:`bdraco` and :user:`GLGDLY`. Most payloads can now be safely reused multiple times, fixing long-standing issues where POST requests with form data or file uploads would fail on redirects with errors like "Form data has been processed already" or "I/O operation on closed file". This also enables digest authentication to work with request bodies and allows retry mecLow5/26/2025
v3.12.1rc0Features -------- - Added support for reusable request bodies to enable retries, redirects, and digest authentication -- by :user:`bdraco` and :user:`GLGDLY`. Most payloads can now be safely reused multiple times, fixing long-standing issues where POST requests with form data or file uploads would fail on redirects with errors like "Form data has been processed already" or "I/O operation on closed file". This also enables digest authentication to work with request bodies and allows retry mecLow5/26/2025
v3.12.0Bug fixes --------- - Fixed :py:attr:`~aiohttp.web.WebSocketResponse.prepared` property to correctly reflect the prepared state, especially during timeout scenarios -- by :user:`bdraco` *Related issues and pull requests on GitHub:* #6009, #10988. - Response is now always True, instead of using MutableMapping behaviour (False when map is empty) *Related issues and pull requests on GitHub:* #10119. - Fixed connection reuse for file-like data payloads by ensuring buffer truncatLow5/24/2025
v3.12.0rc1Bug fixes --------- - Fixed :py:attr:`~aiohttp.web.WebSocketResponse.prepared` property to correctly reflect the prepared state, especially during timeout scenarios -- by :user:`bdraco` *Related issues and pull requests on GitHub:* #6009, #10988. - Response is now always True, instead of using MutableMapping behaviour (False when map is empty) *Related issues and pull requests on GitHub:* #10119. - Fixed connection reuse for file-like data payloads by ensuring buffer truncatLow5/24/2025
v3.12.0rc0Bug fixes --------- - Fixed :py:attr:`~aiohttp.web.WebSocketResponse.prepared` property to correctly reflect the prepared state, especially during timeout scenarios -- by :user:`bdraco` *Related issues and pull requests on GitHub:* #6009, #10988. - Response is now always True, instead of using MutableMapping behaviour (False when map is empty) *Related issues and pull requests on GitHub:* #10119. - Fixed connection reuse for file-like data payloads by ensuring buffer truncatLow5/24/2025
v3.12.0b3Bug fixes --------- - Response is now always True, instead of using MutableMapping behaviour (False when map is empty) *Related issues and pull requests on GitHub:* #10119. - Fixed connection reuse for file-like data payloads by ensuring buffer truncation respects content-length boundaries and preventing premature connection closure race -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #10325, #10915, #10941, #10943. - Fixed pytest plugin to not use deprLow5/22/2025
v3.12.0b2Bug fixes --------- - Response is now always True, instead of using MutableMapping behaviour (False when map is empty) *Related issues and pull requests on GitHub:* #10119. - Fixed connection reuse for file-like data payloads by ensuring buffer truncation respects content-length boundaries and preventing premature connection closure race -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #10325, #10915, #10941, #10943. - Fixed pytest plugin to not use deprLow5/22/2025
v3.12.0b1Bug fixes --------- - Response is now always True, instead of using MutableMapping behaviour (False when map is empty) *Related issues and pull requests on GitHub:* #10119. - Fixed connection reuse for file-like data payloads by ensuring buffer truncation respects content-length boundaries and preventing premature connection closure race -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #10325, #10915. - Fixed pytest plugin to not use deprecated :py:mod:`Low5/22/2025
v3.12.0b0Bug fixes --------- - Response is now always True, instead of using MutableMapping behaviour (False when map is empty) *Related issues and pull requests on GitHub:* #10119. - Fixed pytest plugin to not use deprecated :py:mod:`asyncio` policy APIs. *Related issues and pull requests on GitHub:* #10851. Features -------- - Added a comprehensive HTTP Digest Authentication client middleware (DigestAuthMiddleware) that implements RFC 7616. The middleware supports all standard haLow5/20/2025
v3.11.18Bug fixes --------- - Disabled TLS in TLS warning (when using HTTPS proxies) for uvloop and newer Python versions -- by :user:`lezgomatt`. *Related issues and pull requests on GitHub:* #7686. - Fixed reading fragmented WebSocket messages when the payload was masked -- by :user:`bdraco`. The problem first appeared in 3.11.17 *Related issues and pull requests on GitHub:* #10764. ----Low4/21/2025
v3.11.17Miscellaneous internal changes ------------------------------ - Optimized web server performance when access logging is disabled by reducing time syscalls -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #10713. - Improved web server performance when connection can be reused -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #10714. - Improved performance of the WebSocket reader -- by :user:`bdraco`. *Related issues and pull requests on Low4/19/2025
v3.11.16Bug fixes --------- - Replaced deprecated ``asyncio.iscoroutinefunction`` with its counterpart from ``inspect`` -- by :user:`layday`. *Related issues and pull requests on GitHub:* #10634. - Fixed :class:`multidict.CIMultiDict` being mutated when passed to :class:`aiohttp.web.Response` -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #10672. ----Low4/2/2025
v3.11.15Bug fixes --------- - Reverted explicitly closing sockets if an exception is raised during ``create_connection`` -- by :user:`bdraco`. This change originally appeared in aiohttp 3.11.13 *Related issues and pull requests on GitHub:* #10464, #10617, #10656. Miscellaneous internal changes ------------------------------ - Improved performance of WebSocket buffer handling -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #10601. - Improved performance of seriLow4/1/2025
v3.11.14Bug fixes --------- - Fixed an issue where dns queries were delayed indefinitely when an exception occurred in a ``trace.send_dns_cache_miss`` -- by :user:`logioniz`. *Related issues and pull requests on GitHub:* #10529. - Fixed DNS resolution on platforms that don't support ``socket.AI_ADDRCONFIG`` -- by :user:`maxbachmann`. *Related issues and pull requests on GitHub:* #10542. - The connector now raises :exc:`aiohttp.ClientConnectionError` instead of :exc:`OSError` when faLow3/17/2025
v3.11.13Bug fixes --------- - Removed a break statement inside the finally block in :py:class:`~aiohttp.web.RequestHandler` -- by :user:`Cycloctane`. *Related issues and pull requests on GitHub:* #10434. - Changed connection creation to explicitly close sockets if an exception is raised in the event loop's ``create_connection`` method -- by :user:`top-oai`. *Related issues and pull requests on GitHub:* #10464. Packaging updates and notes for downstreams ----------------------------Low2/24/2025
v3.11.12Bug fixes --------- - ``MultipartForm.decode()`` now follows RFC1341 7.2.1 with a ``CRLF`` after the boundary -- by :user:`imnotjames`. *Related issues and pull requests on GitHub:* #10270. - Restored the missing ``total_bytes`` attribute to ``EmptyStreamReader`` -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #10387. Features -------- - Updated :py:func:`~aiohttp.request` to make it accept ``_RequestOptions`` kwargs. -- by :user:`Cycloctane`. *ReLow2/6/2025
v3.11.11Bug fixes --------- - Updated :py:meth:`~aiohttp.ClientSession.request` to reuse the ``quote_cookie`` setting from ``ClientSession._cookie_jar`` when processing cookies parameter. -- by :user:`Cycloctane`. *Related issues and pull requests on GitHub:* #10093. - Fixed type of ``SSLContext`` for some static type checkers (e.g. pyright). *Related issues and pull requests on GitHub:* #10099. - Updated :meth:`aiohttp.web.StreamResponse.write` annotation to also allow :class:`byteLow12/18/2024
v3.11.10Bug fixes --------- - Fixed race condition in :class:`aiohttp.web.FileResponse` that could have resulted in an incorrect response if the file was replaced on the file system during ``prepare`` -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #10101, #10113. - Replaced deprecated call to :func:`mimetypes.guess_type` with :func:`mimetypes.guess_file_type` when using Python 3.13+ -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #10102. - DisaLow12/5/2024
v3.11.9Bug fixes --------- - Fixed invalid method logging unexpected being logged at exception level on subsequent connections -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #10055, #10076. Miscellaneous internal changes ------------------------------ - Improved performance of parsing headers when using the C parser -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #10073. ----Low12/1/2024
v3.11.8Miscellaneous internal changes ------------------------------ - Improved performance of creating :class:`aiohttp.ClientResponse` objects when there are no cookies -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #10029. - Improved performance of creating :class:`aiohttp.ClientResponse` objects -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #10030. - Improved performances of creating objects during the HTTP request lifecycle -- by :user:`Low11/27/2024
v3.11.7Bug fixes --------- - Fixed the HTTP client not considering the connector's ``force_close`` value when setting the ``Connection`` header -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #10003. Miscellaneous internal changes ------------------------------ - Improved performance of serializing HTTP headers -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #10014. ----Low11/21/2024
v3.11.6Bug fixes --------- - Restored the ``force_close`` method to the ``ResponseHandler`` -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #9997. ----Low11/19/2024
v3.11.5Bug fixes --------- - Fixed the ``ANY`` method not appearing in :meth:`~aiohttp.web.UrlDispatcher.routes` -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #9899, #9987. ----Low11/19/2024
v3.11.4Bug fixes --------- - Fixed ``StaticResource`` not allowing the ``OPTIONS`` method after calling ``set_options_route`` -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #9972, #9975, #9976. Miscellaneous internal changes ------------------------------ - Improved performance of creating web responses when there are no cookies -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #9895. ----Low11/19/2024
v3.11.3Bug fixes --------- - Removed non-existing ``__author__`` from ``dir(aiohttp)`` -- by :user:`Dreamsorcerer`. *Related issues and pull requests on GitHub:* #9918. - Restored the ``FlowControlDataQueue`` class -- by :user:`bdraco`. This class is no longer used internally, and will be permanently removed in the next major version. *Related issues and pull requests on GitHub:* #9963. Miscellaneous internal changes ------------------------------ - Improved performance of resolLow11/19/2024
v3.11.2Bug fixes --------- - Fixed improperly closed WebSocket connections generating an unhandled exception -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #9883. ----Low11/14/2024
v3.11.1Bug fixes --------- - Added a backward compatibility layer to :class:`aiohttp.RequestInfo` to allow creating these objects without a ``real_url`` -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* #9873. ----Low11/14/2024
v3.11.0Bug fixes --------- - Raise :exc:`aiohttp.ServerFingerprintMismatch` exception on client-side if request through http proxy with mismatching server fingerprint digest: `aiohttp.ClientSession(headers=headers, connector=TCPConnector(ssl=aiohttp.Fingerprint(mismatch_digest), trust_env=True).request(...)` -- by :user:`gangj`. *Related issues and pull requests on GitHub:* #6652. - Modified websocket :meth:`aiohttp.ClientWebSocketResponse.receive_str`, :py:meth:`aiohttp.ClientWebSocketResponLow11/13/2024
v3.11.0rc2Bug fixes --------- - Raise :exc:`aiohttp.ServerFingerprintMismatch` exception on client-side if request through http proxy with mismatching server fingerprint digest: `aiohttp.ClientSession(headers=headers, connector=TCPConnector(ssl=aiohttp.Fingerprint(mismatch_digest), trust_env=True).request(...)` -- by :user:`gangj`. *Related issues and pull requests on GitHub:* #6652. - Modified websocket :meth:`aiohttp.ClientWebSocketResponse.receive_str`, :py:meth:`aiohttp.ClientWebSocketResponLow11/13/2024

Dependencies & License Audit

Loading dependencies...

Similar Packages

pre-commitA framework for managing and maintaining multi-language pre-commit hooks.v4.6.0
azure-core-tracing-opentelemetryMicrosoft Azure Azure Core OpenTelemetry plugin Library for Pythonazure-template_0.1.0b6187637
spdx-toolsSPDX parser and tools.0.8.5
lacesDjango components that know how to render themselves.0.1.2
django-tasksA backport of Django's built in Tasks framework0.12.0