KDE • Community • Announcements

Release of KDE Frameworks 5.31.0

Also available in:

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

February 11, 2017. KDE today announces the release of KDE Frameworks 5.31.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


Many modules now have python bindings.


  • add support for display_name in categories

Breeze Icons

  • too many icon changes to list them here

Extra CMake Modules

  • Enable -Wsuggest-override for g++ >= 5.0.0
  • Pass -fno-operator-names when supported
  • ecm_add_app_icon : ignore SVG files silently when unsupported
  • Bindings: Many fixes and improvements

Framework Integration

  • Support some of the KNSCore questions using notifications


  • Fix KCompressionDevice (seeking) to work with Qt >= 5.7


  • Update most of the examples, drop outdated ones


  • Fix linking on Windows: don't link kentrymaptest to KConfigCore


  • Do nothing in ShowMenubarActionFilter::updateAction if there are no menubars


  • Fix Bug 363427 - unsafe characters incorrectly parsed as part of URL (bug 363427)
  • kformat: Make it possible to properly translate relative dates (bug 335106)
  • KAboutData: Document that bug email address can also be a URL


  • [IconDialog] Set proper icons group
  • [QuickViewSharedEngine] Use setSize instead of setWidth/setHeight

KDELibs 4 Support

  • Sync KDE4Defaults.cmake from kdelibs
  • Fix HAVE_TRUNC cmake check


  • KEmoticons: use DBus to notify running processes of changes made in the KCM
  • KEmoticons: major performance improvement


  • KIconEngine: Center icon in requested rect


  • Add KUrlRequester::setMimeTypeFilters
  • Fix parsing of directories listing on a specific ftp server (bug 375610)
  • preserve group/owner on file copy (bug 103331)
  • KRun: deprecate runUrl() in favor of runUrl() with RunFlags
  • kssl: Ensure user certificate directory has been created before use (bug 342958)


  • Apply filter to proxy immediately


  • Make it possible to adopt resources, mostly for system-wide settings
  • Don't fail when moving to the temp directory when installing
  • Deprecate the security class
  • Don't block when running the post-install command (bug 375287)
  • [KNS] Take into account the distribution type
  • Don't ask if we're getting the file in /tmp


  • Re-add logging notifications to files (bug 363138)
  • Mark non-persistent notifications as transient
  • Support "default actions"

KPackage Framework

  • Don't generate appdata if it's marked as NoDisplay
  • Fix listing when the requested path is absolute
  • fix handling of archives with a folder in them (bug 374782)


  • fix minimap rendering for HiDPI envs


  • Add methods to hide the reveal password action
  • KToolTipWidget: don't take ownership of the content widget
  • KToolTipWidget: hide immediately if content gets destroyed
  • Fix focus override in KCollapsibleGroupBox
  • Fix warning when destructing a KPixmapSequenceWidget
  • Install also CamelCase forward headers for classes from multi-class headers
  • KFontRequester: Find the nearest match for a missing font (bug 286260)


  • Allow Tab as being modified by Shift (bug 368581)


  • Bug reporter: Allow a URL (not just an email address) for custom reporting
  • Skip empty shortcuts on ambiguity check

Plasma Framework

  • [Containment Interface] No need for values() as contains() looks up keys
  • Dialog: Hide when focus changes to ConfigView with hideOnWindowDeactivate
  • [PlasmaComponents Menu] Add maximumWidth property
  • Missing icon when connected to openvpn via bluetooth network (bug 366165)
  • Make sure we display enabled ListItem on hover
  • make all heights in the calendar header to be even (bug 375318)
  • fix color styling in network plasma icon (bug 373172)
  • Set wrapMode to Text.WrapAnywhere (bug 375141)
  • update kalarm icon (bug 362631)
  • correctly forward status from applets to containment (bug 372062)
  • Use KPlugin to load Calendar plugins
  • use the highlight color for selected text (bug 374140)
  • [Icon Item] Round size we want to load a pixmap in
  • portrait prop is not relevant when there is no text (bug 374815)
  • Fix the renderType properties for various components


  • Work round DBus property fetching bug (bug 345871)
  • Treat no passphrase as Solid::UserCanceled error


  • Added Greek trigram data file
  • Fix segfault in trigrams generation and expose MAXGRAMS constant in the header
  • Look for non-versioned libhunspell.so, should be more future proof

Syntax Highlighting

  • C++ highlighting: update to Qt 5.8

Security information

The released code has been GPG-signed using the following key: pub rsa2048/58D0EE648A48B3BB 2016-09-05 David Faure <faure@kde.org> Primary key fingerprint: 53E6 B47B 45CE A3E0 D5B7 4577 58D0 EE64 8A48 B3BB

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.31.0 may be freely downloaded. Instructions on compiling and installing KDE Frameworks 5.31.0 are available from the KDE Frameworks 5.31.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.31.0 requires Qt 5.6.

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