Skip to content

Konnect v0.13.0 — Live Truth. Bounded Recovery. Complete Boards.

Latest

Choose a tag to compare

@github-actions github-actions released this 02 Oct 06:05
· 53 commits to main since this release
6bbe3e4

Konnect v0.13.0 — Live Truth. Bounded Recovery. Complete Boards.

Konnect v0.13.0 makes AI-driven KiCad work more explicit about three things that matter when a board is real: which document supplied the evidence, what actually changed, and whether retrying after a failure is safe.

This release expands the MCP surface for schematic hierarchy, fields, board stackup, pad behavior, and placed 3D models. It also tightens existing operations so live IPC, saved files, and CLI output are no longer treated as interchangeable proof. When an operation may have crossed a mutation boundary, Konnect now carries that uncertainty forward instead of quietly inviting a duplicate write.

The result is a release built around trustworthy automation: richer tools, smaller mutation steps, stronger readback, safer recovery, and clearer boundaries where KiCad—not Konnect—remains the authority.

Major highlights

Live truth instead of convenient assumptions

Board source selection is now explicit across more read and mutation paths. Single-board IPC lookups are reused instead of silently reopening or rebinding documents, pad and route changes read back the live board, and stackup inspection reports the structure KiCad actually serves. Responses disclose whether evidence came from live IPC, a saved file, or a CLI-backed operation.

Bounded recovery for uncertain mutations

Shared outcome handling now distinguishes a clean refusal from an operation whose result is uncertain. IPC retries are bounded, chunked synchronization can resume without replaying completed work, and callers are told to inspect current state before retrying when a write may already have happened.

Safer placement and more complete boards

Placement scoring uses one resolved board, reports evidence limitations, classifies real board outlines more accurately, and no longer recommends unsafe autonomous placement. Board editing gains pad zone-connect control, placed 3D-model editing, richer stackup readback, netclass unmatched-pattern support, and JLCPCB placement midpoints derived from native footprint geometry.

Richer schematic hierarchy and field control

Konnect can move hierarchical sheets while preserving their pins, create fields in batches, address top and bottom sheet pins, read component fields reliably, and validate hierarchical-pin geometry. Bus connectivity, rotation-carried field text, reference prefixes, ERC coordinates, and report shape now follow KiCad's observed conventions more closely.

Installed guidance that explains drift without taking ownership away

Konnect can report when installed Claude or Codex guidance differs from the running bundle, but does not overwrite it during the check. Claude hook matchers are refreshed safely during explicit konnect init, preserving unrelated user handlers and avoiding duplicate Konnect hooks.

Release artifacts are tested before the tag exists

The release workflow now has a non-publishing dry-run path that builds four native binaries, assembles and validates three PCM packages, and runs hosted real-KiCad acceptance. Deprecated Node 20 action dependencies were removed, and publication remains tag-only.

What's changed

Schematic editing, hierarchy, and connectivity

  • #614 — Carry field text around rotated symbols while preserving intentional offsets. — @pauliuszaleckas
  • #664 — Return ERC reports in the documented structured shape. — @mixelpixx
  • #666 — Correct the power-symbol reference designator spelling. — @mixelpixx
  • #675 — Correct ERC coordinate scaling so reported locations match KiCad. — @pauliuszaleckas
  • #683 — Preserve and validate schematic reference prefixes. — @pauliuszaleckas
  • #689 — Read component fields through the supported schematic path. — @davidtdab
  • #524 — Support top and bottom hierarchical-sheet pin placement. — @triglav-modular
  • #707 — Preserve batch-connect options through multi-item schematic wiring. — @pauliuszaleckas
  • #733 — Create and update schematic fields in bounded batches. — @neusse
  • #734 — Repair bus-connectivity handling and observed connection evidence. — @neusse
  • #749 — Validate hierarchical sheet-pin geometry before accepting a write. — @neusse
  • #742 — Move hierarchical sheets and their pins as one coherent operation. — @triglav-modular

PCB editing, placement, libraries, and manufacturing

  • #526 — Expose netclass unmatched-pattern behavior instead of silently dropping it. — @cvaldess
  • #656 — Let callers choose and observe the board source used for PCB operations. — @pauliuszaleckas
  • #668 — Give unprepared footprints stable, useful names. — @mixelpixx
  • #719 — Apply pad and route changes to the requested live board with readback. — @pauliuszaleckas
  • #730 — Edit 3D models on placed footprints without rebuilding the footprint. — @neusse
  • #737 — Resolve the board once when scoring placement and keep that evidence consistent. — @pauliuszaleckas
  • #686 — Add pad zone-connect modes with KiCad-compatible serialization. — @Deco025
  • #736 — Read board stackup, copper, dielectric, finish, mask, and silkscreen properties. — @davidtdab
  • #753 — Derive JLCPCB placement midpoints from native footprint geometry. — @neusse
  • #684 — Classify board outlines beyond the former bounding-box-only assumption. — @Reid-n0rc
  • #756 — Tighten placement evidence and disclose what can and cannot be proved. — @neusse
  • #757 — Replace unsafe automatic-placement guidance with bounded explicit moves and readback. — @neusse

IPC, persistence, installation, and recovery

  • #663 — Keep absent, malformed, unreadable, and valid configuration states distinct; never overwrite an unusable file as defaults. — @mixelpixx
  • #677 — Resolve the open board once and hand the exact document through dependent operations. — @pauliuszaleckas
  • #681 — Extend served-dispatch coverage to tools that previously had only private-handler tests. — @mixelpixx
  • #710 — Handle a running executable whose on-disk path was deleted or replaced. — @pauliuszaleckas
  • #750 — Represent post-mutation uncertainty explicitly instead of claiming a clean failure. — @neusse
  • #751 — Bound IPC recovery and require inspection before retrying an uncertain mutation. — @neusse
  • #752 — Split schematic-to-PCB creation into recoverable chunks without replaying completed work. — @neusse
  • #740 — Report installed guidance drift once per installed version without rewriting guidance. — @pauliuszaleckas
  • #743 — Refresh stale Claude hook matchers during explicit initialization while preserving user handlers. — @pauliuszaleckas

Project and viewer behavior

Dependencies, maintainer workflow, packaging, and release safety

  • #653 — Record the observed v0.12.1 PCM hashes and sizes that form this release line's packaging baseline. — @neusse
  • #709 — Update the JSON Schema implementation used by tool-contract validation. — @dependabot
  • #729 — Update schematic-viewer dependencies. — @dependabot
  • #713 — Define how comment-based maintainer reviews satisfy stale automatic review requests. — @neusse
  • #748 — Let maintainers refresh a clean behind PR once, then review and test the new exact head. — @neusse
  • #758 — Build every release artifact and run real-KiCad acceptance before tagging; remove deprecated Node 20 action dependencies. — @neusse
  • #759 — Validate dry-run PCM packages against the effective synthetic release version. — @neusse

Compatibility and known limitations

  • This release targets KiCad 10.x. KiCad 11 development APIs are tracked separately and are not implied to be stable or supported merely because a protobuf exists upstream.
  • Board stackup is readable, but guarded live layer expansion and complete stackup mutation remain follow-up work.
  • Rule-area/keepout support and its Freerouting round-trip contract are not included.
  • Oval-drill editing remains deferred; PR #621 is not part of this release.
  • Placement of footprints with custom-shape pads remains under design review; PR #741 is not included.
  • Guidance drift detection is intentionally read-only. Run konnect init only when you intend to refresh Konnect-owned guidance, and preserve personal changes first.
  • A live-board observation can still outlive KiCad's lock in the deferred #735 path; callers should reopen or re-resolve the board rather than trusting stale process state.
  • JLCPCB multi-word search improvements in #726 and root-prefixed schematic identity matching in #725 are not included.
  • The schematic viewer still requires a usable display environment; headless launch behavior remains separately tracked.

Release validation

This release was built and validated from merge commit 6bbe3e4f890ba1d37c0e5d5f38ccd03d90958c9e.

  • All ten required hosted checks passed on the reviewed release-candidate head.
  • PR-specific and release-path real-KiCad E2E acceptance passed.
  • Live KiCad 10 IPC validation passed across editor observation, board-only handling, duplicate references, geometry-preserving move/rotate, placed 3D-model editing, native layer flip, vias, trace deletion, zones, and stackup readback.
  • The preserved routed-board benchmark returned READY with 12 footprints, 15 nets, 90 tracks, zero DRC errors, zero unconnected items, and 12/12 schematic parity.
  • Four standalone binaries and three schema-validated KiCad PCM packages were rebuilt from the final tagged commit.
  • Generated documentation remains current at 21 toolsets, 228 registered tools, and 235 total tools.

View the successful release workflow.

Downloads

The release includes standalone Konnect binaries for Windows, Linux, Intel macOS, and Apple Silicon macOS, plus installable KiCad PCM packages for Windows, Linux, and universal macOS.

v0.12.1 remains available as the rollback release if a compatibility problem is discovered.