KDE • Community • Announcements

Release of KDE Frameworks 5.20.0

Also available in:

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

March 13, 2016. KDE today announces the release of KDE Frameworks 5.20.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

Breeze Icons

  • Many new icons
  • Add virtualbox mimetype icons and some other missing mimetypes
  • Add synaptic and octopi icon support
  • Fix cut icon (bug 354061)
  • Fix name of audio-headphones.svg (+=d)
  • Rating icons with smaller margin (1px)

Framework Integration

  • Remove possible file-name in KDEPlatformFileDialog::setDirectory()
  • Don't filter by name if we have mime types


  • Remove dependency on Qt5::Widgets
  • Remove dependency on KDBusAddons
  • Remove dependency on KI18n
  • Remove unused includes
  • Shell scripts output improved
  • Added the data model (ActivitiesModel) showing the activities to the library
  • Build only the library by default
  • Remove the service and workspace components from the build
  • Move the library into src/lib from src/lib/core
  • Fix CMake warning
  • Fix crash in activities context menu (bug 351485)


  • Fix kded5 dead lock when a program using kauth exits


  • KConfigIniBackend: Fix expensive detach in lookup


  • Fix Kdelibs4 config migration for Windows
  • Add API to get Frameworks runtime version info
  • KRandom: Don't use up 16K of /dev/urandom to seed rand() (bug 359485)


  • Don't call null object pointer (bug 347962)


  • Make it possible to compile with -DQT_NO_CAST_FROM_ASCII

KDELibs 4 Support

  • Fix session management for KApplication based applications (bug 354724)


  • Use unicode characters for callouts


  • KFileMetadata can now query and store information about the original email a saved file may have been an attachment of


  • Fix cursor updating in view
  • Limit string memory use
  • KHTML java applet viewer: repair broken DBus call to kpasswdserver


  • Use portable import macro for nl_msg_cat_cntr
  • Skip looking up . and .. to find the translations for an application
  • Restrict _nl_msg_cat_cntr use to GNU gettext implementations
  • Add KLocalizedString::languages()
  • Place Gettext calls only if catalog has been located


  • Make sure variable is being initialized


  • kdeinit: Prefer loading libraries from RUNPATH
  • Implement "Qt5 TODO: use QUrl::fromStringList"


  • Fix KIO app-slave connection breaking if appName contains a '/' (bug 357499)
  • Try multiple authentication methods in case of failures
  • help: fix mimeType() on get()
  • KOpenWithDialog: show mimetype name and comment in "Remember" checkbox text (bug 110146)
  • A series of changes to avoid a directory relist after a file rename in more cases (bug 359596)
  • http: rename m_iError to m_kioError
  • kio_http: read and discard body after a 404 with errorPage=false
  • kio_http: fix mimetype determination when URL ends with '/'
  • FavIconRequestJob: add accessor hostUrl() so that konqueror can find out what the job was for, in the slot
  • FavIconRequestJob: fix job hanging when aborting due to favicon too big
  • FavIconRequestJob: fix errorString(), it only had the URL
  • KIO::RenameDialog: restore preview support, add date and size labels (bug 356278)
  • KIO::RenameDialog: refactor duplicated code
  • Fix wrong path-to-QUrl conversions
  • Use kf5.kio in the category name to match other categories


  • KLinkItemSelectionModel: Add new default constructor
  • KLinkItemSelectionModel: Make the linked selection model settable
  • KLinkItemSelectionModel: Handle changes to the selectionModel model
  • KLinkItemSelectionModel: Don't store model locally
  • KSelectionProxyModel: Fix iteration bug
  • Reset KSelectionProxyModel state when needed
  • Add a property indicating whether the models form a connected chain
  • KModelIndexProxyMapper: Simplify logic of connected check


  • Limit string memory use


  • Show a warning if there's an error in the Engine

Package Framework

  • Let KDocTools stay optional on KPackage


  • Fix deprecated API usage
  • Add actionType to the declarative plugin
  • Reverse the filtering logic in PersonsSortFilterProxyModel
  • Make the QML example slightly more usable
  • Add actionType to the PersonActionsModel


  • Simplify code, reduce pointer dereferences, container-related improvements
  • Add kmimeassociations_dumper test program, inspired by bug 359850
  • Fix chromium/wine apps not loading on some distributions (bug 213972)


  • Fix highlighting of all occurrences in ReadOnlyPart
  • Don't iterate over a QString as if it was a QStringList
  • Properly initialize static QMaps
  • Prefer toDisplayString(QUrl::PreferLocalFile)
  • Support surrogate character sending from input method
  • Do not crash on shutdown when text animation is still running

KWallet Framework

  • Make sure KDocTools is looked-up
  • Don't pass a negative number to dbus, it asserts in libdbus
  • Clean cmake files
  • KWallet::openWallet(Synchronous): don't time out after 25 seconds


  • support _NET_WM_BYPASS_COMPOSITOR (bug 349910)


  • Use non-native Language name as fallback
  • Fix session management broken since KF5 / Qt5 (bug 354724)
  • Shortcut schemes: support globally installed schemes
  • Use Qt's qHash(QKeySequence) when building against Qt 5.6+
  • Shortcut schemes: fix bug where two KXMLGUIClients with the same name overwrite each other's scheme file
  • kxmlguiwindowtest: add shortcuts dialog, for testing the shortcut schemes editor
  • Shortcut schemes: improve usability by changing texts in GUI
  • Shortcut schemes: improve scheme list combo (automatic size, don't clear on unknown scheme)
  • Shortcut schemes: don't prepend the guiclient name to the filename
  • Shortcut schemes: create dir before trying to save a new shortcut scheme
  • Shortcut schemes: restore layout margin, it looks very cramped otherwise
  • Fix memory leak in KXmlGui startup hook

Plasma Framework

  • IconItem: Don't overwrite source when using QIcon::name()
  • ContainmentInterface: Fix use of QRect right() and bottom()
  • Remove effectively duplicate code path for handling QPixmaps
  • Add API docs for IconItem
  • Fix stylesheet (bug 359345)
  • Don't wipe window mask on every geometry change when compositing is active and no mask has been set
  • Applet: Don't crash on remove panel (bug 345723)
  • Theme: Discard pixmap cache when changing theme (bug 359924)
  • IconItemTest: Skip when grabToImage fails
  • IconItem: Fix changing color of svg icons loaded from icon theme
  • Fix svg iconPath resolving in IconItem
  • If path is passed, pick the tail (bug 359902)
  • Add properties configurationRequired and reason
  • Move contextualActionsAboutToShow to Applet
  • ScrollViewStyle: Do not use margins of the flickable item
  • DataContainer: Fix slot checks before connect/disconnect
  • ToolTip: Prevent multiple geometry changes while changing contents
  • SvgItem: Don't use Plasma::Theme from rendering thread
  • AppletQuickItem: Fix finding own attached layout (bug 358849)
  • Smaller expander for the taskbar
  • ToolTip: Stop show timer if hideTooltip is called (bug 358894)
  • Disable animation of icons in plasma tooltips
  • Drop animations from tooltips
  • Default theme follows color scheme
  • Fix IconItem not loading non-theme icons with name (bug 359388)
  • Prefer other containments than desktop in containmentAt()
  • WindowThumbnail: Discard glx pixmap in stopRedirecting() (bug 357895)
  • Remove the legacy applets filter
  • ToolButtonStyle: Don't rely on an outside ID
  • Don't assume we find a corona (bug 359026)
  • Calendar: Add proper back/forward buttons and a "Today" button (bugs 336124, 348362, 358536)


  • Don't disable language detection just because a language is set
  • Disable automatic disabling of automatic spelling by default
  • Fix TextBreaks
  • Fix Hunspell dictionary search paths missing '/' (bug 359866)
  • Add <app dir>/../share/hunspell to dictionary search path

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.20.0 may be freely downloaded. Instructions on compiling and installing KDE Frameworks 5.20.0 are available from the KDE Frameworks 5.20.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.20.0 requires Qt 5.3.

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