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
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
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
4.2.0 (2026-10-10)
Features
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
Documentation
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
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
3.35.0 (2026-09-24)
Features
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
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
3.34.3 (2026-09-09)
Documentation
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
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
- roadmap: refresh post-3.30 status (#587) (59e213e), closes #579
- security: reconcile Scorecard release evidence (#590) (d6ff100)
3.30.1 (2026-08-05)
Bug Fixes
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
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
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
Bug Fixes
3.27.0 (2026-07-21)
Features
Bug Fixes
3.26.0 (2026-07-21)
Features
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
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
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
3.22.2 (2026-07-08)
Bug Fixes
3.22.1 (2026-07-08)
Bug Fixes
Documentation
3.22.0 (2026-07-08)
Features
Bug Fixes
Documentation
- add read-only agent review workflow (#340) (375ac87)
- add workflow glossary (#339) (2dcf8fe)
- document CI/CD policy and risk-based gates (#359) (5920be6)
3.21.0 (2026-07-08)
Features
- add preview contract models (#327) (fee308b)
- persist live preview manifest artifacts (#347) (e6c9f1a)
- wire live preview contract responses (#346) (24068dd)
Bug Fixes
Documentation
- add agent quickstart matrix (#338) (cbcd31c)
- add agent tool workflow index (#345) (3a2896b)
- add claude desktop troubleshooting examples (#343) (9550c0f)
- add llms ai discovery file (#329) (26cd7fc)
- add mcp registry status page (#331) (1792158)
- add safe live preview workflow guidance (#322) (55c40e2)
- clarify live preview GUI refresh semantics (#352) (9846190)
- define live preview UX and stability contract (#324) (0a4b8a6)
3.20.0 (2026-07-07)
Features
3.19.1 (2026-07-07)
Bug Fixes
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
3.17.0 (2026-07-03)
Features
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
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
- add OpenSSF Silver evidence (#243) (37bb987)
- align Silver coverage evidence (#245) (e27229d)
- document Scorecard exceptions (c7e4122)
- show OpenSSF Silver badge (e962369)
- tidy README header badges (62cd680)
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_evidencebundle 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-headlessbackend,headless_ipc_availableproperty,KICAD_11_HEADLESS_IPC_MIN_VERSIONconstant (#192) - ir: semantic EDA intermediate representation — data model, KiCad → IR parser, lint, diff, and
sch_get_circuit_irMCP 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_constraintstool (#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 pcbnewin source
3.14.1 (2026-06-21)
Bug Fixes
3.14.0 (2026-06-21)
Features
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
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 incheck_submission_readiness.py. - Pinned
ruff!=0.15.10in dev dependencies to avoid a dyld rebase crash on macOS ARM64 runners. - Fixed TypeScript syntax error in
apps-sdk/src/server.tswhere 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_underandPath().name. - Fragile import in manufacturing.py:
_run_cli_variantsimported from.export_supportinstead of.export. - Integer division bug:
_human_sizeuses float division preserving fractional byte sizes across KB/MB/GB conversions. - Pan logic: Simplified falsy check for
pan_x/pan_yin 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.