Skip to content

Releases: yaqwsx/KiKit

v1.0.4 release

29 Mar 14:26
46d5d26
Compare
Choose a tag to compare

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 e146259.

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.

v1.0.3 release

01 Mar 11:07
8d0c219
Compare
Choose a tag to compare

This release brings fixes to numerous bug fixes in KiKit. There is no new functionality in this release.

  • dimension objects in Edge.Cuts layer are ignored,
  • a bug when KiKit didn't operate correctly on boards without DRC rules was fixed,
  • title blocks are now properly inherited into the panel, thus custom labels aren't broken,
  • a bug with small arcs in the outline was fixed,
  • usage of OpenSCAD in the stencil generator on Windows was fixed,
  • a problem with GUI plugin preventing KiCAD from closing was addressed,
  • Kikit was adapted to changes in KiCAD API.

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

v1.0.2 release

04 Jan 07:15
bc7f2d8
Compare
Choose a tag to compare

A new version of SolidPython was released and, therefore, we can simplify the installation procedure on Windows. This is the only change in this release - a bumped dependency on SolidPython.

v1.0.1 release

03 Jan 14:21
eed67f7
Compare
Choose a tag to compare

This is a patch release that fixes issues and bugs found after publishing v1.0.0. All users are encouraged to upgrade.

Problems fixed

  • After installing KiKit Action plugins from PCM the icons didn't show up and also, the action plugin caused the Pcbnew to hang after exiting. This was fixed.
  • The dialog notifying the user about the absence of the KiKit backend was impossible to close, this is now fixed.
  • Panels created via GUI and saved in Pcbnew were impossible to reopen. This is now fixed.
  • DRC checking was not working on Windows, this is fixed.
  • With KiCAD 6 the fab command didn't work with v5 projects as it was expecting the new schematics format. This is now fixed and the correct type of schematics is detected based on extension.
  • In certain situations, some tabs on the boards were missing. This was fixed.
  • There was a bug with PcbWay assembly generator that prevented the users from using it, this is now fixed
  • The documentation was improved regarding the GUI and upgrading KiKit to the new version.

How to upgrade

There is no need to upgrade the PCM packages, simply use pip install -U kikit to update.

v1.0.0 release

27 Dec 18:12
8dfeb79
Compare
Choose a tag to compare

This is the first major release of KiKit ever. Since the initial draft, KiKit expanded a lot and it is much more capable than before.

Major changes in v1

  • reworked CLI. KiKit offers a large number of parameters, so you can tune every last detail of your panel. This leads to hard-to-use command-line options. Therefore, we introduced a new CLI that groups the options into categories. Such UI can be also easily extended. It also allows you to save common patterns (e.g., mouse-bite styles) into files and reuse them. Read more in documentation.
  • GUI for Pcbnew. We introduced action plugins. Therefore you can invoke some of the KiKit actions from Pcbnew GUI. Currently, you can
    • design a panel (see it in action) and
    • hide or show references based on regex.
    • more actions are planned, see #12.
  • automated DRC checking. Finally, with KiCAD 6 you can check if your board passes DRC in CI or before exporting gerbers for the manufacturer.
  • reworked tab generating algorithm. Internally it is based on annotations. It is more robust and allows us to create various panel configurations. Read more in documentation.
  • support for user-specified annotations. We introduced a custom schematic and footprint library that you can use to annotate the PCB (e.g., with tab positions) or board markings. This also allows us to simplify the multi-board setup - see documentation.
  • support for KiCAD v6.
  • support for Windows and macOS. With the changes in KiCAD's packaging in v6, we can finally support Windows and macOS. Note there are some problems with macOS, but they should be resolved soon (see #252 for details).
  • major speed improvement. KiKit is now nearly 2× faster.

Minor improvements

  • we allow to specify more options for V-cuts (e.g., clearance)
  • we allow to tangentially prolong mouse bites
  • we allow the user to run a post-processing script
  • support for OSHPark was introduced
  • we support corner tabs
  • we can make fillets and chamfers on panel frames.
  • the docker images are now based on KiCAD 6.
  • ...and a number of tiny improvements.

The journey towards KiKit v1 was quite long, but we finally made it. I hope it will serve you well and improve your workflow. If you find any bugs, please open an issue. If you struggle with usage or you have a feature proposal, you can open a question in discussions.

If you find KiKit useful and time-saving, consider becoming my GitHub sponsor. I would like to thank all my current sponsors for your support. Thank you, guys. Especially @michaelruppe, my greatest sponsor.

v0.7

31 Dec 20:07
cb641f7
Compare
Choose a tag to compare

This release brings some new features:

  • KiKit can now generate assembly files for PCB Way - this feature was implemented by @maribu. Thanks!
  • We did refactoring which allows us to support both, KiCAD v5 and KiCAD v6. However, the support of v6 (nightly) is experimental, and unfortunately, many features do not work, as KiCAD nightly does breaking changes to the API nearly every week. Once KiCAD v6 release candidate is out, you can expect better support.
  • We support automated validation of design rules - you can check your boards and panels, e.g., in an automated way in CI. This feature works only with KiCAD 6.
  • We established the basics for Action Plugin - currently, you can invoke hide/show references functionality from GUI. More commands are expected to be supported in the future.
  • KiKit can generate cutouts in the stencils for already populated components. This is useful when you have already pre-populated board and you want to populate extra components.

It also fixes several bugs and small improvements:

  • Assembly files now generate correct drill files when auxiliary origins are in use.
  • The KiKit startup times were drastically reduced (from 1.68 seconds to 0.12 seconds)
  • KiKit now ignores invisible labels of components, therefore, it does not throw away components from the boards.
  • A bug in tight grid placement with rotated boards was fixed.
  • Documentation was improved
    • a note about running KiKit with a specific version of KiCAD was added
    • FAQ was improved (e.g., detailed information about Windows support)
    • Detailed installation instructions were added
  • The Docker container with KiKit is based on Ubuntu 20.04 instead of Ubuntu 19.10

v0.6.1

18 Aug 20:58
41e99b1
Compare
Choose a tag to compare

This is a small release that brings bug fixes for #67, #66, and #65.

v0.6.0

13 Aug 10:15
6b7e741
Compare
Choose a tag to compare

To install this release, simply upgrade via pip.

This release brings some new features:

  • KiKit supports new command: kikit fab which exports all manufacturing data for a given PCB manufacturer. It supports both, generation of gerbers, BOMs and POS files for automated assembly! Currently, we support a single manufacturer: JLC PCB. See the documentation or simply try kikit fab jlcpcb

  • KiKit now supports rails in addition to a frame. Just specify --railsTb or --railsLr. See documentation or the examples.

  • KiKit can automatically generate tooling holes and fiducials in the corner of the panel - see options --fiducials and --tooling in the examples

  • an option --copperfill was implemented to fill unused areas of the panel with copper - see the examples.

It also brings some minor tweaks:

  • KiKit versioning has been transferred to versionner to better track particular versions in upstream installations

  • KiKit now checks for PCB thickness and warns you, when you mix different thickness of PCB. It also transfers the thickness to the resulting panel.

  • the gerber export was changed to use conservative settings to be compatible with more PCB manufacturers

We also fixed a bug:

  • when you created a panel with no spacing, it missed outer cuts. This is now fixed.

v0.5

01 Jul 12:37
f2a5fb9
Compare
Choose a tag to compare

Changelog

  • when there are footprints with Edge.Cuts inside, this geometry is no longer ignored
  • the tolerance option for enlarging implicit source area was added
  • fiducial and tooling hole support was implemented. Currently, it is only accessible from Python API, not CLI
  • you can specify tab positions by drawing lines on a layer in KiCAD
  • fillets are now applied to the frame
  • a bug in the fillet feature, when narrow slot disappeared, was fixed
  • KiKit now correctly supports multi-layered boards
  • KiKit supports exporting 3D printed solder stencils
  • Kikit supports exporting steel stencils for an alignment jig
  • the user can enable adding mouse bites to the frame for easier manipulation
  • Documentation was improved, FAQ was added