$ 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
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
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
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
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
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.