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


Since 2020, Next Generation Internet (NGI) programmes, part of European Commission’s Horizon programme, fund free software in Europe using a cascade funding mechanism (see for example NGI0 Commons Fund). This year, according to the Horizon Europe working draft detailing funding programmes for 2025, we notice that Next Generation Internet is not mentioned any more as part of Cluster 4.

NGI programmes have shown their strength and importance to supporting the European software infrastructure, as a generic funding instrument to fund digital commons and ensure their long-term sustainability. We find this transformation incomprehensible, moreover when NGI has proven efficient and economical to support free software as a whole, from the smallest to the most established initiatives. This ecosystem diversity backs the strength of European technological innovation, and maintaining the NGI initiative to provide structural support to software projects at the heart of worldwide innovation is key to enforce the sovereignty of a European infrastructure. Contrary to common perception, technical innovations often originate from European rather than North American programming communities, and are mostly initiated by small-scaled organisations.

Previous Cluster 4 allocated 27 million euros to:

  • "`Human centric Internet aligned with values and principles commonly shared in Europe`" ;

  • "`A flourishing internet, based on common building blocks created within NGI, that enables better control of our digital life`" ;

  • "`A structured ecosystem of talented contributors driving the creation of new internet commons and the evolution of existing internet commons`".

In the name of these challenges, more than 500 projects received NGI funding in the first 5 years, backed by 18 organisations managing these European funding consortia.

NGI contributes to a vast ecosystem, as most of its budget is allocated to fund third parties by the means of open calls, to structure commons that cover the whole Internet scope - from hardware to application, operating systems, digital identities or data traffic supervision. This third-party funding is not renewed in the current program, leaving many projects short on resources for research and innovation in Europe.

Moreover, NGI allows exchanges and collaborations across all the Euro zone countries as well as “widening countries” [1], currently both a success and an ongoing progress, likewise the Erasmus programme before us. NGI also contributes to opening and supporting longer relationships than strict project funding does. It encourages implementing projects funded as pilots, backing collaboration, identification and reuse of common elements across projects, interoperability in identification systems and beyond, and setting up development models that mix diverse scales and types of European funding schemes.

While the USA, China or Russia deploy huge public and private resources to develop software and infrastructure that massively capture private consumer data, the EU can’t afford this renunciation. Free and open source software, as supported by NGI since 2020, is by design the opposite of potential vectors for foreign interference. It lets us keep our data local and favors a community-wide economy and know-how, while allowing an international collaboration.

This is all the more essential in the current geopolitical context: the challenge of technological sovereignty is central, and free software allows to address it while acting for peace and sovereignty in the digital world as a whole.

In this perspective, we urge you to claim for preserving the NGI programme as part of the 2025 funding programme.


1. As defined by Horizon Europe, widening Member States are Bulgaria, Croatia, Cyprus, the Czech Republic, Estonia, Greece, Hungary, Latvia, Lituania, Malta, Poland, Portugal, Romania, Slovakia and Slovenia. Widening associated countries (under condition of an association agreement) include Albania, Armenia, Bosnia, Faroe Islands, Georgia, Kosovo, Moldavia, Montenegro, Morocco, North Macedonia, Serbia, Tunisia, Turkey and Ukraine. Widening overseas regions are : Guadeloupe, French Guyana, Martinique, Reunion Island, Mayotte, Saint-Martin, The Azores, Madeira, the Canary Islands.

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

LibrePCB Fab Integration

From now on, NextPCB is available as a manufacturer on our manufacturing service LibrePCB Fab. As usual, the workflow to order a PCB is very simple, you now just have one more choice. Note that solder resist color and PCB thickness configured in LibrePCB are automatically applied when starting the order with NextPCB:

Note that currently only PCB orders (without assembly) are supported. It is planned to add support for their assembly service too in future.

Sponsorship

At this point we also want to thank NextPCB for their sponsorship of the LibrePCB project. Their donation help us a lot to keep the development ongoing — Thank you!


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


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

@ubruhin
September 24, 2023

After a few weeks of testing the RC1 and bugfixing, finally the stable release of LibrePCB 1.0 is finished and available for download! Check out the awesome new features and the migration notes below. For the reasoning behind bumping the version number to 1.0, check out the blog post LibrePCB 1.0 Roadmap. Highlights Advanced PCB Features One of the goals of this release was to get rid of several limitations which made LibrePCB 0. Read more...

@ubruhin
August 21, 2023

I’m very excited to announce that LibrePCB 1.0 is feature-complete and that a first release candidate is available for download! About This Release Candidate LibrePCB 1.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. Read more...

@ubruhin
May 15, 2023

As mentioned in the previous blog post, I’ll give you a short update about the status of the upcoming release which is currently in development. Time for 1.0! The original plan was that the next release after LibrePCB 0.1.7 will have the version number 0.2. But thanks to the NGI0 grant I’m now able to spend much more time for LibrePCB, allowing to include more features in the next release than initially planned. Read more...

@ubruhin
April 13, 2023

I am very happy to announce that the LibrePCB project receives support from the NGI0 Entrust Fund, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet programme. This helps us to ensure the development of important features planned for the upcoming releases. Especially the next major release will extend LibrePCB with many new capabilities. Some of them have already been implemented, but there is still a lot of work to be done. Read more...

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