2.3.2 (2018-05-23)
------------------

* Packaging fix to allow old async_timeout dependencies (2.0 as well as 3.0)


2.3.1 (2018-05-23)
------------------

* WSGI-to-ASGI adapter now works with empty bodies in responses
* Update async-timeout dependency


2.3.0 (2018-04-11)
------------------

* ApplicationCommunicator now has a receive_nothing() test available


2.2.0 (2018-03-06)
------------------

* Cancelled tasks now correctly cascade-cancel their children

* Communicator.wait() no longer re-raises CancelledError from inner coroutines


2.1.6 (2018-02-19)
------------------

* async_to_sync now works inside of threads (but is still not allowed in threads
  that have an active event loop)


2.1.5 (2018-02-14)
------------------

* Fixed issues with async_to_sync not setting the event loop correctly

* Stop async_to_sync being called from threads with an active event loop


2.1.4 (2018-02-07)
------------------

* Values are now correctly returned from sync_to_async and async_to_sync

* ASGI_THREADS environment variable now works correctly


2.1.3 (2018-02-04)
------------------

* Add an ApplicationCommunicator.wait() method to allow you to wait for an
  application instance to exit before seeing what it did.


2.1.2 (2018-02-03)
------------------

* Allow AsyncToSync to work if called from a non-async-wrapped sync context.


2.1.1 (2018-02-02)
------------------

* Allow AsyncToSync constructor to be called inside SyncToAsync.


2.1.0 (2018-01-19)
------------------

* Add `asgiref.testing` module with ApplicationCommunicator testing helper


2.0.1 (2017-11-28)
------------------

* Bugfix release to have HTTP response content message as the correct
  "http.response.content" not the older "http.response.chunk".


2.0.0 (2017-11-28)
------------------

* Complete rewrite for new async-based ASGI mechanisms and removal of
  channel layers.


1.1.2 (2017-05-16)
-----------------

* Conformance test suite now allows for retries and tests group_send's behaviour with capacity
* valid_channel_names now has a receive parameter


1.1.1 (2017-04-02)
------------------

* Error with sending to multi-process channels with the same message fixed


1.1.0 (2017-04-01)
------------------

* Process-specific channel behaviour has been changed, and the base layer
  and conformance suites updated to match.


1.0.1 (2017-03-19)
------------------

* Improved channel and group name validation
* Test rearrangements and improvements


1.0.0 (2016-04-11)
------------------

* `receive_many` is now `receive`
* In-memory layer deepcopies messages so they cannot be mutated post-send
* Better errors for bad channel/group names
