RepoJournal

$ cat django/week/2026-09-21.log

Django

Django

the week in review · Sep 21 – Sep 27, 2026

Django cuts ASGI middleware context switching, drops GDAL 3.3 and 3.4

By RepoJournal · composed from the cited sources · human-reviewed weekly · methodology

♥

The MiddlewareMixin change fixes per-middleware context switching that defeated BaseHandler's single-transition intent; spatial users on older GDAL must upgrade.

14 commits 12 PRs merged 7 briefings covered

all django reviews →

Fixed #37177 -- Reduced per-middleware context switching under ASGI. django/django

by Jacob Walls

Relying on MiddlewareMixin.__acall__() to handle async requests imposed per-middleware context switching, defeating BaseHandler's intent to transition only once per middleware chain. The fix minimizes breaking changes by keeping MiddlewareMixin's behavior intact for existing middleware; async stacks that wrap many middleware should see fewer context switches per request.

Fixed #37358 -- Dropped support for GDAL 3.3 and 3.4. django/django

by Jacob Walls

GDAL 3.3 and 3.4 are no longer supported, so anything using GIS fields or GDAL-backed functionality on those libraries must move to a newer GDAL before upgrading Django. This is the period's only removal, and it is the item most likely to break an existing deployment.

Fixed #37321 -- Documented BaseSpatialField.srid=-1 behavior. django/django

by Yassin Bahri

The docs now spell out what BaseSpatialField.srid=-1 means, the value Django uses to mark a field as SRID-agnostic. If you have spatial models where the SRID was inferred rather than declared, this is the reference that explains the behavior you were seeing.

Added missing notes about including latest translations in 6.0.4 and 6.0.6. django/django

by Natalia

The 6.0.4 and 6.0.6 release notes now state that each release included the latest Transifex translation strings, which the notes had previously omitted. No code changed; the release record is now accurate for anyone auditing what shipped in those patch releases.

Corrected output of Prefetch.to_attr example. django/django

by Jacob Walls

The Prefetch.to_attr example was printing the wrong output, a regression introduced in d6cca8b904de144946453aea93dd627c09abfca9. If you copied that snippet to check what to_attr holds, the corrected version is now in the docs.

Fixed #37051 -- Improved organisation of documentation home page. django/django

by Daniele Procida

The documentation home page has been reordered: entry-point material (installation, tutorial) now leads, followed by conceptual topics, with the domains of concern reshuffled. Existing URLs and anchors are the thing to watch if you link into docs from your own site or runbook.

Results for ubuntu-latest added [skip ci] django/django-asv

by Github Bot

django-asv now records benchmark results for ubuntu-latest, so performance comparisons can be made against that runner rather than a single environment. Expect the ubuntu-latest series to fill in as further runs land alongside the existing results.

Removed redundant configuration for django-upgrade (#2869) django/djangoproject.com

by Pravin

djangoproject.com dropped duplicative django-upgrade configuration. Alongside: the docs home page reorganization, the corrected Prefetch example, and the 6.0.4/6.0.6 translation note round out a period otherwise dominated by the ASGI and GDAL changes.

$ ls django/week/ # 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.

or

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.

all django reviews →