v1.7.0 (2026-07-26)

Minor release: the first release whose macOS app artifact is signed and notarized, carrying roughly three and a half weeks of feature, hardening, and fix work since v1.6.1 (2026-07-01). Backward-compatible; the new enforcement mechanisms fail closed.

Why this release exists

Two reasons. First, the release pipeline can now produce a signed and notarized macOS app: earlier attempts died inside Keychain without naming the missing Apple credential (#1008) and zipped before notarizing (#1015). This release’s app bundle is the first Sanctuary macOS artifact that passes Gatekeeper as a signed, notarized app. Second, the unified-protect exclusive-egress path lands end to end in code: one protect flow can provision a confined agent account, arm a per-uid pf-anchored exclusive route through a dedicated gate process, hold the agent parked behind a release barrier until the gate verifies, and tear down per agent through a registry.

What changed

See CHANGELOG.md for the grouped detail and the git history from the v1.6.1 tag through the v1.7.0 tag for per-PR detail.

Known limits (fixed in v1.7.1)

This tag was cut before the gate-reachability fix (#1024) and the boot fixes (#1027, #994) landed. As tagged:

v1.7.1 completes this path; see the v1.7.1 release notes.

Install

npx @sanctuary-framework/mcp-server

or explicitly pinned:

npx -y -p @sanctuary-framework/mcp-server@1.7.0 sanctuary

Capability bounds

The macOS Castle Wall bounds are unchanged from v1.6.x: per-uid allow/deny plus attended boot-survival are proven; there is no per-flow rule-attributed audit trail. The exclusive-egress gate ships in code in this release but is not usable by an unmodified agent harness until v1.7.1.