Change8

Migrating to aiohttp v3.13.4

Version v3.13.4 introduces 1 breaking change. This guide details how to update your code.

Released: 3/28/2026

1
Breaking Changes
1
Migration Steps
15
Affected Symbols

⚠️ Check Your Code

If you use any of these symbols, you need to read this guide:

aiohttp.TCPConnectoraiohttp.GunicornWebWorkeraiohttp.GunicornUVLoopWebWorkerasyncio.loop.start_tlsaiohttp.BodyPartReader.decodeaiohttp.BodyPartReader.decode_iterClientTimeoutTransferEncodingErrorDeprecationWarningClientConnectorCertificateErrorHostContent-TypeContent-LengthConnectionWebSocketResponse.receive

Breaking Changes

Issue #1

The `aiohttp.BodyPartReader.decode` method was inadvertently changed to async in 3.13.3. It has been restored as a synchronous method for backward compatibility. A new `aiohttp.BodyPartReader.decode_iter` method is available for non-blocking decompression of large payloads using an async generator.

Migration Steps

  1. 1
    If you were relying on the asynchronous nature of `aiohttp.BodyPartReader.decode` in versions 3.13.3, use the new `aiohttp.BodyPartReader.decode_iter` method instead for non-blocking decompression of large payloads.

Release Summary

This release introduces a `max_headers` parameter for response header limits and a `dns_cache_max_size` for `TCPConnector`. It also includes numerous bug fixes, including addressing server hangs, DST issues, Gunicorn worker errors, and parser inconsistencies.

Need More Details?

View the full release notes and all changes for aiohttp v3.13.4.

View Full Changelog