Skip to content

borgmcp-server 3.3.0

Choose a tag to compare

@TheodorStorm TheodorStorm released this 24 Aug 14:43
· 34 commits to main since this release
a3e996c

borgmcp-server 3.3.0

  • The server now uses borgmcp-shared 1.1.0 and protocol tag 13. Protocol tags must match exactly: tag-12 clients receive HTTP 426, so borgmcp 4.6.x and earlier cannot talk to this server. Upgrade the client to borgmcp 4.7.0 or later together with this server release.
  • Migration 28 relabels legacy default metadata as starter for protocol-13 compatibility while existing Coordinator/Builder role state, grants, repository associations, and retry keys remain unchanged. selected_template records creation provenance and presentation; roles remain independently mutable. After a store is opened by 3.3.0, older servers refuse its schema, so back up before upgrading if you may need to roll back.
  • Lifecycle commands now refuse obsolete or incomplete runtime locks and markerless historical launchd/systemd definitions instead of adopting them; stop the owning process or service, preserve or remove the obsolete state, then retry the same lifecycle command, following any leftover-registration command reported by uninstall. (#365)
  • Managed-service controller actions now bind to the definition loaded by launchd or systemd before acting on the user-global service identity. Definition inspection requires the expected canonical, owner-owned, private regular file and covers the absent-job path, preventing an isolated lifecycle operation from acting on a live server owned by another runtime root. (#386)
  • Teardown no longer retains a write-only failed-runtime set; failure paths still preserve the runtime lock when listener or store closure cannot be confirmed. (#366)
  • The orphaned SBOM normalizer, verifier, dedicated tests, and release pins are removed. The release workflow continues to generate and ship no SBOM. (#367)
  • Bootstrap results no longer expose the already-consumed initial owner invitation; owner enrollment and portable credential persistence are unchanged. (#369)
  • Dormant test gates, the historical cube-binding operator harness, and test-only production exports are removed without changing supported runtime or package entry points. (#370)