Following Kévin here’s the summary of what happened around KDE PIM in the last two months. While this post got slightly delayed due to the holidays, work didn’t slow down at all. More than 1300 changes by 26 contributors landed in the KDE PIM repositories, and we got the 19.12.0 release out in December.


  • Work on DKIM validation of emails continued, in particular regarding improving the parsing of authentication results.
  • KMail’s snippet system can now also insert attachments, with the attachment names being able to use the variables of the snippet system as well.
Configuration of variables in an attachment name in a KMail snippet.
Customizable attachment names in KMail's snippet system.
  • The extraction engine behind the itinerary plug-in received a number of improvements described in a dedicated post.
  • Using GSSAPI authentication on IMAP servers no longer results in password prompts (bug 383279).
  • Fixed false positives in the message view external references warning (bug 415254).
  • Sanity-check collection path before performing recursive deletion in maildir backend (bug 414178).
  • Fixed automatic folder expiration not triggering correctly (bug 414839).
  • Warn when email identity settings cannot be written (bug 414171).
  • Fixed saving dialog not proposing a file name (bug 414825).


  • The reminder daemon now honours the global notification inhibition.
  • Month view: Fix background color computation with dark themes (bug 413521).
  • Month view: Fix chronological sorting in day block (bug 232162).
  • Agenda view: Fix grid colors when not using system settings (bug 411608).
  • Incidence editor: Broken layout does no longer resize attendee list (bug 414977).
  • Fixed recurrence rule generation for timezones with newer libical versions.
  • Handle incidences in different time zones in KCalendarCore::MemoryCalendar.
  • Optimize date-bayed caches in KCalendarCore::MemoryCalendar.


  • Redesigned certify dialog.
  • Added remark support in key views and certify dialog.
  • Fix overwriting files when exporting secret keys.


  • Support displaying icons from Atom feeds (bug 414086).
Akregator feed tree view showing feed icons.
Akregator showing icons for all feeds again.
  • Fix initial scroll position in inline article view (bug 177511).
  • Allow to show feed copyright information.
  • Fix getting the feed URL from a Youtube channel (bug 383381).
  • Make the “Add feed” option more accessible (bug 297098).

Common Infrastructure

Following the KF6 sprint in November, preparations for the migration to Qt6/KF6 also started in KDE PIM, mostly in the form of porting away from already or about to be deprecated functionality in Qt5 or KF5, such as:

  • KTcpSocket (replaced by QSslSocket)
  • QRegExp (replaced by QRegularExpression)
  • Pixmap-based icon functions (also improves scalability on high DPI displays), as well as moving to QStyle for determining icon sizes.
  • qrand() (replaced by QRandomGenerator)
  • D-Bus service monitoring in QDBusConnectionInterface (replaced by QDBusServiceWatcher)
  • KRecursiveFilterProxyModel (replaced by QSortFilterProxyModel)
  • and many more

Being able to do this in small steps and ahead of the full transition to Qt6/KF6 will make this transition much smoother than it has been in the past.

Help to 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…