Despite the summer break work in the KDE PIM land continued with more than 1100 changes made by more than 30 contributors since the last report. We saw the 20.08 feature and the conclusion of this year’s Google Summer of Code (GSoC), as well as the preparation for our yearly conference KDE Akademy.

Google Summer of Code

We had one GSoC student this year, Shashwat Jolly, working on integration of Kontact and EteSync. EteSync is an end-to-end encrypted syncing solution for contacts, calendars and tasks with a strong focus on security and privacy.

For more details, check out Shashwat’s blog series on this project.

Application Changes


  • Trash folder expiry got reworked to now be easier to configure if you have multiple trash folders (e.g. in multiple accounts), and is no longer limited to run during application exit (which is useful if you only rarely quit Kontact).
  • Added support for sharing selected text via the Purpose framework.
  • Better default subject when forwarding emails as attachment.
  • The POP3 setup wizard no longer accidentally defaults to unencrypted connections (bug 423426).
  • Fixed a crash in the IMAP password dialog (bug 415339).
  • Fix Ctrl-Up cursor navigation in composer (bug 425081).
  • Show more information about encryption/authentication settings in the account wizard (bug 423426).
  • Fix syncing of IMAP folder changes when those have already applied on the server (bug 423672).
  • Fix possible crash when saving attachments (bug 425532).
  • Fix certain inline images not being shown in HTML messages (bug 423267).
  • Fix size threshold for oversized emails that QtWebEngine cannot show directly (bug 387061).
  • Optimize auto-completion of email addresses.
  • Updated the user manual.


  • Preserve duration when dragging to-dos in the agenda view.
  • Sort by date/time correctly in the event list view.
  • Show only collection that accept task/todo/note mimetype in the incidence editor.
  • Generate a journal entry when the completion percentage is set to 100% (bug 423121).
  • Use ISO date/time in csv export.


  • Overwriting secret key exports now works correctly.
  • The filename suggestion for key exports has been improved to avoid confusion between public and private key exports.
  • Add support for changing the expiry of subkeys.
  • Fix setting/changing the reset code of OpenPGP v2 cards.
  • The minimal length of the name has been reduced to better support non-latin names.

There’s also some new exciting features in the works, we should have more details about this in the next summary blog.


  • Windows contact files can now be imported (bug 424940).
  • Fix displaying of QR codes (bug 425732).

Common Infrastructure

  • Optimize action state changes.
  • Optimize applying flag changes on Akonadi items (particularly relevant for emails).
  • Add more sanity checks to verify the database backend is working.
  • Fix crash by handling exceptions thrown by Xapaian index (bug 363928).
  • Fix Kontact hanging in some situations when typing in recipient email addresses (bug 424776).

General Work

As already mentioned in the last report, there’s also a number of global (and ongoing) tasks aimed at the long-term maintenance and maintainability:

  • Untangle the dependencies on internal library modules, to make the codebase more accessible. This also involves upstreaming commonly used classes or features to KDE Frameworks.
  • Preparation for the Qt6/KF6 transition.
  • Working towards REUSE compliance, and fixing license issues discovered in the process.

Join us at Akademy!

With Akademy happening online this year, it’s easier than ever to attend and meet the PIM team. The KDE PIM BoF on Tuesday next week at 16:00 UTC is a good starting point, but many of us will be around during the entire conference as well of course.