Releases: aio-libs/aiohttp
aiohttp 0.22.1 bugfix release
The release fixes a very annoying regression: client API was broken when code accepts cookie with expiration date larger than 24 days.
Update is highly recommended.
aiohttp 0.22.0 release
After long pause we proud to present new aiohttp major release.
The main changes:
- Fixed security issue with leaking cookies in client session: #799
- Added aiodns support: #819
- Added public api for testing: #900 #902 #914
- Added narrative tutorial
- Dropped features deprecated in 0.14 and 0.15 releases (more than year ago).
- multidict is spitted into separate library
- aiohttp now is published as linux wheels as well as old good gzipped tarball.
Full list of changes:
- Fix bug in serving static directory #803
- Fix command line arg parsing #797
- Fix a documentation chapter about cookie usage #790
- Handle empty body with gzipped encoding #758
- Support 451 Unavailable For Legal Reasons http status #697
- Fix Cookie share example and few small typos in docs #817
- UrlDispatcher.add_route with partial coroutine handler #814
- Optional support for aiodns #728
- Add ServiceRestart and TryAgainLater websocket close codes #828
- Fix prompt message for
web.run_app#832 - Allow to pass None as a timeout value to disable timeout logic #834
- Fix leak of connection slot during connection erro #835
- Gunicorn worker with uvloop support
aiohttp.worker.GunicornUVLoopWebWorker#878 - Don't send body in response to HEAD request #838
- Skip the preamble in MultipartReader #881
- Implement BasicAuth decode classmethod. #744
- Don't crash logger when transport is None #889
- Use a create_future compatibility wrapper instead of creating
Futures directly #896 - Add test utilities to aiohttp #902
- Improve Request.repr #875
- Skip DNS resolving if provided host is already an ip address #874
- Add headers to ClientSession.ws_connect #785
- Document that server can send pre-compressed data #906
- Don't add Content-Encoding and Transfer-Encoding if no body #891
- Add json() convenience methods to websocket message objects #897
- Add client_resp.raise_for_status() #908
- Implement cookie filter #799
- Include an example of middleware to handle error pages #909
- Fix error handling in StaticFileMixin #856
- Add mocked request helper #900
- Fix empty ALLOW Response header for cls based View #929
- Respect CONNECT method to implement a proxy server #847
- Add pytest_plugin #914
- Add tutorial
- Add backlog option to support more than 128 (default value in
"create_server" function) concurrent connections #892 - Allow configuration of header size limits #912
- Separate sending file logic from StaticRoute dispatcher #901
- Drop deprecated share_cookies connector option (BACKWARD INCOMPATIBLE)
- Drop deprecated support for tuple as auth paramter.
Use aiohttp.BasicAuth instead (BACKWARD INCOMPATIBLE) - Remove deprecated
request.payloadproperty, usecontentinstead.
(BACKWARD INCOMPATIBLE) - Drop all mentions about api changes in documentaion for versions
older than 0.16 - Allow to override default cookie jar #963
- Add manylinux wheel builds
- Dup a socket for sendfile usage #964
Thanks to all for contributions!
aiohttp 0.21.6 release
Fixed link to documentation: now http://aiohttp.readthedocs.io/en/v0.21.6/ works
Changes
- Drop initial query parameters on redirects #853
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-alivefor HTTP 1.0 only - don't send
Connectionheader for HTTP 1.1
- Send
- For non-keepalived connections
- Send
Connection: closefor HTTP 1.1 only - don't send
Connectionheader 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
loaderkeyword argument inweb.Request.jsonmethod. #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