Breeze RMM v0.111.1 — hotfix for the v0.111.0 upgrade blocker. Install this instead of v0.111.0.
Summary
- Fixes the API crash-loop on upgrade for multi-tenant installs (#5357). v0.111.0's migration
2026-10-14-100100-discovered-assets-manual-source.sqlfails on any database whosediscovered_assetsrows span more than one organization or partner: its set-based backfill fires the partner-export consistency triggers row by row and trips the lock-hierarchy guards (partner export lock hierarchy violation, thenorganization locks must be acquired in ascending UUID order). The file rolls back and the API never boots. Hosted US was down for about 20 minutes on 2026-09-09 before a hand fix-forward; EU and single-tenant installs were unaffected. v0.111.1 adds2026-10-14-100050-discovered-assets-source-backfill-prelock.sql, which sorts ahead of the failing file, acquires every affected partner and organization export lock in ascending order first, and performs the same backfill. The original migration then finds nothing left to update and completes. A live-Postgres regression test now reproduces the crash and proves the ordering.
Self-Hosting / Upgrade Notes
- From v0.110.x or earlier: upgrade straight to v0.111.1 and read the full v0.111.0 notes for everything else that changed (five default changes, two preflight-gated migrations, new optional env vars): https://github.com/LanternOps/breeze/releases/tag/v0.111.0
- Already on v0.111.0 and looping on that migration: upgrading to v0.111.1 is enough; the new migration runs first and unblocks the boot. After the API is healthy run
docker compose up -d web portal— compose leaves them inCreatedwhile the API is unhealthy and does not start them on its own. - Already on v0.111.0 and healthy (single-tenant, or you applied the fix-forward SQL from the v0.111.0 notes): the new migration is a no-op; upgrade at your convenience.
- Upgrade command is unchanged: bump
BREEZE_VERSIONto0.111.1, thendocker compose pull api web portal && docker compose up -d binaries-init api web portal. - Database: one additional idempotent migration; no schema difference versus a healthy v0.111.0 install. No new environment variables. No other code changes versus v0.111.0 beyond what landed on
mainbetween the two tags (listed below). - No in-app "What's New" entry for this hotfix; the v0.111.0 entry stands.
Full Changelog: v0.111.0...v0.111.1
What's Changed
- fix(web): confirm before deleting a passkey or dropping a policy override (#5314) by @ToddHebebrand in #5336
- fix(portal): redirect every signed-in page to /account-disabled (#5320) by @ToddHebebrand in #5346
- docs: v0.111.0 sweep by @ToddHebebrand in #5347
- fix(db): preserve tenant context across assignment deletes and device moves by @ToddHebebrand in #5356
- fix(db): pre-lock partners/orgs before the discovered_assets source backfill (v0.111.0 US outage) by @ToddHebebrand in #5357
Full Changelog: v0.111.0...v0.111.1