Week ending 2026-07-26 (Week 30)
Focus this week was on the djangoproject.com email incident ![]()
and security work
. I worked with Ops to diagnose and resolve the outage, addressing the source of abuse in the account registration flow. In parallel, I continued security reviews (including GeoDjango) and handled incoming reports
. Overall brain ended up quite fried ![]()
![]()
.
Triaged
- #37223 (Signing's JSONSerializer uses latin-1, causing silent mojibake with UTF-8-emitting serializers) – Django - Signing’s JSONSerializer uses latin-1, causing silent mojibake with UTF-8-emitting serializers (needsnewfeatureprocess)
- #37224 (Migration questioner complains about missing defaults for fields in unmanaged models) – Django - Migration questioner complains about missing defaults for fields in unmanaged models (accepted)
- #37225 (Prevent file_move_safe() from overwriting a concurrently created destination.) – Django - Prevent file_move_safe() from overwriting a concurrently created destination. (accepted)
- #37226 (Spatial fields should re-raise errors as ValidationError during model validation) – Django - Spatial fields should re-raise errors as ValidationError during model validation (accepted)
- #37229 (The Readme is "disorganized") – Django - The Readme is “disorganized” (worksforme)
Reviewed
- Grab bag of typo fixes. by jacobtylerwalls · Pull Request #21595 · django/django · GitHub - Grab bag of typo fixes.
- Pushed more typo fixes and merged since we were getting dupes PRs for the same fixes.
- Fixed #37217 -- Made version references in contributing tutorial dynamic-version. by SnippyCodes · Pull Request #21640 · django/django · GitHub - Fixed #37217 – Made version references in contributing tutorial dynamic-version.
- Fixed #37223 -- Switched signing's JSONSerializer from latin-1 to UTF-8. by pauloxnet · Pull Request #21651 · django/django · GitHub - Fixed #37223 – Switched signing’s JSONSerializer from latin-1 to UTF-8.
- [6.1.x] Updated source translation catalogs. by jacobtylerwalls · Pull Request #21658 · django/django · GitHub - [6.1.x] Updated source translation catalogs.
- Fixed typo in documentation configuration comment by dhruvatr · Pull Request #21661 · django/django · GitHub - Fixed typo in documentation configuration comment
- https://github.com/django/deps/pull/109 - Adopt Annual Release Cycle (DEP 20)
- Added `delete_unactivated_users` management command. by tobiasmcnulty · Pull Request #2729 · django/djangoproject.com · GitHub - Added delete_unactivated_users management command.
Authored
- Fixed #37160 -- Made admin views raise PermissionDenied consistently. by nessita · Pull Request #21511 · django/django · GitHub - Fixed #37160 – Made admin views raise PermissionDenied consistently.
- Refresh from main, cleanup, and merge after review.
- Added a reCAPTCHA to the account registration form. by nessita · Pull Request #2728 · django/djangoproject.com · GitHub - Added a reCAPTCHA to the account registration form.
Security
- Involved review of geodjango fixes, including a meeting with Jacob about this to go over details.
- Engaged in other reports.
Other/Misc
- Weekly Fellows meeting.
- Incident-response meeting with the Ops team to debug and fix an issue with email sending on djangoproject.com.
- Account registration form was being abused by bots/spam/etc damaging our email sending reputation.
- Email sending capabilities were paused (see details Reduce invalid account registrations and restore Amazon SES sending · Issue #2730 · django/djangoproject.com · GitHub).