It’s been a busy first half of the year: Security work on Daphne and asgiref; updates to Neapolitan and django-mantle; talks at PyTV, DjangoCon Europe, and PyCon Italia; the Annual Release Cycle DEP for Django drafted, discussed and made ready; a host of asgiref issues resolved in a significant update; the Django async topic guide updated, and various issues on Django nailed there; a chat with…
There’s a feature you’re keen on in Django’s main development branch — as we write, the Database-level delete options for ForeignKey.on_delete from the upcoming Django 6.1 , for example. The release is months away — Database-level deletes were merged in October 2025 , after Django on the Med 🏖️, with Django 6.1 not final until Aug 2026 . What’s a girl to do? Deploy main, of course. Hear me out.…
When I stepped down as Django Fellow, I joked that I was retiring. I wasn’t really going anywhere. I still maintain a whole load of packages, and I remained on the Security Team, but I was stepping away from working on Django day-to-day. Somehow I ended up running for the Steering Council for the current cycle, and being duly elected, I found myself back in the midst of it. We’re coming up for the…
This week, Carson Gross announced that there’s going to be a new v4 of HTMX. Go read the post: The fetch()ening I’m obviously very excited to see this. I’m full on team hypermedia — I would say REST, but you know 🥳 — and have been using HTMX since day 1 on the new project. The trouble is, it’s not so new now. We’re coming up for three years. The project is getting moderately big , and we leant…
Async My slow burner target for the summer was to get back on top of the async backlog. Asgiref 3.8 had a some weirdnesses around Local that needed some space to think through, and I'd slowly been trying to work my way clear to sit down with those. Anyhow, managed it finally. Got releases out for asgiref, Daphne, Channels, and channels_redis, as well as a totally unrelated fix for Neapolitan. PyPI…
I recently subscribed to Le Monde Diplomatique , a French-language, monthly newspaper. I have to say it's wonderful. I'm currently reading an article on The true meaning of "fake news" : Dans cette configuration, la capacité d’argumenter, de s’écouter mutuellement et de résoudre des conflits par le biais de la raison laisserait peu à peu place à une guerre civile numérique nourrie par l’ambition…
Please double-check responses , the little warning goes. My Dad is coming to visit, and I wanted to think about some examples to discuss with him about AI. I know he'll want to talk about it. He knows a lot about golf. He's played his whole life, and it was his industry when working. He's an expert, and so golf topics are perfect for making the points I'd want to. I asked Claude Sonnet 4, "What…
Django's querystring tag was new in 5.1 . It had a couple of fixes during the pre-release period, one release blocker in 5.1.7, , and now has a couple of behaviour tweaks pending in 6.0 . The need for these showed up when people started using it. Let's assume that's it. From Sept '24 to Dec '25 to wait for corrections, that could have been resolved in a third-party version in a month. I think it's…
Quoting Richard Si From the post on What's new in pip 25.1 - Dependency groups! , a footnote on improvements to Pip's dependency resolution: Please don’t add upper bounds unless you know for a fact your codebase is incompatible with the newer versions. Pre-emptive upper-bounds will not help dependency resolution and are generally considered harmful . Nice to have an authoritative something to link…
Not alone, and for a long time now, I’ve been battling with making my open source contributions sustainable. The open contribution model engendered by GitHub — where anonymous (to the project) users can create issues, and comments, which are almost always extractive support requests — results in an effective denial-of-service attack against maintainers . There have been various responses to this…