______________________ - Added SVG schematic generation feature for KiCad 6, 7, and 8. - Added backend tool identifiers of `KICAD5`, `KICAD6`, `KICAD7`, and `KICAD8`. - For compatibility, `KICAD` tool identifier points to `KICAD5`.
1.2.1
______________________ - `is_url` function fixed to solve problems with `search` and loading libraries.
1.2.0
______________________
- Added ability to generate an editable schematic from a Circuit object. (Currently only works for KiCad V5.) - Added Group object for creating hierarchy without using function calls. - `generate_pcb` now takes an optional list of footprint library directories. - If not explicitly declared, `Part` objects will load the default footprint from their symbol definition. - Added `empty_footprint_handler()` for parts without footprints that logs errors by default but can be overriden by the user. - Symbol libraries can now be searched on remote repositories by placing the URL in the `lib_search_paths` dictionary. KiCad V6 symbols are found at `https://gitlab.com/kicad/libraries/kicad-symbols/-/raw/master` and V5 symbols are at `https://raw.githubusercontent.com/KiCad/kicad-symbols/master/`. - `Part` pins can now be sorted and retrieved in order using the `ordered_pins` property.
1.1.0
______________________
- Added `generate_pcb()` function to create a PCB file directly from a `Circuit` object. (Currently only works for KiCad.) - Added `PartTmplt` shortcut which creates a Part template using `dest=TEMPLATE` implicitly.
1.0.0
______________________
- Buses can now be created without names and a name will be automatically assigned. Or use "name=..." to manually assign a name. Or just place a string in the list of arguments and that will be used. - Footprint search can now process directories of footprints without the need for an `fp-lib-table` file. - `Part` fields can now be accessed using attributes. - Creating fields requires use of `Part.fields[key]` instead of Part.key. - Added context manager for `Circuit` object so Parts/Nets can be joined using a `with...` statement. - Adding/removing `Parts` to/from a `Circuit` can now be done using `+=` and `-=`. - Tags can be added to `Parts` and `Circuits` for hierarchical naming. - `Part` values can now be assigned arbitrary objects including units from either PySpice or Pint. - Multi-function pin names can now be split into a collection of shorter aliases, thus reducing the need to access pins using regexes. - Schematics can now be automatically using the KiCad symbol graphics for the parts. - The library interface now handles the Skywater 130 SPICE libraries.
0.0.30
______________________
* Added package decorator to make subcircuits act like Parts. * Interfaces now act like dictionaries so the ** operator works as expected. * Interface I/O can now be accessed using brackets ([]) and via attributes (e.g., intfc.a). * Interface I/O can now be assigned aliases. * Added tee() function for creating T-junctions in networks. * Custom ERCs can now be added using the `erc_assert` function. * Aliases take precedence over default pin names. * Substring matching in pin names can be enabled/disabled (off by default).