Skip to content

Releases: aio-libs/aiohttp

3.11.18

21 Apr 09:39
v3.11.18
2be611a
Compare
Choose a tag to compare

Bug 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.


3.11.17

19 Apr 21:37
v3.11.17
11be7e2
Compare
Choose a tag to compare

Miscellaneous 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 GitHub:
    #10740.

  • Improved performance of the WebSocket reader with large messages -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #10744.


3.11.16

02 Apr 02:14
v3.11.16
c723b3c
Compare
Choose a tag to compare

Bug 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.


3.11.15

01 Apr 04:47
v3.11.15
d2d3621
Compare
Choose a tag to compare

Bug 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 serializing headers -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #10625.


3.11.14

17 Mar 02:41
1a48a62
Compare
Choose a tag to compare

Bug 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 failing to explicitly close the socket after :py:meth:asyncio.loop.create_connection fails -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #10551.

  • Break cyclic references at connection close when there was a traceback -- by :user:bdraco.

    Special thanks to :user:availov for reporting the issue.

    Related issues and pull requests on GitHub:
    #10556.

  • Break cyclic references when there is an exception handling a request -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #10569.

Features

  • Improved logging on non-overlapping WebSocket client protocols to include the remote address -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #10564.

Miscellaneous internal changes

  • Improved performance of parsing content types by adding a cache in the same manner currently done with mime types -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #10552.


3.11.13

24 Feb 15:57
v3.11.13
6f09c51
Compare
Choose a tag to compare

Bug 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

  • Fixed test test_write_large_payload_deflate_compression_data_in_eof_writelines failing with Python 3.12.9+ or 3.13.2+ -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #10423.

Miscellaneous internal changes

  • Added human-readable error messages to the exceptions for WebSocket disconnects due to PONG not being received -- by :user:bdraco.

    Previously, the error messages were empty strings, which made it hard to determine what went wrong.

    Related issues and pull requests on GitHub:
    #10422.


3.11.12

06 Feb 00:24
v3.11.12
78ea725
Compare
Choose a tag to compare

Bug 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.

    Related issues and pull requests on GitHub:
    #10300.

  • Improved logging of HTTP protocol errors to include the remote address -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #10332.

Improved documentation

  • Added aiohttp-openmetrics to list of third-party libraries -- by :user:jelmer.

    Related issues and pull requests on GitHub:
    #10304.

Packaging updates and notes for downstreams

  • Added missing files to the source distribution to fix Makefile targets.
    Added a cythonize-nodeps target to run Cython without invoking pip to install dependencies.

    Related issues and pull requests on GitHub:
    #10366.

  • Started building armv7l musllinux wheels -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #10404.

Contributor-facing changes

  • The CI/CD workflow has been updated to use upload-artifact v4 and download-artifact v4 GitHub Actions -- by :user:silamon.

    Related issues and pull requests on GitHub:
    #10281.

Miscellaneous internal changes

  • Restored support for zero copy writes when using Python 3.12 versions 3.12.9 and later or Python 3.13.2+ -- by :user:bdraco.

    Zero copy writes were previously disabled due to :cve:2024-12254 which is resolved in these Python versions.

    Related issues and pull requests on GitHub:
    #10137.


3.11.11

18 Dec 21:16
v3.11.11
8aaaba3
Compare
Choose a tag to compare

Bug 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:bytearray and :class:memoryview as inputs -- by :user:cdce8p.

    Related issues and pull requests on GitHub:
    #10154.

  • Fixed a hang where a connection previously used for a streaming
    download could be returned to the pool in a paused state.
    -- by :user:javitonino.

    Related issues and pull requests on GitHub:
    #10169.

Features

  • Enabled ALPN on default SSL contexts. This improves compatibility with some
    proxies which don't work without this extension.
    -- by :user:Cycloctane.

    Related issues and pull requests on GitHub:
    #10156.

Miscellaneous internal changes


3.11.10

05 Dec 23:49
v3.11.10
0d7352a
Compare
Choose a tag to compare

Bug 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.

  • Disabled zero copy writes in the StreamWriter -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #10125.


3.11.9

01 Dec 23:25
v3.11.9
79561a6
Compare
Choose a tag to compare

Bug 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.