160 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-10-12
stories 13

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

asgiref drops its custom timeout for asyncio.timeout, Python 3.11 now the floor

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

asgiref's own timeout mechanism is on the way out in favor of the standard library's, and with it the last reason to run the package on Python 3.10 or older.

Deprecate custom timeout in favour of asyncio.timeout. django/asgiref

by carltongibson

asgiref's custom timeout is deprecated in favour of asyncio.timeout, and Python 3.11 is now the minimum supported version. Projects pinned to earlier interpreters pick up the deprecation without the new implementation, so plan the interpreter move before the old timeout goes away.

Deprecate custom timeout in favour of asyncio.timeout. (#598) django/asgiref

by Carlton Gibson

The same change ships in the mainline commit that closes the tracker issue. Anything passing the custom timeout argument gets a deprecation warning now and will need to move to asyncio.timeout.

Fixed #37411 -- Added compatibility for oracledb 26.0.0+. django/django

by Jacob Walls

oracledb 26.0.0 began requiring large parameter values to be sent as a temporary LOB when calling PL/SQL functions, which broke Django's GIS test fixtures on the Texas Multipolygon WKT, a string past the 4000-character LOB threshold. Django now requests LOB conversion explicitly for large payloads, and an Oracle upgrade will otherwise surface as a TypeError deep in fixture loading.

Fix #514: Handle scope["server"] = None in build_environ without crashing django/asgiref

by patx

Uvicorn running with --uds puts "server": None in the ASGI scope, and build_environ's old membership check tried to index None and raised TypeError. The check is now an explicit None test, with SERVER_PORT set to "0" for the Unix socket case.

upstreaming a fix for a small bug - compare contextvars by identity in _restore_context django/asgiref

by elialbert

A one-line change compares contextvars by identity with is not instead of != in _restore_context; dict comparison via != misbehaves when restoring pydantic values backed by a WeakValueDictionary, which the author reports broke in production before this fix.

Replaced RST links named in English with explicit URLs. django/django

by jacobtylerwalls

The long tail: named RST links written in English were replaced with explicit URLs, since translators rendering the visible link text broke the references in the translated docs, and django-asv recorded fresh benchmark results for ubuntu-latest.

Quick answers

What shipped in Django on October 12, 2026?
asgiref's own timeout mechanism is on the way out in favor of the standard library's, and with it the last reason to run the package on Python 3.10 or older. In total, 7 commits and 6 pull requests landed.
Who contributed to Django on October 12, 2026?
4 developers shipped this update, including Carlton Gibson, elialbert, patx, and Jacob Walls.
What were the notable Django updates?
Deprecate custom timeout in favour of asyncio.timeout, Deprecate custom timeout in favour of asyncio.timeout. (#598), and Fixed #37411 -- Added compatibility for oracledb 26.0.0+.