--- title: "1.12.3 — Admin-managed fleet GeoIP and SMS providers" description: "django-mojo 1.12.3 adds guided Mojo provider setup to the built-in Admin, so a literal superuser can test and configure GeoIP and system SMS without SSH while restart-bound GeoIP settings continue through the encrypted S3/config-sync fleet plane." date: "2026-08-18" tags: ["release"] canonical: "https://django-mojo.sitesmojo.com/changelog/1-12-3/" --- django-mojo 1.12.3 adds guided Mojo provider setup to the built-in Admin, so a literal superuser can test and configure GeoIP and system SMS without SSH while restart-bound GeoIP settings continue through the encrypted S3/config-sync fleet plane. ### Added - The built-in Admin can test and configure Mojo GeoIP and system SMS together, including credential rotation, explicit clearing, and blank-to-preserve secret fields. - Registered static GeoIP settings can publish as a typed, KMS-encrypted S3 override, with published and locally loaded revisions shown separately. ### Changed - Config-sync validates deployment-delegated Admin overrides, composes them after the canonical configuration, and uses the existing jittered service restart; missing or invalid overrides leave the working configuration unchanged. - Provider mutations require a fresh, same-origin interactive superuser session, serialize installation-wide edits, reject stale database or S3 revisions, and use conditional S3 writes. ### Upgrade notes - Admin fleet publishing stays disabled until the deployment configures the exact override object, KMS key, complete GeoIP delegation, config-sync override allowlist, and restart posture. - The publisher needs narrowly scoped read/write and KMS permissions for the override object; fleet nodes need read and decrypt access.