--- title: "1.15.17 — Consistent WebApp aliases, routes, and offline teardown" description: "WebApp custom domains now inherit the primary address’s complete route contract, legacy trailing-slash routes converge safely, and taking an app offline removes every supported serving address atomically without touching unrelated vhosts." date: "2026-08-22" tags: ["release"] canonical: "https://django-mojo.sitesmojo.com/changelog/1-15-17/" --- WebApp custom domains now inherit the primary address’s complete route contract, legacy trailing-slash routes converge safely, and taking an app offline removes every supported serving address atomically without touching unrelated vhosts. ### Fixed - Extra WebApp addresses now inherit and repair the primary address’s complete route contract, including managed authentication and application routes; conflicting alias routes are refused instead of silently repointed. - Taking a WebApp offline now removes either supported primary serving shape and every alias in one transaction, while malformed or dual-owned rows fail closed before partial teardown. - Application routes now treat `/path` and legacy `/path/` as one identity, healing a lone legacy spelling and refusing ambiguous duplicates.