- Many HTTP proxies has buggy keepalive support. Let's not reuse connection but close it after processing every response. (#3070)
- Provide vendor source files in tarball (#3076)
- Fix
sock_read
timeout. (#3053) - When using a server-request body as the
data=
argument of a client request, iterate over the content withreadany
instead ofreadline
to avoidLine too long
errors. (#3054)
- Raise
ConnectionResetError
instead ofCancelledError
on trying to write to a closed stream. (#2499) - Implement
ClientTimeout
class and support socket read timeout. (#2768) - Enable logging when
aiohttp.web
is used as a program (#2956) - Add canonical property to resources (#2968)
- Forbid reading response BODY after release (#2983)
- Implement base protocol class to avoid a dependency from internal
asyncio.streams.FlowControlMixin
(#2986) - Cythonize
@helpers.reify
, 5% boost on macro benchmark (#2995) - Optimize HTTP parser (#3015)
- Implement
runner.addresses
property. (#3036) - Use
bytearray
instead of a list ofbytes
in websocket reader. It improves websocket message reading a little. (#3039) - Remove heartbeat on closing connection on keepalive timeout. The used hack violates HTTP protocol. (#3041)
- Limit websocket message size on reading to 4 MB by default. (#3045)
- Don't reuse a connection with the same URL but different proxy/TLS settings (#2981)
- When parsing the Forwarded header, the optional port number is now preserved. (#3009)
- Make Change Log more visible in docs (#3029)
- Make style and grammar improvements on the FAQ page. (#3030)
- Document that signal handlers should be async functions since aiohttp 3.0 (#3032)
- Deprecate custom application's router. (#3021)
- #3008, #3011