KDE • Community • Announcements

Release of KDE Frameworks 5.28.0

Also available in:

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

November 15, 2016. KDE today announces the release of KDE Frameworks 5.28.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: syntax-highlighting

Syntax highlighting engine for Kate syntax definitions This is a stand-alone implementation of the Kate syntax highlighting engine. It's meant as a building block for text editors as well as for simple highlighted text rendering (e.g. as HTML), supporting both integration with a custom editor as well as a ready-to-use QSyntaxHighlighter sub-class.

Breeze Icons

  • update kstars action icons (bug 364981)
  • Breeze Dark is listed as Breeze in System Settings wrong .themes file (bug 370213)

Extra CMake Modules

  • Make KDECMakeSettings work with KDE_INSTALL_DIRS_NO_DEPRECATED
  • Don't require the python bindings dependencies for ECM
  • Add the PythonModuleGeneration module


  • Ignoring link status when sorting UsedResources and LinkedResources model

KDE Doxygen Tools

  • [CSS] reverse changes done by doxygen 1.8.12
  • Add doxygenlayout file
  • Update way of defining group names


  • Make sure we can do more than one request
  • Make sure we get to know about progress by reading the program output


  • Make sure we don't break compilation with past broken units
  • Don't be fatal on File field not being properly parsed


  • Display bad url
  • Load user avatars from AccountsServicePath if it exists (bug 370362)


  • [QtQuickRendererSettings] Fix default to be empty instead of "false"

KDELibs 4 Support

  • Make the France flag actually use all the pixmap


  • Fix 'checkXML5 generates html files in workdir for valid docbooks' (bug 371987)


  • Support non integer scale factors in kiconengine (bug 366451)


  • Disabled spamming the console output with 'waiting for' messages


  • imageformats/kra.h - overrides for KraPlugin capabilities() and create()


  • Fix HTTP date format sent by kio_http to always use the C locale (bug 372005)
  • KACL: fix memory leaks detected by ASAN
  • Fix memory leaks in KIO::Scheduler, detected by ASAN
  • Removed duplicate clear button (bug 369377)
  • Fix editing autostart entries when /usr/local/share/applications doesn't exist (bug 371194)
  • [KOpenWithDialog] Hide TreeView header
  • Sanitize the symlink name buffer size (bug 369275)
  • Properly finish DropJobs when triggered is not emitted (bug 363936)
  • ClipboardUpdater: fix another crash on Wayland (bug 359883)
  • ClipboardUpdater: fix crash on Wayland (bug 370520)
  • Support non integer scale factors in KFileDelegate (bug 366451)
  • kntlm: Distinguish between NULL and empty domain
  • Don't show overwrite dialog if file name is empty
  • kioexec: use friendly filenames
  • Fix focus ownership if url is changed before showing the widget
  • Major performance improvement when turning previews off in the file dialog (bug 346403)


  • Add python bindings


  • Export FunctionObjectImp, used by khtml's debugger


  • Separate sort roles and filters
  • Make it possible to query installed entries


  • Don't deref an object we haven't referenced when notification has no action
  • KNotification will no longer crash when using it in a QGuiApplication and no notification service is running (bug 370667)
  • Fix crashes in NotifyByAudio

KPackage Framework

  • Make sure we're looking both for json and desktop metadata
  • Guard against Q_GLOBAL_STATIC being destroyed at app shutdown
  • Fix dangling pointer in KPackageJob (bug 369935)
  • Remove discovery associated to a key when removing a definition
  • Generate the icon into the appstream file


  • Use ulog-helper on FreeBSD instead of utempter
  • search harder for utempter using basic cmake prefix as well
  • workaround find_program ( utempter ...) failure(s)
  • use ECM path to find utempter binary, more reliable than simple cmake prefix


  • i18n: handle strings in kdevtemplate files


  • Breeze Dark: Darken current-line background color for better readability (bug 371042)
  • Sorted Dockerfile instructions
  • Breeze (Dark): Make comments a bit lighter for better readability (bug 371042)
  • Fix CStyle and C++/boost indenters when automatic brackets enabled (bug 370715)
  • Add modeline 'auto-brackets'
  • Fix inserting text after end of file (rare case)
  • Fix invalid xml highlighting files
  • Maxima: Remove hard-coded colors, fix itemData Label
  • Add OBJ, PLY and STL syntax definitions
  • Add syntax highlighting support for Praat


  • New Thermal and Electrical Units and Unit Convenience Function

KWallet Framework

  • If Gpgmepp is not found, try to use KF5Gpgmepp
  • Use Gpgmepp from GpgME-1.7.0


  • Improved relocatability of CMake export
  • [tools] Fix generation of wayland_pointer_p.h
  • [tools] Generate eventQueue methods only for global classes
  • [server] Fix crash on updating focused keyboard surface
  • [server] Fix possible crash on creation of DataDevice
  • [server] Ensure we have a DataSource on the DataDevice in setSelection
  • [tools/generator] Improve resource destruction on server side
  • Add request to have focus in a PlasmaShellSurface of Role Panel
  • Add auto-hiding panel support to PlasmaShellSurface interface
  • Support passing generic QIcon through PlasmaWindow interface
  • [server] Implement the generic window property in QtSurfaceExtension
  • [client] Add methods to get ShellSurface from a QWindow
  • [server] Send pointer events to all wl_pointer resources of a client
  • [server] Don't call wl_data_source_send_send if DataSource is unbound
  • [server] Use deleteLater when a ClientConnection gets destroyed (bug 370232)
  • Implement support for the relative pointer protocol
  • [server] Cancel previous selection from SeatInterface::setSelection
  • [server] Send key events to all wl_keyboard resources of a client


  • move kcharselect-generate-datafile.py to src subdir
  • Import kcharselect-generate-datafile.py script with history
  • Remove outdated section
  • Add Unicode copyright and permission notice
  • Fix warning: Missing override
  • Add symbol SMP blocks
  • Fix "See also" references
  • Add missing Unicode blocks; improve ordering (bug 298010)
  • add character categories to the data file
  • update the Unicode categories in the data file generation script
  • adjust the data file generation file to be able to parse the unicode 5.2.0 data files
  • forward port fix for generating translations
  • let the script to generate the data file for kcharselect also write a translation dummy
  • Add the script to generate the data file for KCharSelect
  • new KCharSelect application (using kcharselect widget from kdelibs now)


  • Improved relocatability of CMake export
  • Add support for desktopFileName to NETWinInfo


  • Allow using new style connect in KActionCollection::addAction


  • Fix include dir in pri file


  • Fix include dir in pri file
  • Fix moc error due to Q_ENUMS being used in a namespace, with Qt branch 5.8

Plasma Framework

  • make sure OSD doesn't have Dialog flag (bug 370433)
  • set context properties before reloading the qml (bug 371763)
  • Don't reparse the metadata file if it's already loaded
  • Fix crash in qmlplugindump when no QApplication is available
  • Don't show "Alternatives" menu by default
  • New bool to use activated signal as toggle of expanded (bug 367685)
  • Fixes for building plasma-framework with Qt 5.5
  • [PluginLoader] Use operator<< for finalArgs instead of initializer list
  • use kwayland for shadows and dialog positioning
  • Remaining missing icons and network improvements
  • Move availableScreenRect/Region up to AppletInterface
  • Don't load containment actions for embedded containments (system trays)
  • Update applet alternatives menu entry visibility on demand


  • Fix unstable ordering of query results yet again
  • Add a CMake option to switch between HAL and UDisks managers on FreeBSD
  • Make UDisks2 backend compile on FreeBSD (and, possibly, other UNIXes)
  • Windows: Don't display error dialogs (bug 371012)

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.28.0 may be freely downloaded. Instructions on compiling and installing KDE Frameworks 5.28.0 are available from the KDE Frameworks 5.28.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.28.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