Skip to content

borgmcp-server 3.2.2

Choose a tag to compare

@TheodorStorm TheodorStorm released this 23 Aug 12:12
· 64 commits to main since this release
c98c557

Package

Source

News and fixes

borgmcp-server 3.2.2

  • The 60-second liveness scan runs as one transaction per tick instead of one autocommitted write per candidate; its SQL is cube/listener-scoped and keyset-batched; migration 26 adds a partial covering index on activity_log(cube_id, created_at, id) WHERE visibility='direct'. Wake semantics are unchanged. This work is tracked in #371.
  • Roster reads (GET /api/cubes/:cube_id/drones, plain and since=) compute wake state for all drones in one set statement instead of one query per drone; payloads are unchanged field for field.
  • Activity append no longer sorts the expired-cursor ledger on every write; migration 27 adds an index on expired_activity_cursors(cube_id, created_at, entry_id) and the ledger trim is one indexed set delete. Cap and cursor-expiry semantics are unchanged.
  • Every runtime log line now carries a UTC ts field; no other log field changes.
  • Migrations 26 and 27 are additive indexes applied on first open. A store that has been opened by 3.2.2 (schema 27) is refused by 3.2.1 with MigrationCompatibilityError ("Database migrations do not exactly match this server version."); 3.2.1 does not open it. Back up before upgrading if you may need to return to 3.2.1.
  • This release changes no API shape and no request behaviour. The measured effect on live stall frequency will be recorded on #371 from the 3.2.2 runtime log after deployment.