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