--- title: "1.34.1 — Admin portal 0.2.16, custom rendition roles work again, clearer hosted-auth declines" description: "The packaged Admin moves from portal-mojo 0.2.8 to 0.2.16. User admin now shows every system permission a user holds, including custom keys, and can grant or remove them. Custom rendition roles accept caller options again, and hosted auth pages explain declines in plain language. No consumer change…" date: "2026-10-13" tags: ["release"] canonical: "https://django-mojo.sitesmojo.com/changelog/1-34-1/" --- The packaged Admin moves from portal-mojo 0.2.8 to 0.2.16. User admin now shows every system permission a user holds, including custom keys, and can grant or remove them. Custom rendition roles accept caller options again, and hosted auth pages explain declines in plain language. No consumer change or migration is required. ### Added - The packaged Admin is portal-mojo 0.2.16, up from 0.2.8. In user admin, Sys Perms lists every system permission a user holds, including keys outside the built-in catalog, and can grant or remove them. - Clicking a user's avatar in Admin replaces or clears it. - Admin detail modals for users, groups, members, devices and GeoIP use compact overview cards. - Admin Members adds group-local write gates and invite role presets. - Admin adds Storage → Media rendering for rendition settings. ### Fixed - A custom rendition role works again when the caller passes options. 1.34.0 refused any role a renderer does not declare before looking at the options. With no options it still raises. - Hosted auth forms, including contact, show plain-language explanations for declines: geofence restrictions, VPN/proxy/Tor, and location lookup failures. They prefer the response's `message`/`detail` over a bare error code and fall back to retry/support guidance. Enforcement and API responses are unchanged. ### Upgrade notes - Deploy `mojo-auth.js` and `auth_base.html` together. The template's version query follows the script's hash, so browsers fetch the new formatter. - An Admin tab left open across the upgrade asks for old chunk names and gets 404s. A reload fixes it.