Some time since the last post. Looking back at it, I don't have too much to add there. A pretty full-on start to the year, backed onto a couple of years building up the backlog during the pandemic.
Months later, more on track, so let's get back to it.
Post Django 4.1 (which was released Aug 3rd) my idea was to do a Summer of Async: picking up the Channels trio of projects, Channels itself, the Daphne ASGI server, and the channels-redis channel layer backend.
These all now have betas on PyPI that are available for testing.
Channels removes all the old-code used to wrap Django applications, equivalent to which is what's been added to Django over the recent releases. Use that instead.
runserver implementation is moved to Daphne, so that folks wanting to use other ASGI servers don't have the Twisted/Daphne overhead when using Channels.
pip install 'channels[daphne]' to get that, and add
daphne to your
INSTALLED_APPS = [ "daphne", ... ]
These changes leave Channels much slimmer: websockets and lower-level ASGI consumers, the channel layers stuff, and not much else. I'm hoping after this release we can progress with point releases for a good while now.
The channels-redis update is about moving from
is where the async development is happening now.
I'll maybe pick off a few more little issues. Looking to do final releases around September 14. If you have a chance to give it all a run before then to spot any issues, that would be great.
There's a tracking issue on GitHub here: Planning Channels v4.0 · Issue #1898 · Django/Channels
The tail-end of my Summer of Async is preparing my talks for the DjangoCons (EU and US) in September and October. After the last couple of years, I am SO looking forward to those. Will I see you there?