aiohttp 0.14 release
0.14 is the great release.
We have finished a hard work to stabilize aiohttp.web now.
Almost any new wish appeared in our mind may be implemented with the current code by third-party libraries: CORS, sessions, authorization, rendering and so on without the need for making changes in aiohttp itself.
That's a very strong sign on aiohttp.web design: the library is good and it is as tiny as possible.
0.14.0 (15/01/2014)
- HttpMessage._add_default_headers does not overwrite existing headers #216
- Expose multidict classes at package level
- add
aiohttp.web.WebSocketResponse - According to RFC 6455 websocket subprotocol preference order is
provided by client, not by server - websocket's ping and pong accept optional message parameter
- multidict views do not accept
getallparameter anymore, it
returns the full body anyway. - multidicts have optional Cython optimization, cythonized version of multidicts is
about 5 times faster than pure Python. - multidict.getall() returns
list, nottuple. - Backward imcompatible change: now there are two mutable multidicts
(MultiDict,CIMultiDict) and two immutable multidict proxies
(MultiDictProxyandCIMultiDictProxy). Previous edition of
multidicts was not a part of public API BTW. - Router refactoring to push Not Allowed and Not Found in middleware processing
- Convert
ConnectionErrortoaiohttp.DisconnectedErrorand don't
eatConnectionErrorexceptions from web handlers. - Remove hop headers from Response class, wsgi response still uses hop headers.
- Allow to send raw chunked encoded response.
- Allow to encode output bytes stream into chunked encoding.
- Allow to compress output bytes stream with
deflateencoding. - Server has 75 seconds keepalive timeout now, was non-keepalive by default.
- Application doesn't accept
**kwargsanymore (#243). - Request is inherited from dict now for making per-request storage to
middlewares (#242).