[3.5.4] — 2026-08-01
Fixed
- Address Book ACL bypass (restricted users) (#342):
GET /api/ab(and personal AB / tags) now filters peers and fleet tags through the same device-group / folder ACL as/api/peers/list, so org shared address-book merge and stale entries no longer expose out-of-scope machines. UnscopedGET /api/peers(withoutaccessible/pageSize) applies the same ACL for non-admin roles. Ships via panel update (Go server + console). - Legacy SQLite role CHECK blocking Phase 52 sync (#342): upgraded
userstables that still hadCHECK (role IN ('admin','operator','viewer'))are rebuilt on GoMigrate()sosuper_admin/global_admin/server_admin/prosync correctly. Installer/docs creators no longer add the old CHECK. Ships via panel update (Go server restart/migrate). - MeshAgent
.mshbad size(#336):GET /api/mesh/download.mshno longer embeds the static 40-hex MeshID placeholder. Panel/API now emit a stable per-group 96-hex (SHA-384)MeshID. Ships via panel update (Go restart).
Stable channel: main. Update via Settings → Updates.
What's Changed
- sync: main 3.5.0 → dev (post-release baseline) by @UNITRONIX in #338
- docs: sync sponsors list (Redspin, MyNameisStitch) to dev by @UNITRONIX in #339
- hotfix: BetterDesk 3.5.4 — Address Book ACL and role CHECK (#342) by @UNITRONIX in #343
Full Changelog: v3.5.0...v3.5.4