Releases: copperheadhq/copperhead
Release list
v0.10.0
What's Changed
- fix(docs): read markdown tables that omit the outer pipes by @adhavan18 in #124
- Fix/compat gemini groq docs redaction by @AniketR10 in #130
- refactor: remove the Synap cross-run memory integration by @animesh-chouhan in #168
- feat(create): record brief provenance after spec seed by @AyushVUpadhye in #174
- chore(pr-review): run reviews in an isolated git worktree by @animesh-chouhan in #199
- Propose deterministic-schematic-drafting: drafting engine, legibility gate, scoring, golden corpus by @animesh-chouhan in #160
- feat(kicad): pin dossier at stage-4 entry, symbol_pins tool, stage-3 drawability check by @animesh-chouhan in #202
- fix(draft): never route through a foreign connection point; gate wire-level net merges by @animesh-chouhan in #205
- fix(draft): labelled stubs avoid foreign contact; name wire merges for what they are by @animesh-chouhan in #209
- fix(draft): symbol ref/value slots verify their clearance and re-slot down a ladder by @animesh-chouhan in #211
- fix(doctor): catch a missing openspec CLI before spec-seed burns real tokens on it by @Bhumika-1432006 in #193
- Drawing quality: labels inside the frame, text collisions cleared, sheets compacted, passive banks (#220 phases 1, 2, 4 and #233) by @animesh-chouhan in #224
- test(draft): run the engine against real designs via their KiCad netlists by @animesh-chouhan in #216
- docs(openspec): archive deterministic-schematic-drafting by @animesh-chouhan in 9a2fc4f
- chore: point every repo reference at the copperheadhq org by @animesh-chouhan in 7e9b788
New Contributors
- @adhavan18 made their first contribution in #124
- @AyushVUpadhye made their first contribution in #174
- @Bhumika-1432006 made their first contribution in #193
npm: https://www.npmjs.com/package/copperhead/v/0.10.0
Full Changelog: v0.9.0...v0.10.0
v0.9.0
What's Changed
- Feature/agent install prompt by @Chirag6722 in #120
- fix: resolve cross-platform Windows compatibility issues in tests and CLI by @Chirag6722 in #51
- fix(redact): redact base64 bearer tokens whole, match scheme case-insensitively by @DPS0340 in #84
- fix: resolve custom power symbol library issues (#61) by @Chirag6722 in #122
- add ollama, groq, gemini and openrouter intergrations by @AniketR10 in #123
- feat(pr-review): emit a copy-pasteable fix prompt with the review by @animesh-chouhan in #125
- fix(create): strengthen stage isComplete contracts to prevent false-positive resume (#23) by @Chirag6722 in #126
- docs(release): add a release-notes template matching the v0.8.0 format by @animesh-chouhan in cca3135
- chore(assets): add 1080p demo cut, LinkedIn variants, and its vhs tape by @animesh-chouhan in 62bb454
- docs: point benchmarking work at the copperhead-benchmarks repo by @animesh-chouhan in 5c3aefc
New Contributors
- @Chirag6722 made their first contribution in #120
- @DPS0340 made their first contribution in #84
npm: https://www.npmjs.com/package/copperhead/v/0.9.0
Full Changelog: v0.8.1...v0.9.0
v0.8.1
What's Changed
- fix(deps): bump openai to ^6, dropping the npm install warnings by @animesh-chouhan in #121
- test(tmp-sweep): anchor sweep fixtures to the real clock, not a synthetic epoch by @animesh-chouhan in e9780a5
npm: https://www.npmjs.com/package/copperhead/v/0.8.1
Full Changelog: v0.8.0...v0.8.1
v0.8.0
What's Changed
- docs: add code of conduct, security policy, and issue templates by @animesh-chouhan in #65
- feat: add support for Cursor Agent CLI as a saved-login provider by @Devesh36 in #67
- add copperhead doctor command for necessary diagnosis by @AniketR10 in #96
- add community automation workflows (greetings, stale, labeler, issue summary) by @animesh-chouhan in #111
- docs(readme): demo gif under the tagline by @animesh-chouhan in #116
- feat(skills): scripted pr-review metrics + issue-review triage skill by @animesh-chouhan in #109
- feat(repl): session UI with pinned observability dock and scripted demo recordings by @animesh-chouhan in #113
- feat: Claude Code–style REPL with copper chrome and board inspect commands by @Devesh36 in #95
New Contributors
npm: https://www.npmjs.com/package/copperhead/v/0.8.0
Full Changelog: v0.7.0...v0.8.0
v0.7.0: resilient create pipeline (resume, cache, symbol verification)
Highlights
copperhead create now survives a long run: it resumes where it stopped, replays work you already paid for, and tells you what it is spending.
Driving create to completion on a real brief surfaced a batch of blockers and token sinks: a correct schematic could not clear the finish gate, a stalled provider turn hung the run indefinitely, and any interruption meant paying for every turn again from the top. This release fixes that class of failure:
npm install -g copperhead
copperhead create --brief brief.md --model claude-code
# stops on a usage limit? re-run the printed command:
# completed stages are detected from repo state and skipped,
# and completed turns replay from the cache at ~0 tokens.The safety rails are unchanged: edits stay spec-gated (the edit tools are absent from the model's tool list until an OpenSpec proposal validates), commits stay verification-gated behind ERC/DRC, and a failed run still rolls back to its git snapshot.
Details
- Resume anywhere. Any stop prints the exact command to resume and which stage it resumes at. A session or usage limit is reported as a schedulable pause with its reset time, not an opaque provider error.
- Response cache. Every completed turn is cached on disk, so a retried or restarted stage replays what it already paid for instead of re-calling the model. Repo-scoped and gitignored. Disable with
llmCache: false. - Turn watchdog and auto-retry. A provider turn that blows past
turnTimeoutMs(default 10 min) is aborted, its subprocess torn down, and the turn retried. A stage that fails or misses its completion contract gets a bounded LLM diagnosis that decides retry versus stop for a human (maxStageRetries, default 2). verify_symbols, a new read-only tool. Cross-checks everylib_symbolsentry in the schematic against the KiCad symbol libraries installed on your machine, reporting pins that diverge from the real part andlib_ids that do not exist in your KiCad version, with the closest real names. ERC cannot catch these: a symbol claiming to beDevice:Rwith invented pins passes ERC while being wrong.- Drift gate correctness. BOM and PINOUT comparisons no longer report false drift on supporting tables, reordered or optional columns, or encoding-only differences.
Ihold>=3AandIhold≥3A,4.7kohmand4.7kΩ,0.1inand0.1"now compare equal. Footprint comparison deliberately stays case-sensitive, since a footprint is a library id. - KiCad and git resilience. KiCad's git-backed
.history/directory no longer aborts the commit at the end of a KiCad-touching stage, leaked scratch directories are reclaimed on startup, and a disk-space preflight fails fast instead of dying on an opaqueENOSPCmid-stage (COPPERHEAD_MIN_FREE_MBto tune). - Observability. A liveness heartbeat distinguishes a slow turn from a hung one, and a per-stage cost table with a TOTAL row shows where the tokens went.
Also in this release
- New config knobs:
turnTimeoutMs,heartbeatMs,maxStageRetries,llmCache. - Groundwork for a SPICE verification gate: a parser for simulation blocks and assertions, with tests. Not yet wired into a command or gate.
- The deterministic
check/verifycommand remains LLM-free and network-free, and the KiCad s-expression reader remains read-only.
npm: https://www.npmjs.com/package/copperhead/v/0.7.0
Full changelog: v0.6.0...v0.7.0
v0.6.0: Claude Code provider (no API key)
Highlights
Claude Code provider: run copperhead without an OpenAI or Anthropic API key.
If you already have Claude access through your Claude Code login, copperhead can now use it as a reasoning backend. No API key, no separate billing setup:
npm install -g copperhead
copperhead do "add a second RGB LED on an RTC-capable pin" --model claude-codeClaude Code runs reasoning-only inside copperhead: it only proposes actions, and copperhead stays the sole dispatcher for every file edit, KiCad ERC/DRC check, and commit gate. All the existing safety rails (spec-gated edits, verification-gated commits, git-snapshot rollback) are unchanged. If the Agent SDK ever emits a tool call, the run fails loudly rather than letting an edit bypass those gates.
Details
- Select it with
--model claude-code, or pin a model id with--model claude-code:<model-id>. - Auth uses your saved Claude Code login. If you are not logged in, run
claude setup-tokenand setCLAUDE_CODE_OAUTH_TOKEN. copperhead never reads the credential itself. - A claude-code run strips any billed
ANTHROPIC_API_KEY/OPENAI_API_KEYfrom the SDK subprocess, so it never quietly falls back to paid usage even when one is set. - The
@anthropic-ai/claude-agent-sdkis an optional dependency, so a normal install stays lean: only Claude Code users pull it in, and its absence surfaces an actionable install message. - The direct OpenAI and Anthropic providers, and the deterministic
check/verifycommand, are unchanged.
Also in this release
- The OpenAI provider now supports reasoning models and Gemini.
- Supplier BOM export for JLCPCB, DigiKey, and Mouser.
- A fab documentation-presence check added to the release gate.
npm: https://www.npmjs.com/package/copperhead/v/0.6.0
Full changelog: v0.5.0...v0.6.0
v0.5.0: Codex provider (no API key)
Highlights
Codex provider: run copperhead without an OpenAI or Anthropic API key.
If you already have Codex access through your ChatGPT login, copperhead can now use it as a reasoning backend. No API key, no separate billing setup:
npm install -g copperhead
copperhead do "add a second RGB LED on an RTC-capable pin" --model codexCodex runs read-only and web-disabled inside copperhead: it only proposes actions, and copperhead stays the sole dispatcher for every file edit, KiCad ERC/DRC check, and commit gate. All the existing safety rails (spec-gated edits, verification-gated commits, git-snapshot rollback) are unchanged.
Details
- Select it with
--model codex, or pin a model id with--model codex:<model-id>. - Point at a non-standard binary with
COPPERHEAD_CODEX_PATH(defaults tocodexonPATH). - The
@openai/codex-sdkis an optional peer dependency, so a normal install stays lean: only Codex users pull it in. - The direct OpenAI and Anthropic providers, and the deterministic
check/verifycommand, are unchanged.
One honest caveat: the Codex CLI keeps its own session logs under ~/.codex/sessions/, which sit outside copperhead's transcript-redaction boundary. This is documented in SPEC.md.
Also in this release
- npm publishing moved to trusted publishing (OIDC), with provenance signing and no long-lived token.
- Markdown linting is enforced in CI.
PR: #1
npm: https://www.npmjs.com/package/copperhead/v/0.5.0
Full changelog: v0.4.0...v0.5.0
v0.4.0
This is the first tagged release since copperhead@0.3.0. It bundles everything merged to main since then: run observability, audit-trail hardening, agent-loop robustness, a full docs site, and contributor tooling. No open pull requests are included.
Install or upgrade:
npm install -g copperhead@0.4.0Run observability and safety
- Record full run metadata and surface interactive progress across the CLI, JSON, and transcript surfaces (#26, #28).
- Route
--jsonprogress to stderr and keep the interactive renderer usable across repeated runs (#28). - Preserve failed-run audit trails: run-end and
summary.mdstill land even when rollback itself fails (#27). - Harden the git preflight: clear messages when HEAD is unborn, with offline scenario coverage (#28).
Agent loop and create pipeline
- Prompt to continue on turn exhaustion, plus agent-loop efficiency fixes (#18).
- Validate KiCad edits with a load probe: an edit that corrupts a loadable schematic is reverted with the
kicad-clireason, and an already-unloadable schematic no longer deadlocks repair. - Enforce create-stage completion so a blank bootstrap sheet cannot advance the pipeline.
Documentation
- Migrate docs to Astro Starlight with an agent-docs structure, served from its own subdomain, with
llms.txt. - Add brand assets, favicons, and social cards.
- Add worked examples across all tiers with rendered board images (#20).
Contributor tooling
- Add a PR template, a PR body-lint check, and the
pr-reviewskill, with results posted back as a PR comment (#39, #43). - Ship the
NOTICEfile and the CLA, and add the roadmap backed by OpenSpec changes.
Notes
- Phase 1 remains pending live-LLM verification: the AC-3.x integration tests skip without an API key, so the end-to-end agent loop has not yet been observed passing against a real model.