Post-v5 new features and development news

KiCad now has icons in an external .tar.gz package. “This file should be installed to ${KICAD_DATA}/resources/images.tar.gz (So, something like /usr/share/kicad/resources/images.tar.gz on Linux)” says Jon. It includes a dark theme, too. At the moment it works on GTK systems (Linux). See the screenshot in New icons in nightly.


Until now the icon data was embedded directly into the binary files. Now it should be possible to change icons sets by just changing the package file.


Dark theme can also be selected in Preferences -> Common.

8 Likes

A couple of new preference settings were added recently in pcbnew (under editing options-> miscellaneaous).

  • Refill zones after Zone Properties dialog. (Default: enabled) When enabled, zones get refilled after changing any settings in the zone properties dialog. Disabling this setting can be useful if you prefer to change multiple zone settings and then refilling all zones (since refilling takes a bit of time).
  • Allow free pads. (Default: disabled). When enabled, pads can be moved with respect to the rest of the footprint (same behaviour as prior to the change). This defaults to disabled in order to align to what other commercial EDA tools do: you cannot move a pad at all unless you edit the footprint in the library. Some users might still prefer the previous behaviour which is why this option was created.

Note the “Allow free pads” option might not yet have made the cut to the latest nightly.

If you have questions / comments on these new settings, please open a new topic and tag me @Qbort in it :slight_smile:

9 Likes

The track length calculation math and length tuning system got an overhaul to fix some long-standing issues.

Differences between reported length in the message panel and when doing length tuning should now be minimized, and pad-to-die length should work in more situations. We also now correctly discard the length of tracks inside pads. Note that for some pad shapes, you will still see very slight differences in some situations due to how we handle curved shapes, but these should be small enough to ignore.

Note that the Net Inspector dialog still reports incorrect lengths as it uses separate code for calculating lengths that hasn’t been reworked yet to match the new code.

Please raise issues if you find them!

5 Likes

For new installs (or for when you wipe out your config directory), the hotkey Ctrl+H is changed from the legacy “high contrast” toggle to the new 3-state layer display mode toggle. This will cycle through showing inactive layers normally, dimmed, and off (the old hotkey just toggled between normal and dimmed).

If you don’t erase your config, this change won’t affect you, so I encourage you to consider making this switch yourself in your hotkey preferences:

If I install 5.99 - while I have 5.1.8 installed and I haven’t added environment variables - does that count as a new install?

Yes, nowadays different major version configurations are independent. It’s possible to migrate old settings to a new installation in the first start, but you can choose to start from scratch.

But please ask questions in separate threads – this one is meant for announcements.

1 Like

We have now some estimates for the last two planned “feature freeze exception” features.

Seth posted about the python API. “We are almost there”, although I won’t try to interpret that exactly.

In another thread Qbort told that curves in polygons may be ready within a couple of weeks.

In real life we may have these available within a month or more, but even with well educated realism there’s a good chance that within some weeks, not months, we will have all features there and only bugfixing is left.

In yet another mail thread Wayne revealed that he wants v6 out within 3 months or less. That would really be something!

Of course the real schedule depends partly on bug reporting. It would probably be better to find and report all bugs at once rather than one by one over time. The more users adopt 5.99, at least for testing purposes, the better. It’s still buggy, but if someone can take a risk of some lost work hours and can recover from data loss 5.99 is soon ready for non-critical work.

Curved polygons is the last feature which affects the file format. There’s still a very small possibility for bug fixes for the file formats; othewise the nightly builds will soon be both backward and forward compatible with other nightly builds from day to day, so it should be possible to downgrade to work around some newly introduced bug.

4 Likes

Plugin manager is also feature freeze exception and I’m about 90% done with implementation, at least on kicad application side.

5 Likes

Thanks, I totally forgot that! Because this may affect people who consider trying 5.99 I have to make exception to my own rule “don’t ask questions here”. :slight_smile: Can the plugin manager affect projects in any way, or are the file changes only in application level (configuration etc.)?

When you install a library package the manager will offer to add it to global or project library, that’s the only effect it will have on a project, completely optional and undoable.

1 Like

How exactly the plugin manager plans to work:

Will it allow installation of BOM scripts and also Python libraries needed (maybe warning the user about the execution of OS installation commands)?

Will it allow Git (lab/hub) link and some official KiCad repository (that could simple point to the development repository/branch)?

1 Like

Lets not spam this thread with questions. Short answers are:

Only library and plugin type packages will be supported at first, no bom scripts, no dependency management.

You will be able to create and use your own repositories and host them anywhere including git{hub,lab}. KiCad team will be in full control of the official repository and it also will be on gitlab.

I don’t think it would be spamming this thread if I asked whether the very useful plugins like via fencing and RF tools will be supported by the new plugin scheme in 6.0. So, I am asking this question. What makes KiCAD so powerful is its ecosystem of plugins, which extend the capabilities of the basic program.

I’m not sure what you are referring to by “new plugin scheme”. There is no new scheme but there are somewhat related things:

  1. New method of distribution built into kicad app (plugin manager)
  2. New python api

For 1 it’s not question of whether plugin will support it, it’s question of someone (either plugin author or someone else) packaging the plugin according to the requirements of plugin manager. I’ll help popular plugin authors onboard their plugins at the start, assuming they want to be featured in official kicad repository.

For 2 it’s up to plugin authors to migrate their plugins to new api. It’s not clear if new api will be as full featured as the old one at this point but old one is also not going away yet. Some work may be needed to adapt plugins to v6 even if they still use old api but that’s par for the course for kicad.

@cflin the stopping issue #5678 here has been closed (and RF tools round corner seems to already work) … then it should only be a question of wait for the py api to be stabilized and get the time to align the code to v6 functions

1 Like

There’s a pending merge request which will affect python users. The most important detail is that “Python3 is required to build” (I think 3.6 will be the minimum). Python2 won’t be supported in v6. There’s no need for plugin developers to try to make scripts compatible with two different python versions. This will make the whole ecosystem cleaner and together with the upcoming plugin manager and new API will help the plugin and script community to thrive.

This is related to moving to MS Visual C++ compiler environment for the official Windows nightly builds, which made abandoning python2 possible. Mingw build environment is still usable, but it can’t support wxPython Phoenix (the UI toolkit python bindings for newer wxWidgets and python3), so some things won’t work with mingw.

OCC OpenCascade 3D model rendering engine will be used by default instead of OCE (the unmaintained “Community Edition” of OCC), Seth even said that maybe OCE should be removed as an option. This shouldn’t affect end users, but those who build KiCad may be interested. If you know a reason why OCE should be kept, please stand up.


Otherwise there are no new news about the last missing features, sorry.

3 Likes

The behavior of net highlighting has been changed in the PCB editor to be more useful, more consistent with the schematic editor, and hopefully less confusing.

  • Pressing Esc no longer clears the highlight at the same time as deselecting everything. This means you can keep a net highlighted while you do other work without accidentally clearing it.
  • You can now highlight nets and clear the highlight from the context menu (in the Net Tools section)
  • There is no longer a mode where you click a button on a toolbar and then click nets to highlight. Highlighting is now accessed via the hotkey (backtick ` by default) or context menu. The toolbar button has moved to the left toolbar and now serves to turn highlighting on and off once you have picked a net to highlight. This means you can pick a net to highlight and then use that button (or the shortcut Ctrl+` ) to toggle the highlight for that net on and off while doing other things, without having to select a different tool and re-pick the net to highlight. The button now provides visual feedback when highlighting is turned on, and a quick way to turn it off again.
  • You can now highlight more than one net at once (just select multiple net items, then use the hotkey or context menu)
  • The icons for highlight toggle and layer display mode toggle (formerly known as “high contrast mode”) have been tweaked so that they aren’t as similar anymore, since they are now next to each other on the same toolbar.
  • A new default hotkey for “Clear Highlight” is assigned (~, or Shift+` on US layout).

Yes, this is different from how it used to be. While I anticipate that this might annoy some experienced users who have gotten used to the old behavior, the old behavior was also limiting and caused some confusion to users who could not figure out how to turn highlighting off after accidentally pressing `. We think that once you get used to it, the new behavior will be more convenient and useful than the old behavior, and hopefully it will also be less confusing for new users.

For context: https://gitlab.com/kicad/code/kicad/-/issues/8250

3 Likes

When will this be available in the nightly, I 've already downloaded latest nightly 2021-05-29T08:34:52.687Z, but I could not see what you have described.

It went in today, so the next nightly

I downloaded 2021-05-30T08:06:01.267Z and it works as expected. Any way, is the behavior in the schematic editor going to be changed as well?

Python3 (>= 3.6) is now a hard requirement. Most of the KICAD_SCRIPTING_ cmake options have been removed. The advanced flag KICAD_SCRIPTING_WXPYTHON can be turned off if wxPhoenix isn’t available.

(The official build instructions haven’t been updated yet.)

1 Like