$ cat django/month/2026-10-01.log
the month in review · October 2026
Django ships five security fixes, including formsets
By RepoJournal · composed from the cited sources · human-reviewed weekly · methodology
October also landed Address objects in email settings, Oracle UUID and JSONField fixes, and HTTP QUERY method support.
Fixed #37167 -- Allowed Address objects as email addresses. django/django
email.headerregistry.Address is now accepted wherever Django takes a recipient string, so ADMINS and MANAGERS no longer reject it. Address was already the safe way to build an address with a display name from variable parts, and it was unusable in exactly those settings.
Fixed #37322 -- Avoided transforms on spatial fields with srid=None. django/django
After spatial queries stopped interpolating the SRID into the SQL template, a field with srid=None reached ST_Transform() on PostGIS and SpatiaLite and returned NULL. Those transforms are now skipped.
Fixed #37361 -- Fixed permission renames for chained RenameModel operations. django/django
rename_permissions_after_model_rename() queried the database for permissions at each rename step before saving the planned changes, so chains like A to B to C left intermediate permission names behind. The rename now works from the planned state.
Fixed #37376 -- Made UUID4() persist data in lowercase on Oracle. django/django
Oracle implicitly ran RAWTOHEX() when storing UUID4() into VARCHAR2(32), so values came back uppercased while every other part of UUIDField() prepared lowercase, and lookups failed. Oracle UUID data now persists lowercase.
Fixed #37291 -- Prevented tuple lookups from hanging on F() expressions. django/django
The hang is prevented now; the release notes say the underlying unsafety with iterating F() expressions "will be handled later (#37384), to allow time to consider backward compatibility". A ValueError from the underlying query is also deferred.
Refs #37140 -- Limited NULL handling warning for __in lookups to subqueries. django/django
The NULL-handling documentation warning for __in lookups now applies only to subqueries, a follow-up that scopes where the warning fires.
Fixed #37212 -- Improved djangodocs Sphinx extension portability. django/django
DjangoHTMLTranslator lost its table and parameterlist customizations, which existed to avoid HTML4-era output from Docutils, and the docs builds also moved to sphinx-build and gained EPUBCheck and pydata-sphinx-theme this month. Nothing here changes your code, but anyone maintaining the docs toolchain should expect the extension to behave differently.
$ ls django/month/ # the briefings behind this review
Keep up with Django in about 3 minutes: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
fair warning: these emails are deeply technical. diffs, version numbers, CVEs, benchmark deltas. if that's not your idea of a good read, this isn't your newsletter.
Folds into your digest — weekly by default, monthly if you prefer. Unsubscribe in one click.