KDE • Community • Announcements

Release of KDE Frameworks 5.22.0

Also available in:

English | Català | Español | Eesti | Galician | Italiano | Nederlands | Português | Svenska | Українська

May 15, 2016. KDE today announces the release of KDE Frameworks 5.22.0.

KDE Frameworks are 70 addon libraries to Qt which provide a wide variety of commonly needed functionality in mature, peer reviewed and well tested libraries with friendly licensing terms. For an introduction see the Frameworks 5.0 release announcement.

This release is part of a series of planned monthly releases making improvements available to developers in a quick and predictable manner.

New in this Version


  • Properly check if a URL is a local file


  • Compilation fixes for Windows

Breeze Icons

  • Many new action and application icons.
  • Specify offered extensions as per change in kiconthemes

Extra CMake Modules

  • Android deployment: support projects without things in share or lib/qml (bug 362578)
  • ecm_qt_declare_logging_category: improve error message when using without including

Framework Integration

  • Remove platformtheme plugin as it's in plasma-integration


  • Provide a way to disable inotify use in KDirWatch
  • Fix KAboutData::applicationData() to init from current Q*Application metadata
  • Make clear that KRandom is not recommended for cryptography purposes


  • KDBusService: turn '-' into '_' in object paths


  • Don't crash if we have no openGL context

KDELibs 4 Support

  • Provide a fallback MAXPATHLEN if not defined
  • Fix KDateTime::isValid() for ClockTime values (bug 336738)


  • Added entity applications


  • Merge branch 'externalextractors'
  • Fixed external plugins and tests
  • Added support for external writer plugins
  • Added writer plugin support
  • Add external extractor plugin support


  • Implement toString for Uint8ArrayConstructor and friends
  • Merge in several Coverity-related fixes
  • Correctly use QCache::insert
  • Fix some memory leaks
  • Sanity check CSS web font parsing, avoid potential mem leak
  • dom: Add tag priorities for 'comment' tag


  • libgettext: Fix potential use-after-free using non-g++ compilers


  • Use appropriate container for internal pointer array
  • Add opportunity to reduce unneeded disk accesses, introduces KDE-Extensions
  • Save some disk accesses


  • kurlnavigatortoolbutton.cpp - use buttonWidth in paintEvent()
  • New file menu: filter out duplicates (e.g. between .qrc and system files) (bug 355390)
  • Fix error message on startup of the cookies KCM
  • Remove kmailservice5, it can only do harm at this point (bug 354151)
  • Fix KFileItem::refresh() for symlinks. The wrong size, filetype and permissions were being set
  • Fix regression in KFileItem: refresh() would lose the file type, so a dir became a file (bug 353195)
  • Set text on QCheckbox widget rather than using a separate label (bug 245580)
  • Don't enable acl permissions widget if we don't own the file (bug 245580)
  • Fix double-slash in KUriFilter results when a name filter is set
  • KUrlRequester: add signal textEdited (forwarded from QLineEdit)


  • Fix template syntax for test case generation
  • Fix linking with Qt 5.4 (wrongly placed #endif)


  • Fix the layout of the BrowserOpenOrSaveQuestion dialogue


  • Add a check for PersonData being valid


  • Fix metainfo.yaml: KRunner is neither a porting aid nor deprecated


  • Remove too-strict maximum string length in KSycoca database


  • Use proper char syntax '"' instead of '\"'
  • doxygen.xml: Use default style dsAnnotation for "Custom Tags" as well (less hard-coded colors)
  • Add option to show the counter of words
  • Improved foreground color contrast for search & replace highlightings
  • Fix crash when closing Kate through dbus while the print dialog is open (bug #356813) (bug 356813)
  • Cursor::isValid(): add note about isValidTextPosition()
  • Add API {Cursor, Range}::{toString, static fromString}


  • Inform the client if we don't know the conversion rate
  • Add ILS (Israeli New Shekel) currency (bug 336016)

KWallet Framework

  • disable seession restore for kwalletd5


  • KNewPasswordWidget: Remove size hint on spacer, which was leading to some always empty space in the layout
  • KNewPasswordWidget: fix QPalette when widget is disabled


  • Fix generation of path to xcb plugin

Plasma Framework

  • [QuickTheme] Fix properties
  • highlight/highlightedText from proper color group
  • ConfigModel: Don't try to resolve empty source path from package
  • [calendar] Only show the events mark on days grid, not month or year
  • declarativeimports/core/windowthumbnail.h - fix -Wreorder warning
  • reload icon theme properly
  • Always write the theme name to plasmarc, also if the default theme is chosen
  • [calendar] Add a mark to days containing an event
  • add Positive, Neutral, Negative text colors
  • ScrollArea: Fix warning when contentItem is not Flickable
  • Add a prop and method for aligning the menu against a corner of its visual parent
  • Allow setting minimum width on Menu
  • Maintain order in stored item list
  • Extend API to allow (re)positioning menu items during procedural insert
  • bind highlightedText color in Plasma::Theme
  • Fix unsetting associated application/urls for Plasma::Applets
  • Don't expose symbols of private class DataEngineManager
  • add an "event" element in the calendar svg
  • SortFilterModel: Invalidate filter when changing filter callback


  • Install parsetrigrams tool for cross compiling
  • hunspell: Load/Store a personal dictionary
  • Support hunspell 1.4
  • configwidget: notify about changed config when ignored words updated
  • settings: don't immediately save the config when updating ignore list
  • configwidget: fix saving when ignore words updated
  • Fix failed to save ignore word issue (bug 355973)

Installing binary packages

On Linux, using packages for your favorite distribution is the recommended way to get access to KDE Frameworks. Binary package distro install instructions.

Compiling from sources

The complete source code for KDE Frameworks 5.22.0 may be freely downloaded. Instructions on compiling and installing KDE Frameworks 5.22.0 are available from the KDE Frameworks 5.22.0 Info Page.

Building from source is possible using the basic cmake .; make; make install commands. For a single Tier 1 framework, this is often the easiest solution. People interested in contributing to frameworks or tracking progress in development of the entire set are encouraged to use kdesrc-build. Frameworks 5.22.0 requires Qt 5.4.

A detailed listing of all Frameworks and other third party Qt libraries is at inqlude.org, the curated archive of Qt libraries. A complete list with API documentation is on api.kde.org.


Those interested in following and contributing to the development of Frameworks can check out the git repositories, follow the discussions on the KDE Frameworks Development mailing list and contribute patches through review board. Policies and the current state of the project and plans are available at the Frameworks wiki. Real-time discussions take place on the #kde-devel IRC channel on freenode.net.

You can discuss and share ideas on this release in the comments section of the dot article.

Supporting KDE

KDE is a Free Software community that exists and grows only because of the help of many volunteers that donate their time and effort. KDE is always looking for new volunteers and contributions, whether it is help with coding, bug fixing or reporting, writing documentation, translations, promotion, money, etc. All contributions are gratefully appreciated and eagerly accepted. Please read through the Donations page for further information or become a KDE e.V. supporting member through our new Join the Game initiative.

About KDE

KDE is an international technology team that creates free and open source software for desktop and portable computing. Among KDE's products are a modern desktop system for Linux and UNIX platforms, comprehensive office productivity and groupware suites and hundreds of software titles in many categories including Internet and web applications, multimedia, entertainment, educational, graphics and software development. KDE software is translated into more than 60 languages and is built with ease of use and modern accessibility principles in mind. KDE's full-featured applications run natively on Linux, BSD, Solaris, Windows and macOS.

Trademark Notices. KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. Linux is a registered trademark of Linus Torvalds. UNIX is a registered trademark of The Open Group in the United States and other countries. All other trademarks and copyrights referred to in this announcement are the property of their respective owners.

Press Contacts

For more information send us an email:

Global navigation links