* Updates internals to use ASGI v3 throughout. ``asgiref.compatibility`` is used for older applications.
* Consequently, the `--asgi-protocol` command-line option is removed.
* HTTP request bodies are now read, and passed to the application, in chunks.
* Added support for Python 3.9.
* Dropped support for Python 3.5.
2.5.0
Not secure
------------------
* Fixes compatability for twisted when running Python 3.8+ on Windows, by setting ``asyncio.WindowsSelectorEventLoopPolicy`` as the event loop policy in this case.
* The internal ``daphne.testing.TestApplication`` now requires an addition ``lock`` argument to ``__init__()``. This is expected to be an instance of ``multiprocessing.Lock``.
2.4.1
Not secure
------------------
* Avoids Twisted using the default event loop, for compatibility with Django 3.0's ``async_unsafe()`` decorator in threaded contexts, such as using the auto-reloader.
2.4.0
Not secure
------------------
* Adds CI testing against and support for Python 3.8.
* Adds support for ``raw_path`` in ASGI scope.
* Ensures an error response is sent to the client if the application sends malformed headers.
* Resolves an asyncio + multiprocessing problem when testing that would cause the test suite to fail/hang on macOS.
* Requires installing Twisted's TLS extras, via ``install_requires``.
* Adds missing LICENSE to distribution.
2.3.0
Not secure
------------------
* Added support for ASGI v3.
2.2.5
Not secure
------------------
* WebSocket handshakes are now affected by the websocket connect timeout, so you can limit them from the command line.