NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2227 most downloaded on PyPI
script tag with additional attributes for django.forms.Media
Last release 8 days ago
28 Sep 2026
Release timing varies
gaps range from 9 days to 3.0 years
No release notes found
nothing matched a version
Nothing withdrawn
no release was ever pulled
9 years old
22 releases · first in 2017
ImportMap(imports, *, scopes=None, integrity=None) takes the parts of the import map separately. Passing a full import map is deprecated.
This release is motivated by the Django enhancement proposal and new feature request I have been working on at Django on the Med 2026. django-js-asset is a proving ground for the ideas of DEP022 and makes them available now. It keeps its own compatibility guarantees, so it doesn't follow the DEP exactly.
The changes to import maps and attributes are backwards-incompatible.
Import maps:
Pass import maps as Media(importmap=ImportMap(...)); import maps in js lists raise a TypeError. The import maps of media added together are merged and rendered first by {{ media }}, or separately by {{ media.importmap }}. Widgets define media = Media(importmap=..., js=[...]), since class Media doesn't support import maps. The admin's change list only renders {{ media.js }}, the README shows how to add the import map.
ImportMap(imports, *, scopes=None, integrity=None) takes the parts of the import map separately. Passing a full import map is deprecated.
Relative paths are passed through static() when rendering, so static_lazy() isn't needed anymore.
Import maps are immutable, combine them with |. ImportMap.update() and ImportMap.__bool__ have been removed.
Attributes and nonces work like Django 6.1's MediaAsset.render(attrs=...):
render(attrs=...) adds the attributes to every tag, including the import map and JSON blocks, and raises a ValueError for attributes an asset defines itself, e.g. its own nonce.
render(nonce=...) of ImportMap and JSON is deprecated, use render(attrs={"nonce": ...}).
Media.from_media() keeps the nonce of the media it wraps.
Also:
CSS() accepts attrs= like JS(), and JSON is a MediaAsset.
Fixed losing lazy nonces and js_asset.Media subclasses when adding media, {{ media.js }} mangling html-safe strings on Django 6.1.0 and main, Media(nonce=None) rendering nonce="None" and equal JSON objects having different hashes.
One column per quarter.
Nothing published for this version
Nothing published for this version
This project publishes no release notes. Between 4.0.1 and 4.0.2 there were 17 commits, 8 of them substantive:
This project publishes no release notes. Between 4.0.1 and 4.0.2 there were 17 commits, 8 of them substantive:
This project publishes no release notes. Between 3.1.2 and 4.0.1 there were 25 commits, 18 of them substantive:
This project publishes no release notes. Between 3.1.2 and 4.0.1 there were 25 commits, 18 of them substantive:
Nothing published for this version
This project publishes no release notes. Between 3.1.1 and 3.1.2 there were 2 commits, 2 of them substantive:
This project publishes no release notes. Between 3.1.1 and 3.1.2 there were 2 commits, 2 of them substantive:
This project publishes no release notes. Between 3.0.1 and 3.1.1 there were 8 commits, 8 of them substantive:
This project publishes no release notes. Between 3.0.1 and 3.1.1 there were 8 commits, 8 of them substantive:
Nothing published for this version
This project publishes no release notes. Between 1.2.3 and 3.0.1 there were 63 commits, 59 of them substantive:
This project publishes no release notes. Between 1.2.3 and 3.0.1 there were 63 commits, 59 of them substantive:
…and 39 more.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
This project publishes no release notes. Between 1.2.2 and 1.2.3 there were 1 commits, 1 of them substantive:
This project publishes no release notes. Between 1.2.2 and 1.2.3 there were 1 commits, 1 of them substantive:
This project publishes no release notes. Between 1.2.1 and 1.2.2 there were 2 commits, 2 of them substantive:
This project publishes no release notes. Between 1.2.1 and 1.2.2 there were 2 commits, 2 of them substantive:
This project publishes no release notes. Between 0.1.1 and 1.2.1 there were 29 commits, 28 of them substantive:
This project publishes no release notes. Between 0.1.1 and 1.2.1 there were 29 commits, 28 of them substantive:
…and 8 more.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →