@ubruhin
May 20, 2025

In the past few months our libraries got some nice contributions and also I created more than 70 important library elements and 285 3D models by myself to provide you more ready-to-use components and devices: screw terminals, push buttons, mounting holes and more!

Changes

The rather incomplete libraries are a major criticism of LibrePCB, which also shows our user feedback survey where this is at rank one of things to be improved (but we would also assume it without the survey). In the past few months I have worked a lot on creating more of the important library elements to improve that situation. Also we got some contributions from the community which are now part of our official libraries.

Here’s an overview of the library elements which were added between November 2024 and April 2025:

Behind the Scenes

Many of the new library elements were somehow repetitive (screw terminals, capacitors, mounting holes etc.), therefore I extended librepcb-parts-generator with new scripts to generate a large percentage of them.

These scripts also use CadQuery to generate STEP models, thus almost all of the new packages come with 3D models out of the box! In addition, all new devices come with MPNs so you will get an accurate BOM for your project without entering MPNs manually.

What’s Next?

After these library additions, I’m now priorizing the development of LibrePCB 2.0 where I’m making pretty good progress. But I have already planned to make more library contributions later with a focus on modules & devkits (like Arduino, ESP32 etc.) since those things are used in many projects nowadays.

I’m open to receive suggestions about which modules to be added, please tell us in our discussion forum or in our chat!

And don’t forget to update your workspace libraries to get all the new library improvements! Some of the libraries are even entirely new so you might want to install them too.


Credits

Most of these updates were part of the NGI0 Commons grant we receive from NLnet, thanks a lot for their support!


@ubruhin
March 24, 2025

Today we released LibrePCB 1.3.0 with an interactive HTML BOM export, several bugfixes and more! See the full changelog below.

Highlights

Note that this is mainly a bugfix release and most features currently in development will land in the LibrePCB 2.0 release which still takes some time. Nevertheless there are some noteworthy changes in this release.

Interactive HTML BOM (#1485)

Printing out the assembly plan and the BOM for manual PCB assembly and marking the assembled parts line by line is no longer required thanks to a new output job. Instead of a PDF, you’ll get the assembly plan as a HTML file which is interactive — you can sort, filter, search or mark parts as assembled using a web browser. Instead of a paper sheet, you could use your laptop or tablet on your desk while assembling the PCB step by step.

The HTML/CSS/JS core of this feature is from the existing Ineractive HTML BOM project, already well known as a KiCad plugin. In LibrePCB, this is now a built-in feature!

KiCad v9 Compatibility (#1492)

As KiCad v9 was released with some changes in its library file format, we updated our KiCad library importer to support that new file format. Of course older file formats are still supported, and actually their compatibility was even improved too in this release.

Initial Usage of Rust (#1477)

Though not directly relevant for our users, this change is still noteworthy as it highly affects the development of LibrePCB. After more than 10 years of implementing LibrePCB entirely in C++, this release contains the very first code written in the Rust programming language.

The reasoning behind this is explained in the blog post NGI0 Grant for LibrePCB 2.0. While this is not directly visible in the LibrePCB application, users still profit indirectly from potentially higher stability and faster development.

In this release, there are two software modules implemented in Rust: The interactive HTML BOM generator mentioned above, and the library for reading and writing ZIP files.


Changelog

Board Editor:

  • Fix rejecting adding planes if project has no nets (#1493)

  • Fix wrong hyperlink in "Unplaced Components" dock (8b0f59c8)

DRC:

  • Report vias as useless if connected on less than 2 layers (#1487)

Import/Export:

  • Output jobs: Add interactive HTML BOM output job (#1485)

  • KiCad library import: Add compatibility with KiCad v9 & Ultra Librarian (#1492)

  • STEP export: Fix possible error with arcs in board outline (#1484)

Miscellaneous:

  • Fix missing crosshairs in some editor tools (#1490)

  • Fix some list view text colors for dark theme (#1491)

  • Fix accessing dangling reference in net segment splitters (#1478)

Building/Packaging/Deployment:

  • Drop support for Qt5 (#1470)

  • Switch to C++20, replacing tl::optional by std::optional (#1471)

  • Add initial integration of Rust (#1477)

  • Replace QuaZip library with Rust crate zip (#1482)

  • Fix compiler flags for muparser & kicadimport (#1472)

  • Fix OpenSSL deployment in binary Linux releases (#1495)


Credits

This release was part of the NGI0 Commons grant we receive from NLnet, which was a huge help for us to get this work done. We are very thankful for their support.

Also a big thank you to our sponsors and to the community helping us with translations, pull requests, donations and other contributions! 🎉

Code contributors of this release: @ubruhin, @connorslade


Download

The release can be downloaded for all major operating systems from our download page.

If you like LibrePCB, please consider making a small donation to support the ongoing development.
Thank you!


@ubruhin
December 1, 2024

I’m happy to announce that LibrePCB 1.2.0 has been released today! Beside various general improvements and bugfixes, it contains a lot of new powerful features to increase productivity. See the highlights & full changelog below.

Highlights

KiCad Library Import (#1468)

It’s not a secret that KiCad is the most popular EDA tool in the open-hardware community, and therefore many LibrePCB users worked with KiCad before. To help them getting started with LibrePCB, we implemented an importer for KiCad libraries so those already created library elements don’t need to be created again with LibrePCB.

In addition, even non-KiCad users could use this feature to import library elements from publicly available KiCad libraries instead of creating them manually. Thanks to the large KiCad community, there are a lot of such libraries! 😀

Due to the complexity of such imports, there are some limitations and the quality of the output never matches manually created elements. Please check out the details and usage recommendations here.

Datasheet Overlay for Footprints (#1450)

Drawing footprints can be error-prone — one wrong X- or Y coordinate of a pad and the package might not be solderable. To review your footprints more easily, the footprint editor allows you to set the package drawing from a datasheet as background image, so you’ll immediately see if any pad of polygon is off.

The image can either be directly captured as a screenshot, pasted from the clipboard, or loaded from a file:

Open Datasheets From Schematic (#1460)

Circuit design means reading datasheets a lot. For most parts more complex than a resistor or capacitor, you need to read its datasheet or other documentation.

Therefore the library editor now allows you to add datasheet URLs to components and devices. Those will then be available in the context menu in the schematic editor for easy access. In addition, parts which have an MPN & manufacturer specified also offer a Search datasheet menu item which will look for a datasheet in the Internet.

Whenever possible, datasheets are downloaded and opened with the local PDF reader. They are cached to keep them available without accessing the Internet again.

Specctra DSN Export / SES Import (#1457)

From time to time people ask whether LibrePCB contains an autorouter. Though there are different opinions about whether autorouters are useful or not, and even though LibrePCB still doesn’t have one built-in, luckily you can now use an external autorouter like Freerouting for LibrePCB boards!

This is possible by supporting the Specctra DSN/SES exchange format, which also allows routing a LibrePCB board manually with an external tool to circumvent the still rudimentary integrated trace routing tools.

Productivity Improvements

In addition to the already mentioned features, there have been several more noteworthy features implemented which increase productivity a lot:

  • Mass import symbol pins from datasheets (#1431)

  • Move & align multiple footprint objects at once (#1432)

  • Interactively re-number pads of a footprint (#1433)

  • Copy properties from one footprint object to other objects (#1412)

  • Much faster DRC & plane rebuilding (#1459)

For instructions how to use these new features, please check out the corresponding links which provide short videos. It’s really worth getting to know those features!

Dark Theme on Windows (#1391)

Thanks to a contribution from mi4code, LibrePCB on Windows now automatically uses a dark theme if Windows itself is set to a dark theme. Also for macOS and Linux (which already supported dark theme) there are some dark theme improvements and fixes.

Important Deployment Changes

Please note that for this release we had to make some changes to our deployment:

Windows 7/8/32-bit

From this release on, only 64-bit Windows 10 or later are supported. Windows 7 & 8 and all 32-bit Windows versions are not supported anymore. See LibrePCB 1.1.0 release notes for details. Note that when building LibrePCB from sources, these limitations do not exist (yet).

Windows Installer

We migrated to a new Windows installer framework, which now supports offline- and unattended installations. If you had LibrePCB installed with the old online installer, the new installer should automatically ask you to uninstall the old version.

MacOS

Our official releases now require macOS 13 or later to run. Older macOS versions are still supported if you build LibrePCB from sources.

CLI

Note that the macOS bundle and the Linux AppImage of the LibrePCB application now also contain the CLI, thus there’s no longer a separate CLI bundle provided.


Changelog

Library Editor:

  • Implement KiCad library import (#1468)

  • Symbol editor: Support mass import of pins through clipboard (#1431)

  • Package editor: Support displaying datasheet image overlay (#1450)

  • Package editor: Add tool to move & align objects (#1432)

  • Package editor: Add tool to interactively re-number pads (#1433)

  • Package editor: Support copying properties to other objects (#1412)

  • Package editor: Support uppercase STEP file suffixes (#1422)

  • Package check: Warn about thin silkscreen lines (#1415)

  • Component editor: Automatically set gate suffixes (#1464)

  • Component editor: Fix conflicting component signal names (#1463)

  • Component check: Warn about missing pin-signal connections (#1466)

  • Symbol/package check: Warn about non-centered symbols/packages (#1467)

  • Eagle import: Fix unreadable log messages with dark theme (#1451)

Schematic Editor:

  • Ask for swapping component names when renaming (#1411)

  • Support adding components with multiline value (#1430)

  • Fix random component name order after paste (#1423)

Board Editor:

  • Display component signal names in pads (#1465)

  • Link "no device or package found" message to FAQ (#1421)

  • Fix DRC settings not copied when copying whole board (7b997c53)

  • Fix swapped DRC settings for NPTH/PTH slots (167214c1)

DRC:

  • Fix false-positive board<→copper clearance errors (#1442)

Import/Export:

  • Implement Specctra DSN export / SES import (#1457)

  • STEP export: Include all PCB outlines, if multiple (#1392)

  • STEP export: Fix possibly wrong placement of devices (#1401)

Miscellaneous:

  • Implement automatic dark theme for Windows (#1391)

  • Support specifying & opening datasheets in editors (#1460)

  • Refactor & speed up plane rebuilds & DRC with multithreading (#1459)

  • Delete old temporary files at application startup (#1452)

  • Qt6: Fix temporarily closing windows when opening 3D viewer (#1381)

  • Windows: Fix encoding issues in auto-detected full user name (#1382)

  • Fix possibly wrong language of theme color names (#1389)

  • Fix colors of BOM/PnP table rows with dark theme (#1407)

  • Fix zero-length traces/lines not being rendered (#1441)

  • Fix deserialization of pressfit pads (#1444)

  • Fix OpenGL 3D viewers for Qt > 6.6 (#1469)

  • Fix possibly laggy UI when worker threads are running (#1408)

  • Replace pick&place icon from Icons8 (#1395)

Building/Packaging/Deployment:

  • MacOS: Ship the CLI in the same bundle as the GUI app (#1378)

  • MacOS: Build binaries with macOS 13 (#1438)

  • Linux: Ship the CLI in the same AppImage as the GUI app (#1380)

  • Use Qt6 by default & remove Qt5 CI jobs (#1377)

  • Drop support for Qt < 5.12 and CMake < 3.16 (#1385)

  • Snap/Flatpak: Fix opening keyboard shortcuts PDF (#1383)

  • Fix compile error in libs/optional with Clang 19.x (#1456)

  • Windows: Fix compile error caused by OpenGL headers (058ccaf8)

  • Fix license identifier in AppStream Metainfo XML (#1384)

  • Update REUSE copyright metadata (#1404)


Credits

This release was part of the NGI0 Commons grant we receive from NLnet, which was a huge help for us to get this work done. We are very thankful for their support.

Also a big thank you to our sponsors and to the community helping us with translations, pull requests, donations and other contributions! 🎉


Download

The release can be downloaded for all major operating systems from our download page.

If you like LibrePCB, please consider making a small donation to support the ongoing development.
Thank you!


@ubruhin
October 17, 2024

Today I am very proud to announce that the LibrePCB project receives support from the NGI0 Commons Fund to develop LibrePCB 2.0. This allows us to implement a lot of exciting features and improvements, see details below. About the NGI0 Commons Fund NGI0 Commons is a fund established by NLnet with financial support from the European Commission’s Next Generation Internet programme, and additional funding by the Swiss State Secretariat for Education, Research and Innovation (SERI). Read more...

@ubruhin
August 23, 2024

The Next Generation Internet (NGI) funding through the NLnet Foundation had a substantial impact on the development of LibrePCB 1.x. Without this grant, LibrePCB would not be where it is today — and many other free software projects too. However, it seems the European Commission plans to stop this funding in 2025, which would be very bad news for the whole free and open-source ecosystem. With this post we are signing the following open letter to the European Commission, as started by Les Petites Singularités, to express the importance of the NGI funding for FOSS projects like LibrePCB. Read more...

@ubruhin
August 8, 2024

Today I’m happy to announce our new manufacturing partnership with NextPCB, a large PCB manufacturer from China! About NextPCB NextPCB provides PCB manufacturing and assembly services with a lot of capabilities (e.g. materials, colors, surface finish, panelization, …​) for a competitive price. See details at their capabilities sheet. In addition, they provide a free Design For Manufacturing (DFM) tool for Windows to analyze your PCB design for various manufacturing issues. Read more...

@ubruhin
April 3, 2024

I’m happy to announce LibrePCB 1.1.0 which was released today! Once again there are some exciting new features, check out the details below. Highlights Live Parts Information (#1313) Who didn’t already finish a PCB project and then — while ordering the parts — realized that several parts in the schematic are obsolete, not in stock or unexpectedly expensive? This is annoying and wastes time for evaluating new parts and adjusting the PCB layout again. Read more...

@ubruhin
December 30, 2023

I’m happy to announce that once again there will be a LibrePCB talk at the next FOSDEM, which takes place in February 2024! After the Open Hardware devroom did not exist at the last FOSDEM in 2023, luckily this devroom will be back at FOSDEM 2024 where I’ll give a status update about the LibrePCB project. So if you’re curious about the progress of LibrePCB (also behind the scenes), feel free to join the conference — either in person or via live stream. Read more...

September 24, 2023

August 21, 2023

May 15, 2023

April 13, 2023

October 3, 2022

September 8, 2022

January 28, 2022

November 2, 2021

October 4, 2020

May 3, 2020

January 3, 2020

November 30, 2019

July 14, 2019

April 21, 2019

March 20, 2019

December 3, 2018

November 25, 2018

November 4, 2018

October 21, 2018

September 15, 2018

April 21, 2018

January 2, 2018

October 30, 2017

September 13, 2017