Changelog

Cotterpin changelog: always getting stronger

The Cotterpin changelog: every release, in plain language. Nothing updates itself: cotterpin update --fetch downloads a signed release when you ask, and a repository moves to it only when you run cotterpin upgrade. Subscribe via RSS.

Releases

  1. 0.3.0-rc1Release candidate · not yet releasedLatest

    Watch, free routes and paid plans — and Cotterpin inside your agent

    The first release candidate. It may still change before the final 0.3.0 release.

    • NewInside Claude Code, Codex and Grok. cotterpin adapters install <claude|codex|grok> adds Cotterpin's skills, agents, route commands and guard hooks to the agent tool, once for your whole machine, in the tool's own user folder — after listing every file, showing any block it adds to a file of yours, and asking. Nothing is added to your repositories. cotterpin adapters uninstall removes exactly those files again.
    • NewOnly where you set it up. Your agent's hooks run in every repository you open, but Cotterpin answers only in a repository set up with cotterpin init; elsewhere it says nothing and records nothing. A session that has worked in a Cotterpin repository keeps its guards when it steps out of it. To guard every repository on your machine instead, set COTTERPIN_HOOKS_EVERYWHERE=1.
    • ImprovedYour .gitignore is left alone. cotterpin init keeps Cotterpin's per-developer state out of commits through Git's own exclude file, so setting up a repository commits only .cotterpin/policy.yaml and the lock.
    • NewFree: Watch and the free routes. Cotterpin is free to install, with no card, no sign-up and no time limit. cotterpin init sends nothing and starts in Watch: it reports what it would have refused and never blocks. The language packs' upgrade routes and the Snyk vulnerability fixes run in full on every plan.
    • NewPro and Team, sold through Paddle. cotterpin subscribe opens Paddle's checkout in your browser; cotterpin machines moves a licence between your machines yourself; cotterpin billing opens Paddle's customer portal. Each asks before it contacts our licence service.
    • NewEveryday commands: cotterpin audit (a findings report that changes nothing), fix (mechanical fixes, after you approve), update and update --rollback, and why.
    • NewTen-second commits. cotterpin commit runs the fast checks, defers the rest, and cotterpin push-gate holds a push until they are green.
    • GatesJava: 157 gates — tests, persistence, SQL migrations, API shape, caching, security and logging — plus 51 language-neutral gates for any repository. Only gates with a zero-false-positive record block from install; the rest stay advisory until they earn it. Opt out of one finding with a reason: // cotterpin:allow <ID> <reason>.
    • NewMemory that's enforced. cotterpin memory keeps facts per user, repository and task, with provenance and a lifecycle. Each session starts with a compact index; a fact moves to a wider scope only with a person's signed approval; and every rule memory names the hook, gate or check that enforces it — cotterpin memory audit verifies it is really wired.
    • Newcotterpin report. Refusals per rule and risk tier, what Watch let through, the guard's false-positive rate, time to commit and to push, and cost per landed change — computed on your machine from one redacted record of every decision. Nothing is uploaded.
    • NewTeam single sign-on. cotterpin login takes a Team seat through your Team's identity provider: Okta, Entra ID or Google Workspace (OpenID Connect), or GitHub with an organization.
    • SecurityApprovals confirmed with your password, or Touch ID where it is enabled for sudo. A destructive agent action waits for cotterpin approve <id>: a root-owned signer shows you the exact action and signs it with a key only root can read, after the operating system checks it's you — your account password, or your fingerprint on a Mac where Touch ID is enabled for sudo (pam_tid), every time. Set it up once with cotterpin approvals setup.
    • SecurityEvery agent action has a risk tier — read, low-risk write, sensitive or destructive — and every decision is written to an action audit log the agent cannot edit, move or delete.
    • SecurityCredentials never reach an agent. Reading .env, cloud credential files or the environment into an agent's context is refused, judged by effect; everything Cotterpin prints is redacted.
    • SecurityHardened mode. Installed root-owned by an administrator with a root-owned security policy, no user file can lower enforcement or drop a machine to Watch. Developer mode stays what it is: a guardrail for agents, not a sandbox.
    • ImprovedLighter agent sessions. The adapters now disclose progressively: each session carries a compact summary and loads the one skill, gate or document it needs through cotterpin mcp serve. For Codex, what a session carries up front fell from 30,565 to 2,551 bytes.
    • ImprovedSpeed budgets. The agent hook, cotterpin --version and the commit tier are timed in our own test suite against measured baselines; anything more than 10% slower fails the release.
    • ImprovedConsent first. Every machine measurement, and every change outside your repository to your own files or your agent tools' settings, asks first, saying what and why. Declining always works — jobs simply run one at a time. Review your answers with cotterpin consent.
    • ImprovedThe Java pack ships as its own package, cotterpin-pack-java, installed beside Cotterpin.
    • SecuritySigned releases and licences. Every release publishes a manifest of its files, signed with our release key in AWS KMS; licences are signed with our KMS licence key. Both keys live in Cotterpin's own AWS account and are pinned in the build. Check a download offline with cotterpin verify --release.
    • Security.env and credential files are removed, and recognisable secrets redacted, before anything is sent to your model provider.
    • FixedThe Java build cache now snapshots multi-module Maven projects.
    • FixedThe Java pack's deeper gate fixtures are now included in its package.
  2. 0.2.0Not released separately

    Cotterpin gets its own name

    The groundwork for 0.3.0. Its changes reach you in 0.3.0-rc1.

    • Newcotterpin connect finds your Claude, Codex and Grok CLIs and asks each whether it is signed in. It stores nothing.
    • Newcotterpin check runs your repository's own declared checks; cotterpin verify --release checks, offline, that the release your repository approved is intact.
    • ImprovedSource available under the PolyForm Internal Use License 1.0.0 (pending solicitor review — see our Software Licence page).
    • FixedCodex reporting “Not logged in” is no longer read as signed in.