These notes cover the terminal/programmatic suite, released in lockstep:
the CLI (
buildwithtrace on PyPI, npm, and Homebrew), the Python SDK
(buildwithtrace-sdk), the Node SDK (@buildwithtrace/sdk), the
converter (buildwithtrace-converter), and the agent plugin
(@buildwithtrace/trace-plugin). Looking for the desktop app changelog?
See the Trace Changelog.0.1.4 — June 10, 2026
Improvements
- Imported designs just work — The converter (
buildwithtrace-converter0.1.4) now resolves net and pin references on imported designs with non-standard naming — case differences, separator variants, hierarchical prefixes — instead of failing or inventing new nets, and refuses to guess when two distinct nets would collide. The CLI and Python SDK pick this up automatically (buildwithtrace-converter >= 0.1.4). - Know which install is running —
buildwithtrace --versionnow labels the install origin (e.g.v0.1.4 (homebrew)), andbuildwithtrace doctorlists everybuildwithtracecopy on PATH with its version and origin (pip / Homebrew / npm / installer), warning when multiple installs coexist — PATH order decides which one runs. - Legacy import self-heal —
.trace_pcbfiles written by older importers are detected with a structured signal so clients can regenerate them from the KiCad file instead of failing on every edit. - The Node SDK and agent plugin ship version-aligned releases (plugin skills document the new
doctor/--versionbehavior).
0.1.3 — June 9, 2026
Improvements
- Formatted terminal output — Streamed AI responses render as styled terminal text (bold, inline code, headers, bullets). Piped/redirected output and
--jsonkeep raw markdown for scripts;NO_COLOR/TRACE_NO_COLORdisable styling. - Seamless long sessions — Both SDKs refresh a near-expiry access token before a request (single-flight across processes), so long agent sessions no longer stall on a mid-stream 401. The Node SDK also retries transient connect failures (429/502/503/504) and aborts streams that go silent instead of hanging forever.
- Branded sign-in finish — Browser sign-in from the CLI/SDKs now lands on the hosted Trace success page instead of a bare
localhostcallback URL. - Multi-sheet projects connect — The converter emits net names shared across sibling sheets as global labels, so cross-sheet signals in hierarchical designs actually connect.
Changes
- Datasheet questions moved into
ask— The standalonedatasheet extractcommand was removed; ask the AI directly (buildwithtrace ask "what's the pinout of the STM32F401CCU6?") and it fetches and parses the datasheet itself.
Fixes
--versionreports the real installed version (was hardcoded).convert -o output.kicad_pcbwrites to that file instead of creating a directory with that name.- Auth prompts exit cleanly when stdin is not interactive (CI/pipes).
agentwithout a project file no longer hangs on tool calls (bounded per-tool timeout).- Local ERC reads violations from the per-sheet report — it previously always reported “passed”.
- ERC/DRC report files no longer litter the project directory.
- Values with meaningful leading/trailing whitespace round-trip verbatim through the converter.
0.1.2 — June 8, 2026
Fixes
- Installs work for everyone — The npm wrapper (
npx buildwithtrace),install.sh, and the Homebrew formula previously pulled from a private GitHub release and failed with 404; all install paths now resolve from public registries (PyPI).
Changes
- Package metadata across the suite points at public pages (the source repos are private).
- Agent plugin skills got an accuracy pass against the shipping product (correct MCP tool names/parameters and CLI commands/flags).
0.1.1 — June 8, 2026
First published release of the standalone CLI:pip install buildwithtrace, npx buildwithtrace, or brew install buildwithtrace/tap/buildwithtrace.
New
- Thin-wrapper CLI over the SDK core — The CLI now wraps the
buildwithtrace-sdkengine (shared HTTP/SSE client, client-side tool executor, local validation engine, BYOK), with no duplicated logic. - Browser sign-in —
buildwithtrace auth loginopens the Trace login page and captures credentials via a local callback. Both SDKs gained the same flow (Trace.login()/browser_login) with stored-credential reuse. - Personal access tokens —
buildwithtrace auth token --createmints scoped PATs; the SDKs accept PATs for authentication. - BYOK everywhere — The SDKs auto-resolve bring-your-own-key credentials (explicit args → env vars) and raise a typed plan-restricted error; see BYOK.
- Always-current API — The CLI and SDKs default to the backend’s
/api/latestversion, so they always get the freshest tool set; pin with--api-version/TRACE_API_VERSIONwhen stability matters. - Terminal autorouting —
buildwithtrace route runroutes a board from the CLI.
Changes
- The
.trace_sch/.trace_pcb↔ KiCad converter is consumed as the publishedbuildwithtrace-converterpackage — a single source of truth shared with the desktop app and backend. - Privacy-first, opt-out analytics across the suite (
TRACE_NO_ANALYTICSorDO_NOT_TRACKdisables everything).
0.1.0 — June 8, 2026
The polyrepo split: the Trace terminal tooling became a suite of independently published packages, standardized at version 0.1.0.buildwithtrace-sdk(PyPI) — the Python core engine: backend client, standalone client-side agent tool loop, safe concurrent tool dispatch, local ERC/DRC/export engine.@buildwithtrace/sdk(npm) — the TypeScript SDK: full chat contract, standalone sandboxed file-tool execution loop, generation/search/review/signal APIs.buildwithtrace-converter(PyPI) — the.trace_sch/.trace_pcb↔ KiCad converter as a standalone, dependency-free package.@buildwithtrace/trace-plugin(npm) — 16 public skills teaching coding agents the Trace platform (install vianpx plugins add buildwithtrace/trace-plugin).- The CLI’s first published version is 0.1.1 (0.1.0 was the internal split baseline).
Each package also ships a
CHANGELOG.md in its sdist/npm tarball. This page
is the canonical public home for suite release notes.
