Releases: IgorArkhipov/unpin
Release list
Unpin v1.4.2
Unpin v1.4.2
v1.4.2 makes the tag-triggered release workflow safe to rerun after an
immutable GitHub release has already been published. It changes delivery
automation and release metadata only; Unpin's runtime behavior is unchanged.
Highlights
- An existing draft still refreshes only after the workflow confirms that no
provider-matrix evidence is attached. - An already-published immutable release is now an explicit non-mutating
success path, so incident recovery does not fail merely because publication
completed before a job rerun. - Missing releases still create a draft or draft prerelease and are never
published directly by the workflow.
Upgrading from v1.4.1
This is a compatible delivery-only patch update. The CLI, terminal UI, desktop
workbench, MCP protocol editions, provider paths, configuration formats, and
mutation safety model are unchanged.
On macOS, install the CLI and unpin-credential-broker from the same verified
archive. A compatible update preserves the already installed stable broker
byte-for-byte, so this release does not require another Keychain authorization
unless the broker is deliberately replaced or the signing certificate changes.
Artifacts
The release provides three CLI archives and two native desktop archives:
unpin-v1.4.2-aarch64-apple-darwin.tar.gzunpin-v1.4.2-x86_64-apple-darwin.tar.gzunpin-v1.4.2-x86_64-unknown-linux-gnu.tar.gzunpin-desktop-v1.4.2-aarch64-apple-darwin.tar.gzunpin-desktop-v1.4.2-x86_64-apple-darwin.tar.gz
Every archive has a CycloneDX SBOM, GitHub build-provenance and SBOM
attestations, and an entry in SHA256SUMS.
Delivery-only verification
This release uses the maintainer-approved delivery-only exception because it
changes no program logic. Publication is contingent on workflow tests, locked
metadata, a version smoke, verified GNU/Linux glibc compatibility, and a Debian
12 artifact smoke. The tag workflow must produce all signed archives, SBOMs,
attestations, and checksums before the draft is published.
Post-tag verification also downloads the draft assets, checks checksums and
attestations, and confirms the expected certificate fingerprint and executable
identifiers in every macOS CLI and desktop archive.
Trust boundary
The Unpin-specific personal certificate gives the stable credential broker a
consistent designated requirement. It is not an Apple Developer ID certificate,
and the artifacts are not notarized, so it does not establish Gatekeeper trust.
Verify checksums and GitHub attestations before using Finder's Control-click
Open flow. Do not disable Gatekeeper or strip quarantine metadata. The
release uses timestamp mode none and does not claim secure timestamping.
Unpin v1.4.1
Unpin v1.4.1
v1.4.1 reduces repeated discovery work, keeps desktop discovery caching
explicit and recoverable, and completes internal module splits without changing
Unpin's public configuration or MCP contracts.
Highlights
- Project skill discovery now walks one repository frontier for Claude Code,
Codex, Cursor, Pi, and OpenCode, then reuses only the derived scope caches
that are sound for each provider-specific traversal. - The desktop bridge reuses a discovery projection for up to 60 seconds in one
process. Choosing Reload starts a replacement bridge and reads external
provider changes immediately. - Group, restore, and Agent Plugin mutation attempts invalidate that desktop
cache even when an apply fails, preventing later refreshes from publishing a
projection captured before the attempted change. - Mutation, MCP, terminal UI, and desktop bridge code is split into focused
modules. Shared discovery-item ID prefixes and extracted toggle dispatch keep
inventory and mutation routing aligned without changing public output. - GitHub Actions and compatible Rust dependencies are updated to their current
pinned versions.
Upgrading from v1.4.0
This is an ordinary compatible patch update. The CLI, terminal UI, desktop
workbench, MCP protocol editions, provider paths, configuration formats, and
mutation safety model remain supported.
On macOS, install the CLI and unpin-credential-broker from the same verified
archive. A compatible update preserves the already installed stable broker
byte-for-byte, so this release does not require another Keychain authorization
unless the broker is deliberately replaced or the signing certificate changes.
Artifacts
The release provides three CLI archives and two native desktop archives:
unpin-v1.4.1-aarch64-apple-darwin.tar.gzunpin-v1.4.1-x86_64-apple-darwin.tar.gzunpin-v1.4.1-x86_64-unknown-linux-gnu.tar.gzunpin-desktop-v1.4.1-aarch64-apple-darwin.tar.gzunpin-desktop-v1.4.1-x86_64-apple-darwin.tar.gz
Every archive has a CycloneDX SBOM, GitHub build-provenance and SBOM
attestations, and an entry in SHA256SUMS.
Trust boundary
The Unpin-specific personal certificate gives the stable credential broker a
consistent designated requirement. It is not an Apple Developer ID certificate,
and the artifacts are not notarized, so it does not establish Gatekeeper trust.
Verify checksums and GitHub attestations before using Finder's Control-click
Open flow. Do not disable Gatekeeper or strip quarantine metadata. The
release uses timestamp mode none and does not claim secure timestamping. Full
instructions are in the desktop guide, and certificate expiry
and rotation are covered in the release
guide.
Verification
Publication remains blocked until the exact merged release commit passes the
locked Rust workspace checks, macOS XCTest suite, live Pi and OpenCode
validation, and finalized provider matrix. Published archives must then pass
checksum, attestation, archive-layout, version, architecture, signature, exact
identifier, designated-requirement, broker, bridge, Debian 12, and fixture-only
MCP smoke verification. Modern MCP proof includes stateless 2026-07-28
server/discover and tools/list; legacy initialize compatibility alone is
not sufficient.
Known limitations
- External provider changes can remain cached in a running desktop bridge for
up to 60 seconds. Choose Reload to start a replacement bridge and refresh
immediately. - Broker upgrades and certificate rotation are intentionally not automatic and
require a separately verified manual migration. - No Developer ID signing or notarization.
- Desktop support remains macOS-only and architecture-specific.
- crates.io, Homebrew, Linux ARM64, and Windows distribution remain deferred.
Unpin v1.4.0
Unpin v1.4.0
v1.4.0 moves persistent macOS Keychain access into a create-once,
Unpin-specific credential broker so ordinary application updates no longer
replace the executable that holds Keychain authorization.
Highlights
- macOS CLI and desktop archives include a separately signed
unpin-credential-brokercompanion with the stable
dev.unpin.credential-brokeridentifier. - The CLI verifies the packaged companion before installing it under the Unpin
app-state root. Ordinary updates preserve those exact installed bytes rather
than rebuilding or overwriting the authorized broker. - Broker requests use authenticated local IPC. The broker verifies client
identity and peer ownership before allowing a Keychain operation, and the
client verifies that it connected to the expected broker. - Release automation now requires the protected Unpin-specific signing
identity and verifies the CLI, desktop app, bundled bridge, and credential
broker identifiers. The unrelated certificate used by earlier releases is
retired from active automation. - Update responses explicitly report whether the stable credential broker was
preserved, and the desktop updater refuses to relaunch when that preservation
cannot be proven.
Upgrading from v1.3.0
This release is a deliberate one-time trust migration. The signing certificate
used through v1.3.0 was unrelated to Unpin, so the built-in updater must not
silently carry it forward or rotate the credential boundary.
Download the matching v1.4.0 archive and verify its SHA256SUMS entry and
GitHub attestation. CLI users must manually install both unpin and
unpin-credential-broker from that same CLI archive. Desktop users must
manually replace the application with the verified desktop archive, which
contains its matching bridge and broker companion. On the first credential
operation, Unpin verifies and installs the broker under the app-state root and
macOS asks you to authorize it once. Later compatible CLI and desktop updates
leave that installed broker unchanged, so rebuilding the application alone no
longer causes another Keychain prompt.
A deliberate broker upgrade or future certificate rotation remains a separate
manual migration and requires renewed authorization.
Artifacts
The release provides three CLI archives and two native desktop archives:
unpin-v1.4.0-aarch64-apple-darwin.tar.gzunpin-v1.4.0-x86_64-apple-darwin.tar.gzunpin-v1.4.0-x86_64-unknown-linux-gnu.tar.gzunpin-desktop-v1.4.0-aarch64-apple-darwin.tar.gzunpin-desktop-v1.4.0-x86_64-apple-darwin.tar.gz
Every archive has a CycloneDX SBOM, GitHub build-provenance and SBOM
attestations, and an entry in SHA256SUMS.
Trust boundary
The Unpin-specific personal certificate gives the broker a stable designated
requirement after the one-time migration. It is not an Apple Developer ID
certificate, and the artifacts are not notarized, so it does not establish
Gatekeeper trust. Verify checksums and GitHub attestations before using Finder's
Control-click Open flow. Do not disable Gatekeeper or strip quarantine
metadata. The release uses timestamp mode none and does not claim secure
timestamping. Full instructions are in the desktop guide, and
certificate expiry and rotation are covered in the release
guide.
Verification
This is an ordinary program release. Publication remains blocked until the
exact merged release commit passes the locked Rust workspace checks, macOS
XCTest suite, live Pi and OpenCode validation, and finalized provider matrix.
The draft artifacts must then pass complete checksum, attestation, stable
signature, exact-identifier, designated-requirement, authenticated broker and
bridge handshakes, and fresh-download verification. The approved
provider-matrix evidence bundle is attached before publication.
Known limitations
- The first credential operation after upgrading from
v1.3.0or earlier
requires one new Keychain authorization for the stable broker. - Broker upgrades and certificate rotation are intentionally not automatic and
require a separately verified manual migration. - No Developer ID signing or notarization.
- Desktop support remains macOS-only and architecture-specific.
- crates.io, Homebrew, Linux ARM64, and Windows distribution remain deferred.
Unpin v1.3.0
Unpin v1.3.0
v1.3.0 adds revision-pinned workflow modes that dynamically narrow the
tools, skills, hooks, and MCP capabilities visible to an active agent session.
Highlights
- Built-in planning, implementation, and review presets expose only the
capabilities selected for the current task. Custom workflow definitions can
compose the same typed tool, skill, hook, and MCP selectors. - Workflow revisions are immutable. New sessions pin the selected revision,
while active sessions retain their existing revision until an explicit,
validated transition. - The CLI and terminal TUI can create, inspect, propose, and apply workflow
transitions. The native desktop workbench adds workflow and active-session
controls with explicit desired and observed state. - MCP and authenticated gateway connections route capabilities per connection,
preventing one session's workflow mode from changing another session's
visible surface. - Transitions support cancellation, bounded recovery, connection-scoped
authority, durable journals, and fail-closed validation for stale or invalid
requests. - Provider-matrix evidence now derives workflow exposure from real RMCP
tools/listresponses and verifies CLI, TUI, MCP, and desktop parity.
Upgrading from v1.2.0
Use unpin update check to inspect the candidate and unpin update apply to
install it after confirmation, or download and verify the matching archive from
this release. The stable macOS certificate and the dev.unpin.cli,
dev.unpin.workbench, and dev.unpin.workbench.bridge identifiers are
unchanged. A verified update therefore preserves the designated requirements
used by existing Keychain Always Allow grants.
Artifacts
The release provides three CLI archives and two native desktop archives:
unpin-v1.3.0-aarch64-apple-darwin.tar.gzunpin-v1.3.0-x86_64-apple-darwin.tar.gzunpin-v1.3.0-x86_64-unknown-linux-gnu.tar.gzunpin-desktop-v1.3.0-aarch64-apple-darwin.tar.gzunpin-desktop-v1.3.0-x86_64-apple-darwin.tar.gz
Every archive has a CycloneDX SBOM, GitHub build-provenance and SBOM
attestations, and an entry in SHA256SUMS.
Trust boundary
The stable personal certificate preserves code identity for Keychain access;
it is not an Apple Developer ID certificate and the artifacts are not
notarized. It therefore does not establish Gatekeeper trust. Verify checksums
and GitHub attestations before using Finder's Control-click Open flow. Do
not disable Gatekeeper or strip quarantine metadata. The release uses timestamp
mode none and does not claim secure timestamping for the personal self-signed
certificate. Full instructions are in the desktop guide, and
certificate expiry and rotation are covered in the release
guide.
Verification
This is an ordinary program release. Publication remains blocked until the
exact merged release commit passes the locked Rust workspace checks, macOS
XCTest suite, live Pi and OpenCode validation, and finalized provider matrix.
The draft artifacts must then pass complete checksum, attestation, stable
signature, exact-identifier, designated-requirement, bridge-handshake, and
fresh-download verification. The approved provider-matrix evidence bundle is
attached before publication.
Known limitations
- Workflow changes affect new tool discovery immediately, but an agent host may
need to reconnect or refresh its MCP tool list before its UI reflects the new
exposure. - MCP write authority remains constrained to reviewed workflow operations;
provider mutation still uses the existing CLI, TUI, or desktop review flows. - No Developer ID signing or notarization.
- Desktop support remains macOS-only and architecture-specific.
- crates.io, Homebrew, Linux ARM64, and Windows distribution remain deferred.
Unpin v1.2.0
Unpin v1.2.0
v1.2.0 adds portable Agent Plugin package discovery and control across the
CLI, terminal TUI, native macOS workbench, and MCP planning surface.
Highlights
- Installed Agent Plugin packages now appear as one package inventory derived
from Unpin's existing provider discovery. No second package store is created. - Claude global and project activation anchors and Codex global activation
anchors can be enabled or disabled through reviewed Unpin changes. - The CLI and TUI can list, inspect, filter, and control packages. The desktop
app adds a sortable and filterable Packages workbench in Light and Dark
appearances, with first-run guidance and exact CLI handoffs. - MCP remains no-write. Agents can list packages, inspect package state, and
prepare a human-action handoff, while apply stays in the CLI, TUI, or desktop
review flow. - Package changes expand into exact native activation identities and retain
selected-provider reach, fingerprint and drift checks, locking, confirmation,
backup, audit, restore, and recovery protections. - Incomplete or symlinked package caches fail closed. Unsupported provider and
layer combinations remain visible as diagnostics instead of being treated as
actionable.
Upgrading from v1.1.0
Use unpin update check to inspect the candidate and unpin update apply to
install it after confirmation, or download and verify the matching archive from
this release. The stable macOS certificate and the dev.unpin.cli,
dev.unpin.workbench, and dev.unpin.workbench.bridge identifiers are
unchanged. A verified update therefore preserves the designated requirements
used by existing Keychain Always Allow grants.
Artifacts
The release provides three CLI archives and two native desktop archives:
unpin-v1.2.0-aarch64-apple-darwin.tar.gzunpin-v1.2.0-x86_64-apple-darwin.tar.gzunpin-v1.2.0-x86_64-unknown-linux-gnu.tar.gzunpin-desktop-v1.2.0-aarch64-apple-darwin.tar.gzunpin-desktop-v1.2.0-x86_64-apple-darwin.tar.gz
Every archive has a CycloneDX SBOM, GitHub build-provenance and SBOM
attestations, and an entry in SHA256SUMS.
Trust boundary
The stable personal certificate preserves code identity for Keychain access;
it is not an Apple Developer ID certificate and the artifacts are not
notarized. It therefore does not establish Gatekeeper trust. Verify checksums
and GitHub attestations before using Finder's Control-click Open flow. Do
not disable Gatekeeper or strip quarantine metadata. The release uses timestamp
mode none and does not claim secure timestamping for the personal self-signed
certificate. Full instructions are in the desktop guide, and
certificate expiry and rotation are covered in the release
guide.
Verification
This is an ordinary program release. Publication remains blocked until the
exact merged release commit passes the locked Rust workspace checks, macOS
XCTest suite, live Pi and OpenCode validation, and finalized provider matrix.
The draft artifacts must then pass complete checksum, attestation, stable
signature, exact-identifier, designated-requirement, bridge-handshake, and
fresh-download verification. The approved provider-matrix evidence bundle is
attached before publication.
Known limitations
- Agent Plugin activation is currently actionable for Claude global/project
and Codex global anchors. Other detected provider/layer combinations are
diagnostic. - MCP can inspect and prepare package changes but cannot apply them.
- No Developer ID signing or notarization.
- Desktop support remains macOS-only and architecture-specific.
- crates.io, Homebrew, Linux ARM64, and Windows distribution remain deferred.
Unpin v1.1.0
Unpin v1.1.0
v1.1.0 adds verified self-updates to the CLI and native macOS workbench and
makes native dashboard screenshots part of the provider-matrix workflow on
macOS.
Highlights
unpin update checkdiscovers the latest stable GitHub release without
changing files, andunpin update applyinstalls only the exact version the
user confirms.- The desktop app checks for updates at launch and through Check for
Updates…, then confirms installation before replacing and relaunching the
app. - Downloads are host-restricted and bounded; archives are checksum-verified and
traversal-safe, and candidates must report the expected version before
atomic replacement. - macOS candidates must retain the exact app, bridge, and CLI identifiers and
byte-for-byte designated requirements of the installed release. Certificate
or identifier rotation is rejected rather than resetting an existing
Keychain Always Allow grant. scripts/run_local_provider_matrix.py --capture-screenshotscaptures the
native provider-matrix dashboard on macOS. Capture is enabled automatically
on macOS and has a documented manual fallback elsewhere.
Upgrading from v1.0.2
v1.0.2 does not contain the updater, so installing v1.1.0 is a final manual
upgrade. Both releases use the same stable certificate and identifiers, so the
replacement preserves the designated requirements and existing Keychain
Always Allow grants. Compatible releases after v1.1.0 can use the built-in
CLI or desktop update flow.
Artifacts
The release provides three CLI archives and two native desktop archives:
unpin-v1.1.0-aarch64-apple-darwin.tar.gzunpin-v1.1.0-x86_64-apple-darwin.tar.gzunpin-v1.1.0-x86_64-unknown-linux-gnu.tar.gzunpin-desktop-v1.1.0-aarch64-apple-darwin.tar.gzunpin-desktop-v1.1.0-x86_64-apple-darwin.tar.gz
Every archive has a CycloneDX SBOM, GitHub build-provenance and SBOM
attestations, and an entry in SHA256SUMS.
Trust boundary
The stable personal certificate preserves code identity for Keychain access;
it is not an Apple Developer ID certificate and the artifacts are not
notarized. It therefore does not establish Gatekeeper trust. Verify checksums
and GitHub attestations before using Finder's Control-click Open flow. Do
not disable Gatekeeper or strip quarantine metadata. The release uses timestamp
mode none and does not claim secure timestamping for the personal self-signed
certificate. Full instructions are in the desktop guide, and
certificate expiry and rotation are covered in the release
guide.
Verification
This is an ordinary program release. Publication remains blocked until the
exact merged release commit passes the locked Rust workspace checks, macOS
XCTest suite, live Pi and OpenCode validation, and finalized provider matrix;
the draft artifacts must then pass complete checksum, attestation, stable
signature, exact-identifier, designated-requirement, bridge-handshake, and
fresh-download verification. The approved provider-matrix evidence bundle is
attached before publication.
Known limitations
- No Developer ID signing or notarization.
- Desktop support remains macOS-only and architecture-specific.
- Certificate or identifier rotation requires a separately documented manual
installation and one new Keychain authorization. - Native provider-matrix screenshot capture requires macOS; other platforms use
the documented manual dashboard workflow. - Profiles, gateways, sessions, and hooks remain on CLI, TUI, and MCP surfaces.
- crates.io, Homebrew, Linux ARM64, and Windows distribution remain deferred.
Unpin v1.0.2
Unpin v1.0.2
v1.0.2 is a delivery-only release that gives official macOS CLI and desktop
artifacts one stable signing identity. CLI, terminal TUI, MCP, desktop behavior,
and Rust mutation authority are unchanged from v1.0.1.
Highlights
- Apple Silicon and Intel CLI and desktop archives are signed with the stable
self-signedCodeBurn Update Signingcertificate
(E2AB4267F6B79DF40B8776A2EE9309F64CFD2389). - The app, bundled bridge, and standalone CLI retain their existing identifiers:
dev.unpin.workbench,dev.unpin.workbench.bridge, anddev.unpin.cli.
A move from1.0.1or earlier changes the designated requirement once from
the old ad-hoc signature, so the first1.0.2launch can prompt for
Keychain access again. After that approval, replacements signed by the same
certificate and identifier keep the same designated requirement, allowing
Keychain Always Allow grants to survive later updates. - Release automation reads the password-protected P12 and password from the
protected GitHub Actionsrelease-signingenvironment, behind its required
approval, imports them into an ephemeral runner Keychain, verifies exactly
the expected identity, and removes the temporary Keychain and P12 after
packaging. - Stable signing is mandatory for official macOS artifacts; the workflow fails
instead of silently falling back to ad-hoc signing.
Artifacts
The release provides three CLI archives and two native desktop archives:
unpin-v1.0.2-aarch64-apple-darwin.tar.gzunpin-v1.0.2-x86_64-apple-darwin.tar.gzunpin-v1.0.2-x86_64-unknown-linux-gnu.tar.gzunpin-desktop-v1.0.2-aarch64-apple-darwin.tar.gzunpin-desktop-v1.0.2-x86_64-apple-darwin.tar.gz
Every archive has a CycloneDX SBOM, GitHub build-provenance and SBOM
attestations, and an entry in SHA256SUMS.
Trust boundary
The stable personal certificate preserves code identity for Keychain access; it
is not an Apple Developer ID certificate and the artifacts are not notarized.
It therefore does not establish Gatekeeper trust. Verify the checksum and GitHub
attestation before using Finder's Control-click Open flow. Do not disable
Gatekeeper or strip quarantine metadata. The release uses timestamp mode none;
this release does not claim that Apple's secure timestamping works for this
personal self-signed certificate. Full instructions are in the desktop
guide, and certificate expiry/rotation is covered in the
release guide.
Verification
This release changes release automation, version metadata, and documentation,
not program logic. Under the maintainer-approved delivery-only artifact
exception, provider-matrix and live-host reruns are replaced by:
- signing helper contract tests and the complete release-tooling test suite;
- shell syntax, Python compilation, workflow lint, locked Cargo metadata, and
an exactunpin 1.0.2version smoke; - protected-branch CI and the exact release commit's Linux release compatibility
job; and - post-tag validation of the complete draft asset set, checksums, attestations,
certificate fingerprints, exact code-signing identifiers, bundled bridge
handshake, and fresh-download identity before publication.
Publication remains blocked until all replacement evidence passes against the
merged release commit and tag artifacts. The delivery-only exception does not
waive post-tag proof that every macOS artifact has the expected certificate
SHA-1 fingerprint and exact app, bridge, and CLI code-signing identifiers.
Known limitations
- No Developer ID signing, notarization, or automatic updates.
- Desktop support remains macOS-only and architecture-specific.
- Profiles, gateways, sessions, and hooks remain on CLI, TUI, and MCP surfaces.
- crates.io, Homebrew, Linux ARM64, and Windows distribution remain deferred.
Unpin v1.0.1
Unpin v1.0.1
v1.0.1 improves the native macOS workbench's first-run experience, recovery reliability, and release evidence without changing CLI, TUI, MCP, or Rust mutation authority.
Highlights
- Every work area now opens with persistent, collapsible guidance that explains the primary task and expected outcome.
- Contextual states distinguish no workspace, loading, empty, filtered, blocked, missing prerequisite, and missing selection conditions and offer the next safe action.
- Discover and Organize keeps all filter labels readable, supports prioritized multi-column sorting, and normalizes stale facet selections after inventory refresh.
- Govern and Automate provides exact copy-only CLI and MCP handoffs for profiles, gateways, sessions, and hooks; the desktop app still does not execute those workflows.
- Recover and Audit refreshes evidence whenever it becomes active, protects post-mutation recovery from stale reads, preserves last-known evidence, and keeps reviewed restore discard available under blockers.
- Release evidence now includes a reviewed 52-image Light/Dark guidance matrix and rejects blank, incomplete, stale, or metadata-mismatched captures.
Desktop artifacts
The release provides separate Apple Silicon and Intel macOS archives:
unpin-desktop-v1.0.1-aarch64-apple-darwin.tar.gzunpin-desktop-v1.0.1-x86_64-apple-darwin.tar.gz
Each archive contains UnpinDesktop.app, a version-matched unpin bridge, the bridge-integrity manifest, README, and license. The app remains ad-hoc signed with Hardened Runtime and is not Developer ID signed or Apple-notarized. Verify the checksum and GitHub attestation before using Finder's Control-click Open flow; do not disable Gatekeeper or strip quarantine metadata. Full instructions are in the desktop guide.
Verification
Implementation commit bc64f0a passed:
- locked formatting, Clippy, workspace tests, CLI help, RustSec, dependency policy, and unused-dependency gates;
- the full macOS XCTest scheme, including the bundled bridge handshake and recovery-ordering regressions;
- desktop handoff and release-script contract tests;
- a reviewed 52-image native Light/Dark guidance matrix;
- a finalized provider matrix with 31/31 CLI, 31/31 TUI, and 31/31 MCP cases; and
- live Pi 0.73.1 and OpenCode 1.18.9 validation with provider state unchanged.
The release commit must repeat version, metadata, Xcode, matrix, and live-host gates before tagging. Publication remains blocked until the exact draft asset set, checksums, attestations, desktop signatures, bundled bridge handshake, and installed artifact identity pass fresh-download verification.
Known limitations
- No Developer ID signing, notarization, or automatic updates.
- Desktop support remains macOS-only and architecture-specific.
- Profiles, gateways, sessions, and hooks remain on CLI, TUI, and MCP surfaces.
- crates.io, Homebrew, Linux ARM64, and Windows distribution remain deferred.
Unpin v1.0.0
Unpin v1.0.0
v1.0.0 is the first unified stable release of the Unpin CLI, terminal TUI,
MCP server, and native macOS desktop workbench.
Highlights
- The workbench organizes large inventories around Discover & Organize,
Govern & Automate, Change Safely, and Recover & Audit. - A bundled, version-matched
unpinchild remains the sole discovery,
approval, mutation, backup, drift, audit, and restore authority. - The local stdio bridge exposes redacted typed state rather than provider
payloads, private paths, secret keys, or MCP approval artifacts. - CLI, TUI, and MCP compatibility remains intact. Profiles, gateways, sessions,
and hooks stay on their existing surfaces until later desktop parity phases. - Inventory supports prioritized multi-column sorting, unclipped filters, and
persistent Light and Dark appearance choices.
Desktop artifacts
The release provides separate archives for Apple Silicon and Intel macOS:
unpin-desktop-v1.0.0-aarch64-apple-darwin.tar.gzunpin-desktop-v1.0.0-x86_64-apple-darwin.tar.gz
Each archive contains UnpinDesktop.app, the matching native unpin bridge,
the bridge-integrity manifest, README, and license. GitHub supplies build
provenance and CycloneDX SBOM attestations, and SHA256SUMS covers the complete
release asset set.
The app is ad-hoc signed with Hardened Runtime but is not Developer ID signed
or Apple-notarized. This stable release uses an explicit maintainer-approved
unsigned-GA exception and does not claim Gatekeeper trust. Verify the checksum
and GitHub attestation before using Finder's Control-click Open flow. Do not
disable Gatekeeper or strip quarantine metadata. Full instructions are in the
desktop guide.
Desktop updates remain manual: verify the new archive, quit the old app, and
replace the app bundle. Uninstalling means moving UnpinDesktop.app to Trash;
shared CLI state and recovery evidence under ~/.config/unpin are retained.
Stable-release verification
Implementation baseline 6877cd2 passed the full locked Rust workspace gates,
the shared 35-test Xcode scheme, all release-tool tests, native arm64 and
x86_64 desktop archive smokes, live Pi/OpenCode host validation, and the
finalized repository-local provider matrix with 31/31 CLI, 31/31 TUI, and
31/31 MCP cases.
Subsequent release hardening and the stable promotion tree passed locked
metadata, the unpin 1.0.0 version smoke, workflow lint, the focused desktop
release tests (9/9), and git diff --check. Before publication, the exact
merged commit must pass protected-branch CI, Linux release compatibility, and
exact-version native desktop artifact verification for both architectures.
The release PR records the focused delivery-only evidence: actionlint, locked
Cargo metadata and version smoke, the GLIBC_2.35-or-older symbol ceiling, and
the Debian 12 artifact smoke. After tagging, publication waits for a fresh
download of the exact asset set and verification of checksums, attestations,
the ad-hoc signature, CLI/Desktop smokes, the bridge handshake, and installed
artifact identity.
Known limitations
- No Developer ID signing, notarization, or automatic updates.
- Desktop support is macOS-only and architecture-specific.
- Profiles, gateways, sessions, and hooks remain on CLI, TUI, and MCP surfaces.
- crates.io, Homebrew, Linux ARM64, and Windows distribution remain deferred.
Unpin v0.6.2
Unpin v0.6.2
v0.6.2 makes a successful bulk toggle produce one authenticated transaction
backup instead of a separate full backup for every selected item.
Highlights
- One bulk operation now leaves one restorable backup bundle.
- The bundle retains one pre-write snapshot per physical resource. A shared
Codexconfig.toml, for example, is captured once even when many MCPs and
skills are changed together. - Every changed item reports the same bundle ID, and restoring that bundle
returns every affected resource to its pre-batch contents. - Provider-pinned MCP servers keep their hard boundary: a bundle spanning
multiple providers is available only through an unscoped MCP connection. - Restore plans use schema version 3 to bind complete provider coverage. Plans
generated by v0.6.1 must be re-planned after upgrading; existing
authenticated backups remain restorable in v0.6.2, while v0.6.1 cannot read
the new bundled backup format.
Verification
- The release candidate must pass the full local provider matrix and live Pi
and OpenCode host validation from the exact candidate commit, in addition to
required CI and locked workspace checks. - The release workflow verifies the GNU/Linux artifact's
GLIBC_2.35-or-older
symbol ceiling and runs--versionand--helpin Debian 12. - Each archive has GitHub build provenance, a CycloneDX SBOM, and a
workflow-generatedSHA256SUMStrust root. Verify a downloaded archive with:
shasum -a 256 -c SHA256SUMS
gh attestation verify unpin-v0.6.2-x86_64-unknown-linux-gnu.tar.gz \
--repo IgorArkhipov/unpin \
--source-ref refs/tags/v0.6.2 \
--signer-workflow IgorArkhipov/unpin/.github/workflows/release.ymlFor setup and security guidance, see the
onboarding guide
and security policy.