v0.150.1ยค
2026-06-01
Fixยค
-
Template expression errors now point at the correct source line in debug mode
Multi-node template expressions (e.g.
value="prefix {{ x }}"passed to a component) are wrapped in an internalStringifiedNodenode that previously carried no template origin. As a result, Django's debug-mode traceback annotator could not locate the failing source line. The host template's origin is now threaded through to these nodes, so errors raised inside such expressions are annotated against the correct template file. -
@djc_testno longer re-executes already-imported component modules between testsThe fixture used to pop every autodiscovered module from
sys.modulesat teardown. Now, the teardown snapshotssys.modulesat setup and only clears modules the test brought in itself. -
Fixed a component cache memory leak
See #1648.
Refactorยค
-
ComponentRegistry.register()raisesAlreadyRegisteredon any replacementPreviously
register()silently overwrote an existing entry whenever the old and new classes had the sameclass_id. Now, different classes under the same name now raiseAlreadyRegistered, and must callregistry.unregister(name)first. Re-registering the exact same class object is still a no-op.