KDE • Community • Announcements

Release of KDE Frameworks 5.30.0

Also available in:

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

January 14, 2017. KDE today announces the release of KDE Frameworks 5.30.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

  • add Haguichi icons from Stephen Brandt (thanks)
  • finalize calligra icon support
  • add cups icon thanks colin (bug 373126)
  • update kalarm icon (bug 362631)
  • add krfb app icon (bug 373362)
  • add r mimetype support (bug 371811)
  • and more

Extra CMake Modules

  • appstreamtest: handle non-installed programs
  • Enable colored warnings in ninja's output
  • Fix missing :: in API docs to trigger code styling
  • Ignore host libs/includes/cmakeconfig files in Android toolchain
  • Document usage of gnustl_shared with Android toolchain
  • Never use -Wl,--no-undefined on Mac (APPLE)

Framework Integration

  • Improve KPackage KNSHandler
  • Search for the more precise required version of AppstreamQt
  • Add KNewStuff support for KPackage


  • Make compile with -fno-operator-names
  • Do not fetch more linked resources when one of them goes away
  • Added model role to retrieve the list of linked activities for a resource

KDE Doxygen Tools

  • add Android to the list of available platforms
  • include ObjC++ source files


  • Generate an instance with KSharedConfig::Ptr for singleton and arg
  • kconfig_compiler: Use nullptr in generated code


  • Hide the "Show Menu Bar" action if all the menubars are native
  • KConfigDialogManager: drop kdelibs3 classes


  • Return stringlist/boolean types in KPluginMetaData::value
  • DesktopFileParser: Honor ServiceTypes field


  • Add python bindings for KDBusAddons


  • Introduce org.kde.kconfig QML import with KAuthorized


  • kdoctools_install: match the full path for the program (bug 374435)


  • [runtime] Introduce a KGLOBALACCEL_TEST_MODE env variable

KDE GUI Addons

  • Add Python bindings for KGuiAddons


  • Set plugin data so that the Embeddable Image Viewer works


  • Inform QIconLoader also when the desktop icon theme is changed (bug 365363)


  • Take X-KDE-RunOnDiscreteGpu property into account when starting app using klauncher


  • KIO::iconNameForUrl will now return special icons for xdg locations like the user's Pictures folder
  • ForwardingSlaveBase: fix passing of Overwrite flag to kio_desktop (bug 360487)
  • Improve and export KPasswdServerClient class, the client API for kpasswdserver
  • [KPropertiesDialog] Kill "Place in system tray" option
  • [KPropertiesDialog] Don't change "Name" of "Link" .desktop files if file name is read-only
  • [KFileWidget] Use urlFromString instead of QUrl(QString) in setSelection (bug 369216)
  • Add option to run an app on a discrete graphics card to KPropertiesDialog
  • terminate DropJob properly after dropping to an executable
  • Fix logging category usage on Windows
  • DropJob: emit started copy job after creation
  • Add support for calling suspend() on a CopyJob before it gets started
  • Add support for suspending jobs immediately, at least for SimpleJob and FileCopyJob


  • Update proxies for recently realised class of bugs (layoutChanged handling)
  • Make it possible for KConcatenateRowsProxyModel to work in QML
  • KExtraColumnsProxyModel: Persist model indexes after emitting layoutChange, not before
  • Fix assert (in beginRemoveRows) when deselecting an empty child of a selected child in korganizer


  • Don't focus progress windows (bug 333934)


  • [GHNS Button] Hide when KIOSK restriction applies
  • Fix set up of the ::Engine when created with an absolute config file path


  • Add a manual test for Unity launchers
  • [KNotificationRestrictions] Let user can specify restriction reason string

KPackage Framework

  • [PackageLoader] Don't access invalid KPluginMetadata (bug 374541)
  • fix description for option -t in man page
  • Improve error message
  • Fix the help message for --type
  • Improve installation process of KPackage bundles
  • Install a kpackage-generic.desktop file
  • Exclude qmlc files from installation
  • Don't list separately plasmoids from metadata.desktop and .json
  • Additional fix for packages with different types but same ids
  • Fix cmake failure when two packages with different type have same id


  • Call the new checkAmbiguousShortcuts() from MainWindow::createShellGUI


  • KSycoca: don't follow symlink to directories, it creates a risk of recursion


  • Fix: Forward dragging text results in wrong selection (bug 374163)

KWallet Framework

  • Specify minimum required GpgME++ version 1.7.0
  • Revert "If Gpgmepp is not found, try to use KF5Gpgmepp"


  • Add python bindings
  • Add KToolTipWidget, a tooltip that contains another widget
  • Fix KDateComboBox checks for valid entered dates
  • KMessageWidget: use darker red color when type is Error (bug 357210)


  • Warn on startup about ambiguous shortcuts (with an exception for Shift+Delete)
  • MSWin and Mac have similar autosave windowsize behaviour
  • Display application version in about dialog header (bug 372367)

Oxygen Icons

  • sync with breeze icons

Plasma Framework

  • Fix the renderType properties for various components
  • [ToolTipDialog] Use KWindowSystem::isPlatformX11() which is cached
  • [Icon Item] Fix updating implicit size when icon sizes change
  • [Dialog] Use setPosition / setSize instead of setting everything individually
  • [Units] Make iconSizes property constant
  • There is now a global "Units" instance reducing memory consumption and creation time of SVG items
  • [Icon Item] Support non-square icons (bug 355592)
  • search/replace old hardcoded types from plasmapkg2 (bug 374463)
  • Fix X-Plasma-Drop* types (bug 374418)
  • [Plasma ScrollViewStyle] Show scroll bar background only on hover
  • Fix #374127 misplacement of popups from dock wins
  • Deprecate Plasma::Package API in PluginLoader
  • Recheck which representation we should using in setPreferredRepresentation
  • [declarativeimports] Use QtRendering on phone devices
  • consider an empty panel always "applets loaded" (bug 373836)
  • Emit toolTipMainTextChanged if it changes in response to a title change
  • [TextField] Allow disabling reveal password button through KIOSK restriction
  • [AppletQuickItem] Support launch error message
  • Fix logic for arrow handling in RTL locales (bug 373749)
  • TextFieldStyle: Fix implicitHeight value so the text cursor is centered


  • cmake: look for hunspell-1.6 as well

Syntax Highlighting

  • Fix highlighting of Makefile.inc by adding priority to makefile.xml
  • Highlight SCXML files as XML
  • makefile.xml: many improvements, too long to list here
  • python syntax: added f-literals and improved string handling

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.30.0 may be freely downloaded. Instructions on compiling and installing KDE Frameworks 5.30.0 are available from the KDE Frameworks 5.30.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.30.0 requires Qt 5.5.

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