Skip to content

oaslananka/kicad-pro

v4.7.0MIT

Local KiCad MCP server and portable engineering workflow skills.

Changelog

All notable changes to the kicad-mcp-pro Python server will be documented in this file.

The format is based on Keep a Changelog, and this package adheres to Semantic Versioning.

Comparison links will be added after the first public component tags are published.

4.7.0 (2026-11-03)

Features

  • review: integrate engineering findings, coverage, and acceptance evidence into project reports and workflows (#1587) (#1599) (088ef95)
  • cli: add local-first MCP quickstart (#1575) (17e1fa5)
  • cloud: stage signed one-shot owner read and native DRC counts (#1513) (65c7d2b)
  • cloud: unify hosted MCP and scoped local project workers (#1571) (849a63a)
  • review: add a versioned rule catalog and context-aware assessment model (#1579) (#1590) (a4297f1)
  • review: assess DFM, DFA, DFT, BOM and bring-up evidence against versioned profiles (#1586) (#1598) (ae38b52)
  • review: bind electrical, power, derating and thermal checks to explicit design contracts (#1584) (#1596) (39ea8f2)
  • review: bind review coverage and evidence freshness to workflow decisions (#1580) (#1591) (ad38103)
  • review: implement safe invariant-preserving visual quality review (#1583) (#1594) (ffd7d41)
  • review: import external analysis evidence with provenance and validity checks (#1585) (#1597) (acfd4ca)

Bug Fixes

  • eval: restore documented reference preflight invocation (#1569) (dc13042)
  • opencode: support v2 MCP setup and retain v1 configs (#1567) (f208e80)
  • parity: mark swap intents as partial coverage (#1577) (639ae9b)
  • pcb: preserve footprint orientation on position-only moves (#1576) (fa06e75)
  • pcb: validate critical placement using actual pin and net connectivity (#1582) (#1593) (fff3c5b)
  • review: separate routing style preferences from electrical correctness (#1581) (#1592) (b9f4530)
  • review: validate connector mating direction and mechanical acceptance contract (#1393) (#1595) (fc0ccd6)

Documentation

  • add GitGem and DeepWiki badges to README (#1601) (d73cb30)
  • link engineering baseline tests to source (#1602) (f9e5486)

4.6.1 (2026-11-01)

Bug Fixes

  • container: remove unused pip from runtime image (#1565) (64abc91)

4.6.0 (2026-11-01)

Features

  • cloud: isolate owner-verified device pairing from remote reads (#1546) (357adc4)
  • release: prepare signed container build-source evidence (#1559) (8f9299c)
  • release: prepare signed MCP Registry evidence without publishing (#1558) (f368127)
  • release: prepare signed npm draft artifacts without publishing (#1557) (dfea0e7)

Bug Fixes

  • mcp: annotate reviewed read-only discovery tools (#1538) (dd9a343)
  • release: attest GUI SLSA provenance separately from SBOM (#1536) (88c30a1)
  • release: bind draft identity to requested numeric release (#1539) (0205826)
  • release: bind draft owner evidence to dispatch actor (#1552) (e3c3dd6)
  • release: gate draft family calls on owner approval (#1556) (fdcd234)
  • release: preserve pending requests in owner queue (#1550) (c72f8bb)
  • release: prevent early Release Please publication in draft mode (#1548) (bed225b)
  • release: recheck draft identity between asset uploads (#1537) (6bcbe41)
  • release: recheck draft inventory after owner evidence (#1551) (98c363f)
  • release: reject draft asset drift between uploads (#1554) (7460fa4)
  • release: reject independent dispatch after draft cutover (#1541) (902a54b)
  • release: require durable owner concurrency at draft cutover (#1545) (331a82c)
  • release: require explicit uploaded draft asset state (#1540) (41ec08d)
  • release: restrict manual publication recovery to owner (#1553) (e436a0f)
  • release: validate intermediate draft before asset download (#1542) (b676800)
  • release: validate Python and PCM evidence before draft assembly (#1547) (dab4d77)
  • release: verify draft owner calls every publisher (#1555) (1339b71)
  • setup: align generated Codex config with readonly default (#1564) (fb4fa8a)
  • setup: support Gemini CLI project-local MCP configuration (#1560) (3d30d96)

4.5.0 (2026-10-30)

Features

  • companion: compact edge-aligned PCB sidecar (#1509) (82ac646)
  • pcb: distinguish raw track segments from routing (#1517) (f529408)
  • release: add non-publishing reusable MCPB preparation (#1179) (#1471) (8024d2c)
  • release: add read-only four-family draft producer caller (#1484) (fa5c00e)
  • release: add schema SLSA provenance and exact reusable signer verification (#1483) (f9b5d28)
  • release: add source-bound prepare-only KiCad PCM workflow (#1179) (#1474) (e97a91f)
  • release: add source-bound prepare-only Protocol Schemas workflow (#1179) (#1475) (9269c2f)
  • release: compose exact reusable producer signed package evidence (#1179) (#1488) (57c0efb)
  • release: compose read-only draft owner readiness gate (#1179) (#1463) (927c86e)
  • release: fail closed on incomplete draft asset families (#1179) (#1462) (f03b478)
  • release: prepare Python artifacts without publishing (#1473) (51f1002)
  • release: read-only draft owner-run identity preflight (#1179) (#1454) (555e53f)
  • release: safely extract reusable producer ZIP roles including schemas (#1487) (6b87709)
  • release: safely stage missing assets on existing drafts (#1179) (#1444) (74cc3ae)
  • release: verify exact reusable caller archive receipts read-only (#1485) (cc8b382)
  • release: verify reusable producer job metadata without publishing (#1179) (#1486) (1783236)
  • release: verify reusable workflow signer with strict opt-in profile (#1482) (1b62977)
  • release: verify signed draft producer bundles and safely assemble owner assets (#1179) (#1477) (9e99a50)
  • validation: per-net unconnected diagnostics and zone-fill verification in the PCB gate (#1519) (d426565)

Bug Fixes

  • agents: pin Gemini extension to matching PyPI version (#1504) (87b397b)
  • agents: validate native smoke evidence without arbitrary file paths (68cd90a)
  • ci: sync OSV reporter pin and regression contract (#1510) (bee4e3a)
  • companion: reject failed MCP responses (#1506) (5d424b0)
  • deps: apply reviewed patch upgrades (#1449) (#1456) (73c20ea)
  • deps: defer incompatible Python Docker feature-line updates (#1505) (7d63fda)
  • deps: update pinned pnpm 11 to 11.28.6 (#1460) (c2dd91e)
  • dfm: measure off-center PTH annular clearance (#1516) (6ddf09d)
  • evals: fail closed on unsafe reference attempt scratch capacity (#1515) (305f37e)
  • pcb: honor schematic field placeholder version semantics (#1318) (#1530) (857b52a)
  • release: detect attached API body arguments in immutability ratchet (#1179) (#1469) (631dc92)
  • release: keep Gemini evidence valid across version bumps (#1531) (1a4cc78)
  • release: physically isolate Python and MCPB artifact preparation (#1476) (fb004fc)
  • release: pin MCPB and schema preparation to exact protected tag refs (#1480) (20c40bb)
  • release: retain historical Gemini host evidence across version bumps (#1533) (6f150ea)
  • release: safely classify Release Please draft manifest releases (#1179) (#1453) (270e64a)
  • release: sign SLSA provenance for Python, npm, and schemas (#1472) (f6f01ae)
  • routing: report track writes as unverified until checked (#1520) (c1496bf)
  • security: patch dnspython and refresh compatible Python dependencies (e6f89dd)
  • security: patch FastMCP 4.1.2 and preserve all uv PURL variants (#1448) (5c8f68c)
  • security: pin Node.js 24.22.1 across toolchain (#1461) (8c04842)
  • security: pin Python 3.14.9 slim Docker bases (#1455) (a1b2990)
  • security: pin uv 0.13.5 with repaired CA trust (#1458) (4391ed4)
  • security: preserve unfiltered weekly OSV inventory (#1465) (d830b5d)
  • security: raise fast-uri lockfile overrides to 3.1.9 (#1447) (59683b3)
  • security: require patched GitHub CLI for exact attestation signer identity (#1179) (#1481) (1bec0c1)
  • security: run pinned OSV directly to avoid reusable job startup failure (#1452) (622acdd)
  • security: update development Python to 3.13.17 (#1459) (b00a54b)
  • security: update pypdf to 6.21.2 for three high advisories (#1445) (2925686)
  • security: upgrade Alpine runtime to Python 3.14.9 (#1457) (54a2704)

Documentation

  • agents: archive partial Gemini pinned native evidence (#1511) (7c18dfa)
  • agents: record bounded Windows Codex native readonly evidence (#1492) (4b09ab3)
  • deps: reconcile Renovate pilot security alert snapshot (#1489) (69e0433)
  • document schematic authoring, autorouting, dashboard, and macOS setup (#1514) (2f521e3)

4.4.0 (2026-10-24)

Features

  • compat: qualify KiCad 10.0.7 with explicit IPC exceptions (#1432) (c2f2fe7)
  • engineering: add explicit connector mating intent and 2D placement acceptance (#1396) (91513e0)
  • eval: observe isolated KiCad PCB IPC process without editing (#1214) (c79bc02)
  • evals: add narrow MCP schematic wire recovery to reviewed benchmark phase (#1389) (3fe120a)
  • evals: automatically attest live reviewed Ops MCP tool inventory (#1385) (85cd50a)
  • evals: gate ChatGPT–Ops reference benchmark handoff (#1214) (#1341) (4a40ef9)
  • evals: gate first reference agent execution on preflight and cost approval (#1230) (ee60c03)
  • evals: reconcile independent Ops Gateway audits with MCP traces (#1214) (#1356) (95f9906)
  • evals: reconcile Ops client and server tool metadata (#1214) (#1352) (d35a753)
  • evals: record ChatGPT Ops MCP tool evidence (#1214) (#1344) (0623aac)
  • evals: report complete reference attempt histories without cherry-picking (#1229) (555225d)
  • evals: validate ChatGPT Ops server tool traces (#1214) (#1350) (6579237)
  • kicad: native IPC Companion plugin for PCB Editor (#1316) (4b7b1ce)
  • parity: elevate KiCad capability parity to 80.5% with verified phase 1 promotions (#1368) (700382b)
  • qa: production-grade advanced quality assurance and CI/CD hardening (#1362) (e5ac251)
  • release: inventory and ratchet post-publication release asset mutations (#1436) (b158c65)

Bug Fixes

  • canary: compare KiCad board geometry from locale-neutral JSON stats (#1387) (b54df51)
  • ci: make required SonarCloud Scan fail on Quality Gate rejection (#1301) (abf2ac6)
  • ci: pin KiCad 10.0.6 AppImage and matched symbols for canaries (#1397) (ad48f96)
  • ci: retry release provenance GitHub API reads without bypassing authorization (#1406) (b894b25)
  • companion: permit memory-only Studio sync in readonly mode (#1320) (0769038)
  • compat: pin official KiCad 10.0.7 Windows installer digest (#1233) (ef5c8df)
  • compat: reuse vetted native runner for ERC units probe (#1237) (f0a7728)
  • deps: adopt patched GitPython and pypdf security versions (ccbab9e)
  • deps: patch OpenTelemetry API and ChatGPT app ip-address advisories (c736824)
  • dfm: expose JLCPCB 2-layer PTH annular process limits without false acceptance (#1434) (63c2796)
  • dfm: flag undersized circular PTH lands without fabrication approval (#1435) (ef95caa)
  • eval: isolate reviewed Ops benchmark hosts from ambient KiCad GUI IPC (#1404) (9faeda1)
  • evals: eliminate new Sonar findings in Ops audit reconciliation (#1214) (#1357) (178bf47)
  • evals: prevent path traversal when loading reviewed Ops traces (#1214) (#1354) (40e50b7)
  • evals: reject mismatched gateway and MCP tool outcomes (#1214) (#1359) (92295fa)
  • eval: verify live KiCad PCB readiness before GUI phase (#1214) (00b0d1a)
  • ipc: refresh native transaction service after project reset (#1339) (#1340) (3224d8d)
  • mechanical: enforce declared connector datum tolerance budgets (#1433) (fdebb8e)
  • pcb: accept KiCad 10 missing-ID deletion postcondition (#1275) (47056e4)
  • pcb: distinguish stale IPC from board-design failures (#1401) (43ae9c8)
  • pcb: keep NPTH mounting-hole pads copper-free (#1324) (b3d4e95)
  • pcb: make outline retries idempotent and test XL4015 nets (#1330) (92d5ba9)
  • pcb: normalize schematic Datasheet placeholder in PCB sync (#1328) (4ec5eec)
  • pcb: preserve footprint 3D models when moving and rotating (#1325) (3659ceb)
  • pcb: preserve schematic footprint identity fields and angles (#1326) (714ebb5)
  • placement: evaluate rotated courtyard bounds and connector overhang (#1383) (10159d6)
  • qa: make benchmark results and Advanced QA evidence trustworthy (#1377) (0c1b370)
  • quality-gate: measure actual supply-pad proximity before reporting decoupling findings (#1416) (c074717)
  • quality: preserve ASCII boundaries in release audit regexes (#854) (#1438) (2c93e4b)
  • quality: reduce cognitive complexity in scripts and domain utility helpers (#1300) (bd55d0d)
  • quality: resolve 53 sonar code smells across core, tools, and scripts (#1296) (66b5884)
  • quality: resolve idioms, regex simplifications, and cleanups (#1299) (fece559)
  • quality: resolve production code smells and nested conditionals (#1297) (42fd070)
  • quality: resolve Sonar code smells and reliability findings (pack 9) (#1332) (8362e9c), closes #854
  • release: evaluate publish gate after intentionally skipped jobs (#1227) (30021b7)
  • routing: reject partial SES imports and unsupported KiCad 10 nets (b807467)
  • schematic: fail closed on unsafe wire routing (#1364) (#1365) (fc9206c)
  • schematic: keep quoted wire literals from becoming electrical connections (#1408) (04ff246)
  • schematic: preserve inherited symbol properties for native KiCad ERC (#1366) (#1367) (ca87793)
  • schematic: preserve multi-unit pin netlist connectivity (#1329) (020db08)
  • schematic: prevent kicad-sch-api round-trip data loss (#1411) (70fb4e8)
  • schematic: refuse unsafe foreign-net merges before route commit (#1415) (ed0fa76)
  • security: patch Hono static middleware bypass advisory (#1373) (d12e91f)
  • security: patch Tokio RustSec-2026-0386 in Tauri lockfile (#1439) (38d086e)
  • skills: reject symlinked mirror paths before writes (#854) (#1255) (b02d064)
  • sonar: address 24 regex and reliability findings (#854) (#1286) (ed4d1b1)
  • sonar: avoid new review findings in batch (#854) (#1287) (9f8e7f1)
  • sonar: remove signed witness smells and gate new PR issues (#1391) (3d0fa2e)
  • sonar: resolve final five regex performance findings (#854) (#1288) (1179ea6)
  • sonar: secure dependency snapshot and remove low-risk findings (#1414) (3140d8a)
  • telemetry: simplify secret-field redaction pattern (#1312) (6da4fed)
  • test: baseline normalized KiCad 10.0.7 BOM projects (#1323) (e6f2fb8)
  • tests: follow pinned Express 5 updates in app policy (#1361) (f615487)
  • tests: resolve composite assertions and narrow pytest raises blocks (#1298) (aa57335)
  • types: resolve unbound variables, dead code, and optional dependency fallbacks (#1309) (caedd40)
  • validation: compare footprint parity against selected saved PCB (#1430) (3978af8)
  • validation: normalize NC net escapes on both sides (#1384) (0e1eeab)
  • validation: recognize KiCad-generated NC pad names in PCB transfer gate (#1379) (d798aa3)
  • validation: recognize USB VBUS rail and NC pin semantics (#1382) (8f954a3)

Documentation

  • compat: audit KiCad 10.0.7 patch parity and Jammy exception (#1235) (dd6b50e)
  • compat: record exact-main 10.0.7 native and GUI qualification (#1232) (7cb3240)
  • compat: record exact-main KiCad 10.0.7 platform evidence (#1431) (b2c51ad)
  • reference independent JLCPCB KiCad MCP Pro case study (#1315) (97fc067)
  • skills: fix gallery link across mirrored host skills (#1295) (e530e28)

4.3.0 (2026-10-11)

Features

  • agents: pilot Gemini extension and evidence-scoped host checks (#1218) (7daa4d3)

Bug Fixes

  • agents: one canonical KiCad skill source and consistent client setup (#1217) (ab84ff3)
  • agents: safely delegate legacy installer to canonical Python setup (#1223) (0fedbc8)
  • metadata: generate npm publication docs from canonical metadata (#1216) (52602f6)
  • release: auto-publish reviewed release after trusted green main CI (#1215) (03107fc)

Documentation

  • agents: distinguish historical host tests from current qualification (#1224) (ad3bb67)

4.2.0 (2026-10-10)

Features

  • evals: report incomplete real-board corpus versions fail closed (#1174) (f54500c)

Bug Fixes

  • ir: reject incomplete hierarchical graph sidecars (#1169) (121b7ec)
  • ir: reject undeclared native child sheets before caching root-only graph (#1172) (5ab270f)
  • library: require human-review state for conflicting facts (#1177) (3490648)
  • providers: reject ambiguous numeric host declarations (#1176) (ee11ab2)
  • providers: reject non-Boolean readiness responses (#1175) (c70d18a)
  • providers: revalidate request manifest and evidence boundaries (#1182) (c93559e)
  • providers: revalidate returned SDK model instances (#1178) (e8be26a)
  • providers: validate exact network host declarations (#1173) (6e8b815)

Documentation

  • distinguish verified KiCad baseline and archived audit steps (#1170) (8f6a631)
  • ir: align incremental state pilot example with single-sheet guard (#1171) (44608f5)
  • kicad: preserve native 10.0.7 Linux canary evidence (#1183) (6db1b36)
  • kicad: retain signed Windows 10.0.7 native CLI evidence (#1189) (52b8b0b)
  • release: align manual publishing and maintenance paths (#1180) (f3522df)

4.1.0 (2026-10-09)

Features

  • library: version cited component evidence drafts (#946) (#1157) (ba0c61d)
  • project: opt-in persistent incremental graph-state pilot (#944) (#1137) (8bef093)
  • providers: experimental Provider SDK v0 contracts and guarded execution (#1135) (be3f415)

Bug Fixes

  • ci: handle read-only ruleset bypass visibility in audit (#1154) (907b1e8)
  • deps: update CairoSVG to patched 2.9.1 (#1155) (53ca380)
  • eval: reject contradictory infrastructure exclusions in outcome KPIs (#729) (#1144) (3a78a47)
  • eval: reject loose unindexed reference-attempt evidence (#730) (#1143) (d923c31)
  • evals: prevent infrastructure-invalid attempts hiding executed PCB work (#730) (#1139) (2cd28fc)
  • gui: one functional Windows tray, supported KiCad discovery and readable health UI (#1138) (95145db)
  • http: enforce MCP request limit before body buffering (#1162) (d885eb9)
  • http: honor configured MCP session capacity in contract shim (#1165) (962456f)
  • pcb: prevent lost edits in concurrent file-backed mutations (#1161) (cda8afc)
  • providers: reject incomplete async adapters before registration (#1156) (9ae530b)
  • schematic: preserve visual review state across interrupted writes (#1164) (8b12a16)
  • security: confine native audit CLI files to trusted scratch cwd (#1151) (8ce94ae)
  • security: restrict runtime drift report writes to local workspace (#1152) (3fdb748)

Performance Improvements

  • sexpr: avoid quadratic suffix copies in cursor scanners (#1163) (e70d152)

Documentation

  • security: scope active KiCad projects to one server process (#1166) (4260a21)

4.0.2 (2026-10-07)

Bug Fixes

  • ci: keep release contracts version-agnostic (#1111) (2f1770d)
  • deps: repair post-upgrade policy contracts (#1117) (0c29305)

Documentation

  • correct canonical OpenSSF badge project (#1133) (99abf95)
  • release: align publish environment approval policy (#1110) (0235f87)

4.0.1 (2026-10-06)

Bug Fixes

  • ci: gate repository tooling contracts (#1107) (6791971)
  • ci: restore post-merge test contracts (#1093) (4aefe1a)
  • deps: update multidict to 6.9.1 (#1105) (3178f15)
  • manufacturing: harden release-evidence semantics (#1091) (9354b0e)
  • release: bind protocol schema publish to release tag (#1083) (b0186cf)
  • routing: escape net-class rule expressions (#1089) (af66e4f)
  • routing: reject wildcard time-domain groups (#1090) (82050e0)

4.0.0 (2026-10-05)

⚠ BREAKING CHANGES

  • protocol-schemas: tool-effect-manifest now requires schema major 2 and the protocol-schemas package must release on the 2.x line.

Features

  • contracts: emit argument shape facts (ce71693)
  • contracts: expose reviewed argument breadth facts (28e6112)
  • contracts: model reviewed argument shape facts (659f299)
  • protocol-schemas: document tool-effect manifest v2 (9ab85d5)
  • schemas: define tool effect manifest v2 argument shapes (a743c5d)
  • schemas: type argument shape facts (1d14bd9)

Bug Fixes

  • manufacturing: harden panelization runner analysis (170c757)
  • manufacturing: restore real newlines in CPL test (904d273)
  • protocol-schemas: prioritize unsupported major errors (f23ca72)

Documentation

3.37.0 (2026-10-02)

Features

3.36.0 (2026-10-02)

Features

  • contracts: publish reviewed tool effect manifest (#1014) (e5065df)
  • evidence: add append-only release approval audit history (#1017) (dd8d24e)
  • evidence: add fail-closed release evidence policy (#1006) (e460e28)
  • evidence: bridge freshness into edit-impact service (#1004) (8ea72be)
  • evidence: deterministic evidence freshness v1 core (#1002) (ccc9539)
  • evidence: hard-gate runtime release decisions on stale proof (#1007) (7dff3f5)
  • intent: HardwareIntentContract v1 with conservative design-spec adapter (#1001) (cc61a6f)
  • ir: add Engineering Graph v1 core (#996) (dcbac0f)
  • ir: prove Engineering Graph round-trip and bounded incremental updates (#1000) (abf8ac2)
  • mcp: migrate server to SDK v2 (#1026) (3ce3998)
  • schematic: route around drawn module boundaries and pin geometry (81b61e5)

Bug Fixes

  • deps: remediate fast-uri and PyJWT security floors (#997) (df6ff2b)
  • release: regenerate version-derived artifacts (#1034) (b7d6a87)
  • router: enforce strict obstacle keepouts on all direct routes and enable hop-overs (8ed649f)
  • router: increase max_steps budget to support full-sheet A3 routing channels (04b6b19)
  • router: keep bundle-aware A* cost model consistent (7a4e0d8)
  • schematic: align primitive bounds rotation with KiCad pin placement convention (da6475a)
  • schematic: drop a junction when the last wire ends up leaving it (e4b6acb)
  • schematic: harden escape-and-route integration (#1015) (bb3f546)
  • schematic: implement escape-and-route wiring with primitive-accurate bounding boxes (800e8f4)
  • schematic: include arc extrema in routing bounds (67d4829)
  • schematic: keep routed wires clear of other nets (c45a3ac)
  • schematic: keep two-terminal pin labels horizontal (#1028) (ae79e29)
  • schematic: preserve sexpr regex semantics (1a8d13e)
  • schematic: snap the escape stub onto the router's grid (ee257e0)
  • security: raise urllib3 floor to 2.8.0 (#1020) (efa66f2)
  • security: update GitPython security floor (#1023) (2efa902)
  • security: update PyJWT security floor (#1022) (9a5bc50)
  • simulation: make ngspice output paths portable (#1024) (cdbd3d7)
  • tests: stop two unit tests from asserting the developer's machine (#978) (90bf3a7)

Performance Improvements

  • evidence: avoid redundant audit chain rescan (#1018) (210e10a)

3.35.2 (2026-09-28)

Bug Fixes

  • bom: export reused hierarchical sheet instances (#973) (f481e09)
  • discovery: prefer board and schematic matching the project stem (#969) (1f3c13c), closes #961
  • export: pass a file path to kicad-cli pos --output (#966) (25da712), closes #957
  • schematic: detect power symbols by their lib_symbols power flag (#967) (1cc46c4), closes #959
  • schematic: fail closed on incomplete plan connectivity (#974) (f00e065)
  • schematic: preserve KiCad-authored wire segmentation (#972) (f25db86)
  • schematic: repair pin rotation PR validation (#971) (1fb49df)
  • schematic: stop PWR_FLAG from naming and merging nets (#968) (ec19c71), closes #960

3.35.1 (2026-09-28)

Bug Fixes

  • deps: stagger automated dependency updates (#955) (62c05f2)

3.35.0 (2026-09-24)

Features

  • add hardened OpenCode PR repair automation (#921) (1d55c02)

Bug Fixes

  • defer transient live-model retries; keep active project on rejected apply_project (#933) (79f07bf)
  • evals: allow policy-defined single smoke config (#929) (94a98f3)
  • evals: guard read-only inspection selection (#932) (0aad8e3)
  • evals: prevent Nemotron JSON truncation (#930) (10fc22d)
  • evals: tolerate one retried-out live-model observation in the release gate (#938) (8cd3f33)
  • evals: tolerate shared NIM telemetry jitter (#931) (12ab803)
  • harden OpenCode repair publishing permissions (#923) (203c150)
  • net: call Track.length() instead of dividing the bound method (#919) (30d02c7)
  • release: decouple optional live-model providers (#928) (e6f9c68)
  • server: detect "Could not ..." and "Failed to ..." tool failures (#936) (2009860)
  • tools: raise on unsafe footprint path; widen tool-failure heuristic further (#937) (eed5125)
  • tools: raise on unsafe path rejections instead of returning text (#935) (3039075)

3.34.8 (2026-09-21)

Bug Fixes

  • schematic: union wire T-intersections in connectivity graph (#916) (f8e32e9), closes #907

3.34.7 (2026-09-21)

Bug Fixes

  • evals: ignore cosmetic action-pin bumps in live-model contract digest (#915) (9a2514c), closes #914
  • library: parse localized Mouser prices and keep their currency (#906) (cdbbc2e)

Documentation

3.34.6 (2026-09-13)

Bug Fixes

  • schematic: generate validator-safe power references (#890) (961dda3)
  • server: offload sync tools from event loop (#891) (14fb9f0)

3.34.5 (2026-09-11)

Bug Fixes

  • evals: bind reference manufacturing approval (#884) (ed4a80e)
  • evals: make reference manufacturing reproducible (#886) (bc11292)

3.34.4 (2026-09-10)

Bug Fixes

  • eval: pin reference-agent MCP runtime (#881) (c7a58d6)

3.34.3 (2026-09-09)

Documentation

  • security: refresh RustSec advisory tracking (#878) (19dc856)

3.34.2 (2026-09-09)

Bug Fixes

  • lib: require footprint documentation geometry (#875) (71af1ef)
  • release: verify published KiCad PCM tag (#874) (2c7a35a)

3.34.1 (2026-09-09)

Bug Fixes

  • discovery: reject ephemeral AppImage mount paths for kicad-cli (#866) (ab1ecf8)
  • enforce release readiness before publish (#847) (7c9280a)
  • evals: harden live release gate recovery (#868) (c48eba7)
  • evals: recover canonical tool aliases safely (#871) (e29c0a3)
  • evals: require two stable live gate providers (#870) (9caaf1b)
  • evals: scope live model release gate to contract changes (#869) (f4a5c8c)
  • evals: shorten protected live release gate (#872) (4697253)
  • library: report through-hole footprints as out of scope for IPC-7351 (#867) (f36c7a2), closes #865
  • prefer minimal live model tool selection (#852) (1b4e77d)

3.34.0 (2026-09-04)

Features

  • eval: report task outcome KPIs (#807) (434d493)
  • evals: add deterministic reference-board quality scorer (#835) (d38e1af)
  • evals: add reference-board agent harness (#833) (817969d)
  • eval: validate reference-board publication bundles (#815) (449f27b)
  • kicad: add PCM onboarding and release candidate (#809) (e68c847)
  • pcb: harden native live transactions (#808) (cc91138)

Bug Fixes

  • close KiCad 10.0.6 validation gaps (#844) (7aac85d)
  • close Sonar filesystem security findings (#839) (cd25a6b)
  • companion: avoid KiCad UI thread deadlocks (#811) (c25b852)
  • compat: promote KiCad 10.0.6 baseline (#823) (b5579ad)
  • config: resolve post-merge Sonar findings (#806) (dd07ac3)
  • eval: drop rate-limited nvidia-minimax-m3 from the protected release gate (#816) (5fcfae4)
  • evals: classify NVIDIA JSON framing failures (#834) (4632b8f)
  • evals: replace stale DeepSeek free gate model (#832) (a5b8af6)
  • evals: require JSON mode for Nemotron Lightning (#831) (f9f6b0c)
  • mcp: honor negotiated protocol versions (#813) (a197e7f)
  • pcb: restore transaction_lifecycle purity and wire architecture:check into CI (#820) (552d030)
  • pin smoke assurance output path (#845) (d3a20d8)
  • remediate engineering audit findings (#838) (16fa63b)
  • report actions policy drift on unrestricted repos (#841) (60a75b7)
  • revalidate smoke assurance output paths (#842) (73705fe)
  • security: require protected remote HTTP transport (#804) (38b3e1f)
  • surface repository settings drift (#846) (dcd22fc)

Documentation

  • compatibility: fix stale issue cross-references in compatibility.yaml (#821) (588e785)
  • contributing: clarify Mergify only auto-merges grouped Dependabot updates (#822) (d4e9b94)
  • distribution: align #731 client evidence matrix (#814) (f5081ae)
  • mcp: record 2026-07-28 gate status and Tasks extension incompatibility (#818) (6eca349)
  • pcm: record Linux and Windows physical evidence (#812) (b19115b)
  • security: document RustSec GTK3/rust-unic advisory disposition (#779) (#817) (b98a27a)

3.33.3 (2026-08-27)

Bug Fixes

  • ci: fail fast on release metadata drift (#801) (75eca55)
  • ci: stop live model assurance on pull requests (#803) (01b591e)

3.33.2 (2026-08-27)

Documentation

  • security: reconcile OpenSSF Silver status (#799) (f5156a8)

3.33.1 (2026-08-26)

Bug Fixes

  • security: confine release checksum artifacts (#789) (81a2518)
  • security: constrain GitHub Actions policy path (#792) (b7a6292)

3.33.0 (2026-08-26)

Features

  • eval: add task outcome evidence contract (#746) (69cfa8a)
  • library: allow lib_check_stock_availability to query by MPN (#687) (e3a9333)
  • library: keyword (AND) matching in lib_search_symbols (#688) (24fccaa)
  • schematic: add sch_add_labels batch tool (#686) (ba6d414)
  • schematic: add sch_move_sheet and sch_delete_sheet (#683) (7a151a6)
  • schematic: cap auto-layout paper growth with max_paper (#684) (e247cf3)

Bug Fixes

  • ci: deduplicate library architecture root (#761) (61cc071)
  • ci: expose pinned OpenCode CLI to eval runtime (#710) (285b447)
  • ci: integrity-pin OpenCode live eval CLI (#709) (2c1f792)
  • ci: skip docs-only matrix jobs on Windows (#713) (a802cb6)
  • ci: skip SonarCloud on Dependabot PRs (#705) (075163d)
  • ci: stop requiring unstable live model policy (#784) (8493a57)
  • eval: add Lightning full-load timeout headroom (#772) (865c5f1)
  • eval: add Lightning timeout headroom (#769) (ecc4785)
  • eval: preserve OpenCode failure detail (#783) (394b2d5)
  • eval: resolve task outcome Sonar findings (#754) (dd7b89a)
  • evals: cover provider adapters in contract (#714) (a44504e)
  • files: migrate generated KiCad formats safely (#718) (06da262)
  • library: resolve sourcing Sonar findings (#763) (c7245b6)
  • project: resolve validation Sonar findings (#759) (4bbbe26)
  • project: seed new projects from KiCad template (#717) (d9dc625)
  • release: sync Sonar project version (#690) (c4fcf8a)
  • schematic: keep file-backed tools visible without editor (#689) (0b8b3c6)
  • schematic: merge stacked-pin terminals in sch_add_pin_labels (#681) (0677545)
  • schematic: resolve multi-unit symbol pins in sch_add_pin_labels (#682) (ec85a01)
  • security: canonicalize zizmor severity (#782) (0772fec)
  • security: constrain npm release verification (#770) (b858a84)
  • security: enforce workspace and 3D library path boundaries (#742) (c84004f)
  • security: harden 3D model S-expression writes (#743) (1ec18dd), closes #741
  • security: pin final path write targets (#745) (290b023), closes #741
  • security: pin GitHub CLI executable resolution (#771) (2290c44)
  • security: revalidate derived project writes (#744) (68b9899)
  • security: validate branch hygiene repository (#774) (f230e14)
  • security: validate KiCad 11 canary inputs (#776) (8f47b4f)
  • security: validate pre-push base ref (#778) (cea7424)
  • security: validate runtime policy base ref (#775) (2d2d067)

Documentation

  • design: define task outcome KPI evidence contract (#734) (7cf4bcc)
  • refresh M9 and M10 roadmap status (#707) (e5c5b17)
  • roadmap: sync active M9 and M10 backlog (#735) (9a1b832)

3.32.0 (2026-08-14)

Features

  • schematic: add label_kind to sch_add_pin_labels for hierarchical labels (#663) (0e47ce3)
  • schematic: add per-net scope to sch_build_circuit (#667) (743aced)
  • schematic: add sch_delete_no_connect (#666) (38c4170)
  • schematic: report replaced/written counts and back up the sheet in sch_build_circuit (#668) (68b6bd6)
  • schematic: support per-symbol properties in sch_build_circuit (#665) (df38dcb)

Bug Fixes

  • ci: correct SonarCloud config and align docs with CI-based analysis (#677) (789d674)
  • ci: make Sonar source and test scopes disjoint (#678) (a9c59fd)
  • ci: skip SonarCloud scan for fork pull requests (#679) (033e9cc)
  • quality: resolve SonarCloud issues across codebase (#674) (68c2a49)

3.31.0 (2026-08-13)

Features

  • schematic: author hierarchical sheet pins (#626) (7a19ea8)
  • schematic: wire sheet symbols in the root schematic (#653) (c0dc057)
  • server: audit tools without capability records at startup (#669) (de3b598)
  • validation: add ERC summary counts and a flat violations list (#664) (0c1497d)

Bug Fixes

  • agent: keep Claude PCB edits on MCP tools (#589) (26681ed), closes #585
  • ci: allow safe GitHub Action SHA rotations (#634) (a4700ac)
  • ci: require protected checks in Mergify queue (#633) (d989008)
  • ci: use in-place Mergify checks (#635) (f36347e)
  • deps: align uv toolchain with Dependabot (#646) (e4925cc)
  • deps: isolate npm Dependabot boundaries (#636) (8d21c86)
  • deps: keep Compose feature updates manual (#645) (1cd4aa0)
  • deps: restore Dependabot as update source (#595) (4b8565e)
  • eval: classify alternate validation shapes (#597) (c6e5478)
  • eval: classify provider validation failures (#596) (2c34b03)
  • eval: match hosted Mistral message roles (#594) (09a7422)
  • eval: pace shared NVIDIA release gate traffic (#592) (3d51fa6)
  • gui: enforce backend compatibility contract (#591) (0d755f4), closes #574
  • mcp: emit host-compatible array schemas (#618) (5702471)
  • schematic: sheet-pin follow-ups that missed the #626 merge (#632) (6090120)

Reverts

Documentation

3.30.1 (2026-08-05)

Bug Fixes

  • app: verify read-only ChatGPT surface (#569) (eacc056)

3.30.0 (2026-08-04)

Features

  • eval: add experimental OpenCode Zen models (#521) (b631858)
  • eval: add risk-based live-model assurance (#556) (e963c69)
  • eval: classify invalid model output stages (#544) (a147ed9)

Bug Fixes

  • eval: back off hosted rate limits (#564) (703ff82)
  • eval: clarify positive authorization policy (77ae618)
  • eval: clarify remaining runtime classifier distinctions (#520) (2ccdf0e)
  • eval: classify additive checkpoints (#537) (3f6c44b)
  • eval: classify direct data-loss risk (#523) (d95dc93)
  • eval: disable Nemotron thinking for classifier JSON (9492cea)
  • eval: enforce classifier output postconditions (#526) (19b37da)
  • eval: enforce classifier safety-gate decision order (#518) (b0355a4)
  • eval: extend direct action vocabulary (#536) (38d6a0c)
  • eval: extend Mistral provider timeout (#542) (705d566)
  • eval: extend OpenCode CLI request margin (#555) (7c0f89f)
  • eval: honor confirmed destructive mutations (#527) (785506b)
  • eval: pace hosted model requests (#541) (608a104)
  • eval: prefer specific read-only tools (#543) (1b8eaf4)
  • eval: preserve degraded smoke evidence on timeout (#557) (34f3556)
  • eval: preserve full-gate smoke evidence (#559) (f84c934)
  • eval: preserve manual full diagnostic evidence (#562) (d2625ea)
  • eval: preserve read-only inspection intent (#540) (36ad334)
  • eval: promote reviewed live-model baseline (#568) (4fdb8ce)
  • eval: recheck final tool applicability (#525) (bb162d6)
  • eval: recover unique unknown tool selections (#545) (a2b76a4)
  • eval: refuse secret exfiltration (#524) (6c9d3e0)
  • eval: retry invalid model output (#539) (3c43fde)
  • eval: select unique direct action tools (#535) (399bc4c)
  • eval: separate derived exports from data loss (#522) (3fcefaf)
  • eval: widen MiniMax candidate timeout budget (#563) (3e3978e)
  • pcb: distinguish board access failures from empty data (#551) (46f4faf), closes #547
  • security: refresh vulnerable dependency floors (#567) (4e52241)
  • validation: unify DRC execution and result classification (#552) (f427314), closes #549

3.29.2 (2026-07-30)

Bug Fixes

  • classify KiCad 10 courtyard violations (#497) (03238ca)
  • map live pads to footprint references (#502) (4fcbe5c)
  • share project-aware footprint resolution (#504) (cd83a35)
  • verify footprint rotation updates (#500) (e45113f)

3.29.1 (2026-07-27)

Bug Fixes

  • config: preserve explicit KiCad IPC endpoint URIs (#472) (2e07852)
  • release: avoid duplicate retryless PyPI verification (#473) (68a9656)

Documentation

  • compat: record physical Windows KiCad 10.0.5 evidence (#469) (8e0f107)

3.29.0 (2026-07-26)

Features

  • compat: add the KiCad 11 adapter matrix and canaries (#442) (457138d), closes #411
  • mcp: add the 2026 stateless compatibility lane (#440) (40b4913), closes #410

Bug Fixes

  • compat: promote KiCad 10.0.5 baseline (186bb05)
  • security: raise GitPython security floor (489b9eb)

Documentation

  • architecture: design schematic connectivity authoring extraction (c48270e)
  • architecture: design schematic layout automation extraction (8f2f582)
  • architecture: design schematic lifecycle authoring extraction (c77351a)

3.28.0 (2026-07-22)

Features

  • agent: add bounded progressive-disclosure profiles (#439) (8eb73fe)

Bug Fixes

  • metadata: enforce canonical public metadata (#437) (0051bb4)

3.27.0 (2026-07-21)

Features

  • dev: add reproducible rootless bootstrap (#430) (39d4b8a)

Bug Fixes

  • security: patch vulnerable dependency chains (#432) (277c63d)

3.26.0 (2026-07-21)

Features

  • packaging: add .mcpb desktop bundle for one-file install (#401) (60163a7)

Bug Fixes

  • release: restore PyPI trusted publishing (#415) (4ef7334)
  • release: synchronize citation release date (#425) (2066e59)
  • release: synchronize Tauri bundle version (#426) (a555ff2)
  • release: verify TestPyPI attestations locally (#416) (b64c2f9)
  • repo: make CITATION.cff version track release-please (#397) (f43b880)
  • security: let Scorecard inspect CI checks (#419) (b352c5f)
  • security: pin patched js-yaml (#417) (b3cf63d)
  • security: scope patched body-parser override (#423) (664865a)
  • test: isolate Git integration repositories (#418) (1260060)

Documentation

  • add Zenodo DOI badge and Cite this software section (#399) (b73bcb6)
  • security: record Scorecard CI false positive evidence (#424) (21ad4e9)
  • stop hardcoding versions in living status docs (#400) (e268630)

3.25.0 (2026-07-10)

Features

  • gallery: add wired sub-circuit skill and ESP32-C3 breakout example (#389) (1cef404)

Bug Fixes

  • gate-history: store gate history in the canonical .kicad-mcp state dir (#392) (aa7fa97)
  • schematic: read root sheet UUID so incremental symbol adds share one sheet (#390) (fc2ddc0)

Documentation

  • add a discreet Sponsor / Buy me a coffee footer link (#395) (d66086b)
  • fix stale kicad-mcp repo references left by the rename (#393) (55fad7f)
  • readme: trim redundant hero badges (17 to 13) (#396) (6922379)

3.24.1 (2026-07-09)

Documentation

  • skill: add professional vs rushed reference renders (#387) (7ca6bec)

3.24.0 (2026-07-09)

Features

  • gate: add advisory schematic cosmetics quality gate (#384) (966cf29)
  • schematic: add connectivity-safe cosmetic auto-fixers (#380) (77a9a28)
  • schematic: add visual baseline regression tools (#383) (ab26572)
  • skill: add visual-excellence loop skill and workflow prompt (#382) (06227c3)

3.23.0 (2026-07-09)

Features

  • schematic: add deterministic cosmetic-quality score (#378) (0b18069)

3.22.2 (2026-07-08)

Bug Fixes

  • support label justify to fix hierarchical/global icon overlap (#375) (1dfea9e)

3.22.1 (2026-07-08)

Bug Fixes

  • honor experimental operating mode in tool status (#370) (30b0185)

Documentation

3.22.0 (2026-07-08)

Features

  • web: add operating-mode control and schematic preview to dashboard (#367) (d6aaeb0)

Bug Fixes

  • default schematic snap grid to 50 mil (#351) (971003d)

Documentation

3.21.0 (2026-07-08)

Features

Bug Fixes

  • clarify live preview reload request contract (#353) (929d4d4)

Documentation

3.20.0 (2026-07-07)

Features

  • schematic: add safe live preview polling (#312) (b10d5d2)

3.19.1 (2026-07-07)

Bug Fixes

  • schematic: resolve child sheets for read tools (#308) (6f6a38c)

3.19.0 (2026-07-05)

Features

  • expand IPC-7351 package coverage and sourcing policy gates (#294) (8c497f2)
  • expand placement scoring with return-path, HS grouping, and mechanical constraints (#278) (#295) (1686e16)
  • standardize structured verdict payloads (#292) (9acd69c)

Bug Fixes

  • guard schematic writes against structural loss (7dc0da0)
  • hard gate manufacturing exports on approval evidence (#293) (a9d57be)

3.18.0 (2026-07-04)

Features

  • close July release readiness gaps (ca9941e)

Bug Fixes

  • unblock release readiness checks (99ea584)

3.17.1 (2026-07-03)

Bug Fixes

  • container: drop uv from runtime image (#265) (88b0907)

3.17.0 (2026-07-03)

Features

  • schematic: auto-add PWR_FLAG to undriven power rails (#257) (db12813)

Bug Fixes

  • schematic: reject non-existent symbols instead of placing them silently (#252) (d00958a)
  • schematic: resolve +/- differential-pin names in net endpoints (#255) (1866228)
  • security: harden bridge and http contracts (249c970)

Documentation

  • add professional oss maturity evidence (b389904)
  • align maturity evidence for solo maintainer (5618b8a)

3.16.0 (2026-06-30)

Features

  • schematic + PCB readability and placement engine (#247) (d7b9a15)
  • schematic: size-aware netlist auto-layout so large parts get room (#254) (79664c5)

Bug Fixes

  • rules: recognise suffixed/compound supply-rail names (#250) (0f0fab1)
  • schematic: scale terminal-label stub length to the net name (#253) (1de03cc)

Documentation

  • prompts: wire readability QA into design workflows (#249) (4e4067c)

3.15.1 (2026-06-29)

Bug Fixes

  • harden ChatGPT app filesystem paths (f8603ef)
  • remove pip installs from container build (987cc9d)
  • use public links for Silver evidence (9635b5d)

Documentation

3.15.0 (2026-06-27)

Features

  • 2-D finite-difference copper-plane thermal spreading solver (P3-T4) (1aa70c5)
  • add experimental MCP Tasks extension support (fdec012)
  • add KiCad capability-parity matrix and kicad_capability_parity tool (P0-T4) (c742a9e)
  • add project release readiness workflow (5fa6f1c)
  • add SPICE model assignment and library management tools (ec14eb6)
  • add tool-selection eval harness and golden dataset (#174) (ca93d94)
  • agent: project_design_workflow phase state machine surface (#194, #195) (#232) (bc2bd1a)
  • analysis: expose solver signoff verdicts (63ab2d4)
  • apply routed Specctra SES to the board headlessly (P4-T1) (#91) (0563efc)
  • bound deferred tool registration with a timeout (P5-T5) (081f87b)
  • cli: add init, status, log commands with improved errors (e66a6ef)
  • compat: refresh KiCad 10.0.4 baseline (38ae60c)
  • complete all 20-phase plan — 22 new tools, 31 new files, full KiCad MCP feature parity (34a1d92)
  • complete error transient-class and tool idempotency contract (P1-T5, K9) (97460dd)
  • component derating + approved-vendor (AVL) sourcing gate (P4-T3) (2e5e3e9)
  • contracts: enforce tier/side-effect consistency in tool-contract lint (#196) (#225) (7784f16)
  • dashboard: surface AI agent setup and prompt links in the sidebar (#99) (db56aa8)
  • deterministic convergence-based placement, no wall-clock cap (P4-T2, K7) (cade887)
  • deterministic, provenance-stamped reproducible release manifest (P2-T5) (a6d9de2)
  • dev: add hot reload, inspector command, IPC mock fixtures, better error logging, pre-commit pytest (ed583f0)
  • docs: add GitHub Pages deployment workflow for MkDocs site (eadecd6)
  • drc: add drc_check_rule_conflicts to reconcile .kicad_dru rules (#202) (#221) (5fe9443)
  • edit-impact analysis to scope re-validation after edits (P4-T4) (fca853f)
  • emc: add honest solver seam so EMC results are critic-only (#206) (#220) (1768fd7)
  • erc: expose structured run_erc finding metadata (a744635)
  • evals: golden project corpus and eval harness (#210) (1d276fd)
  • execution: add TaskManager for MCP Tasks extension lifecycle (62806fb)
  • expand schematic authoring and PCB quality validation (#190) (0a6acd6)
  • field-solver adapter seam + honest impedance method labeling (P3-T1) (11a4a4d)
  • footprint: documentation-layer completeness check (#201) (#227) (6d3d3a2)
  • footprint: embed IPC-7351 density in generated footprints (#201) (#228) (2303c20)
  • footprint: pad-count vs package-name cross-check (#201) (#226) (32c54c9)
  • harden tool contracts and operating mode coverage (5e67cfc)
  • high-speed channel insertion-loss / eye analysis via ngspice (P3-T3) (e3f3778)
  • honest FreeRouting manual-step handling and headless DSN attempt (P1-T7, K1) (e0154f5)
  • implement schematic manipulation tools and configuration management for KiCad MCP server (fd802b5)
  • initial migration from kicad-studio-kit monorepo (#1) (be9b16f)
  • IPC-2221 current-density fusing + honest distributed-PDN labeling (P3-T2) (4e278d8)
  • IPC-7351B footprint validation hard-gate for chip packages (P4-T3) (6db8e46)
  • ir: semantic EDA intermediate representation — data model, KiCad → IR parser, lint, diff, and MCP tool (#199) (0f4d93a)
  • library: enrich component intelligence with lifecycle, RoHS, datasheet URL, and filters (#200) (74dd089)
  • library: lib_certify_footprint MCP tool surfacing #201 checks (#201) (#229) (cbf464e)
  • live Mouser keyword-search client completes the distributor trio (P4-T3) (ee613ae)
  • manufacturing sign-off report binding requirements to checks (P5-T3) (de3c500)
  • mcp: protocol contract tests, progress/cancellation tests, and output-schema evolution policy (#209) (bb19e5f)
  • Nexar lifecycle/RoHS sourcing data + actionable quota error (P4-T3) (f6b98c7)
  • parity coverage-regression gate, baseline, and README badge (P5-T6) (b02eebe)
  • PDN + thermal solver-adapter seams with honest method labeling (P3-T2/T4 seams) (8d3af87)
  • placement,manufacturing,compat: placement critic, release evidence bundle, KiCad 11 IPC seam (#203, #208, #192) (44b1401)
  • publish protocol-schemas as public npm package (f09a57e)
  • rate-limit the bridge daemon against floods and pairing brute force (P5-T5, K8) (1fecc9d)
  • real DigiKey Product Information (v4) client (P4-T3) (b9b36d4)
  • real Nexar Supply client + .env credential loading (P4-T3) (d797759)
  • real PASS/WARN/FAIL verdicts for SI gates (P1-T3, K2) (915c752)
  • real task cancellation + execution timeout in the Tasks layer (P5-T5) (c1f96cb)
  • round-trip-safe schematic edit primitive with corruption guard (P2-T1/T2, K5/K6) (2e1dbf6)
  • routing: close FreeRouting loop with headless SES apply, add generate_board_constraints (#204, #202) (a2f3722)
  • routing: make route_autoroute_freerouting task-aware (7d389cd)
  • schematic-rules: Ethernet diff-pair rule pack (#205) (#223) (f54f985)
  • schematic-rules: external-port ESD/TVS/protection rule pack (#205) (#230) (9af9970)
  • schematic-rules: flag conflicting supply rails on one net (#197) (#219) (148124b)
  • schematic-rules: SMPS (switching-regulator) rule pack (#205) (#224) (4d45a4e)
  • schematic-rules: USB domain rule pack (diff-pair + USB-C CC) (#205) (#222) (476fa59)
  • schematic: reject duplicate-UUID writes (#216) (430f220)
  • schematic: report native Populate/DNP status (#186) (#215) (5cec47a)
  • selective re-validation after edit completes first-class edit mode (P4-T4) (#88) (d827523)
  • server: wire MCP Tasks protocol handlers (get/list/cancel/get_payload) (182e676)
  • structural IPC error classification + restart cache invalidation (P5-T5) (bdb7cb4)
  • structured verdict payloads for high-traffic gate tools (P1-T4) (ee3c21a)
  • visual: closed-loop visual verification and diff (#207) (6caf0cd)

Bug Fixes

  • add errors='replace' to subprocess.run for Turkish Windows encoding (#21) (911d307)
  • add repository.url for npm provenance verification (42045f5)
  • address code-review feedback on merged #167 (#172) (3bf7bb3)
  • address issues #56, #57, #61 (pagination, DNP test, canary extension) (1d4e7b3)
  • address review feedback - dru.py IndexError guard, schematic O(N^2) optimization (5f74011)
  • align main ruleset with real CI check names + guard (P5-T4) (f23ac33)
  • avoid generic regulator contract false matches (0b91796)
  • bump compatibility.yaml and README version to 3.7.3 (f71149e)
  • bump compatibility.yaml version from 3.9.1 to 3.9.2 (a9ef4ff)
  • bump hardcoded version references 3.8.0 -> 3.9.0 (7f15c44)
  • bump hardcoded version refs from 3.9.1 to 3.9.2 in tests, dashboard, compatibility, README (40a080b)
  • bump playwright e2e test version assertion v3.9.1 -> v3.9.2 (28ffa0a)
  • capabilities: classify lib_certify_footprint as a READ tool (#233) (ee98c5b)
  • chatgpt-app: add path-traversal guards, XSS escaping, and rate limiting (0084de5)
  • ci: repair container build hash-pinning and patch starlette CVE-2026-54283 (023ee30)
  • ci: resolve all workflow issues found in CI/CD audit (7778fde)
  • ci: update sync_mcp_metadata.py source with correct descriptions and empty remotes (9889890)
  • clear vertical pin terminals from symbol text (7b3bec0)
  • correct Specctra SES coordinate scale (1 mm = 1000 units, not 10000) (#92) (565a020)
  • disable Dependabot (Renovate handles updates), fix macOS benchmark flake (2ed47a2)
  • discover symbol/footprint libraries via sym-/fp-lib-table (#78) (#90) (72fce79)
  • docker tag pattern, sync versions, add branch protection, cleanup (#14) (1ba09db)
  • docs: add deploy job guard for pull_request events (bf815ff)
  • docs: repair broken links causing mkdocs --strict build failure (ab7c7d5)
  • docs: update configure-pages and deploy-pages to latest pinned SHAs (c8b2143)
  • docs: use --extra dev not --group dev for mkdocs deps (617c428)
  • docs: use python -m mkdocs for reliable binary discovery (3acb5e2)
  • e2e: bump version assertion in E2E tests to 3.9.0 (e90c410)
  • guard watch and _run_with_watch params against leaked OptionInfo objects (bef4a06)
  • gui-release: upload only installer assets (20c76c6)
  • gui: add checkout step to create-release for gh run download (2575cc3)
  • gui: disable updater signing, fix macOS universal target (aab53aa)
  • gui: pin a working backend version and stop the startup timeout from failing on cold installs (#97) (8d15056)
  • gui: restore Rust quality gates (0345b9c)
  • gui: skip codesigning on macOS (no Apple cert) (e311062)
  • handle partial document availability in kicad_get_version (41e031a)
  • handle scoped tarball name mismatch in verify-npm-release, make publish idempotent (#5) (6e8f09b)
  • harden ChatGPT app server (#182) (c5f6368)
  • ignore explicit no-connect pins in connectivity gate (cbaefaf)
  • ignore informational gate metrics in findings (3f3f197)
  • keep dense pin label terminals on natural rows (3c2f400)
  • KiCad 10 bugs, version gating, DRU parser, and KiCad 11 paths (8e60880)
  • KiCad 10 bugs, version gating, DRU parser, KiCad 11 paths (3143874)
  • KiCad 10 bugs, version gating, DRU parser, KiCad 11 paths (3143874)
  • KiCad IPC lifecycle — TTL cache, exponential backoff, IpcDisconnectedError (cd930c7), closes #42
  • lint: resolve all 49 ruff lint errors (unused vars, long lines, missing annotations, undefined name) (4965355)
  • load CLI on Typer versions without the vendored _click module (#105) (5dc2b9f)
  • move importlib.util import to top of tray.py to fix ruff E402 (8f3c230)
  • pass NPM_TOKEN as NODE_AUTH_TOKEN for publish (48a27fa)
  • preserve schematic paper size on build (8cbecf6)
  • preserve unsnapped power symbol coordinates (b10794d)
  • protocol-schemas: export package.json for require.resolve consumers (e4c6f6f)
  • release: add kicad-mcp-gui to linked-versions + fix GUI release pipeline (a40fc13)
  • release: set group-pull-request-title-pattern to include version (784aea4)
  • remove invalid subfolder '.' from server.json (#20) (b335546)
  • remove structuredContent from error CallToolResult to avoid IPC schema validation error (12a4982)
  • resolve 15 pre-existing schematic integration test failures (f298b5a)
  • resolve all 15 audit issues from TEMP audit (48dec8c)
  • resolve CI failures - README version marker mismatch and ruff 0.15.10 macOS crash (059c78b)
  • resolve ci lint failure in schematic render error path (88d3a52)
  • resolve mypy type errors in _task_manager attr and get_result_text (c31b940)
  • resolve mypy type errors in tray.py and routes.py (70dd6bf)
  • restore release readiness baseline (bc08eca), closes #6
  • ruff format for 4 files (net_analysis.py, test_project_embedded_files.py, test_validation_tools.py, test_variants_extended.py) (4095167)
  • satisfy typecheck in capability parity and schematic tools (4c1d8b4)
  • server.json: correct default port from 8090 to 3334 (cbaab66)
  • silence mypy no-redef on the typer/click fallback import (#106) (6e51411)
  • support pin labels on power symbols (#185) (291bf62)
  • surface partially-unresolved nets in sch_build_circuit result (P2-T4) (b046f86)
  • sync embedded COMPATIBILITY_MATRIX version to 3.7.3 (2b662bb)
  • sync GUI app version in tauri.conf.json and auto-bump it on release (#98) (5c0b6b5)
  • sync MCP metadata generator with server.json to fix CI metadata check (1cf031d)
  • sync server.json metadata after dashboard code changes (3a37425)
  • sync tauri.conf.json version to 3.12.0 (#102) (90add7a)
  • sync version to 3.7.5 in init.py and compatibility.py (9c3c389)
  • tauri: disable compression feature to exclude brotli, fixing Allocator trait conflict (6503444)
  • tauri: force alloc-no-stdlib v3.0.0 via patch to fix Rust 1.85+ Allocator conflict (e3ebb71)
  • tauri: pin Rust 1.84 via rust-toolchain.toml for brotli allocator compatibility (28f5443)
  • tests: fix 3 integration test failures (visual diff alpha channel, router orphans, toolsets drift, snapshot) (4f89829)
  • tests: resolve 2 unit test failures in test_circuit_ir (pin metadata sch_dir fallback, relax connection assertion) (658d0c4)
  • tests: update kicad 9.x removal assertion to 3.9.0 after compatibility.yaml change (2a048cf)
  • three CI test failures (cli missing binary, footprint 3d dir, Dockerfile UV_VERSION) (c2512da)
  • typecheck: resolve 12 mypy errors across 4 files (placement_rules, schematic, routing, ir) (9d038d6)
  • typecheck: resolve 7 mypy strict errors in server.py (dacca41)
  • update stale 3.8.0 version references to 3.9.0 (505bdfd)
  • use power symbols for pin label power terminals (c2fb17b)
  • warn on checkout version drift in doctor (59a54f8)
  • watch: start server in subprocess, kill and respawn on changes (26473f2)
  • workflows: add actions:read permission to scorecard and codeql (9a973d4)
  • workflows: add GITHUB_TOKEN to release-please and scorecard (5c51bc3)
  • workflows: pass GITHUB_TOKEN explicitly to CodeQL init and analyze steps (3bc4083)
  • workflows: remove explicit token parameter in CodeQL steps (e2913b4)
  • workflows: run CodeQL matrix jobs sequentially to avoid token rate limits (d3e308c)
  • workflows: update docs actions for Node 24 (af7b849)
  • workflows: update docs actions for Node 24 (f4c80fb)

Documentation

  • add centered hero tagline and quick links to README (#104) (9b680b5)
  • add MCP client guides for Cline, Windsurf, Continue, and Zed (#96) (102f662)
  • add PyPI, npm, CI, license, scorecard badges to README (#30) (22564f7)
  • add root ARCHITECTURE.md and link from README (P0-T1) (0b231f6)
  • add synced error-code catalog and consolidate install docs (P1-T8) (d2497a8)
  • bus-factor governance — succession, continuity, tool on-ramp (P5-T1) (a2e243c)
  • center README badges and show total downloads (#103) (b7eeb7e)
  • changelog: document audit remediation (3cf7370)
  • doc-code honesty pass for footprints, sourcing, and analysis (P1-T6, K10/K4) (4e1a5e9)
  • document SERVER_INITIALIZING in the error catalog (fix sync test) (847e7e6)
  • fix broken references to deleted files (mcp.json, PUBLIC_LISTING.md, Dockerfile.kicad10) (5166714)
  • fix CLI command examples (e76c79e)
  • group mkdocs navigation by purpose (d78923e)
  • organize documentation landing page (4af54b9)
  • readme: organize badges and project identity (8328168)
  • readme: point telemetry note to privacy docs (5ebef49)
  • regenerate tool catalog (311->314) for schematic label tools (b887175)
  • regenerate tool catalog for P1-T7 routing summary changes (6e5d910)
  • remove obsolete release setup and add contributor guide (66a4ed1)
  • security: rigorous threat model with verified CLI-injection/path controls (P5-T2, K8) (b075b44)
  • sync tools-reference after pcb_export_stats profile update (683ad46)
  • sync tools-reference to 270 tools (regenerated) (#64) (3275791)
  • tidy README badges and add PyPI/npm download badges (#100) (29ab016)
  • turn manufacturing-export skeleton into a real sourcing-to-signoff guide (daba9e3)
  • unpin version from README install/transport examples (#94) (d4d6955)

3.15.0 (2026-06-27)

Features

  • placement: constraint-driven placement critic with 4 rules (PLR-001–PLR-004): decap distance, crystal distance, SMPS hot-loop area, analog/digital separation (#203)
  • manufacturing: mfg_create_release_evidence bundle with 4 compliance gates (artifact coverage, DRC, ERC, HV safety), stable content hash, machine-readable verdict (#208)
  • compat: KiCad 11 headless-IPC strategy — kicad-ipc-headless backend, headless_ipc_available property, KICAD_11_HEADLESS_IPC_MIN_VERSION constant (#192)
  • ir: semantic EDA intermediate representation — data model, KiCad → IR parser, lint, diff, and sch_get_circuit_ir MCP tool (#199)
  • library: enrich component intelligence with lifecycle, RoHS, datasheet URL, and filters (#200)
  • routing: close FreeRouting loop with headless SES apply and generate_board_constraints tool (#204, #202)
  • visual: closed-loop visual verification and diff with alpha-channel fix (#207)
  • evals: golden project corpus and eval harness (#210)
  • mcp: protocol contract tests, progress/cancellation tests, and output-schema evolution policy (#209)
  • agent: project design workflow phase state machine surface (#194, #195)

Bug Fixes

  • fix visual diff alpha-channel bug — flatten RGBA onto white before pixel diff
  • fix 3 integration test failures (router orphans, toolsets drift, snapshot drift)
  • add SWIG guard CI test to block import pcbnew in source

3.14.1 (2026-06-21)

Bug Fixes

3.14.0 (2026-06-21)

Features

  • add tool-selection eval harness and golden dataset (#174) (ca93d94)

Bug Fixes

Documentation

  • fix CLI command examples (e76c79e)

3.13.0 (2026-06-21)

Features

  • add project release readiness workflow (5fa6f1c)
  • erc: expose structured run_erc finding metadata (a744635)
  • harden tool contracts and operating mode coverage (5e67cfc)

Bug Fixes

  • avoid generic regulator contract false matches (0b91796)
  • clear vertical pin terminals from symbol text (7b3bec0)
  • handle partial document availability in kicad_get_version (41e031a)
  • ignore explicit no-connect pins in connectivity gate (cbaefaf)
  • ignore informational gate metrics in findings (3f3f197)
  • keep dense pin label terminals on natural rows (3c2f400)
  • preserve schematic paper size on build (8cbecf6)
  • preserve unsnapped power symbol coordinates (b10794d)
  • resolve ci lint failure in schematic render error path (88d3a52)
  • satisfy typecheck in capability parity and schematic tools (4c1d8b4)
  • use power symbols for pin label power terminals (c2fb17b)
  • warn on checkout version drift in doctor (59a54f8)

3.12.1 (2026-06-18)

Bug Fixes

  • load CLI on Typer versions without the vendored _click module (#105) (5dc2b9f)
  • silence mypy no-redef on the typer/click fallback import (#106) (6e51411)
  • sync tauri.conf.json version to 3.12.0 (#102) (90add7a)

Documentation

  • add centered hero tagline and quick links to README (#104) (9b680b5)
  • center README badges and show total downloads (#103) (b7eeb7e)
  • tidy README badges and add PyPI/npm download badges (#100) (29ab016)

3.12.0 (2026-06-18)

Features

  • dashboard: surface AI agent setup and prompt links in the sidebar (#99) (db56aa8)

Bug Fixes

  • gui: pin a working backend version and stop the startup timeout from failing on cold installs (#97) (8d15056)
  • sync GUI app version in tauri.conf.json and auto-bump it on release (#98) (5c0b6b5)

Documentation

  • add MCP client guides for Cline, Windsurf, Continue, and Zed (#96) (102f662)
  • unpin version from README install/transport examples (#94) (d4d6955)

3.11.0 (2026-06-17)

Features

  • apply routed Specctra SES to the board headlessly (P4-T1) (#91) (0563efc)
  • selective re-validation after edit completes first-class edit mode (P4-T4) (#88) (d827523)

Bug Fixes

  • correct Specctra SES coordinate scale (1 mm = 1000 units, not 10000) (#92) (565a020)
  • discover symbol/footprint libraries via sym-/fp-lib-table (#78) (#90) (72fce79)

3.10.0 (2026-06-17)

Features

  • 2-D finite-difference copper-plane thermal spreading solver (P3-T4) (1aa70c5)
  • add KiCad capability-parity matrix and kicad_capability_parity tool (P0-T4) (c742a9e)
  • bound deferred tool registration with a timeout (P5-T5) (081f87b)
  • complete error transient-class and tool idempotency contract (P1-T5, K9) (97460dd)
  • component derating + approved-vendor (AVL) sourcing gate (P4-T3) (2e5e3e9)
  • deterministic convergence-based placement, no wall-clock cap (P4-T2, K7) (cade887)
  • deterministic, provenance-stamped reproducible release manifest (P2-T5) (a6d9de2)
  • edit-impact analysis to scope re-validation after edits (P4-T4) (fca853f)
  • field-solver adapter seam + honest impedance method labeling (P3-T1) (11a4a4d)
  • high-speed channel insertion-loss / eye analysis via ngspice (P3-T3) (e3f3778)
  • honest FreeRouting manual-step handling and headless DSN attempt (P1-T7, K1) (e0154f5)
  • IPC-2221 current-density fusing + honest distributed-PDN labeling (P3-T2) (4e278d8)
  • IPC-7351B footprint validation hard-gate for chip packages (P4-T3) (6db8e46)
  • live Mouser keyword-search client completes the distributor trio (P4-T3) (ee613ae)
  • manufacturing sign-off report binding requirements to checks (P5-T3) (de3c500)
  • Nexar lifecycle/RoHS sourcing data + actionable quota error (P4-T3) (f6b98c7)
  • parity coverage-regression gate, baseline, and README badge (P5-T6) (b02eebe)
  • PDN + thermal solver-adapter seams with honest method labeling (P3-T2/T4 seams) (8d3af87)
  • rate-limit the bridge daemon against floods and pairing brute force (P5-T5, K8) (1fecc9d)
  • real DigiKey Product Information (v4) client (P4-T3) (b9b36d4)
  • real Nexar Supply client + .env credential loading (P4-T3) (d797759)
  • real PASS/WARN/FAIL verdicts for SI gates (P1-T3, K2) (915c752)
  • real task cancellation + execution timeout in the Tasks layer (P5-T5) (c1f96cb)
  • round-trip-safe schematic edit primitive with corruption guard (P2-T1/T2, K5/K6) (2e1dbf6)
  • structural IPC error classification + restart cache invalidation (P5-T5) (bdb7cb4)
  • structured verdict payloads for high-traffic gate tools (P1-T4) (ee3c21a)

Bug Fixes

  • align main ruleset with real CI check names + guard (P5-T4) (f23ac33)
  • bump compatibility.yaml version from 3.9.1 to 3.9.2 (a9ef4ff)
  • bump hardcoded version refs from 3.9.1 to 3.9.2 in tests, dashboard, compatibility, README (40a080b)
  • bump playwright e2e test version assertion v3.9.1 -> v3.9.2 (28ffa0a)
  • chatgpt-app: add path-traversal guards, XSS escaping, and rate limiting (0084de5)
  • ci: repair container build hash-pinning and patch starlette CVE-2026-54283 (023ee30)
  • resolve 15 pre-existing schematic integration test failures (f298b5a)
  • surface partially-unresolved nets in sch_build_circuit result (P2-T4) (b046f86)

Documentation

  • add root ARCHITECTURE.md and link from README (P0-T1) (0b231f6)
  • add synced error-code catalog and consolidate install docs (P1-T8) (d2497a8)
  • bus-factor governance — succession, continuity, tool on-ramp (P5-T1) (a2e243c)
  • doc-code honesty pass for footprints, sourcing, and analysis (P1-T6, K10/K4) (4e1a5e9)
  • document SERVER_INITIALIZING in the error catalog (fix sync test) (847e7e6)
  • regenerate tool catalog (311->314) for schematic label tools (b887175)
  • regenerate tool catalog for P1-T7 routing summary changes (6e5d910)
  • security: rigorous threat model with verified CLI-injection/path controls (P5-T2, K8) (b075b44)
  • turn manufacturing-export skeleton into a real sourcing-to-signoff guide (daba9e3)

[Unreleased]

Added

Fixed

Changed

3.9.1 (2026-06-10)

Fixed

  • Resolved CI test failure (test_readme_listing_references_use_current_package_version) caused by README version marker not matching the table format in check_submission_readiness.py.
  • Pinned ruff!=0.15.10 in dev dependencies to avoid a dyld rebase crash on macOS ARM64 runners.
  • Fixed TypeScript syntax error in apps-sdk/src/server.ts where optional chaining was incorrectly applied after a type assertion.
  • Removed the final obsolete release-token setup instruction.
  • Hardened release workflows against excessive permissions, template injection, and publish-job cache poisoning.
  • Restored the missing root contribution guide and required README sections.
  • Restored the Tauri Rust format and Clippy quality gates.

Changed

  • Aligned the enforced full-suite coverage baseline with the measured repository coverage so the local quality gate detects regressions and remains runnable.

3.9.0 (2026-06-07)

Features

  • add SPICE model assignment and library management tools (ec14eb6)
  • cli: add init, status, log commands with improved errors (e66a6ef)
  • complete all 20-phase plan — 22 new tools, 31 new files, full KiCad MCP feature parity (34a1d92)
  • dev: add hot reload, inspector command, IPC mock fixtures, better error logging, pre-commit pytest (ed583f0)

Bug Fixes

  • address issues #56, #57, #61 (pagination, DNP test, canary extension) (1d4e7b3)
  • ci: update sync_mcp_metadata.py source with correct descriptions and empty remotes (9889890)
  • guard watch and _run_with_watch params against leaked OptionInfo objects (bef4a06)
  • KiCad IPC lifecycle — TTL cache, exponential backoff, IpcDisconnectedError (cd930c7), closes #42
  • move importlib.util import to top of tray.py to fix ruff E402 (8f3c230)
  • remove structuredContent from error CallToolResult to avoid IPC schema validation error (12a4982)
  • resolve all 15 audit issues from TEMP audit (48dec8c)
  • resolve mypy type errors in tray.py and routes.py (70dd6bf)
  • ruff format for 4 files (net_analysis.py, test_project_embedded_files.py, test_validation_tools.py, test_variants_extended.py) (4095167)
  • server.json: correct default port from 8090 to 3334 (cbaab66)
  • sync MCP metadata generator with server.json to fix CI metadata check (1cf031d)
  • tests: update kicad 9.x removal assertion to 3.9.0 after compatibility.yaml change (2a048cf)
  • three CI test failures (cli missing binary, footprint 3d dir, Dockerfile UV_VERSION) (c2512da)
  • typecheck: resolve 7 mypy strict errors in server.py (dacca41)
  • watch: start server in subprocess, kill and respawn on changes (26473f2)

Documentation

  • sync tools-reference after pcb_export_stats profile update (683ad46)

3.8.0 (2026-06-06)

Added

  • Phase 2 CLI-parity tools — 20+ new footprint, symbol, jobset, upgrade, and manufacturing board import wrappers completing KiCad 10.0.3 CLI parity.
  • 3D render formats: BREP, GLB, GenCAD, IPC-D356, PLY, STL, U3D, VRML, PS with camera panning controls and variant support.
  • Schematic export expansion: DXF, SVG, PS, python_bom, sch_upgrade.
  • Footprint tools: fp_export_svg, fp_upgrade.
  • Symbol tools: sym_export_svg, sym_upgrade.
  • Jobset tools: jobset_run, jobset_list_templates, jobset_list_outputs.
  • Manufacturing board import: PADS, gEDA, Specctra, Allegro (blocked) formats.
  • KiCad 10.0.3 contract canaries: shared fixtures, Windows primary smoke coverage, scheduled 9.x/10.x lanes.
  • Doctor diagnostics: kicad-mcp-pro doctor, JSON diagnostics, and redacted support bundles for setup troubleshooting.

Fixed

  • Security: Path traversal hardening across footprint, symbol, jobset, and upgrade tools — output paths validated with resolve_under and Path().name.
  • Fragile import in manufacturing.py: _run_cli_variants imported from .export_support instead of .export.
  • Integer division bug: _human_size uses float division preserving fractional byte sizes across KB/MB/GB conversions.
  • Pan logic: Simplified falsy check for pan_x/pan_y in 3D render tool.
  • CI pipeline: Format, lint, and typecheck errors resolved across all platforms (macOS, Windows, Linux).

Deprecated

  • Marked KiCad 9.x as a deprecated best-effort compatibility line in MCP discovery metadata while retaining scheduled non-blocking canary coverage.

3.7.6 (2026-06-05)

Bug Fixes

  • ci: harden scorecard workflow (#27) (f5a163d)
  • security: add gitleaks pre-commit hook (#28) (5dad852)

3.7.0 (2026-06-03)

Features

  • initial migration from kicad-studio-kit monorepo (#1) (be9b16f)
  • publish protocol-schemas as public npm package (f09a57e)

Bug Fixes

  • add repository.url for npm provenance verification (42045f5)
  • handle scoped tarball name mismatch in verify-npm-release, make publish idempotent (#5) (6e8f09b)
  • pass NPM_TOKEN as NODE_AUTH_TOKEN for publish (48a27fa)
  • protocol-schemas: export package.json for require.resolve consumers (e4c6f6f)
  • restore release readiness baseline (bc08eca), closes #6

3.6.0 (2026-05-27)

Features

  • compat: add release compatibility matrix (f35ba2d)
  • kicad-mcp-pro: add multi-arch container publishing (db4f98a)
  • kicad-mcp-pro: add multi-arch container publishing (2dc0ebc)
  • kicad-mcp-pro: add OpenTelemetry observability (b34ab19)
  • kicad-mcp-pro: add OpenTelemetry observability (b4f38b8)
  • kicad-mcp-pro: add structured logging lifecycle (3e4f9bf)
  • kicad-mcp-pro: add structured logging lifecycle (8293e25)
  • kicad-studio/kicad-mcp-pro: add doctor diagnostics (88dca0c), closes #74
  • kicad-studio/kicad-mcp-pro: add KiCad IPC capability gating (835e488)
  • kicad-studio/kicad-mcp-pro: add KiCad IPC capability gating (c81db7a)
  • kicad-studio/kicad-mcp-pro: add localization infrastructure (49f949e)
  • kicad-studio/kicad-mcp-pro: add localization infrastructure (fbe63e0)
  • kicad-studio/kicad-mcp-pro: add monorepo dev doctor (7766750)
  • kicad-studio/kicad-mcp-pro: add monorepo dev doctor (11f2168)
  • kicad-studio/kicad-mcp-pro: add operating modes (2cd849a), closes #73
  • kicad-studio/kicad-mcp-pro: add opt-in privacy-safe reporting (55ca498)
  • kicad-studio/kicad-mcp-pro: add opt-in privacy-safe reporting (4d0e902)
  • kicad-studio/kicad-mcp-pro: add product release provenance evidence (#195) (e2caccd)
  • kicad-studio/kicad-mcp-pro: add shared protocol schemas package (684ef9f), closes #53
  • kicad-studio/kicad-mcp-pro: add STEPZ and XAO exports (b098507), closes #232
  • mcp: add server info capabilities contract (759ef3a)
  • repo: add KiCad 10 parity matrix (394f819)
  • repo: add KiCad 10.0.3 parity matrix (7c3e9f7)
  • repo: harden KiCad 11 IPC readiness (41f6376), closes #182

Bug Fixes

  • keep MCP manifest tests release-safe (7688545)
  • keep release preparation checks stable (66123b7)
  • kicad-mcp-pro: bind container http to all interfaces (b89a967)
  • kicad-mcp-pro: bump starlette security floor (68cadc9)
  • kicad-mcp-pro: make npm launcher build smoke cross-platform (f96baca), closes #191
  • kicad-mcp-pro: use shared GUI smoke fixture (18b64df), closes #186
  • kicad-mcp-pro: use trivy-clean container base (498c212)
  • kicad-studio/kicad-mcp-pro: mark KiCad 9.x deprecated (11fb19a)
  • kicad-studio/kicad-mcp-pro: mark KiCad 9.x deprecated (11fb19a)
  • kicad-studio/kicad-mcp-pro: mark KiCad 9.x deprecated (c421156)
  • kicad-studio/kicad-mcp-pro: raise public compatibility floors (98283a7), closes #209
  • kicad-studio/kicad-mcp-pro: reset extension marketplace identity (2f907a1)
  • kicad-studio/kicad-mcp-pro: reset extension marketplace identity (11f3fd0)
  • link release package versions (a5879a8)
  • mcp: extend pcb file-backed read fallback (0d14589)
  • mcp: support stateless http and pcb file fallback (6ebe260)
  • repo: enforce pnpm supply-chain policy (92eb31c)
  • repo: enforce pnpm supply-chain policy (92eb31c)
  • repo: enforce pnpm supply-chain policy (0943f9e), closes #202
  • security: make python audit gate deterministic (5350ec8)

Documentation

  • kicad-mcp-pro: normalize MCP client onboarding config (dce5001)
  • kicad-studio/kicad-mcp-pro/repo: normalize changelog format (a921810)
  • kicad-studio/kicad-mcp-pro/repo: normalize changelog format (234e274)
  • kicad-studio/kicad-mcp-pro/repo: use past-tense changelog entries (d162686)
  • kicad-studio/kicad-mcp-pro: add agent MCP onboarding pack (1375574)
  • kicad-studio: add marketplace listing assets (4dceac5)
  • repo: add platform client setup examples (#166) (20440e0)
  • repo: align ownership policy checks (fa52a74), closes #64
  • repo: clarify MCP client config destinations (6049ca3)

[1.0.0] - 2026-05-20

Added

  • Released the baseline KiCad MCP Pro server from the canonical monorepo.