This topic will be used to announce new features and other significant development updates during the KiCad 10 development cycle. KiCad 10 is expected to be released around February, 2026.
This topic is only for announcements. Please start new topics to discuss new features.
Daniel Treffenstädt has contributed support for IPC-4761 via protection features (filling, capping, etc in addition to tenting), which can be specified on a per-via basis and are included in drill file, IPC-2581, and ODB++ outputs.
You can now create “Local” power symbols. Whereas normal power symbols (hereafter “global power” symbols) will create a global label with the symbol value, local power symbols will create a local label.
Local power symbols also show a distinct “place marker” next to their value, allowing you to see that the power symbol has scope of only the current sheet.
Component Classes can now be dynamically assigned in the PCB editor. Matching conditions can be created from any combination of:
Reference
Footprint library name
Orientation
Board side
Footprint field contents
Source symbol schematic sheet name
Custom DRC expression
A few pointers as there isn’t yet documentation:
Text fields (matching references, footprint library names, and fields) accept * and ? wildcards, for matching any number of characters, or matching one character respectively.
The References condition accepts a comma-delimited list of references (including wildcards) to match.
A list of references can be imported automatically from the currently selected footprints on the board by clicking on the cog icon in the References condition panel.
Footprints matching a set of assignment conditions can be previewed (highlighted) by clicking the net highlight button at the top right of each assignment (this is a temporary icon).
Dynamic component class assignments are configured in the Board Setup dialog:
Support for jumper symbols and footprints has been added. There are two ways to define jumper symbols/footprints: you can enable an option that will mark pins/pads with the same number as being internally connected, or you can explicitly define groups of pins/pads that should be considered internally connected. Jumpered pins/pads will always have the same net.