KiKit Versions Save

Automation tools for KiCAD

v1.5.1

2 months ago

This release contains no new features, just bug fixes, and improves compatibility with KiCAD 8.

  • if KiCAD didn't create kicad_dru file for a board, KiKit crashed. This is fixed (3cb3720106e0b598ccb44a6b684f5dbbf9a76f38)
  • we fixed arc welder, thus the option --post 'reconstructarcs: true' now works correctly (18b590ebe2d6fcaefb510f7782aa06f730ee61e1)
  • KiKit no longer crashes when the resulting copperfill is empty (28689dfad1b95ecc23b520ed1e6a5f7ffe1327c3)
  • DRC rule footprint_type_mismatch is not correctly handled (96a964693265d3330ca10c8ce07d10520cde626b)
  • References are now correctly oriented in v8 (495e55c051bb5cb97a580f73d0a5422af7349a74)
  • KiKit GUI is now compatible with v8 (077c8abc105febb7d9e872d6aa4868a6c90f3f3b)
  • When running on v8, the pcbnewTransition module should no longer break compatibility with other plugins (21c74e1ae737422bdfd9a30b2bbc3bf8caa43ad3)
  • the odd-even column placement was fixed (thanks @errno) (49363ea96f1c1e2947aa3b0125487e35c7311a6b)
  • overall documentation improvements (b4188f280f7c09c46100d5714d2370b5a94b2198, 7a3ae3451850ad219072514894983ccb1cb83aaa)

How to upgrade

Simply update the Python package. There is no need to update the PCM package.

v1.5.0

2 months ago

This release ships mainly with KiCAD 8 support, bug fixes, and a couple of new features. Note that this release drops support for KiCAD v6.

New features

  • KiCAD 8 support
  • Shapely 2 support to support new Linux distributions (3427a8d6ce31eea6fb3647e550d6b4ddc0e90842)
  • project variables in text fields (1a7bcaebf60aef52ab2a474fad6f06f3053e3ada, d7b219874fa09c4acd06f726e5899b0678de2a13)
  • new internal organization of panel features that uncouples panel from features. It should improve plugin support and make the code more extendable.
    • the copper fill was already migrated to this new interface
  • hex copper fill (c3a8dd0be2754a15fc864f88ec9aab5479f8efda)
    • splitting the copper fill into small islands to prevent panel warping during reflow
  • you can specify layers by their number, not only by name (b0c1db8716b0e7af5fa0d8c95fcbc750d5fb1c75)
  • OpenPnP fab command was added (db1861574d7f43a055271b895a826c4234007b2b)
  • Most error messages now give hints to the user about what might be the root cause

Bug fixes

  • the partition line generator was fixed when there was no space between boards (102e4cde39fb78d79efb2dad7b9e910efc7806cd)
  • the naming of text justification parameters was fixed (4fcea6a967cfa50ef45c10b63c699648c71c3abd)
  • added support for missing DRC exclusions (78d3d0ca41f4e679f354dc3e84f22bfba09e9328)
  • added support for comments in custom DRC (c6511823912bbdfd3722d33ba211d251f1c1a8ae)
  • fab command didn't work when references included numbers (dd6f5056417f4525c3007f3c425747abe1bb9d8e)
  • tooling holes and fiducials have proper attributes now (8a5497629f70eb23f5d41255ae13572303f03970, 74be0db04a0dfdb0653b73eb09654ad22341fa6d)
  • layer names are properly inherited (41f62d4a386f295cf3f8c94d688730165a74ba67)
  • do not populate attribute is now properly handled (bb8746237f777571d9ec30c89eb25be9a23fb748)
  • do not generate zero-length segments (eafe49dfdc09bf44a865796a86f8d568d228f7ad)

How to upgrade

Simply update the Python package. There is no need to update the PCM package. Note that if you are using the official Linux debian packages, you have to use the testing repository at the moment, as the initial release missed scripting support.

Final remarks

I would like to thank all my GitHub Sponsors for their financial support. I would also like to thank all contributors who submitted a PR and everyone who tested KiKit and provided me with steps to reproduce.

v1.4.0

8 months ago

New features

  • the show/hide references dialog now allows the application of the effects only on selected items (3a418b0c953c964d155fd2380e74eef8e63a4c34)
  • tabs can be created for discontinuous substrates (072bb845645452a5027cb27072d43ded3da18fa0
  • we now fully support custom DRC rules (f3ec40f94101a3315d2543135c162bb75392395e)
    • this also means that
  • holes and fiducials have unique references, so they can be used on the PnP machine for alignment as they can be part of the POS export (d6b7294e5621acd3d22ec407fe43b099140ad947, cfe7fa137eb5ed8a12dfc76c5ec74d170465729b)
  • export for Neoden YY1 was added (63301c22ff36b13cc73536b0d289422d3121e772)

Bug fixes

  • Fixed KICAD 7 compatibility:
    • adapted to new library format names in KiCAD 7 (46d4fcb9d532e612d0407977024e152301dd2491)
    • improper usage of VECTOR2I (ffc6b194c253cd82a1f0755105d221c94ddd5663)
    • we added workarounds for KiCAD known bugs: (89895e72ca2ba942441f8835c4b83d9162fc418e, 935eae8771f96228247d67b73ee2377ad3a28711, 508cc19261444eb22ad924d528999cfb123db8f6)
    • net classes support was fixed (119665a37c019fcaf5479f8e8c3be077688e6971)
  • Fixed invalid links to documentation
  • Fixed improper dependency specification (14bc40631a5ef781ca42f36ee1e011736d137d39)
  • We enforce UTF-8 encoding when manually parsing files as Windows assumes Win1250 by default (e94d1cf579e1bde8b3b57dca0ddc8bf78842f1b0, 58ef31357c221fb34795f090c9b2c3b4d7fc5be1)

How to upgrade

Simply update the Python package. There is no need to update the PCM package.

Final remarks

I would like to thank all my GitHub Sponsors and NLnet for their financial support. I would also like to thank all contributors who submitted a PR and everyone who tested KiKit and provided me with steps to reproduce.

If you like KiKit and would like to help it improve, consider supporting me via GitHub Sponsors.

v1.3.0

1 year ago

This release brings:

  • compatibility with KiCAD 7,
  • new documentation pages,
  • several new features and
  • bug fixes.

Compatibility with KiCAD 7

New major release of KiCAD 7 was published. This release brought many incompatibilities, but all should be resolved, and KiKit is compatible with both, KiCAD 6 and KiCAD 7.

The new "In BOM" and"Do not place" options in KiCAD schematics are now supported for the fab command.

Getting everything right for v7 took a little longer than anticipated, and we didn't manage to meet this release with the release of KiCAD.

New documentation pages

We used to keep documentation in Markdown files in the repository. We now provide a documentation build as an interactive webpage available at https://yaqwsx.github.io/KiKit/. This documentation is also available for various released versions, so there should be no confusion between stable release and upstream documentation in the future. New system will also allow us to style the documentation better (e.g., checkout the new Examples section). There's definitely still a lot to improve, but the first step has been made.

New features

  • we now support asymetrical frame chamfers. Therefore, you are no longer limited to 45°, but you can choose any angle you want.
  • we also added a new option, dimensions, to the post section that will render dimensions objects showing the overall size of the panel.
  • there were multiple feature requests for supporting filleting of tabs natively without milling simulation. This was implemented as two options:
    • there is a new post option millradiusouter which simulates the milling only on the outside edges of PCB and leaves any internal features intact.
    • there is a new option, fillet for tabs that will add natural chamfering without milling simulation. However, the feature is relatively slow and can increase panel building times by 20–50 %. There are plans for speeding this up, but it will require a complete rewrite of the geometrical part of KiKit.
  • fiducials can now be propagated to stencil, so they are visible for alignment.
  • the corner patches in full-width tabs are now optional, which allows the usage of full-width tabs with rounded corners.
  • the corner tabs used to point into the middle of PCB. This created distorted tabs on narrow PCBs. We now always place the corner tabs at 45°.
  • when using boneskip parameter to skip backbones we now added vbonefirst and hbonefirst parameters to specify the offset of skipping (e.g., start at even or odd backbone).
  • the graphical interface of show/hide references was reworked. We now also allow for hiding/showing any text items that contain value of reference.
  • we added deduplication of mouse bite cuts. When two cuts should be laid one over, duplicate holes are no longer produced.
  • a time variables (e.g., hours, minutes, day, month) were added to the text options.

Bugs

  • big with Windows encoding was fixed
  • a incompatibility with Interactive HTML BOM was fixed
  • V-cuts keepouts are only placed on actually used copper layers
  • macOS installation script was fixed
  • bug in the placement of non-orthogonal tabs was fixed
  • a fall-through of argument in the fab command was fix

Misc

  • we now provide two flavors of the Docker image: one for v6 and one for v7
  • the Docker image now features KiKit as entry point, which allows for simple wrapping of the docker container for issuing commands (see documentation)

How to upgrade

Simply update the Python package. There is no need to update the PCM package.

Final remarks

I would like to thank all my GitHub Sponsors and NLnet for their financial support. I would also like to thank all contributors who submitted a PR and everyone who tested KiKit and provided me with steps to reproduce.

If you like KiKit and you would like to help it improve, consider supporting me via GitHub Sponsors.

v1.2.0

1 year ago

This release brings several bug fixes and small improvements in functionality.

Bugfixes:

  • not all layers were considered when using all in the layer selector
  • user layers were added to the layer selector
  • V-cut copper clearance wasn't applied to internal layers
  • GUI sections are now properly shown/hidden after importing JSON configuration

New features:

  • you can now specify fillet radius for tabs. Therefore, you can achieve a rounded board-tab interface without milling simulation.
  • panel can now be positioned via a percentage of the page width. Therefore, you can, e.g., specify 50% to place the panel in the middle of the page.
  • with regards to the previous change, the separate command now behaves in agreement with its docstring, i.e., it places the separated board in the middle of the page.

v1.1.2

1 year ago

This release brings several bugfixes:

  • KiKit no longer crashes on projects without an absolute path
  • formatting string {time24} was fixed
  • several documentation strings were made more accurate
  • a bug in arc reconstruction was fixed
  • component placement files never output more than two decimal places as more places are not accepted by most fab houses
  • we removed dependency on zip executable (so all commands now work well on Windows)
  • KiKit can correctly handle schematic sub-sheets that used to be top-level sheets.

With these bugfixes the following options were added:

  • --debug flag for the fab command
  • we added an option to disable arc reconstruction in a separate command.

All users are encouraged to upgrade.

v1.1.1

1 year ago

This release fixes packaging problem (see details). There are no new features. If you managed to install KiKit, there is no need to update.

v1.1.0

1 year ago

This release brings a large number of new features and several bug fixes. Since the feature list is quite long, we discuss them in depth in a related blog post.

This is also the first version that drops KiCAD 5 support, as most of the new features require KiCAD 6. If you use KiCAD 5 you can continue to use v1.0.5.

Overview of the new features

  • KiKit CLI now supports plugins that allow you to tweak the process (e.g., specify a custom layout)
  • DRC exclusions and net classes are now properly handled
  • Improved copper fill and zones handling
  • Sheet placement and origin specification
  • Cutouts in full tabs
  • Text improvements
  • Footprint correction patterns for assembly (automatic rotation)
  • User-specified annotations
  • GUI improvements
    • option to load and save a preset
    • platform-aware commands
  • Skippable backbones
  • You can specify minimal panel size
  • macOS & Flatpak support

Full Changelog: https://github.com/yaqwsx/KiKit/compare/v1.0.5...v1.1.0

How to upgrade

There is no need to update the PCM plugin, updating the python package is sufficient.

Acknowledgments

Having all these new features & bug fixes wouldn’t be possible without the support of my Github Sponsors. Your support allows me to allocate more time to maintain my open-source projects. I really appreciate your trust in me.

I would also like to thank all of you who hired me to fix a bug in KiKit, implement a feature or build a custom workflow for you. When I started KiKit two years ago, I didn’t imagine what could be accomplished using KiKit.

v1.0.5

2 years ago

This is only a small release that fixes problems with a broken dialog when no KiKit backend is found in the GUI plugin. This affects only the new users, if you already use KiKit, there is no need to update at the moment.

v1.0.4

2 years ago

This release is initiated by the release of the click library v8.1.0 which removes some deprecated API we were using in order to ensure compatibility with both, click v7 and v8, and thus, lower the risk of package incompatibility. When users try to freshly install KiKit v1.0.3, click v8.1 is downloaded and KiKit fails.

This version brings in changes that ensure compatibility with the newest click version (8.1) and also the currently most frequently used one (7.1). Therefore, it fixes problems with the fresh installation of KiKit.

Also, all numerical problems in KiKit were solved so KiKit is now "nanometer-precise". The reason for (what I originally believed to be) numerical imprecision was actually quite silly. More details in the changes of kikit/common.py in e146259e37c71a0a3a537fa8a8e3986f5cd53355.

In addition, this release brings several fixes:

  • KiKit lowers the required version of Python from 3.8 to 3.7.
  • KiKit GUI plugin is adapted to the changes in KICAD 6.0.4.
  • mitigation of assertion failure regarding locale settings inside KiCAD was added as the fix in KiCAD has been postponed indefinitely. KiKit no longer shows blocking graphical error messages on Windows.
  • The alternation pattern was not working when rotation was specified, this is fixed now (thanks @eddwhite)
  • We try to detect if KiCAD API is available during installation and if not, we give the user a list of probable causes.
  • KiKit no longer fails on boards with polygonal outlines.
  • When KiKit backed was not found, the Pcbnew process was impossible to kill. This is now fixed.
  • The users aren't allowed to panelize an already opened board as it leads to KiCAD crash.

To update, please update both, the Python package and PCM plugin.