Changelog
All notable changes to varsafe.
[7.2.7] - 2026-09-04
Changed
- CLI: upgrade NestJS to 12 and validate requests with the built-in Standard Schema pipe
Fixed
- CLI: stop caching node_modules, so a bad install layout cannot latch
Platform — 2026-09-04
Changed
- MCP: a client that registers a
http://localhostcallback must now send"application_type": "native"in its registration request. Loopback callbacks are only accepted for native clients; a client that omits the field is refused at registration.
Platform — 2026-08-22
Added
- API: the programmatic API surface is now published as an OpenAPI specification at https://varsafe.dev/openapi.json, with the scope each route requires. Point a client generator or an AI agent at it instead of hand-writing requests.
- Docs: https://varsafe.dev/llms.txt describes what varsafe is for and when to reach for it, so agents can decide whether it fits a task without reading the marketing site.
Changed
- Docs: a missing page on varsafe.dev now answers with links to the sitemap, the API specification and the documentation, in Markdown for clients that ask for it, instead of a bare “file not found”.
[7.2.6] - 2026-08-19
Changed
- CLI: close the last three convention decisions
[7.2.5] - 2026-08-15
Fixed
- CLI: tolerate EPIPE on stdout data pipes
[7.2.4] - 2026-08-15
Changed
- CLI: finish the ruled convention remediation (wave 2)
- CLI: typed errors everywhere, strict scoped writes, canonical transaction scope
Fixed
- CLI: honor the disclosure policy in MCP tool errors and repair dead assertions
[7.2.3] - 2026-08-12
Fixed
- CLI: keep snippet scratch out of the git checkout
Platform — 2026-08-12
Fixed
- API: Emails that a provider rejects are now retried instead of being recorded as delivered. Some invitations, verification links and password resets could previously be dropped without notice.
Security
- API: SSO configuration is now restricted to team owners and admins on the Team plan, where other signed-in accounts could previously create a provider. Existing SSO settings are unchanged.
- API: Names shown in emails, such as a team or inviter name, are now escaped. A crafted name could previously alter the appearance of an invitation.
- API: Repointing an SSO provider at a different identity provider now issues a new provider ID, so existing linked accounts cannot be inherited by the new one.
[7.2.2] - 2026-08-10
Fixed
- CLI: pass the session bus through to spawned snippets
[7.2.1] - 2026-08-10
Changed
- CLI: import the canonical secret-key pattern instead of redeclaring it
Platform — 2026-08-10
Added
- API: Ending a session is now recorded, whichever way it happens — you revoking one of your own devices, an admin revoking a member’s, or an incident response — each with the reason it ended and what the person who did it had proved.
- API: Changes to the account allowlist are now recorded, so who was granted or denied the ability to create an account is answerable from the audit log.
- MCP: Connect an AI agent with an API token instead of the browser sign-in — for machines with no browser of their own, or when your agent should use a different account than your CLI. Grant a token MCP scopes on the API Tokens page, then pass it as an
Authorizationheader.
Fixed
- API: An access review is returned even if its audit entry cannot be written, instead of failing the whole request.
Security
- MCP: A connected agent is now held to its owner’s current role, so lowering someone’s role takes effect on their agent immediately — previously only removal and deactivation did. An agent that starts refusing a tool needs the role that permits it restored.
Platform — 2026-08-09
Added
- API: Your own account activity — sign-ins, sign-outs, passkey and two-factor changes — is now
readable at
GET /audit/actor/:actorId. These records were always written but no view could return them. - API: Generating a compliance export or an access review is now itself recorded in the team’s audit log, with who asked and which period it covered.
Fixed
- Dashboard: The Audit Log page now opens for people who belong to no team, instead of failing with a validation error.
- API: Account creation is recorded as its own event rather than as a sign-in, so signing up and signing in are no longer indistinguishable in the audit log.
- API: Operator-only platform records no longer appear in a platform administrator’s personal activity, and personal activity now respects your plan’s retention window.
Platform — 2026-08-08
Added
- Composed secrets — build a secret from other secrets: switch the value field to
Composed and type
${to pick a key. The dashboard shows what each secret is built from and what depends on it, and asks what to do before a delete or rename would break something.
Changed
- Plan limits on team members and projects are now enforced on every path that creates one.
Fixed
- Dashboard: two dialogs that could get stuck now recover — the Secrets page no longer sits on “Select team”, and the Add Passkey dialog no longer stays on “Registering…” after you dismiss the browser prompt.
Security
- Every credential event is audited — issued, approved, refused, expired and automatically revoked — in each team the credential can reach.
- Identity-provider URLs are validated when you save your SSO settings, and must be https.
- API hardening — rate limits are counted across the whole service, secret responses are never cached, the client address can no longer be chosen by the caller, and the dashboard ships a Content-Security-Policy.
- AI-agent tools validate every argument the way the API always has, and export patterns can no longer be made expensive to evaluate.
[7.2.0] - 2026-08-05
Added
- CLI: read, write and delete composed secrets.
Fixed
- CLI:
varsafe set --stdinworks when its input is a redirected file.
[7.1.3] - 2026-07-31
Fixed
- CLI:
varsafe statustells an inaccessible project apart from a connection problem, and re-checks which team you are in rather than trusting a stale local copy.
Platform — 2026-07-31
Fixed
- The one-line installer works again —
curl -fsSL https://varsafe.dev/install.sh | bashexited without installing anything. It now also checks it can write to the destination before downloading, and never hangs a CI runner. - AI agents: revoking a connection takes effect immediately, and membership or role changes retire the connections they affect.
[7.1.2] - 2026-07-30
Fixed
- CLI:
varsafe updateoffers a sudo-free reinstall to~/.varsafe/binwhen it cannot write to the install it is running from.
[7.1.1] - 2026-07-30
Fixed
- CLI:
varsafe updatesays it cannot write to its install before downloading, and gives the exact command to run.
[7.1.0] - 2026-07-28
Added
- CLI: refreshed look and layout.
Fixed
- CLI:
varsafe get -nsuppresses the trailing newline.
[7.0.0] - 2026-07-28
Breaking: varsafe run and varsafe run --env-file both changed behaviour, and the API
now rejects unrecognised request fields. Read the migration notes below before upgrading.
Added
- CLI: Linux ARM64 support, light and dark themes (
varsafe theme), andvarsafe status— one screen with the credential, project and environment you are working against. - CLI:
varsafe list --includefilters by glob, andvarsafe run --shellruns a command that genuinely needs a shell. - Dashboard & API: read-only API tokens, ideal for CI jobs and audits. An existing token can be narrowed to read-only at any time, effective immediately.
Changed
- CLI: Breaking —
varsafe runruns your command directly, and--env-filereads encrypted files only. Migration: write the arguments out or use--shell, and source plaintext.envfiles inside the child process. - API: Breaking — an unrecognised field in a request body is rejected instead of being dropped while the request still returns success. Migration: the response names the field.
Removed
- CLI: shell completion. Migration: remove any
eval "$(varsafe completion zsh)"from your shell config.
Security
- CLI: encrypted
.envvalues are tied to the variable they belong to, so a value moved onto another variable no longer decrypts. Re-export any.envwritten before this release. - API: key rotation now covers leaving and demotion, not just removal by an admin.
[2.0.0 – 6.1.0] - 2026-07-27
Thirty-six releases over nine days, during which varsafe gained AI-agent access, encrypted exports and multi-team workspaces. Rather than list every patch from that window, the changes that affect you are collected here. Individual releases before 2.0.0 continue below.
Added
- AI-agent access — agents manage secrets through a standard OAuth 2.1 flow, with scoped consent and full audit coverage. Works with Claude Code, Cursor and any MCP-capable client.
- Encrypted
.envexports —varsafe exportencrypts by default, so an exported file is safe to commit. CI can write one; reading one back stays restricted to an owner or admin. - Multi-team support — belong to several teams and switch between them from the dashboard and the CLI. The active team is remembered per project.
- More ways to set a secret —
varsafe setreads from stdin, a masked prompt, an environment variable or a file, so a value never appears in your shell history.varsafe getprints one.
Changed
- Breaking —
varsafe setno longer takes the value as an argument, which was visible in your shell history. Migration:printf %s "$VALUE" | varsafe set API_KEY --stdin.
Fixed
varsafe exportwrites faithful files — values containing shell characters or Windows line endings came back mangled, and multi-line secrets were silently flattened. Re-export anything written before this release.
Security
- Sign-in and local storage hardened — OAuth 2.1 with PKCE, logout revoked server-side, the local encryption key in the OS keychain, and publisher-signed release manifests.
- Tenant isolation is enforced at the storage layer, so teams cannot reach each other’s data even if an application check were bypassed.
[1.0.56] - 2026-03-05
Added
varsafe run --include '<patterns>'— inject only the secrets matching a glob.varsafe logintakes an API token from a masked prompt, from stdin, or fromVARSAFE_TOKEN.
Fixed
- API tokens authenticate CLI and API requests end to end.
[1.0.52] - 2026-02-14
Added
varsafe setandvarsafe unset— create, update and remove a secret from the command line.- Checksum verification on CLI install and update.
[1.0.0] - 2026-01-21
Added
- Initial release — a CLI-first secrets manager for developers and teams:
login,use,ls,export, andrun <command>to inject secrets into any process. - Dashboard for projects, environments, secrets, teams and API tokens.
- One-line install:
curl -fsSL https://varsafe.dev/install.sh | sh.