All notable changes to this project are documented here. The format is based on
Keep a Changelog, and this project
adheres to Semantic Versioning. Versions
are derived from git tags via hatch-vcs.
- Project-tree audit:
audit_tree()withProjectReport/FileReport. XschemCLIexpansion:netlist_text(), bufferedsession(), partial-failure detection (raisesRuntimeErroronIS MISSINGplaceholders or Tcl errors), and a configurable hard subprocesstimeout(default 120 s).- Subcircuit authoring:
set_subcircuit_metadata(),subcircuit_ports(),SubcircuitPort. - Bill-of-materials:
Schematic.bom()withBomEntry(hierarchy roll-up viaflatten=). - Refactoring helpers:
transform_components(),set_component_attributes(),bulk_update(). - Pin-side classification:
Schematic.pin_side(),Symbol.pin_side(),geometry.pin_side(honours rotation/mirror). - Net connectivity:
NetAnalyzer,connectivity_from_schematic(),connectivity_from_netlist(). - Schematic diffing:
diff_schematics()withSchemDiff/ComponentChange/NetChange/TextChange. - Header K-block accessors;
Symboldelegates K-block parsing.
- Hardened
XschemCLIcontrols (env isolation,no_rcload,rcfile,cwd).
- Serializer, library resolution, validator, and connectivity correctness fixes.
- Added pyright type-checking (CI + dev dep), a coverage floor (
fail_under = 90),.gitattributesLF enforcement, a wheel import smoke test in the publish pipeline, and SHA-pinned the PyPI publish action.
0.1.0 - 2026-03-22
- Initial release:
.sch/.symparsing and round-trip-faithful serialization, schematic query/edit/generate APIs, symbol and library resolution, hierarchy traversal, pin geometry, validation, attribute codec, and theXschemCLIwrapper.