===================
- HttpMessage._add_default_headers does not overwrite existing headers (`216 <https://github.com/aio-libs/aiohttp/pull/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 `getall` parameter 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`, not `tuple`.
- Backward incompatible change: now there are two mutable multidicts
(`MultiDict`, `CIMultiDict`) and two immutable multidict proxies
(`MultiDictProxy` and `CIMultiDictProxy`). 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 `ConnectionError` to `aiohttp.DisconnectedError` and don't
eat `ConnectionError` exceptions 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 `deflate` encoding.
- Server has 75 seconds keepalive timeout now, was non-keepalive by default.
- Application does not accept `**kwargs` anymore ((`243 <https://github.com/aio-libs/aiohttp/pull/243>`_)).
- Request is inherited from dict now for making per-request storage to
middlewares ((`242 <https://github.com/aio-libs/aiohttp/pull/242>`_)).
----