126 wires and counting

$ follow Django

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.

$ status

wire 2026-09-19
stories 27

© 2026 RepoJournal Home Showcase Explore How it works Privacy

$ the-wire · showcase

GenericIPAddressField accepts ipaddress objects, djangoproject.com tests go multi-browser

By RepoJournal · Filed · About Django · Composed from the cited sources · methodology

Django's field layer stops choking on stdlib ipaddress values, the project site's end-to-end suite gains a repeatable --browser flag, and the sponsorship pages learn to ask for their first Diamond and Fellow sponsors.

Fixed #37339 -- Allowed ipaddress objects in GenericIPAddressField. django/django

by Thibaut Decombe

get_prep_value() tested for ":" before coercing the value to a string, so ipaddress.IPv4Address and IPv6Address instances raised "TypeError: argument of type 'IPv4Address' is not iterable" even though to_python() already accepted them. If you assign stdlib ipaddress objects to a GenericIPAddressField, saving now works instead of blowing up.

Fixed #2613 -- Allowed the end-to-end tests to run on several browsers django/djangoproject.com

by kunalKumar-13

A BrowserTestRunner takes a repeatable --browser option, so `python -m manage test --browser chromium --browser firefox` exercises the suite on each engine, with repeated values de-duplicated and each test wrapped in self.subTest(browser=...) so failures name the engine. Chromium alone stays the default, so ordinary runs and the existing CI workflow cost what they did before.

:tractor: Fell back to the next sponsored tier on empty plan pages django/djangoproject.com

by jefftriplett

The Fellow and Diamond pages had no sponsors, so they rendered no sponsor section at all. They now borrow the next tier down that does have sponsors, labelled as that tier, with a "Be our first Diamond sponsor" call to action above the logos.

Fixed #37140 -- Advised against filtering on iterables containing NULL. django/django

by SnippyCodes

The docs now warn that an __in lookup fed a subquery returning NULLs turns exclude(field__in=subquery) into SQL NOT IN, which evaluates to UNKNOWN and silently returns nothing. Worth a look if any of your excludes build their right-hand side from a subquery.

Refs #36947 -- Added missing max_length in GeneratedField test for Oracle. django/django

by Jacob Walls

A GeneratedField test for Oracle was defined inline without running system checks, which hid a missing max_length; it is now supplied as a follow-up to the earlier fix. The ASV benchmark results also picked up an ubuntu-latest runner.

Quick answers

What shipped in Django on September 19, 2026?
Django's field layer stops choking on stdlib ipaddress values, the project site's end-to-end suite gains a repeatable --browser flag, and the sponsorship pages learn to ask for their first Diamond and Fellow sponsors. In total, 13 commits and 14 pull requests landed.
Who contributed to Django on September 19, 2026?
5 developers shipped this update, including jefftriplett, kunalKumar-13, UnknownPlatypus, SnippyCodes, and Jacob Walls.
What were the notable Django updates?
Fixed #37339 -- Allowed ipaddress objects in GenericIPAddressField, Fixed #2613 -- Allowed the end-to-end tests to run on several browsers, and :tractor: Fell back to the next sponsored tier on empty plan pages.