@ubruhin
May 19, 2026
Today we released LibrePCB 2.1.0, bringing cross-probing, UI themes, 3D shading, a new project library manager, automatic library updates, and many more improvements! Check out the highlights and the full changelog below.
Highlights
Cross-Probing & Net Highlighting (#1748, #1790)
LibrePCB now supports automatic, bidirectional cross-probing between schematics and boards. Whenever you select components, nets, pins or pads in one editor, the corresponding objects are highlighted in the other one, while unrelated objects are dimmed out. In addition, it is now possible to search for nets in schematics and boards — using the same dimming for unrelated objects — making it even easier to inspect and navigate complex designs!
Themes & Color Schemes (#1731, #1760)
As LibrePCB 2.0 was the first release with our new UI framework Slint, we had to focus on implementing all the basic functionality and thus keeping the UI simple. Therefore we made the decision to initially provide only a dark theme (which was not even a very nice one). Now we finally invested more time into the UI theming, resulting in an improved dark theme and a new light theme. The theme is automatically chosen according to your system theme, but of course you can manually override it in the workspace settings.
The colors of 2D canvases (i.e. schematics, boards etc.) remain independent of the UI theme to allow configuring them individually. However, the configuration of those colors has been reworked as well and now comes with several built-in color schemes. For example the dark theme experience can now be improved by simply choosing a dark schematic color scheme. In addition, it is now much easier to create custom color schemes since any color modifications are instantly applied to the opened editors.
2D Board Flip & 3D Shading (#1709, #1764)
The board editor now allows flipping the 2D canvas upside-down to view the board from the bottom instead of "looking through" the board from the top. This simplifies routing the bottom board side and avoids accidentally grabbing objects on the top layer since not only the rendering is inverted, but also the "hit test" on a click — when viewing the board from the bottom, objects on the bottom layer are stacked above objects on the top layer.
Another enhancement regarding visualization is the 3D viewer, which now applies shading to the surface of the PCB and the 3D models. A small change, but still very useful since it finally makes edges and holes of 3D models visible and generally leads to a much more realistic rendering.
Project Library Manager (#1788)
This release introduces a new Project Library Manager to give you a clearer overview of the library elements bundled in a project. It lists all bundled elements, shows which workspace library they come from, and compares their bundled and latest versions.
If library elements are not found in any workspace library, you can now save them from the project directly into a workspace library. This is especially useful for projects you received from someone else or migrated from EAGLE.
The old Project Library Updater is still used to update the project library elements, but the goal is to also integrate this functionality into the new library manager in a future release.
Device Editor Improvements (#1780, #1768, #1769, #1772)
The device editor gained some new features to increase productivity:
-
The dependent package and component can be clicked to open them in a new tab
-
The pinout is now visualized in the component preview, simplifying its review
-
The previews can be zoomed & panned to inspect them in detail
-
A measure tool allows you to verify whether the selected package really has the desired dimensions
Add Planes at Lightning Speed (#1745)
Another small but useful productivity improvement has been implemented for the board editor. Adding copper planes is a very common task, while usually they span just the whole board, thus it seems unnecessary to draw their outline manually. For this typical case, planes can therefore now be added with a single click — which also automatically selects the next lower layer, so you can just continue clicking for each layer. After reaching the bottom layer, the tool exits automatically.
Automatic Library Updates (#1776)
|
This feature can be configured in the workspace settings. You can choose any of Disable Completely, Check Only (LibrePCB 2.0 behavior), Check & Notify (Popup), and Check & Install. |
Changelog
Schematic & Board Editor:
-
Implement automatic cross-probing between schematic & board (#1748)
-
Implement project library manager (#1788)
-
Support searching for nets in schematics & boards (#1790)
-
Support flipping 2D board view to bottom side (#1709)
-
Show properties of selected components, devices, pads etc. (#1743)
-
Support drawing arcs in board polygon/zone tools (#1770)
-
Support auto-adding planes to boards (#1745)
-
Support placing remaining component gates (#1791)
-
Indicate forced net name mismatches in schematics (#1754)
-
Add DRC check for board outline intersections (#1811)
-
Support 'F' shortcut to flip layer while drawing trace (#1808)
-
Hide unnecessary information in component properties dialog (#1753)
-
Draw symbol crosses only when selected (#1736)
-
Fix missing "save?" message box in project library updater (#1724)
-
Fix outdated ERC messages count in sidebar (#1734)
-
Fix missing Ctrl+Shift+L shortcut in schematic editor (72650b08)
Library Editor:
-
Require explicit unlock to make breaking changes in library elements (#1777)
-
Device editor: Support measure tool in package preview (#1780)
-
Device editor: Visualize pinout in the component/package previews (#1769)
-
Device editor: Support opening dependent component & package (#1772)
-
Device editor: Support zoom & pan in component/package previews (#1768)
-
Symbol/package editors: Snap cursor to existing vertices (#1752)
-
Package editor: Explicitly make newly added 3D models visible (#1730)
-
Category check: Warn about invalid parent category (#1738)
-
Fix unreliable keyboard shortcuts in library editor tabs (#1766)
-
Fix approvals not updated after symbol/package reload (#1706)
-
Fix crash in library tab due to categories with endless recursion (#1737)
User Interface:
-
Rework/improve dark theme & add light theme (#1731)
-
Add dark color schemes for schematic editor & 3D views (#1760)
-
Implement shading in 3D views (#1764)
-
Support moving tabs to other windows through context menu (#1746)
-
When closing/moving tabs, switch back to previous tab (#1747)
-
When closing a library tab, ask for saving modifications (#1774)
-
Automatically close library when closing its last tab (#1775)
-
Memorize & restore side panel page on tab switch (#1810)
-
Support resizing side panel (#1783)
-
Accept user input "mil" as unit "mils" (#1716)
-
Keep auto-fit in 2D views active until manual zoom/pan (#1773)
-
Limit zoom in 2D canvas to a reasonable range (#1704)
-
Support rotating 3D views with keyboard shortcuts (51020bb0)
-
Swap buttons for new symbol / new package in library tab (1bdd2443)
-
Do not auto-correct invalid pad/via drill/size properties (#1717)
-
Fix schematic/board tab titles not matching documents panel items (60067cc1)
-
Fix unintentionally focusing search field (f8e3d319)
-
Fix focus issue after closing a modal dialog (#1800)
Miscellaneous:
-
Automatically update remote libraries (4 configurable modes) (#1776)
-
Support loading semi-transparent STEP models (#1755)
-
Support changing opacity of 2D background image (#1708)
-
Trim whitespace around empty attribute substitutions (#1807)
-
Make default grid style configuration independent of themes (#1757)
-
Split themes configuration into 3 separate color schemes (#1758)
-
Apply color scheme modifications immediately (live preview) (#1749)
-
Support switching application language at runtime (#1721)
-
Do not change locale settings when switching language (#1723)
-
List system locale in "About LibrePCB" details (#1733)
-
FreeBSD: Use
sysctl()to determine process name for file locks (#1806) -
Add workaround for problems with libfreetype 2.14 (#1799)
-
Fix custom keyboard shortcuts not working (95758687)
-
Fix offset when pasting objects from other tabs (#1735)
Building/Packaging/Deployment:
-
Update
parseagleto get rid ofQtXMLdependency (#1763) -
Linux: Support disabling desktop integration by environment variable (8a92ff80)
-
AppImage: Update releases to Qt 6.11.1 (#1792)
-
AppImage: Fix system theme detection & native file dialogs (#1778)
-
MacOS: Update x86_64 releases to Qt 6.5.8 (#1787)
-
MacOS: Set up code signing for x86_64 releases (OSSign/#6)
-
OpenBSD: Fix linking error of
librepcbandlibrepcb-cli(#1702) -
Fix build error with OCCT 8.0.0 (#1804)
-
Fix outdated requirements & installation instructions (830054f4)
Internal:
-
Implement low-level math functions in Rust with
libm(#1739) -
Implement
Length,Angle,Point,VertexandVertexVecin Rust (ff168c01, e9d1a5e2) -
Add Rust unit tests to reach 100% coverage & enforce it on CI (#1771)
-
Set up and enforce static C++ code analysis with
clang-tidyon CI (#1785) -
Enforce strict coding style & spell check on CI (#1719, #1784)
-
Support using rust-core without FFI in external projects (#1713)
-
Refactor schematic text rendering without using
QStaticText(#1765) -
Migrate all remaining CI jobs from Azure Pipelines to GitHub Actions (#1786)
Credits
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: @Girish4489, @stoeckmann, @benoit-canet, @melak
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
February 22, 2026
Today we released LibrePCB 2.0.1, which brings a few small improvements (e.g. better HiDPI screen support) and various bugfixes. See the full changelog below.
Changelog
Library Editor:
-
Fix error when creating new library with long name (#1685)
Miscellaneous:
-
Auto-open board when opening a project (#1683)
-
Display properties of selected schematic- & board objects (#1698)
-
Show grid interval keyboard shortcut in tooltip (c88603f4)
-
Slightly improve color contrast of Qt checkboxes (7abcbc28)
-
Fix dropdowns opening outside of screen (#1694)
-
Fix blurry icons & graphics for HiDPI scale factor > 100% (#1691)
-
Fix keyboard modifiers not working in graphics views (#1692)
-
Fix sensitive detection of touchpad scroll direction (#1695)
-
Fix flaky global cursor position transform in editors (#1689)
-
Fix mouse cursor flickering (6dff7cfa)
-
MacOS: Fix loosing focus after adding component to schematic (#1687)
Credits
External code contributors of this release: @megabyte6
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 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!
@ubruhin
December 25, 2025
@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!
March 24, 2025
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