diff --git a/CHANGELOG.md b/CHANGELOG.md index 8991a4c..db518b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,11 @@ For more details or to discuss releases, please visit the ## [Unreleased] +## [0.9.3] - 2026-07-15 + +- KiCad HTTP API: parts are now named by their IPN, so a placed symbol's library + link reads like `gplm:REG-0000-0005` instead of the part description. + ## [0.9.2] - 2026-07-15 - TUI: an active search or parametric filter now stays applied after copying, diff --git a/kicad_api.go b/kicad_api.go index 106649a..9067d66 100644 --- a/kicad_api.go +++ b/kicad_api.go @@ -399,9 +399,12 @@ func (s *KiCadServer) getPartsByCategory(categoryID string) []KiCadPartSummary { partID = fmt.Sprintf("%s-unknown-%d", categoryID, len(parts)) } + // KiCad displays the name as the schematic library link, so use + // the IPN rather than the description + partName = partID + // Get description if descIdx >= 0 && len(row) > descIdx { - partName = row[descIdx] partDesc = row[descIdx] } @@ -503,7 +506,9 @@ func (s *KiCadServer) getPartDetail(partID string) *KiCadPartDetail { } } - partName := values["Description"] + // KiCad displays the name as the schematic library link, so use + // the IPN rather than the description + partName := partID symbolID := values["Symbol"] fields := s.buildFields(category, file.Headers, values)