> ## Documentation Index
> Fetch the complete documentation index at: https://docs.buildwithtrace.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI & SDK Release Notes

> Release history for the Trace CLI, Python/Node SDKs, converter, and agent plugin.

<Info>
  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](/changelog).
</Info>

## 0.1.4 — June 10, 2026

### Improvements

* **Imported designs just work** — The converter (`buildwithtrace-converter` 0.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 --version` now labels the install origin (e.g. `v0.1.4 (homebrew)`), and `buildwithtrace doctor` lists every `buildwithtrace` copy 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_pcb` files 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`/`--version` behavior).

## 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 `--json` keep raw markdown for scripts; `NO_COLOR` / `TRACE_NO_COLOR` disable 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 `localhost` callback 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 standalone `datasheet extract` command was removed; ask the AI directly (`buildwithtrace ask "what's the pinout of the STM32F401CCU6?"`) and it fetches and parses the datasheet itself.

### Fixes

* `--version` reports the real installed version (was hardcoded).
* `convert -o output.kicad_pcb` writes to that file instead of creating a directory with that name.
* Auth prompts exit cleanly when stdin is not interactive (CI/pipes).
* `agent` without 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-sdk` engine (shared HTTP/SSE client, client-side tool executor, local validation engine, BYOK), with no duplicated logic.
* **Browser sign-in** — `buildwithtrace auth login` opens 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 --create` mints 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](/resources/cli-byok).
* **Always-current API** — The CLI and SDKs default to the backend's `/api/latest` version, so they always get the freshest tool set; pin with `--api-version` / `TRACE_API_VERSION` when stability matters.
* **Terminal autorouting** — `buildwithtrace route run` routes a board from the CLI.

### Changes

* The `.trace_sch`/`.trace_pcb` ↔ KiCad converter is consumed as the published `buildwithtrace-converter` package — a single source of truth shared with the desktop app and backend.
* Privacy-first, opt-out analytics across the suite (`TRACE_NO_ANALYTICS` or `DO_NOT_TRACK` disables 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 via `npx plugins add buildwithtrace/trace-plugin`).
* The CLI's first *published* version is **0.1.1** (0.1.0 was the internal split baseline).

<Note>
  Each package also ships a `CHANGELOG.md` in its sdist/npm tarball. This page
  is the canonical public home for suite release notes.
</Note>
