| in blog | Django News |
|---|---|
| published date | 2026-10-02 |
| original entry | Issue 357: Malcolm Tredinnick Prize Nominations and Django 6.2 Features |
The annual prize honors someone who welcomes newcomers, freely helps others, and grows the community, with a stipend meant to fund travel to a DjangoCon, PyCon, or sprint. Nominate someone by October 15 (Anywhere on Earth).
Security releases across all five series, with fixes for tarfile extraction filters, zipfile decompression bombs, and SSL hostname validation. Python 3.10.22 is the final 3.10 release, and 3.13.16 is the last full maintenance release of 3.13, so plan your upgrades.
Seth Larson's writeups from the first summit held in Europe since 2011, where 47 core developers in Krakรณw covered free-threading, Rust for CPython, garbage collection, type manipulation, and an AGENTS.md for CPython. The summit will now alternate between PyCon US and EuroPython each year.
Today, "Updates to Django" is presented by Raffaella from Djangonaut Space! ๐
Last week we had 6 pull requests merged into Django by 5 different contributors
News in Django 6.2:
django.utils.asyncio.maybe_aclosing returns a context manager that calls aclose() on a caller-provided iterator only if it defines one.async_capable = False to avoid repetitive context switching in MiddlewareMixin.__acall__() under ASGI. For atypical use cases, e.g. high in-process concurrency over non-ORM I/O, where no thread is otherwise held, the repetitive context switching may be preferable to pinning a thread per request (see async_performance). Such deployments can restore the prior behavior by setting async_capable = True; see MiddlewareMixin <upgrading-middleware>. ~django.contrib.auth.middleware.RemoteUserMiddleware is unaffected, because it does not use MiddlewareMixin. Neither is~django.contrib.auth.middleware.LoginRequiredMiddleware nor django.contrib.admindocs.middleware.XViewMiddleware affected, as they did not implement process_request() or process_response().When Paolo wasnโt otherwise showing us around Abruzzo last week at Django on the Med ๐๏ธ, I had the pleasure of supporting a number of groups there, spanning:
django-subatomic)Special thanks to Anna and Simon for taking up my suggestion to pair on some delicate issues around NULL handling in the ORM. They each have PRs Iโm excited to review, and the three of us now have more context for tackling whatever comes next in this area.
I was mostly OoO (out-of-office) this week due to ๐ธ Spring break ๐ผ in Uruguay. We travelled ๐ to visit family and had a wonderful time, including multiple rounds of ice cream eating ๐ฆ. I still prioritized attending the Security Team meeting and doing a release notes fix.
Sponsor this newsletter to reach an active community of Python and Django developers.

Black Python Devs moved its website from Render Engine to Django and opened the repo, trading a project manager that cost about $1,000 a year for automated workflows (elections and award nominations already run there). Members can now create accounts and set notification preferences, and issues and PRs are welcome.
Valentino Gagliardi's sprint recap from Pescara, where a couple of coffees on day two turned into a proposal to replace QUnit with vitest for Django's admin and GIS JavaScript tests, with browser mode, coverage reporting, and accessibility-based selectors as a complement to the Playwright end-to-end work.
Tim Schilling, speaking for himself rather than the Council, urges people to run in the next Steering Council election, which starts when Django 6.2 ships in April. DEP 19 now values teaching and community organizing alongside code, and his advice is to start writing publicly about your ideas now, since voters pick candidates they already know and trust.
A security.txt at /.well-known/security.txt (RFC 9116) tells researchers where to report vulnerabilities instead of guessing at addresses. Adam Johnson's view serves it as UTF-8 plain text, with tests that validate the required Contact and Expires fields and a system check that warns before Expires lapses without blocking your commands.
Tim Kamanin was about to write a web component to toggle between a page chooser and a URL field, then found Wagtail's built-in w-rules Stimulus controller already does it. Pass the data-w-rules attributes through a panel's attrs argument; hiding fields needs Wagtail 7.2 or newer.
Five years of running a SaaS taught Aidas Bendoraitis to send marketing mail from a different subdomain than transactional and direct mail, so newsletter spam complaints don't drag down password resets. The guide walks through MX, SPF, DKIM, and DMARC records for each, with working examples for FastMail, Mailjet, and Brevo.
djust now runs Django's own template test suite against its Rust engine and passes 98.6% of it. Render time depends only on what a template reads, so the heaviest benchmark template dropped from 215 ms to 4.7 ms (Django takes about 9 ms), and the release adds class-level components and djust init for existing projects.
django-anymail has dropped official SendGrid support after Twilio SendGrid disabled the project's testing account in June 2025, leaving no way to run integration tests or triage SendGrid bugs. Frank Wiles puts the savings at roughly the cost of three LinkedIn ad clicks.
Six weeks of rebuilding a setup so Claude Code keeps running with the laptop lid closed and can be checked from a phone: Ghostty with the herdr multiplexer, chezmoi-managed dotfiles, a Mac mini as the agent machine (with tailnet ACLs keeping it off production), and a fresh Docker Compose stack per git worktree.
Not everything in Django is documented. This article showcases a "hidden" way to generate a new SECRET_KEY and provides general advice around keeping them actually, well, secret.
Instead of keeping docs current by hand, a GitHub Actions workflow runs a headless Claude Code session on every push to main and rewrites only the wiki pages that describe the changed files. One project now has a 95-page wiki with 67 Mermaid diagrams, read mostly by coding agents, and the post includes both files (a skill and a workflow) to copy.
It is today, October 2nd! A full day of talks for the 6th edition of this event. You can participate online and in person so it's not too late.
Former Djangonaut mentee Annabelle Wiegart has a lovely write-up of the recently concluded event, highlighting the magic that comes from actually having the right people together in the room to tackle new advances for Django.
Matthias Kestenholz took the train from Zurich to Pescara and restarted his DEP for import maps in Django core, which let ES modules import stable names even as hashed static filenames change on every deploy. Firefox still can't handle multiple import maps, which is why he argues Django should merge them itself.
Wagtail's Thibaud Colas and Meagen Voss explain how the project handles the flood of AI-assisted contributions, how they compare open-weight models and inference providers, and why Wagtail 8.0 aims to be a "CMS with AI, not AI CMS."
Carlton and Will are back for the fall season. This episode discusses the recent Django on the Med event as well as Django news from the summer.
The video version of Django Chat's 36-minute recap of the Pescara sprints, with links to everything discussed: DEP 19, DjangoCon Europe 2027 in Innsbruck, django-bgt, django-benchmark, and the open DEP pull requests that came out of the event.
Proxify AB joins the board with two senior roles, Python backend and React/Node fullstack, alongside Django work at The Developer Society and The Cruise Brothers and machine learning at Provision.
Django Developer at The Developer Society
Senior Backend Developer (Python) at Proxify AB
Senior Fullstack Developer (React.js / Node.js) at Proxify AB
Machine Learning Engineer (Hybrid) at Provision
Django Developer at The Cruise Brothers
django_scrubber is a django app meant to help you anonymize your project's database data. It destructively alters data directly on the DB and therefore should not be used on production.
Django-orchestrated background threads for Python, built on bgt (a great way to reliably run background threads).
Reach 4,300+ Django developers every Friday. See sponsorship details and rates.