Releases: aio-libs/aiohttp
Releases · aio-libs/aiohttp
0.21.4 aiohttp release
Minor release, has a couple of bug fixes
CHANGES
- Fix ResourceAdapter: dont add method to allowed if resource is not
match #826 - Fix Resouce: append found method to returned allowed methods
aiohttp 0.21.2 release
Bugfix release for fixing subtle regression
Changes
- Fix a regression: support for handling ~/path in static file routes was
broken #782
aiohttp 0.21.1 release
Bugfix release to restore aiohttp_debugtoolar functionality.
Changes
- Make new resources classes public #767
- Add
router.resources()
view - Fix cmd-line parameter names in doc
aiohttp 0.21.0 release
The release has many changes, most interesting are:
- Web router is deeply refactored
- Added utility function for application running
- Added command line command for running a web server
- Added raw http headers (not converted into utf-8)
- Client CORK/NODELAY optimization
- Full-functional demo added
Full list of changes:
- Introduce on_shutdown signal #722
- Implement raw input headers #726
- Implement web.run_app utility function #734
- Introduce on_cleanup signal
- Deprecate Application.finish() / Application.register_on_finish() in favor of
on_cleanup. - Get rid of bare aiohttp.request(), aiohttp.get() and family in docs #729
- Deprecate bare aiohttp.request(), aiohttp.get() and family #729
- Refactor keep-alive support #737:
- Enable keepalive for HTTP 1.0 by default
- Disable it for HTTP 0.9 (who cares about 0.9, BTW?)
- For keepalived connections
- Send
Connection: keep-alive
for HTTP 1.0 only - don't send
Connection
header for HTTP 1.1
- Send
- For non-keepalived connections
- Send
Connection: close
for HTTP 1.1 only - don't send
Connection
header for HTTP 1.0
- Send
- Add version parameter to ClientSession constructor,
deprecate it for session.request() and family #736 - Enable access log by default #735
- Deprecate app.router.register_route() (the method was not documented
intentionally BTW). - Deprecate app.router.named_routes() in favor of app.router.named_resources()
- route.add_static accepts pathlib.Path now #743
- Add command line support:
$ python -m aiohttp.web package.main
#740 - FAQ section was added to docs. Enjoy and fill free to contribute new topics
- Add async context manager support to ClientSession
- Document ClientResponse's host, method, url properties
- Use CORK/NODELAY in client API #748
- ClientSession.close and Connector.close are coroutines now
- Close client connection on exception in ClientResponse.release()
- Allow to read multipart parts without content-length specified #750
- Add support for unix domain sockets to gunicorn worker #470
- Add test for default Expect handler #601
- Add the first demo project
- Rename
loader
keyword argument inweb.Request.json
method. #646 - Add local socket binding for TCPConnector #678
aiohttp 0.20.2 release
aiohttp 0.20.2 bugfix
The main reason for making the release is fixing memory leak #723 -- very old, small but annoying problem.
Couple minor fixed was published also.
Changes
aiohttp 0.20.1 release
Bugfix release, mostly for fixing benoitc/gunicorn#1055
Full list of changes:
- Raise RuntimeError is Timeout context manager was used outside of
task context. - Add number of bytes to stream.read_nowait #700
- Use X-FORWARDED-PROTO for wsgi.url_scheme when available
aiohttp 0.20.0 release
The release has many optimizations as well as other improvements and bug fixes.
The most notable ones:
- Use TCP_CORK/TCP_NOPUSH and TCP_NODELAY for disabling Nagle algorithm
- Reduce amount of syscalls for chunked encoding transfer
- Improve performance of websocket mask applying
- Round server timeouts to seconds for grouping pending calls
- Implement Class Based Views
- Fix broken support for https proxies with authentication
Full list of changes:
- Extend list of web exceptions, add HTTPMisdirectedRequest,
HTTPUpgradeRequired, HTTPPreconditionRequired, HTTPTooManyRequests,
HTTPRequestHeaderFieldsTooLarge, HTTPVariantAlsoNegotiates,
HTTPNotExtended, HTTPNetworkAuthenticationRequired status codes #644 - Do not remove AUTHORIZATION header by WSGI handler #649
- Fix broken support for https proxies with authentication #617
- Get REMOTE_* and SEVER_* http vars from headers when listening on
unix socket #654 - Add HTTP 308 support #663
- Add Tf format (time to serve request in seconds, %06f format) to
access log #669 - Remove one and a half years long deprecated
ClientResponse.read_and_close() method - Optimize chunked encoding: use a single syscall instead of 3 calls
on sending chunked encoded data - Use TCP_CORK and TCP_NODELAY to optimize network latency and
throughput #680 - Websocket XOR performance improved #687
- Avoid sending cookie attributes in Cookie header #613
- Round server timeouts to second for grouping pending call. That
leads to less amount of poller syscalls e.g epoll.poll(). #702 - Close connection on websocket handshake error #703
- Implement class based views #684
- Add headers parameter to ws_connect() #709
- Drop unused function
parse_remote_addr()
#708 - Close session on exception #707
- Store http code and headers in WSServerHandshakeError #706
- Make some low-level message properties readonly #710
aiohttp 0.19.0
Major aiohttp 0.19.0 release
Highlighted features
async for
support for websockets and client multiparts,
support redirects history for client requests,
Timeout
context manager for limiting execution time of inner block.
Full list of changes
- Memory leak in ParserBuffer #579
- Suppport gunicorn's
max_requests
settings in gunicorn worker - Fix wsgi environment building #573
- Improve access logging #572
- Drop unused host and port from low-level server #586
- Add Python 3.5
async for
implementation to server websocket #543 - Add Python 3.5
async for
implementation to client websocket - Add Python 3.5
async with
implementation to client websocket - Add charset parameter to web.Response constructor #593
- Forbid passing both Content-Type header and content_type or charset
params into web.Response constructor - Forbid duplicating of web.Application and web.Request #602
- Add an option to pass Origin header in ws_connect #607
- Add json_response function #592
- Make concurrent connections respect limits #581
- Collect history of responses if redirects occur #614
- Enable passing pre-compressed data in requests #621
- Expose named routes via UrlDispatcher.named_routes() #622
- Allow disabling sendfile by environment variable AIOHTTP_NOSENDFILE #629
- Use ensure_future if available
- Always quote params for Content-Disposition #641
- Support async for in multipart reader #640
- Add Timeout context manager #611
aiohttp 0.18.4
Bugfix release.
Changes
- Relax rule for router names again by adding dash to allowed
characters: they may contain identifiers, dashes, dots and columns
aiohttp 0.18.3 bugfix release
Changes
- Fix formatting for _RequestContextManager helper #590