@ubruhin
January 28, 2026
I am very proud to announce the release of LibrePCB 2.0.0 today, after 10 months of hard work! The implementation of a completely new UI with modern technologies marks the beginning of a new era in the history of LibrePCB. But there are also many other improvements and new features, check out the details below.
Highlights
This section showcases only a few of the huge amount of improvements. For a complete list, refer to the full changelog below, which also contains links to the corresponding pull requests on GitHub where additional details and screenshots are provided.
New User Interface (#1494)
The most obvious change in this release is the new user interface which was built from scratch with the Slint UI framework. It looks very different to the old UI, but the main reason for this change is to improve the user experience and productivity in several ways:
-
Less windows, no more wasting time to switch between multiple windows
-
Less modal dialogs & message boxes which interrupted the workflow
-
Split windows and tabs for organizing the editors according to your needs
-
Efficient use of screen space to maximize schematic/board working areas
-
Clean & simple UI for the simple tasks, but also provide advanced controls when desired
-
Provide hints and guides to make the UI self-explaining
Basically we have replaced 5 separate, single-purpose windows by a single multi-purpose window. In that window you can have as many projects and libraries open as you like, and in every tab you can work on a different task. You can display the board next to its schematic, the 3D board viewer next to the 2D board editor, or compare the schematics of two different projects side-by-side. And on a multi-monitor setup, you can open multiple of those windows which are all equivalent in functionality.
Library Manager
The library manager and the library editor are now also integrated into this new window. The library manager has been rewritten from scratch to heavily streamline the user experience.
The sidebar now even automatically notifies you about outdated libraries, so you don’t miss library updates anymore.
PCB Ordering
The PCB ordering feature has been rewritten from scratch too and is now integrated seamlessly into the main window.
It now automatically checks the ERC and DRC and warns about outdated DRC messages before you place the order. The days are gone when we ordered faulty PCBs because we forgot to run the DRC!
Enhanced 3D Viewer
|
Please note that the new UI represents a huge step forward, and we’re excited to continue refining and extending it in upcoming releases. We have a clear vision for making the UI even more intuitive and productive, and we’re actively working toward it. We keep track of known limitations & issues of the new UI, and also about the planned short-term tasks. Your feedback is invaluable to us — if you experience any issues or have suggestions not mentioned there, please let us know. |
Schematic Buses (#1646)
On our user feedback survey, schematic buses are on rank 3 of the most requested features. Now we can remove that feature from the wish list since it has been implemented. All the basic functionlity is there, and more advanced functionality might be provided in upcoming releases. With buses it is possible to group multiple wires in one thick line, called bus, to keep the schematics clean and readable.
Images in Symbols & Schematics (#1578)
Ever wanted to add a diagram, formula, table or simply a company logo to a schematic? This is now possible — just paste any image from the clipboard into the schematic (or load it from a file) and scale/rotate it as desired. Almost every image format is supported, including SVG, PNG and JPEG.
Individual Pads in Boards (#1596)
It has always been strange that pads (whether THT or SMT) or plated slots could only be added to a board indirectly as part of footprints, i.e. through the library system — interestingly not only in LibrePCB, but also in other EDA packages.
But sometimes we need individual, specialized pads or slots in boards e.g. for mechanical purposes, where footprints make no sense. In LibrePCB 2.0 this is now possible. Just add pads or slots to the board the same way as in the footprint editor.
Advanced Design Rules (#1610, #1611, #1606, #1608)
Also noteworthy are some improvements regarding design rules. It is now possible to define the default trace width and via drill diameter in the board settings, so you don’t need to specify those properties anymore when adding traces and vias to the board. And thanks to the automatic via annular ring calculation, you never have to worry about outer via sizes anymore!
In addition, planes allow now to specify separate clearances to copper, board outlines and holes.
Predefined Design Rules & Output Jobs (#1631)
Have you ever entered all design rules according to the capabilities of a particular PCB manufacturer? Probably not, as it is very cumbersome…
With LibrePCB 2.0 it is now possible to store design rules in a library (within so-called organizations), which are then available to be applied to boards. So you can store the design rules of your PCB manufacturer in your local library, and load them into your boards later.
But the real advantage of this approach is that we can now deploy design rules through our library manager! Just install the LibrePCB Base library and you will benefit from the design rules we will add in future.
And this features goes even one step further. In addition to board design rules, it is also possible to share output jobs through this system. So instead of fiddling around with Gerber/Excellon file names in every new project, just load the predefined Gerber/Excellon settings for your PCB manufacturer in a second!
Preferred Footprint Style (#1653)
Upgrading from LibrePCB 1.x
If you’re currently using LibrePCB 1.x, please note that the manual fabrication output dialogs for Gerber/Excellon export and BOM export have been removed in favor of the more powerful output jobs. Use output jobs now to generate any production data. If you used the fabrication output dialog before, you can simply import those settings as a new Gerber/Excellon output job.
|
When you open a LibrePCB 1.x project the first time with LibrePCB 2.x, it will be automatically migrated to a new file format. After saving it, you can no longer open it with LibrePCB 1.x, so please review the project before saving. |
|
When you open a LibrePCB 1.x workspace the first time with LibrePCB 2.x, all libraries will be migrated to the new file format in the background library scan. Therefore it is expected that the first scan takes much longer than usual. |
Changelog
New User Interface:
-
Replace control panel by a new, multi-purpose window (#1504)
-
Integrate library manager into new main window (#1507)
-
Integrate library editor into new main window (#1553)
-
Integrate category editors into new main window (#1556)
-
Integrate symbol editor into new main window (#1558)
-
Integrate package editor into new main window (#1560)
-
Integrate component editor into new main window (#1562)
-
Integrate device editor into new main window (#1564)
-
Integrate schematic- & board editor into new main window (#1520)
-
Integrate Order PCB dialog into new main window (#1521)
-
Integrate About Dialog into new main window (#1505)
Library Editor:
-
Save & restore grid interval in symbols & packages (#1571)
-
Watch for file changes and reload symbols & packages (#1624)
-
Symbol editor: Support locking texts, making them read-only (#1587)
-
Package editor: Support specifying per-package copper clearance (#1616)
-
Package editor: Fix inconsistent solder paste offset calculation (#1670)
-
Component check: Warn about suspicious forced nets (#1509)
-
Fix some properties not copied when duplicating library elements (62d7e33f)
Schematic Editor:
-
Add support for schematic buses (#1646)
-
Support adding images to schematics & symbols (#1578)
-
Support pasting data from symbol editor (#1577)
-
Support snapping objects to grid (#1518)
-
Auto-place schematic frames at coordinate
(0,0)(#1519) -
Show location of selected ERC message (#1582)
-
Automatically simplify net segments (#1592)
-
Hide symbol pins not connected in the component (#1628)
-
Fix polygons not being editable by dragging (#1516)
Board Editor:
-
Support adding individual pads directly to boards (#1596)
-
Support automatic via drill from design rules or net class (#1611)
-
Support automatic via annular ring from design rules (#1606)
-
Support configuring plane clearance to board outline & holes (#1608)
-
Specify default trace width in design rules & net class (#1610)
-
Support configuring preferred footprints in boards (#1653)
-
Select whole device instead of individual pads (#1533)
-
Support displaying a background image (#1574)
-
Automatically simplify net segments (#1591)
-
Support auto-fixing DRC message about empty net segment (#1622)
-
Fix crash after trying to add invalid device to board (5acb0ce7)
Import/Export:
-
Rebuild planes before exporting data which contains copper layers (#1540)
-
Gerber/Excellon: Include plated cutouts in outlines layer (#1625)
-
Gerber/Excellon: Support importing old fabrication settings (#1583)
-
Extend Gerber X3 output job to export glue mask layers (#1585)
-
PDF/image export: Support realistic board renderings (#1570)
-
Reject writing files outside of output directory (#1576)
-
Turn BOM generator dialog into a BOM review dialog (#1579)
-
Remove fabrication output dialog in favor of output jobs (#1539)
-
Eagle import: Add support for lines with flat cap style (#1630)
-
KiCad import: Fix documented compatible KiCad version (45132fe1)
Miscellaneous:
-
Support sharing DRC settings & output jobs via libraries (#1631)
-
Automatically switch to 10x grid when zooming out (#1647)
-
Add 3D view sliders to change transparency of objects & layers (#1522)
-
Support configuring background color of 3D views (#1572)
-
Support configuring API endpoint features (#1601)
-
Always accept decimal point as separator in input fields (#1523)
-
Save file format migration log as
*.htmlin project directory (#1627) -
Add button to manually refresh list of remote libraries (#1618)
-
Cancel library scan before (un)installing libraries (#1657)
-
Provide "clear cache" option after failed libraries rescan (#1651)
-
Maximize window the very first time (#1525)
-
Fix possibly slow 3D scene rebuild (#1623)
-
Fix conflicting keyboard shortcuts on some keyboard layouts (#1642)
-
Fix non-canonical file format of trace & netline anchors (#1590)
-
Fix detection of cohesive net segments (#1589)
-
Fix crash when modifying keyboard shortcuts (#1645)
Building/Packaging/Deployment:
-
Set up code signing of Windows executables & installer (#1549, #1557)
-
Set up automated, signed Apple Silicon builds/releases (#1528, #1675)
-
Make macOS Intel releases compatible down to 10.14 (#1604)
-
Build AppImage with
linuxdeployinstead oflinuxdeployqt(#1502) -
Replace non-reproducible build date by Git commit date (#1550)
-
Generate
*.qmtranslation files into source dir (345d85e9) -
Show in-app notification if runtime resources are missing (#1635)
-
Remove QtQuick test window & dependency (#1499)
-
Remove Qt5 compat module from requirements (d98d461f)
Internal:
-
Prepare file format for overriding minimum DRC settings in net classes (#1613)
-
Prepare file format for disabling glue mask of individual devices (#1588)
-
Prepare file format for locked footprint texts (#1632)
-
Prepare file format for optional device pad connections (#1656)
-
Introduce
settings.user.lpfor projects & schematics (#1617) -
Rename DRC approval keys
useless_viaandantennae_via(#1586) -
Ignore stale schematics/boards during file format upgrade (#1612)
-
Reject file access outside of transactional file system (#1575)
-
Update dependencies
muparser,type_safe,googletest&corrosion(#1506, 516a5c7a, 5f139a07) -
Update bundled fonts (180a41c0)
-
Fix wrong usages of
qBound()(78922cfc) -
Fix copy constructors of
packageckeckmessages.h(3dddf288) -
Fix interactive HTML BOM export panic in debug builds (9e1053f6)
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.
Starting with this release, our executables for Windows and MacOS (ARM64) are signed by OSSign, thanks a lot for their sponsored code-signing.
Also a big thank you to our sponsors and to the community helping us with translations, pull requests, donations and other contributions! 🎉
External code contributors of this release: @z3ugma, @web-coder-of-rpi
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
January 13, 2026
I’m very excited to announce that LibrePCB 2.0 is feature-complete and that a first release candidate is available for download!
About This Release Candidate
LibrePCB 2.0 contains a huge amount of changes compared to the previous release. Even though we give our best to keep the quality high and do lots of testing, such large changes always come with the risk of bugs. Thus, we first provide a release candidate prior to the official stable release.
Note that while we do not expect that any serious problems occur with your projects when using this release candidate, it’s still a good idea to create a backup first (e.g. by using a version control system).
If you experience any issues with this release candidate, please let us know (e.g. a quick notification in our Matrix chat) so we can fix them in the final release! A list of known limitations / issues is available here.
|
When you open a LibrePCB 1.x workspace the first time with LibrePCB 2.x, all libraries will be migrated to the new file format in the background library scan. Therefore it is expected that the first scan takes much more time than usual. |
Major Changes
The most exciting change of LibrePCB 2.0 is of course the completely new, tabbed, split-view, single-window user interface (#1494) as introduced in this blog post:
But of course this release comes with many more new features and improvements. A full changelog and some impressions will be provided in the final release announcement, so here’s just a short list of the most interesting new features (check out the links to the pull requests for more details):
-
Add support for schematic buses (#1646)
-
Support adding images to symbols & schematics (#1578)
-
Support adding individual pads directly to boards (#1596)
-
Support automatic via drill & annular rings from design rules (#1606, #1611)
-
Support sharing DRC settings & output jobs through libraries (#1631)
-
Signed Windows releases & compatibility with macOS 10.14 (#1604, #1557)
-
And many more!
Next Steps
We expect the final release to be available soon, probably around the end of January. Meanwhile, we will work on migrating our official libraries to the new file format, extending our fabrication service to support LibrePCB 2.x projects, and updating the documentation accordingly.
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.
Starting with this release, our executables for Windows are signed by OSSign, thanks a lot for their sponsored code-signing.
Also a big thank you to our sponsors and to the community helping us with translations, pull requests, donations and other contributions! 🎉
Download
Since this is not a stable release yet, use the download links from the sidebar on our download page.
If you like LibrePCB, please consider making a small
donation to support the
ongoing development.
Thank you!
@ubruhin
December 25, 2025
I’m happy to announce that we will have a talk to present LibrePCB 2.0 at the next FOSDEM in Brussels!
As the LibrePCB 2.0 release will be ready soon, it will be the main topic of my presentation. But I’ll also give a short update about the project itself (e.g. funding) and some insights into the development. And as usual, we will have a few minutes for a Q&A session. So if you’re curious about the progress of LibrePCB, feel free to join the conference — either in person or via live stream.
-
Track: Open Hardware and CAD/CAM
-
Where: H.1309 (Van Rijn), ULB Solbosch Campus, Brussels, Belgium
-
When: February 1st 2026, 12:00 CET (UTC+1)
I’m looking forward to meet you at FOSDEM 26!
@ubruhin
September 12, 2025
@ubruhin
August 5, 2025
The past 3 years were very exciting for me and the LibrePCB project, completely different to the previous 10 years of the project’s existence. With this blog post I’d like to give you some insights about my "new" everyday life.
@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!
@ubruhin
March 24, 2025
@ubruhin
December 1, 2024
October 17, 2024
August 23, 2024
August 8, 2024
April 3, 2024
December 30, 2023
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