- Use of builtin now works with Python 2 & 3.
- Started using namedtuple in some places (like net traversal) for clarity.
- Corrected pin-to-pin connections so if a net is created, it goes into the same Circuit the pins are members of.
- Part templates can now contain a reference to a Circuit object that will be applied when the template is instantiated.
- When pins are connected to nets, or nets to nets, the resulting set of connected nets are all given the same name.
- Buses are not added to a Circuit object if they are already members of it. This fix caused the next problem.
- Buses weren't getting added to the Circuit object because they already contained a reference to the Circuit. Fixed by clearing ref before adding to Circuit.
- Created mini_reset() method to clear circuitry without clearing library cache so the libraries don't have to be loaded again (slow).
- search() utility now prints the names of libraries as they are searched so user sees progress.
- Fixed exceptions if part definition contained non-unicode stuff.
- Hide exceptions that occur when using the show() utility.
- More tests added for NC nets and hand-crafted parts.
- default_circuit and the NC net for the active circuit are now made accessible in all modules using builtin.
- Corrected error messages that referenced wrong/non-existing variable.
- Inserted NO_LIB for the library if it doesn't exist when generating KiCad netlists or XML.
- Attributes can now be passed when creating a Circuit object.
- Pins are now associated with part when added to the part.
- Minimum and maximum pins for a part are now computed as needed.
- Each Circuit object now has its own NC net.
- Added tests for bus movement and copying.
- Implemented bus movement between Circuit objects.
- Additional test cases were created.
- Nets and Parts can now be removed from Circuits.
- The circuit that pins and nets are in is now checked before connections are made so cross-circuit connections are not created.
- Default members were added to Pin and Part objects so they would always exist and not cause errors when missing.
- Implemented moving Parts and Nets from one circuit to another (almost).
- Nets with no attached pins are now added to a circuit.
- Re-wrote some tests to account for the presence of no-pin nets in a circuit.
- A class method was missing its 'self' argument.
- Fixed @Subcircuit decorator so it won't cause an error if the function it decorates doesn't have a 'circuit' keyword argument.
- Split the unit tests across multiple files. Added setup/teardown code.
- Added capability to create multiple, independent Circuit objects to which Parts and Nets can be assigned. The default circuit is still the target if not Circuit is explicitly referenced.
- Added IOError to exception list for opening a SKiDL part library.