Skip to content

Saturday, 7 May 2022

A week ago I attended Linux App Summit (LAS) 2022 in Rovereto, Italy. It was great to finally travel and meet people again, after more than two years. At the same time it would be naive to think the pandemic is over, and it’s still a few days too early for the final verdict on whether we managed to meet safely, but things look very promising so far.

LAS 2022 closing with the organizer team on stage.
LAS 2022 closing

Traveling again!

LAS 2022 was the first time leaving the country for me since FOSDEM 2020. That also meant having the opportunity for quite some field testing of KDE Itinerary. It got me safely through three countries to Rovereto and back, passing all ticket and COVID certificate checks easily. I also had no other attendee yell at me for getting lost, but that might just as well be selection bias ;)

A few things were fixed on the way:

  • European international train tickets result in fairly large barcodes, to the point of not fitting on my relatively small phone display anymore. This case is now detected and the barcode is scaled down accordingly (something that we generally try to avoid, as it can reduce detectability).
  • Editing the address to an event reservation now also works when there was no address information available previously.
  • Geo-coding event locations was fixed in the presence of region information.
  • A few train stations along the way have floor level issues fixed in OSM now.
  • Weather forecasts for layover locations no longer wrongly include train trips in their time interval.

And a few more things popped up but have yet to be addressed:

  • Our address formatting code isn’t properly handling the region element in Italian addresses.
  • Selecting the right provider for realtime delay information can be improved on international trips, the operator and the ticker issuer might not be the same entity there, and usually the operating company has the better data.

As a nice bonus I also got to see the Brenner railway route before the Brenner base tunnel opens, and have some tasty local food in Italy :)

Meeting people again!

More importantly, this was also one of the very rare opportunities in more than two years to meet people in person. It was great to see some of the old KDE friends again, as well as to make some new contacts. Many thanks to all the people who made LAS possible!

The whole setup felt safe, with the hallway track and lunch generally happening outdoors, masks being the norm on the inside, and more COVID pass checks per day than I had seen in Germany in the past two years combined. I also did daily rapid antigen self-tests to further reduce the risk I might pose to others. So far I haven’t heard of any positive COVID tests following LAS, which is very encouraging.

Another interesting aspect is how well the event worked for remote participants. I’m quite sure hybrid events are here to stay, so we better make them work well. I find it very hard to judge that from just the onsite perspective though, feedback from remote participants will be important here.

Meta-topics aside, there’s of course also one of the core topics of LAS, collaboration with our colleagues from GNOME, which, unsurprisingly, everyone at LAS was very open to and interested in. I had interesting conversations on working together on maps data infrastructure, access to public transport data and energy efficiency/eco certification for example.

Energy efficient software

One of the talk highlights for me was Joseph’s presentation on Energy Conservation and Energy Efficiency with Free Software (video). I have been following this work from quite early on, so most of the content wasn’t exactly new to me, but I was particularly happy about seeing the wide interest in this subject, and the following discussions with other attendees on how to improve this.

If you want to get involved, there’s also a planned meeting dedicated to this in Berlin later this month on Saturday May 21st. Details can be found in the announcement.


While online meetings and events have become an invaluable tool, they still don’t manage to fully replace the effectiveness and social aspects of in person meetings. So I have my fingers crossed that we’ll see in a few days that there are ways to meet safely again. That should then hopefully allow a few more meetings this year (KF6 sprint, anyone?), and it makes me very hopeful for Akademy later this year.

This week Plasma 5.25 reached its “soft feature freeze” date, at which point we don’t add any large new features or major code refactorings. This reduces risk and gives us a longer period of time to polish those changes before the final release. So as you can imagine, everyone rushed to merge their big stuff right before the deadline! 🙂 As a result, this week I can present are tons of new features and important refactorings that fix multiple bugs. Check it out:

15-Minute Bugs Resolved

Current number of bugs: 70, same as last week. 2 added and 2 resolved:

The volume and brightness OSDs once again show their visual indicator bars on the lock and login screens (Ivan Tkachenko, Plasma 5.24.5)

When an application gives the system both an icon name and an image for its System Tray icon, the System Tray now prefers the icon name, so if there is such an icon in your icon theme, you’ll see that and it will respect your color scheme. This affected Telegram, for example (Vlad Zahorodnii, Plasma 5.24.6)

Current list of bugs

New Features

You can now optionally give your panel a “floating” appearance! In this mode, it still functionally behaves identically to a traditional panel, and clicks in the empty area will be forwarded to the panel. In addition, the panel “un-floats” when there are any maximized windows (Niccolò Venerandi, Plasma 5.25):

Discover now shows you apps’ level of access to resources on your system! When an app is sandboxed, you get a fine-grained list of exactly the things that the app automatically has permission to do (Suhaas Joshi and Aleix Pol Gonzalez, Plasma 5.25):

The presentation here is still a bit rough, and will probably be cleaned up by the time 5.25 ships

When you uninstall a sandboxed app in Discover, it now offers you the ability to easily delete the settings and user data if you want to (Aleix Pol Gonzalez, Plasma 5.25):

The Overview effect now offers the option to exclude minimized windows, just like Present Windows does (Marco Martin, Plasma 5.25)

Bugfixes & Performance Improvements

When you use Dolphin’s “Open Terminal” feature, it once again opens the terminal at the folder which is selected (if any) rather than always opening it at the current folder (Someone going by the pseudonym “oioi 555”, Dolphin 22.08)

Elisa now shows album art for songs and albums that have the covers embedded in the files, not just sitting next to them (Tranter Madi, Elisa 22.08)

System Monitor once again shows information for AMD GPUs (David Redondo, Plasma 5.24.6)

The Flickr and Simon Stålenhag Picture of the Day wallpapers no longer change more than once a day (Fushan Wen, Plasma 5.24.6)

Text for menu items in the Global Menu once again follows the color scheme of the Plasma Theme (me: Nate Graham, Plasma 5.24.6)

System Settings’ Display Configuration page now shows the correct refresh rates in more circumstances (Xaver Hugl, Plasma 5.24.6)

Fixed one of the ways that the kded daemon could crash in the Plasma Wayland session (David Edmundson, Plasma 5.25)

Under the hood, the Present Windows and Desktop Grid effects have been rewritten to use the same backend as the Overview effect, which fixes a grand total of 44 Bugzilla tickets (!!!), gives them consistent visual styling, and modernizes their code to keep them maintainable going forward (Marco Martin, Plasma 5.25)

System Monitor charts using the “Horizontal Bars” style are now able to meaningfully show values equal to or very close to 0 (Trent McPheron, Plasma 5.25)

Fixed a memory leak when changing your wallpaper plugin (Fushan Wen, Plasma 5.25)

When you change any of the paths in System Settings’ Locations page, any Places Panel bookmarks that pointed to the old locations are automatically updated to point to the new locations (Méven Car, Plasma 5.25)

System Monitor now shows the correct app icons for apps that were launched automatically at login (David Redondo, Plasma 5.25)

Breeze cursors are no longer ever so slightly smaller than they were intended to be (Chris Chris, Plasma 5.25)

Plasma no longer crashes if it can’t find the active theme (David Faure, Frameworks 5.94)

Dolphin no longer crashes when closed from the “Close Tab” list item from the command palette (Ahmad Samir, Frameworks 5.94)

Fixed a bug that could cause file transfers to SMB shares to fail the second and/or subsequent times you make a transfer (Harald Sitter, Frameworks 5.94)

Fixed a memory leak affecting many Kirigami-based applications (Fushan Wen, Frameworks 5.94)

User Interface Improvements

Kate now shows its toolbar by default (Christoph Cullmann, Kate 22.08)

Kate’s Menu bar has been re-arranged a bit to make each one less huge and intimidating. In particular, there is now a new “Selection” menu that holds actions which will be applied only to whatever is selected (Eric Armbruster, Kate 22.08):

Various KWin scripts that are implemented in JavaScript (such as the Show Desktop effect) now that follow your fingers when activated with a gesture. Activate Show Desktop with a Touch Screen swipe to see some magic! (Marco Martin, Plasma 5.25)

A bunch more KWin effects are now activatable using touch screen edge swipes (Marco Martin, Plasma 5.25)

When you set up fingerprint authentication, the lock screen now lets you immediately unlock by putting your finger on the fingerprint reader; no need to click the “unlock” button with en empty password field anymore! (David Edmundson, Plasma 5.25)

You can now add locations and places to the “Favorites” list/grid in Kickoff, Kicker, and the Application Dashboard (Méven Car, Plasma 5.25):

Klipper’s configuration window has been re-organized a bit to have a new “Action Menu” page, which holds settings relevant to the actions menu when you are using any Klipper actions; if you’re not, you can safely ignore it entirely (Jonathan Marten, Plasma 5.25)

File open/save dialogs and inline icon views in various apps such as Kdenlive now let you scale icons up to 512 px size (Ahmad Samir, Frameworks 5.94)

…And everything else

This blog only covers the tip of the iceberg! Tons of KDE apps whose development I don’t have time to follow aren’t represented here, and I also don’t mention backend refactoring, improved test coverage, and other changes that are generally not user-facing. If you’re hungry for more, check out, where you can find more news from other KDE contributors.

How You Can Help

If you’re a developer, check out our 15-Minute Bug Initiative. Working on these issues makes a big difference quickly!

Otherwise, have a look at to discover ways to be part of a project that really matters. Each contributor makes a huge difference in KDE; you are not a number or a cog in a machine! You don’t have to already be a programmer, either. I wasn’t when I got started. Try it, you’ll like it! We don’t bite!

Finally, consider making a tax-deductible donation to the KDE e.V. foundation.

Friday, 6 May 2022

Let’s go for my web review for the week 2022-18. After a one week break, I mentioned we might have a double issue next… Here it is!

EU Joins Mastodon Social Network, Sets Up Its Own Server | PCMag

Tags: tech, social-media, politics

This is very good exposure to both Mastodon and PeerTube.

GNOME patent troll stripped of patent rights

Tags: tech, patents, law

Excellent news, hoping to see more such bogus patents cancelled. Also, one can hope, that patent offices would start becoming less sloppy…

Blockchain is Dangerous Nonsense | Eisfunke

Tags: tech, blockchain, web3, nft, scam

Behind the hype… a speculative bubble completely out of touch with reality.

Magic-trace collects and displays high-resolution traces of what a process is doing

Tags: tech, debugging, profiling, tracing, performance

This looks like a very interesting tracing tool for debugging and profiling purposes.——magic-trace

Python’s “Type Hints” are a bit of a disappointment to me

Tags: tech, python, type-systems, mypy

A good reminder that it’s not all rosy with Python type-hints. There’s definitely room for improvements.


Tags: tech, rust, python, backend, web

Looks like it’s still in the very early days but the overall approach looks interesting.

Chopping the monolith

Tags: tech, microservices, architecture

Good arguments around the microservices hype. People advocate for it way more than reasonable, this applies only in rare contexts.

Lies we tell ourselves to keep using Golang

Tags: tech, go, rust, type-systems, complexity

This is in part a rant but lots of points in there are very valid. This is in part why I don’t find Go a very compelling option so far. Modern tooling indeed, nice runtime in some areas but leaves way too much of the complexity in imperative code.

PyScript | Run Python in your HTML

Tags: tech, python, webassembly, browser

It was only a matter of time until this kind of things would be doable through webassembly. I’m wondering about the size of the payloads the browser needs to download though.

How I fell in love with low-js

Tags: tech, frontend, backend, browser, javascript, html

There is indeed a trade-off approach available nowadays between “backend computes the whole page” and “frontend computes it all in JS”. This sounds like an interesting patch depending on the project context.

Why Your CSS is Always Messy and Chaotic – Understanding CSS Complexity

Tags: tech, web, frontend, css

Good explanation of why the complexity of CSS code quickly gets out of control.


Tags: tech, frontend, interviews

This is indeed a nice set of tasks to evaluate a frontend tech or your mastery of it. Potentially usable in interviews?

IBM’s asshole test — johnpublic

Tags: hr, interviews

OK, if true this is indeed an interesting test… kind of a social experiment really. Probably quite a bit ambiguous though.

11 Principles of Engineering Management

Tags: management

An interesting set of management principles. Most make sense, a couple might be contextual.

Having Career Conversations

Tags: management, career, hr

Lots of nice advices, both for mentors and mentees. This is definitely hard work but it’s worth it for people to grow.

Taking control of your professional growth: a personal experience

Tags: management, hr, career

About growth again, definitely from the point of view of the mentee though. This looks like a nice and lean framework to figure out where you are and where you want to go.

Gen Z does not dream of labor

Tags: management, work, life, remote-working

I find the title somewhat limiting due to the “Gen Z” label, but content is way more balanced even though fairly US centric. There are a few good lessons about work perception by people.

The Most Horrible Parasite: Brain Eating Amoeba - YouTube

Tags: science

The title says it all… indeed really creepy… Good thing there’s a very low chance this could happen to you. ;-)

Mechanical Watch – Bartosz Ciechanowski

Tags: watch, mechanical, science, physics, engineering

Ever wondered about the details of a mechanical watch? Here is an excellent primer. Lots of attention to details.

103 Bits of Advice I Wish I Had Known

Tags: life, wisdom

Really great collection of wisdoms collected through decades. Loved it, some are funny too.

Mending Your Cherished Clothes - Hometown Stories | NHK WORLD-JAPAN On Demand

Tags: culture, japan, craftsmanship

Discovering Kaketsugi, this is a very impressive craft. True labor of love. This is incredible work, feels almost magical. So much patience and attention to details. The amount of analysis which went into it is amazing too.

Bye for now!

Thursday, 5 May 2022

It will never stop surprising me how easy it is to implement big new features in a QML application! The assumption here is that the C++ part of the application should be well-written: objects should not be overloaded with unrelated functionalities just because it seems faster to code them that way, but one should rather design classes so that each exposes one functionality, and then QML and javascript act as the glue which binds all the parts together.

In a way, QML stands to C++ classes like the POSIX shell stands to command-line tools: a simple language which allows concatenating small units of functionality together to build a powerful program.

Anyway, that was not what I wanted to talk you about today. ☺ Today's post is about MiTubo, whose version 0.9 has been released today:

The big feature in this release is download of audio/video files: I thought, since I'm using yt-dlp (or youtube-dl on Ubuntu Touch) anyway for extracting video streams, why not add an option to let users download the media content? This turned out to be easier than expected, so if you were looking for a graphical frontend to the YouTube downloader, well, now MiTubo is an option you could try.

Over the last couple of months we have ported the text-to-speech functionality in the Qt Speech module over to Qt 6, and it will be part of the Qt 6.4 release later in 2022.

kde-inotify-survey 🔗

Harald Sitter apachelogger 11:27 +00:00

I’ve finally gotten annoyed enough with inotify failing randomly, because of resource exhaustion, that I’ve built a tiny app to deal with it.

Introducing kde-inotify-survey.

It features a CLI to inspect the inotify state, as well as a kded to warn and help with bumping the maximums. Assuming it turns out amazing for others I hope to progress it to kdereview soon.

I have updated my OBS builds to contain the new KDE Gears 22.04 as well as the last point release of KDE Plasma 5.24.5.

As usual, the packages are provided via my OBS builds. If you have used my packages till now, then you only need to change the apps2112 line to read apps2204. To give full details, I repeat (and update) instructions for all here: First of all, you need to add my OBS key say in /etc/apt/trusted.gpg.d/obs-npreining.asc and add a file /etc/apt/sources.lists.d/obs-npreining-kde.list, containing the following lines, replacing the DISTRIBUTION part with one of Debian_11 (for Bullseye), Debian_Testing, or Debian_Unstable:

deb ./
deb ./
deb ./
deb ./
deb ./

Some programs in the other group have been recompiled against the Gears 22.04 libraries.


PS: Considering that I don’t have a user-facing Debian computer anymore, all these packages are only tested by third parties and not by myself. Be aware!

PPS: Funny to read the Debian Social Contract, Point 4. Our priorities are our users and free software, obviously I care a lot about my users.

Wednesday, 4 May 2022

You can’t cross the same river twice, but can you boot the same laptop twice (at the same time)? Yes indeed, with the magic of VM’s and weird passthrough setups. I have a Slimbook with openSUSE and FreeBSD installed on it. Most of the time I use openSUSE – there’s suspend and resume and wifi things that need tweaking under FreeBSD. I’ve written about FreeBSD on Slimbook before. But with some magic, I can boot the laptop into openSUSE and them boot it again simultaneously into FreeBSD. Probably I can also mess things up royally, but let’s not get ahead of ourselves.

Slimbook with GRUB menu
Slimbook with GRUB menu

With VirtualBox, you can specify a raw disk device to use as a disk for a VM. I have mentioned ZFS Volumes in that context before, but here’s a new way to use that:

  • Add a user (e.g. my regular user) to the disk group. With usermod (as root) I added myself to that group, and after logging back in, can check with id that it was successful. On my system the disk group has write-access to disks, including the NVMe disk which has both OS’es installed on it.
  • Create a virtual disk that refers to the raw drive. I did this as root as well. I made a VMDK somewhere the user can reach, and specified the raw disk device being used. It’s the whole disk.
  • Make the file readable by the user, since the VMDK was created by root.

Together, the three steps look like this:

usermod -G disk -a adridg
VBoxManage internalcommands createrawvmdk \
  -filename /home/adridg/VBox/FreeBSD.vmdk \
  -rawdisk /dev/nvme0n1
chown adridg /home/adridg/VBox/FreeBSD.vmdk

After these steps, I have a disk device I can hand to a VM. It’s the whole of my drive, so whatever I do in the VM can totally clobber the installed system, e.g. by overwriting the GPT or messing in the filesystems of another OS. But that’s not the point (except accidentally, because it’s got sharp edges).

Create a VM – I gave it 4 cores, 4GiB of RAM, and the new virtual disk attached to the SATA controller. Why SATA? Because it looks like NVMe is a proprietary extension. Boot the VM: it comes up with the same openSUSE-branded GRUB as when I boot the laptop normally! I have not tried inception-booting openSUSE inside itself, but FreeBSD starts.

VirtualBox with GRUB menu
VirtualBox with GRUB menu

I would expect booting the same filesystem twice would lead to massive filesystem corruption or kernel panics as two kernels write to the same block device at once, arguing over metadata updates.

There’s some (minor) caveats to the “FreeBSD starts” situation, though:

  • I installed the system from physical media, to physical media. That means that / is expected to be on /dev/nvd1p5 – the NVMe drive in the laptop. Under VirtualBox, the device – I did say I attached it as SATA – has a different path. On boot, the loader stops and asks for a path for root. I enter ufs:/dev/ada0p5.
  • The physical machine has WiFI and a RJ45 LAN, but the VM presents a single Intel LAN, which isn’t configured by default. I run dhclient em0 after boot to get it working.

I don’t want to change the configuration on-disk, since I may want to start the (bare-metal) machine as FreeBSD as well. Dealing with weirdness is easier from within a VM.

As far as functionality goes: I can NFS-mount /usr/src from elsewhere in my home network – this goes out through the VM’s em0, over the host system’s WiFI to a FreeBSD-based NFS server – and build world. Works like a charm. I have not yet sat down to figure out things like X (or Wayland) inside the VM; Wayland on bare metal is similarly an issue to be dealt with. Dealing with weirdness is easier when you also have a working graphical display and a web browser, so the VM approach has value here, too.

Takeaway: VirtualBox raw disk access can be used to do amazingly dangerous things to your drive, but also to do cool tricks.

Since the last report two month ago a lot has happened around KDE’s personal information management applications again. More than 1300 changes by more than 25 people resulted in many improvements as well as the 22.04 feature release. Here are some of the highlights.


  • Searching in many places is aware of diacritics and accents now, and can ignore those. This means e.g. searching for “resume” also finds “résumé” and vice versa, which can be particularly useful in international communication where those details can get lost due to not everyone even having the the input methods to type things correctly.
  • All Kontact applications can now dynamically change the color scheme at runtime and have a fullscreen mode now.
Screenshot of KMail allowing color scheme switching at runtime.
Color scheme switching in KMail.

Ongoing since quite some time is the continuous effort to prepare the code base for the transition to Qt6 and KDE Frameworks 6. There also has been work on improving the CI coverage by introducing pre-integration checks for Windows as well where possible, and by introducing stricter CI checks for unit tests.


  • Kalendar and KOrganizer now finally use the same unified reminder daemon, replacing the previous app-specific implementations.
  • Damien Caliste added support for the iCal notebook feature. This enables for instance to get a list of important incidences.
  • Alois Spitzbart made KHolidays read all categories from a holiday definition and fixed cases where the same holidays would be shown several times (bug 441275).


  • Several UI tweaks and fixes have been made to make certain interactive elements clear, such as resizeable drawers and headers, which now become highlighted on hover/click.
  • Hovering over tasks now highlights said tasks in the color of their parent calendar.
  • The week view/three day view/day view has seen changes to its layout code that should improve the positioning and sizing of events and tasks that take place in shorter timespans and that overlap with each other.
  • There is an ongoing effort to refactor and move around commonly used calendaring code with the goal to reduce Kalendar’s dependencies, and in particular any remaining widget-based UI code paths that aren’t well suited for mobile use.


  • The “floating” time zone is supported properly. A floating event occurs at a certain time of day, regardless of your computer’s time zone setting. If you create a floating event named “Second Breakfast” starting at 9:30, travel to Minas Tirith, and change your system’s time zone to “Gondor”, “Second Breakfast” will still appear at 9:30 on your calendar.
  • Some buggy programs create ICS files containing events that do not have Unique IDs. KOrganizer can now import such files (bug 339726).
  • If KOrganizer can’t import a file containing the ancient vCalendar format, the error messages that it produce are more informative (bug 328976).
  • In the Incidence Editor, Tab and Shift-Tab move directly from the Calendar menu to the Summary field and back (bug 331543).
  • When the Incidence Editor edits an instance that was created from a template, it no longer resets the start, end, or due dates (bug 332048).
  • Pressing the “Today” button causes the Month view to show today’s month; previously, it would sometimes show the previous month (bug 333066).
  • The user’s preferences for “icons to use” in the Agenda and Month views are preserved when KOrganizer restarts (bug 449473).
  • Progress indicators in the todo tree view are no longer sometimes wrongly rendered vertically.
  • The sidebar item viewer is no longer blank (bug 452507; fixed in 22.04.1).


Usability and accessibility was again a main focus of development in the last two months:

  • pinentry-qt got many accessibility improvements (T5863) and a few bug fixes (T5866, T5867).
  • The recipient input field used in the file encryption dialog (and also for the notepad) also got lots of accessibility improvements, e.g. by making it work with keyboard only, by adding accessible error handling, by making sure that screen readers get the information they need, etc. (T5845, T5876)

Moreover, new features were added:

  • You can now revoke your own keys, e.g. if you have created a new one and want to make sure that people switch to the new key. (T5859)
  • You can revoke individual user IDs, e.g. if you stop using an email address. (T4087)
  • Adding new user IDs was simplified with a lot of attention to making in particular the error reporting (e.g. if you enter a wrongly formatted email address) accessible. (T5916)

And a few smaller things were added or fixed:

  • Force visual focus of button with input focus when OpenPGP certificate generation dialog is shown. (T5832)
  • Make “Show not certified certificates” button show “good” OpenPGP keys that have not yet been certified by the user. (T5850)
  • Force usage flags if key type is forced in OpenPGP certificate generation dialog. (T5865)
  • Allow specifying the minimum and maximum validity of newly created OpenPGP keys. (T5864)
  • Show “wrong password” error instead of confusing “bad session key” error, if the user enters a wrong password when decrypting symmetrically encrypted data. (T5939)
  • Delay displaying a “no key found” error until the lookup running in the background is completed without finding a matching key. (T5945)


  • Fix KMail not displaying calendar invites properly (bug 452480, will be part of 22.04.1).
  • Correctly check if an SMTP server supports Delivery Status Notifications (DSN) before using that.
  • Fix travel information extraction for certain combinations of email and text codecs used in Asia.


  • Move all Akonadi dependencies into a plugin, to enable KAlarm to be run by users who don’t use Akonadi.
  • Make KAuth an optional dependency.
  • Move kalarmcal library from its own repository into kalarm.
  • Remove all ‘speak’ functions if text-to-speech not available at build time.
  • When default resources are created on first run, ensure they are enabled.
  • Fixed some UI bugs in the Preferences dialog.
  • Display a resource’s alarms if it is disabled and re-enabled.


  • Kevin Kofler fixed setting the birthday via QML (bug 446665).


There has been quite some activity around KDE Itinerary as well, as you’ll find in its dedicated summary blog post.

In very recent news, we are unfortunately no longer able to publish updates in the Google Play store, due to KDE Itinerary being able to store health certificates. New rules by Google do not allow such a feature unless you are a government or public health entity.

The only way around that would be building a separate version just for the Play store with that feature as well as any references to it in the application metadata removed. That’s something our build and deployment pipeline doesn’t support at this point though.

KDE Itinerary in the Play store will be therefore be stuck at 21.12.3 for the foreseeable future, for continuing to receive updates we recommend KDE’s F-Droid repositories instead.

Help us make KDE PIM even better!

Take a look at some of the junior jobs that we have! They are simple, mostly programming tasks that don’t require any deep knowledge or understanding of the code, so anyone can work on them. Feel free to pick any task from the list and reach out to us by email, Matrix or IRC! We’ll be happy to guide you and answer all your questions. Read more here…

Qt for MCUs 2.1.1 has been released and is available for download. As a patch release, Qt for MCUs 2.1.1 provides bug fixes and other improvements, and maintains source compatibility with Qt for MCUs 2.1.0. It does not add any new functionality.