KiCad 9.0.3 Release

The KiCad project is proud to announce the version 9.0.3 bug fix release. The 9.0.3 stable version contains critical bug fixes and other minor improvements since the previous release.

A list of all of the fixed issues since the 9.0.3 release can be found on the KiCad 9.0.3 milestone page. This release contains several critical bug fixes so please consider upgrading as soon as possible.

Version 9.0.3 is made from the 9.0 branch with some cherry picked changes from the development branch.

Packages for Windows, macOS, and Linux are available or will be in the very near future. See the KiCad download page for guidance.

Thank you to all developers, packagers, librarians, document writers, translators, and everyone else who helped make this release possible.

Changelog

General

Schematic Editor

  • Support URLs in symbol chooser information panel. #20811

  • Set single units symbols correctly when importing Altium schematics. #20663

  • Show nets in net navigator panel after enabling for first time. #20648

  • Fix broken select connection (Ctrl-4) behavior. #19790

  • Test for hierarchical labels in root sheet when running ERC. #20810

  • Update search dialog. #12156 and #17102

  • Allow multiple label input for bulk assignment of net labels. #10950

  • Add ability to quickly move through nets in net navigator. #10911

  • Fix hidden fields remain visible after search and cannot be hidden again. #20865

  • Make directive label text color behave like other labels.

  • Prevent table and rule areas from being swapped in schematic file after save. #20918

  • Fix crash opening schematic with missing library symbol. #20986

  • Fix crash running "Increment Annotations From…​" tool. #20948

  • Add automatic completion for operating point ":power". 20984

  • Fix crash when defining nonsensical operating point labels. #20990

  • Print correct units in power operating point. #20982

  • Fix text disappearing in value field properties dialog. #14379

  • Prevent assertion when deleting field row from schematic sheet properties dialog. #20747

  • Add field options for "Update PCB from Schematic". #21021

  • Read Altium’s "showName" property for fields. #20985

  • Improve Altium import performance.

  • Treat stacked pins as a single item in 4-way connection test. #20532

  • Honor escape key policy for sheet pin synchronization dialog.

  • Unable to load schematic created with previous KiCad version containing | character in string. #21065

  • Fix crash when trying to edit a non symbol field using U,V or F hot key. #21072

  • Fix Eagle import schematic description for page names regression. #20957

  • Fix overly aggressive label auto-completion capitalization. #20943

  • Fix broken symbol chooser filtering for more than one filter expression. #21220

  • Make sure initial focus of label properties dialog is the text input.

  • Make enter key close label properties dialog instead of opening the drop down list. #21258

Spice Simulator

  • Prevent crash on failure to load ngspice’s DLL. #20695

  • Fix reversed resistor simulation pins. #20590

  • Fix crash when back spacing in simulator user-defined signal name. #20991

  • Correctly netlist AM/SFFM current sources. #20994

Symbol Editor

  • Fix incorrect size of the pin properties dialog when an information bar is shown. #16761

Board Editor

  • Fix errors in intersecting zones test. #20718

  • Restore groups after undoing global deletion. #20699

  • Save padstack shape and layer changes to pad in footprint editor. #20567

  • Do not ignore differential pair gap min/max DRC rules. #19825

  • Correctly honor minimum width project settings and DRC. #20361

  • Do not trigger footprint does not match library errors when footprint has rule area on inner layers. #20552

  • Fix footprint does not match copy in library issue. #20063

  • Correctly show hole to hole clearance highlight when dragging vias. #20547

  • Properly handle arc coupled items. #20636

  • Prevent overriding existing track width. #20031

  • Fix DRC freeze on creepage test. #20947

  • Fix tuning pattern generators not being arrayed properly. #20617

  • Re-implement wildcard matches for netclass constituents in DRC evaluation. #20955

  • Fix false DRC error regarding clearance violation between zone and bezier curve, #20312

  • Re-implement wildcard matches for netclass constituents in DRC evaluation. #20955

  • Don’t bypass empty visibility recovery due to migration.

  • Fix router issue Length where tuning path not is always computed through vias. #20379

  • Fix router via placing issue. #20999

  • DRC net class and component class match improvements.

  • Fix incorrect text box properties dialog bitmap button sizes. #21050

  • Fix crash when loading footprints with bezier curves.

  • Pad set to "all copper layers" not present on all copper layers when editing pad properties. #20980

  • Fix crash when changing the clearance of multiple zones to 0. #21081

  • Fix small segment rendering. #21083

  • Restore ability for moves to be asynchronous. #21047

  • Fix crash when placing footprints when grid list is empty. #21060

  • Fix position of rectangles after a rotate command.

  • Flip Y axis when exporting to Hyperlynx file. #18581

  • Ensure any mapped layers are enabled when importing from Eagle. #21138

  • Allow parsing empty footprint fields when parsing net list. #20002

  • Prevent router from automatically deleting trace segments. #21019

  • Allow measurement tool to be dismissed under certain conditions. #21016

  • Prevent differential router from changing trace width of routed segments once partial segments are connected. #21078

  • Fix EasyEDA issue when importing board with consecutive arc parameter sets. #21238

Footprint Editor

  • Add prettifier support when exporting a footprint. #21071

  • Correctly open footprint datasheet URLs from menu and toolbar. #21149

3D Viewer

  • Do not allow changing to anything in the board shared by the footprint editor. #20964

  • Fix broken visibility settings when opening from footprint editor. #21053

Job Sets

API

  • Use action wrapper for setting grid origin. kicad-python#47

  • Add symbol path for footprint instances. #kicad-python#37

  • Add FlashLayer() equivalent for pads, #20587

  • Use net names, not codes, and allow creating new nets. #21027

  • Prevent creating invalid arcs. #21035



See Also

KiCad Version 9.0.3 Release Candidate 1 Available
2025-07-03

The first release candidate for version 9.0.3 is available for testing. Version 9.0.3 will be released soon unless critical issues are found in testing this release candidate. There may be additional bug fixes to the 9.0 series available as testing builds for users who require those bugs fixed after 9.0.3 is released. You can obtain the release candidate for your platform here: Windows x86_64 Windows arm64 macOS Ubuntu: Using the 9.

KiCad 9.0.2 Release
2025-05-07

The KiCad project is proud to announce the version 9.0.2 bug fix release. The 9.0.2 stable version contains critical bug fixes and other minor improvements since the previous release.