Skip to content

writing / 2026 /

Unblocking async atomic: asgiref next

Today's Stack Report, Towards Async Transactions in Django, relates the story of the async with transaction.atomic() work at Django on the Med ๐Ÿ–๏ธ. It's also about how the feature should behave, and our aim to get it ready for Django 6.2.

The Django PR sits on top of a change to asgiref: letting ThreadSensitiveContext nest, so an atomic block gets its own worker thread, and so its own connection. That PR is essentially correct. It needs guiding in, and then a release.

So my focus now is an asgiref release, aiming for the end of the month. (That hopefully leaves time for the Django side of the async atomic work before the 6.2 feature freeze in December.)

There are a few other PRs I want to get into the release. In particular, there's a speed-up for Local, mostly on the sync paths, that should be a win for everybody.

Also out this week: django-filter 26.2. It adds Python 3.15 to CI and drops 3.10. LinkWidget now escapes label text by default as defence-in-depth, so wrap any labels meant to carry HTML in mark_safe().