Bug fixes
-
Authentication provided by a redirect now takes precedence over provided
auth
when making requests with the client -- by :user:PLPeeters
.Related issues and pull requests on GitHub:
#9436. -
Fixed :py:meth:
WebSocketResponse.close() <aiohttp.web.WebSocketResponse.close>
to discard non-close messages within its timeout window after sending close -- by :user:lenard-mosys
.Related issues and pull requests on GitHub:
#9506. -
Fixed a deadlock that could occur while attempting to get a new connection slot after a timeout -- by :user:
bdraco
.The connector was not cancellation-safe.
-
Fixed the WebSocket flow control calculation undercounting with multi-byte data -- by :user:
bdraco
.Related issues and pull requests on GitHub:
#9686.
Removals and backward incompatible breaking changes
-
Improved performance of the connector when a connection can be reused -- by :user:
bdraco
.If
BaseConnector.connect
has been subclassed and replaced with custom logic, theceil_timeout
must be added.Related issues and pull requests on GitHub:
#9600.
Miscellaneous internal changes
-
Improved performance of the client request lifecycle when there are no cookies -- by :user:
bdraco
.Related issues and pull requests on GitHub:
#9470. -
Improved performance of sending client requests when the writer can finish synchronously -- by :user:
bdraco
.Related issues and pull requests on GitHub:
#9485. -
Improved performance of serializing HTTP headers -- by :user:
bdraco
.Related issues and pull requests on GitHub:
#9603. -
Passing
enable_cleanup_closed
to :py:class:aiohttp.TCPConnector
is now ignored on Python 3.12.7+ and 3.13.1+ since the underlying bug that caused asyncio to leak SSL connections has been fixed upstream -- by :user:bdraco
.