--- title: "1.18.1 — Legacy deploy adoption and consumer test tiers" description: "django-mojo now lets existing application-user updater shims enter the typed deployment transaction without project edits, while consumer projects gain configurable test presets, package scaffolding, optional isolation enforcement, and tier-aware GitHub Actions." date: "2026-08-24" tags: ["release"] canonical: "https://django-mojo.sitesmojo.com/changelog/1-18-1/" --- django-mojo now lets existing application-user updater shims enter the typed deployment transaction without project edits, while consumer projects gain configurable test presets, package scaffolding, optional isolation enforcement, and tier-aware GitHub Actions. ### Added - `bin/run_tests --init ` scaffolds a consumer test package and starter tier configuration without overwriting existing files; invalid Python package names are rejected. - Consumer test roots can opt into fail-closed shared-state isolation checks and declare their own production import prefixes. - GitHub Actions now runs the core preset on pushes, the framework preset advisory on pull requests, and the complete tier set nightly. ### Changed - Consumer projects can set `default_preset` so a bare test run executes their intended suite instead of incorrectly succeeding with zero selected tests. ### Fixed - Existing locator-based updater shims now enter the root transient deployment through passwordless `sudo`, preventing `systemd-run: Access denied` before a webhook deployment begins. ### Upgrade notes - A node already bootstrapped to 1.18.0 behind an application-user updater shim must install 1.18.1 and restart its job engine before retrying the webhook. No project source change is required.