LibrePCB 1.1.0 Released

Blog Subscribe

@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.

Luckily with LibrePCB 1.1.0 you now see much earlier in the design phase which parts are good to use! When adding new parts to a schematic, you’ll immediately see their lifecycle status, availability, price and more:

In addition, the BOM export dialog gives you an overview about the status of all parts used in the project and even shows you their total price:

Since such information can change quickly, it is not stored in our libraries but requested through our online API on demand. The actual data about parts is kindly sponsored by Partstack — without their support, it would not be possible for us to provide this feature.

In case you worry about this new internet-based feature: We take privacy very seriously and absolutely no personal data (e.g. IP address) will be forwarded to any third-party (not even to Partstack). Also it is possible to disable this feature. See details here.

EAGLE Project Import (#1318)

Still using EAGLE and looking for alternatives now since it has been abandoned? Or already using LibrePCB, but still having many old EAGLE projects?

No problem — in addition to the already existing EAGLE library import, you can now even import whole EAGLE projects, allowing you to smoothly migrate from EAGLE to LibrePCB! Well, at least within some limitations since such importers by design can’t be lossless 😉 However, we think it works very well for many EAGLE projects so you should definitively give it a try.

For more details about its limitations, check out this pull request. If you encounter a problem not mentioned there, please let us know!

Interactive Device Pinout Assignment (#1309)

The most important step of creating a new device is to define its pinout, which can be quite cumbersome and error-prone, especially for devices with many pads. This changes with LibrePCB 1.1.0:

Any pads whose name match with a component signal (e.g. a connector with pads 1..20) can now be assigned with just a single click.

And for any remaining pads, an interactive mode helps you to do the assignment pad by pad. A filtering feature and extensive keyboard shortcuts make this mode very efficient.


Improved Support for Dark Themes

This is actually just a small change, but thanks to theme-aware toolbar icons and improved colors, LibrePCB is now much better usable (and looks better) on systems with a dark theme.


Qt6, 64-bit Windows Releases, Offline Installer

Normally I don’t consider internal technical changes as a highlight, but this time a technical change has notable impact especially for Windows users. Starting with LibrePCB 1.1.0, we now support Qt6, the successor of the C++ toolkit Qt5 which LibrePCB is based on since its very beginning. Together with Qt6 we now provide 64-bit releases for Windows.

In addition, this new 64-bit release is now built with a new installer toolkit. Instead of downloading LibrePCB from the internet during the installation, this is now an offline installer not requiring internet anymore. Due to the different CPU architecture, the new installer defaults to the location C:\Program Files\LibrePCB instead of C:\Program Files (x86)\LibrePCB. During installation it will ask you to uninstall any previous LibrePCB version.

Note that these Qt6/64-bit builds are currently considered beta. For productive use we recommend the still available Qt5 (32-bit on Windows) builds for now, as promoted on the download page. For upcoming releases we plan to drop these Qt5 builds so only the Qt6 builds will be available then.

The move to Qt6 forced us to drop support for Windows 7, Windows 8 and any 32-bit versions — upcoming releases will require at least Windows 10 64-bit. Since Windows 7 and 8 are already end-of-life for quite some time, it is highly recommended anyway to not use these systems anymore. But for now you can still use the Qt5 builds on them.


Changelog

Control Panel:

  • Allow modifying directory & filename when creating a new project (#1303)

  • Add more licenses to choose from when creating a new project (#1247)

  • Add donation hint with button (#1351)

  • Support delete shortcut in projects tree (#1306)

  • Fix unreadable list view colors for dark themes (#1310)

Library Editor:

  • Add tools to help defining the pinout of devices (#1309)

  • Warn about invalid package pad connections (#1296)

  • Refactor "Copy to Other Library" context menu (#1343)

  • Reduce minimum window height (#1290)

  • Fix "Select All" not selecting items far away from center (#1243)

  • Fix maximum length of symbol pin name input field (#1298)

  • Fix suggested signals when duplicating component (#1311)

Schematic Editor:

  • Display live parts information (prices etc.) (#1313)

  • Add context menu to parts in "Add Component"-dialog (#1333)

  • Hide redundant pin numbers in schematics (#1308)

  • Improve selection of stacked items (#1342)

Board Editor:

  • Improve behavior of zoom/pan/rotate in 3D viewer (#1301)

  • Delete labels in "Place Devices" dock to save space (ddec456c)

  • Fix missing substitution of part attributes (#1269)

  • Fix layer change when starting trace on THT pad (#1302)

  • Fix missing inner layers in dropdowns (#1338)

DRC:

  • Add checks for unused or disabled copper layers (#1339)

Import/Export:

  • Implement EAGLE project importer (#1288, #1318)

  • Heavily improve EAGLE library import (#1287)

  • Show hint allowing to add a default set of output jobs (#1345)

  • Ask for discarding unsaved changes in output jobs dialog (#1348)

  • Add support for realistic PCB rendering in graphics output job (#1304)

  • Save & restore window size of BOM export dialog (#1282)

  • Don’t scale columns of BOM export dialog with window width (#1284)

  • Fix file extension .gml in Protel-style Gerber output job (#1277)

Miscellaneous:

  • Initialize new workspace with some example projects (#1307)

  • Add "Toggle 2D/3D" button to toolbars (#1334)

  • Use lighter toolbar icons if dark theme is detected (#1326)

  • Globally enable HTTP caching (#1289)

  • Improve stacking order of graphics items (#1291)

  • Visually separate colors of board layers (#1248)

  • Provide visual feedback on save & copy actions (#1349)

  • Show waiting spinner while opening external applications (#1283)

  • Limit search result auto-zoom to a certain margin (#1312)

  • Fix possibly empty device/package name in assembly options (79323b4e)

  • Fix possibly wrong colors of STEP models (#1335)

  • Fix possible flicker of PCB surface in 3D viewers (#1350)

Building/Packaging/Deployment:

  • Support building with Qt6, selectable by QT_MAJOR_VERSION (#1317)

  • Add new Windows installer based on Inno Setup (#1340)

  • Build macOS releases on macOS 12 (#1259)

  • Add licensing data for https://reuse.software/ (#1316)

  • Update AppStream MetaInfo to conform to latest Freedesktop spec (#1314)

  • Replace fontobene-qt5 by fontobene-qt & update other dependencies (#1324)

  • Fix linking with OCCT 7.8.x (#1329)

Internal:

  • Refactor memory management of SExpression children (#1331)

  • Improve robustness of some math functions (#1237, #1325)

  • Factor out OpenGL shader programs into files (#1274)

  • Fix unintended behavior of FileUtils::getFilesInDirectory() (#1235, #1241)

  • Fix stderr warning due to unhandled switch-case in BI_FootprintPad (fd75a53b)


Credits

nlnet ngi0

This release was part of the NGI0 Entrust 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 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:

https://librepcb.org/download/

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