| in blog | Django News |
|---|---|
| published date | 2026-07-03 |
| original entry | Issue 344: Happy Birthday Djangonaut Space! |
Djangonaut Space celebrates its third birthday! The project started as an idea and, over the past three years, has grown beyond expectations.
Salim Nuru joins DSF as June 2026 member of the month, sharing how he got started with Django, why he likes security by default, and what he’s building now.
A curated map of public Django community spaces: weekly DSF Office Hours, DSF board updates, Steering Council meetings, and working groups on accessibility, the website, and online community.
Today, "Updates to Django" is presented by Raffaella from Djangonaut Space! 🚀
Last week we had 18 pull requests merged into Django by 6 different contributors - including a first-time contributor! Congratulations to Ayoub Bouaik for having their first commits merged into Django - welcome on board!
UnicodeDecodeError for bytes passwords that were not valid UTF-8. Passwords supplied as str or as UTF-8 bytes are unaffected (#37184).mail.E001 deployment-only system check prevents using one of Django’s email backends that is not intended for production use in the 'default' MAILERS entry. (#37166)mail.W001 system check warns when MAILERS is defined but does not include a 'default' entry.(#37161)vary headers for cache_page() and UpdateCacheMiddleware, or the vary_on arguments to the cache template tag (generated by make_template_fragment_key()), the cache keys are different from the keys generated by older versions of Django. After upgrading to Django 6.1, the first request to any previously cached page or template fragment that varies on additional information will be a cache miss.(#37101, #37174)FREE Python error tracking from Honeybadger – all signal, no noise Production bugs don’t arrive one at a time. One mistake can trigger thousands of identical exceptions. Honeybadger groups similar errors into a single issue and sends alerts that you can pause or ignore in a single click – so you get signal, not noise

PSF Board elections run September 1 to September 15, 2026, with nominations opening July 28 and a voter affirmation cut-off on August 25.
After PEP 772 approved the Packaging Council governance process, the inaugural Python Packaging Council election will run in parallel with the 2026 PSF Board election, filling all five seats.
Wagtail lays out its future product direction and the priorities guiding development next. If you build on Wagtail, this is the roadmap thinking to track for what may ship, what may shift, and where effort is likely to land.
F expressions let Django update a model field based on the current value stored in the database, not a value pulled into Python. Use them to avoid “read then write” patterns and keep concurrent updates from stepping on each other.
Use 1Password’s op tool to run local workflows without copying secrets into your environment or repo. The result is a tighter loop for starting Django with credentials loaded on demand.
When you need extra data associated with objects without preventing garbage collection, WeakKeyDictionary gives you a safe mapping from object to metadata. It’s a practical fit for cases like Django tooling that tracks state per AST nodes, such as django-upgrade’s fixer functions.
From AI driven vulnerability triage to maintainer burnout, here are practical takeaways from UN Open Source Week on the future of open source security and sustainability.
The Cyber Resilience Act changes how manufacturers handle open source software, but argues it does little to improve funding or long term maintenance for the projects they rely on.
Maintaining a mature Django package gets a little less tedious with an LLM-powered runbook that automates the upgrade treadmill across Python and Django releases.
A keynote by Robert Haas at PG Data 2026 focused on the humans behind PostgreSQL and the challenges of sustaining open-source communities. His message for finding new contributors through mentorship and engagement is a useful mirror for Django and every community that wants to keep growing.
Noah Kantrowitz walks through ETL in Django using async-friendly patterns, including task factories, failure modeling, croniter-based scheduling, and multi-stage transforms with coroutines. He also covers Django’s async constraints around ORM and transactions, plus a neat way to build Celery-like task decorators using autodiscover_modules.
Who is helping you level up as a Django developer?
The software world is wild right now. If you're feeling overwhelmed or anxious about your career as a Django developer, let's meet. The first one is free, plus you pay at the end of the month, and only if you're satisfied.

Jacob's weekly Django Fellow report.
Natalia’s weekly Django Fellow report.
Senior Python/Django Developer at Gryps
Founding ML/Data Scientist (Remote, UK) at MyDataValue
A Wagtail project made to simplify creation of resumes for developers.
Translates Django models using a registration approach.