March/April in KDE PIM
Since the last report two month ago we saw the 21.04.0 release of Kontact, and again integrate more than 1400 changes by more than 30 contributors. Here are some of the highlights.
Kontact
A large focus remains preparing the upcoming migration to Qt6 and KF6. This mainly consists of porting away from deprecated functionality in Qt and KDE Frameworks, as well as language features that are incompatible with C++17. While not having any visible impact right now, this will allow for a smoother transition down the line.
Not only code needs to be updated. Carl also updated and extended a tutorial on how to develop Akonadi-based applications from the KDE4 era.
KMail
Ingo implemented two improvements for the message structure view (which allows having a look at the internal structure of email messages). This work was funded by Intevation GmbH.
- Allow deletion of attachments from message structure view (bug 436089).
- Allow the message structure view to grow/shrink as much as sensible (bug 436044).
While working on those improvements, a security issue that is triggered by deleting unencrypted attachments attached to encrypted messages was found and fixed. For details see the corresponding advisory.
Sandro continued work on easing the use of email encryption:
- KMail now takes Autocrypt keys into account when you create new messages and shows encryption support for Autocrypt recipient already in the message composer (bug 388036).
- The encryption/signing status is now recalculated correctly when changing your identity in message composer. This avoids ending up with unencrypted mails after changing identities as the encryption/signing recommendations got lost.
Laurent improved the “external script” plugin and implemented support for more argument values there, and continued ongoing work on mailmerge support (ie. sending templated emails to a number of different recipients).

And there are a number of noteworthy fixes as well:
- Fix first name insertion via editor variables in the email composer (bug 435431).
- Also handle the
message/global
mimetype (bug 434392). - Fix activation of default sieve scripts (bug 423189).
- Make the Copy/Move actions in the message reader window work consistently (bug 435410).
- Add a new message operation “New Message to Recipients”.
- Fix handling of quoted commas in recipient names (bug 433921).
KMail also received a major update to its user manual, thanks to David Bryant.
And finally there is of course Carl’s work on a Kirigami/Plasma Mobile frontend for KMail, codenamed Kolibri, as you might have spotted already in a recent Plasma Mobile blog post. This is still in its very early stages and builds on top of the same backend libraries as KMail does, resulting in a number of improvements to those already, in particular related to QML compatibility.

KOrganizer
Glen contributed a number of improvements to calendaring:
- When deleting a recurring to-do, let the user choose between deleting “just this instance”, “this and future instances”, or “all instances”, as is done when deleting recurring events and moving recurring to-dos and events.
- Do not display bogus error dialogs when deleting recurring events and to-dos that have dissociated instances.
- Don’t crash if an agenda item is deleted while it is being moved (bug 435352).
- Use “tag” consistently in the UI and documentation, instead of a mixture of “tag” and “category”.
- Improved portability of exported calendars (bug 169336).
- Add time and time zone to
EXDATE
s ofDATE-TIME
instances (bug 434599).
Kleopatra
- Support for groups of keys is now ready for testing.
- Kleopatra has been adapted to changes in the configuration of the recently released GnuPG 2.3.
- The validity of keys that are looked up remotely is now displayed as “not checked” instead of as “not certified”.
Akregator
Laurent started to implement the ability to block external content displayed in Akregator (similar to what KMail already does), as a way to improve privacy when browsing RSS feeds.
There were a number of other noteworthy improvements as well:
- Avoid accidentally generating reserved values of feed IDs.
- Treat feed IDs as unsigned everywhere (bug 429444).
- Fix empty article list after changes in Qt.
- Allow to lock feeds in place (bug 354983).
Help us make Kontact 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 Kontact, so anyone can work on them. Feel free to pick any task from the list and reach out to us! We’ll be happy to guide you and answer all your questions. Read more here…