KDE • Community • Announcements

Release of KDE Frameworks 5.29.0

Also available in:

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

December 12, 2016. KDE today announces the release of KDE Frameworks 5.29.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

New framework

This release includes Prison, a new framework for barcode generation (including QR codes).


FreeBSD was added to metainfo.yaml in all frameworks tested to work on FreeBSD.


  • Performance improvements when writing (4 * speedup for writing out data)

Breeze Icons

  • Make BINARY_ICONS_RESOURCE ON by default
  • add vnd.rar mime for shared-mime-info 1.7 (bug 372461)
  • add claws icon (bug 371914)
  • add gdrive icon instead of a generic cloud icon (bug 372111)
  • fix bug "list-remove-symbolic use wrong image" (bug 372119)
  • other additions and improvements

Extra CMake Modules

  • Skip Python bindings test if PyQt isn't installed
  • Only add the test if python is found
  • Reduce the CMake minimum required
  • Add ecm_win_resolve_symlinks module

Framework Integration

  • find QDBus, needed by appstream kpackage handler
  • Let KPackage have dependencies from packagekit & appstream


  • Properly sending the resource linked event

KDE Doxygen Tools

  • Adapt to quickgit -> cgit change
  • Fix bug if group name is not defined. Can still break under bad conditions


  • Add errorString() method to provide error info


  • Add timeout property (bug 363200)


  • kconfig_compiler - generate code with overrides
  • Properly parse function keywords (bug 371562)


  • Ensure menu actions get the intended MenuRole


  • KTextToHtml: fix bug "[1] added at the end of a hyperlink" (bug 343275)
  • KUser: Only search for an avatar if loginName isn't empty


  • Align with KInit and don't use DISPLAY on Mac
  • Don't close all file descriptors on OS X


  • src/kgendesignerplugin.cpp - add overrides to generated code


  • Unsets XDG_RUNTIME_DIR in processes run with kdesu


  • Actually find FFMpeg's libpostproc


  • java: apply the names to the right buttons
  • java: set names in permission dialog


  • Check properly pointer inequality from dngettext (bug 372681)


  • Allow showing icons from all categories (bug 216653)


  • Set environment variables from KLaunchRequest when starting new process


  • Ported to categorized logging
  • Fix compilation against WinXP SDK
  • Allow uppercase checksums matching in Checksums tab (bug 372518)
  • Never stretch the last (=date) column in the file dialog (bug 312747)
  • Import and update kcontrol docbooks for code in kio from kde-runtime master
  • [OS X] make KDE's trash use the OS X trash
  • SlaveBase: add documentation about event loops and notifications and kded modules


  • Add new archive management option (subdir) to knsrc
  • Consume the new error signals (set job errors)
  • Handle oddity regarding files disappearing when just created
  • Actually install the core headers, with CamelCases


  • [KStatusNotifierItem] Save / restore widget position during hide / restore it window (bug 356523)
  • [KNotification] Allow annotating notifications with URLs

KPackage Framework

  • keep installing metadata.desktop (bug 372594)
  • manually load metadata if absolute path is passed
  • Fix potential failure if package is not appstream compatible
  • Let KPackage know about X-Plasma-RootPath
  • Fix generating the metadata.json file


  • More utempter path searching (including /usr/lib/utempter/)
  • Add library path so utempter binary is found in Ubuntu 16.10


  • Prevent Qt warnings about an unsupported clipboard mode on Mac
  • Use syntax definitions from KF5::SyntaxHighlighting


  • Don't replace window icons with the result of a failed lookup


  • [client] Fix nullptr dereference in ConfinedPointer and LockedPointer
  • [client] Install pointerconstraints.h
  • [server] Fix regression in SeatInterface::end/cancelPointerPinchGesture
  • Implementation of PointerConstraints protocol
  • [server] Reduce overhead of pointersForSurface
  • Return SurfaceInterface::size in global compositor space
  • [tools/generator] Generate enum FooInterfaceVersion on server side
  • [tools/generator] Wrap wl_fixed request args in wl_fixed_from_double
  • [tools/generator] Generate implementation of client side requests
  • [tools/generator] Generate client side resource factories
  • [tools/generator] Generate callbacks and listener on client side
  • [tools/generator] Pass this as q pointer to Client::Resource::Private
  • [tools/generator] Generate Private::setup(wl_foo *arg) on client side
  • Implementation of PointerGestures protocol


  • Prevent crashing on Mac
  • Don't replace icons with the result of a failed lookup
  • KMessageWidget: fix layout when wordWrap is enabled without actions
  • KCollapsibleGroupBox: don't hide widgets, override focus policy instead


  • [KWindowInfo] Add pid() and desktopFileName()

Oxygen Icons

  • Add application-vnd.rar icon (bug 372461)

Plasma Framework

  • Check for metadata validity in settingsFileChanged (bug 372651)
  • Don't flip tabbar layout if vertical
  • Remove radialGradient4857 (bug 372383)
  • [AppletInterface] Never pull focus away from fullRepresentation (bug 372476)
  • Fix SVG icon ID prefix (bug 369622)


  • winutils_p.h: Restore compatibility with WinXP SDK


  • Also search for hunspell-1.5

Syntax Highlighting

  • Normalize XML license attribute values
  • Sync syntax definitions from ktexteditor
  • Fix folding region merging

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.29.0 may be freely downloaded. Instructions on compiling and installing KDE Frameworks 5.29.0 are available from the KDE Frameworks 5.29.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.29.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