Skip to content

v2.2 — Hierarchical bus connectivity

Latest

Choose a tag to compare

@aklofas aklofas released this 20 Aug 23:05

The schematic analyzer's view of connectivity now matches KiCad's. Bus groups (D[0..7], {SDA SCL}, aliases) expand into member nets, bus entries and bus wires join the net graph, and hierarchical bus pins connect positionally per sheet instance — the phantom single-pin nets reported in #25 on bus-heavy hierarchical designs are gone. Where a bus connection genuinely can't be resolved, the analyzer says so in a new bus_topology.unresolved list instead of guessing.

Two entangled net-identity fixes ship with it: same-name local labels on different sheets no longer merge into one net (bare-name collisions get KiCad-style /<sheet>/<name> keys, and every net carries a display_name), and wire union joins every overlapping wire instead of stopping at the first.

Validation went a level deeper this release: alongside the full-corpus regression gate (170,014 units, clean over the whole v2.1.0 → v2.2.0 range), the connectivity work was checked against kicad-cli's own netlist export as ground truth on five golden boards — from an 80-net incrementer to a 1,220-net m68k homebrew computer. Where KiCad has an authoritative answer, the analyzer must agree with it.

Also in this release:

  • Provenance honesty — thermal package-table estimates and lifecycle API lookups no longer claim datasheet evidence; trust_summary.by_evidence_source shifts accordingly (thanks @fl4p for a model bug report).
  • Google Antigravity support — root plugin.json + agy plugin install docs, replacing the deprecated Gemini CLI path (thanks @ademuri).
  • GitHub Action fixed for v2 consumers — a dangling .agents/skills/kidoc symlink broke action downloads on @v2/@v2.1.0; it's removed as of this release, and the floating v2 tag now points here. If you pin @v2.1.0 exactly, switch to @v2 (thanks @orthdron for the precise diagnosis).
  • OSHWA certification-readiness docs (thanks Daniel Gleason), and a DigiKey FastAdd doc fix that stops suggesting &newcart=true (it silently empties your cart).

Upgrade notes:

  • Expect net-list corrections on hierarchical and bus-heavy designs; bus-free boards are byte-identical by invariant.
  • Bare net-name suppression patterns now also match the tails of hierarchical net keys (both /uuid/Name and the new /<sheet>/<name> shapes). If you suppress by bare net name on a multi-sheet project, review those patterns.
  • All schema changes are additive: NetEntry.display_name, typed NetLabel, BusTopology.unresolved.

Install: /plugin marketplace add aklofas/kicad-happy then /plugin install kicad-happy@kicad-happy — existing installs pick up 2.2.0 automatically. Full details: release-notes.md · CHANGELOG.