KDE • Community • Announcements

Release of KDE Frameworks 5.16.0

Also available in:

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

November 13, 2015. KDE today announces the release of KDE Frameworks 5.16.0.

KDE Frameworks are 60 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


  • Monitor lib: Use Kformat::spelloutDuration to localize time string
  • Use KDE_INSTALL_DBUSINTERFACEDIR to install dbus interfaces
  • UnindexedFileIndexer: Handle files that have been moved when baloo_file was not running
  • Remove Transaction::renameFilePath and add DocumentOperation for it.
  • Make constructors with a single parameter explicit
  • UnindexedFileIndexer: only index required parts of file
  • Transaction: add method to return timeInfo struct
  • Added exclude mimetypes to balooctl's config
  • Databases: Use QByteArray::fromRawData when passing data to a codec
  • Balooctl: Move 'status' command to its own class
  • Balooctl: Show help menu if the command is not recognized
  • Balooshow: Allow us to lookup files by their inode + devId
  • Balooctl monitor: stop if baloo dies
  • MonitorCommand: Use both the started and finished signals
  • Balooctl monitor: Move to a proper command class
  • Add dbus notification for when we start/finish indexing a file
  • FileIndexScheduler: Forcibly kill threads on exit
  • WriteTransaction commit: Avoid fetching the positionList unless required
  • WriteTransaction: Extra asserts in replaceDocument


  • isBluetoothOperational now also depends on unblocked rfkill
  • Fix determining global state of rfkill switch
  • QML API: Mark properties without notify signal as constants

Extra CMake Modules

  • Warn instead of error if ecm_install_icons finds no icons. (bug 354610)
  • make it possible to build KDE Frameworks 5 with a plain qt 5.5.x installed from the normal qt.io installer on mac os
  • Do not unset cache variables in KDEInstallDirs. (bug 342717)

Framework Integration

  • Set default value for WheelScrollLines
  • Fix WheelScrollLines settings with Qt >= 5.5 (bug 291144)
  • Switch to Noto font for Plasma 5.5


  • Fixing the build against Qt 5.3
  • Moved the boost.optional include to the place that uses it
  • Replacing the boost.optional usage in continuations with a slimmer optional_view structure
  • Added support for a custom ordering of linked results
  • Allow QML to invoke activities KCM
  • Adding the support for activity deletion to activities KCM
  • New activity configuration UI
  • New configuration UI that supports adding description and wallpaper
  • Settings UI is now properly modularized


  • Fix KArchive for behavior change in Qt 5.6
  • Fix memleaks, lower memory usage


  • Handle proxying qInfo messages
  • Wait for async call starting helper to finish before checking the reply (bug 345234)
  • Fix variable name, otherwise there's no way the include can work


  • Fix usage of ecm_create_qm_loader.
  • Fix include variable
  • Use KDE_INSTALL_FULL_ variant, so there is no ambiguity
  • Allow KConfig to use resources as fallback config files


  • Make KConfigWidgets self contained, bundle the one global file in a resource
  • Make doctools optional


  • KAboutData: apidoc "is is" -> "is" addCredit(): ocsUserName -> ocsUsername
  • KJob::kill(Quiet) should also exit the event loop
  • Add support for desktop file name to KAboutData
  • Use correct escaping character
  • Reduce some allocations
  • Make KAboutData::translators/setTranslators simple
  • Fix setTranslator example code
  • desktopparser: skip the Encoding= key
  • desktopfileparser: Address review comments
  • Allow setting service types in kcoreaddons_desktop_to_json()
  • desktopparser: Fix parsing of double and bool values
  • Add KPluginMetaData::fromDesktopFile()
  • desktopparser: Allow passing relative paths to service type files
  • desktopparser: Use more categorized logging
  • QCommandLineParser uses -v for --version so just use --verbose
  • Remove lots of duplicated code for desktop{tojson,fileparser}.cpp
  • Parse ServiceType files when reading .desktop files
  • Make SharedMimeInfo an optional requirement
  • Remove call to QString::squeeze()
  • desktopparser: avoid unnecessary utf8 decoding
  • desktopparser: Don't add another entry if entry ends in a separator
  • KPluginMetaData: Warn when a list entry is not a JSON list
  • Add mimeTypes() to KPluginMetaData


  • Improve search for drkonqui and keep it silent per default if not found


  • ConfigPropertyMap can now be queried for immutable config options using the isImmutable(key) method
  • Unbox QJSValue in config property map
  • EventGenerator: Add support for sending wheel events
  • fix lost QuickViewSharedEngine initialSize on initializing.
  • fix critical regression for QuickViewSharedEngine by commit 3792923639b1c480fd622f7d4d31f6f888c925b9
  • make pre-specified view size precede initial object size in QuickViewSharedEngine


  • Make doctools optional

KDELibs 4 Support

  • Don't try to store a QDateTime in mmap'ed memory
  • Sync and adopt uriencode.cmake from kdoctools.


  • Add KCollapsibleGroupBox


  • update pt_BR entities


  • Do not XOR Shift for KP_Enter (bug 128982)
  • Grab all keys for a symbol (bug 351198)
  • Do not fetch keysyms twice for every keypress


  • Fix printing from KHTMLPart by correctly setting printSetting parent


  • kiconthemes now support themes embedded in qt resources inside the :/icons prefix like Qt does itself for QIcon::fromTheme
  • Add missing required dependencies


  • Recognize image/vnd.adobe.photoshop instead of image/x-psd
  • Partially revert d7f457a to prevent crash on application exit


  • Make doctools optional


  • Save proxy url with correct scheme
  • Ship the "new file templates" in the kiofilewidgets library using a .qrc (bug 353642)
  • Properly handle middle click in navigatormenu
  • Make kio_http_cache_cleaner deployable in application installer/bundles
  • KOpenWithDialog: Fix creating desktop file with empty mimetype
  • Read protocol info from plugin metadata
  • Allow local kioslave deployment
  • Add a .protocol to JSON converted
  • Fix double-emit of result and missing warning when listing hits an inaccessible folder (bug 333436)
  • Preserve relative link targets when copying symlinks. (bug 352927)
  • Using suitable icons for default folders in the user home (bug 352498)
  • Add an interface which allow plugin to show custom overlay icons
  • Make KNotifications dep in KIO (kpac) optional
  • Make doctools + wallet optional
  • Avoid kio crashes if no dbus server is running
  • Add KUriFilterSearchProviderActions, to show a list of actions for searching some text using web shortcuts
  • Move the entries for the "Create New" menu from kde-baseapps/lib/konq to kio (bug 349654)
  • Move konqpopupmenuplugin.desktop from kde-baseapps to kio (bug 350769)


  • Use "_timezone" global variable for MSVC instead of "timezone". Fixes build with MSVC 2015.


  • Fix 'KDE Partition Manager' desktop file and homepage URL


  • Now that kparts no longer needs knotifications, only things that really want notifications require on this framework
  • Add description + purpose for speech + phonon
  • Make phonon dependency optional, purely internal change, like it is done for speech.


  • Use deleteLater in Part::slotWidgetDestroyed().
  • Remove KNotifications dep from KParts
  • Use function to query ui_standards.rc location instead of hardcoding it, allows resource fallback to work


  • RunnerManager: Simplify plugin loading code


  • KBuildSycoca: always save, even if no change in .desktop file was noticed. (bug 353203)
  • Make doctools optional
  • kbuildsycoca: parse all the mimeapps.list files mentioned in the new spec.
  • Use largest timestamp in subdirectory as resource directory timestamp.
  • Keep MIME types separate when converting KPluginInfo to KPluginMetaData


  • highlighting: gnuplot: add .plt extension
  • fix validation hint, thanks to "Thomas Jarosch" <thomas.jarosch@intra2net.com>, add hint about the compile time validation, too
  • Don't crash when command is not available.
  • Fix bug #307107
  • Haskell highlighting variables starting with _
  • simplify git2 init, given we require recent enough version (bug 353947)
  • bundle default configs in resource
  • syntax highlighting (d-g): use default styles instead of hard-coded colors
  • better scripts search, first user local stuff, then the stuff in our resources, then all other stuff, that way the user can overwrite our shipped scripts with local ones
  • package all js stuff in resources, too, only 3 config files missing and ktexteditor could be just used as a library without any bundled files
  • next try: put all bundled xml syntax files into a resource
  • add input mode switch shortcut (bug 347769)
  • bundle xml files in resource
  • syntax highlighting (a-c): migrate to new default styles, remove hard-coded colors
  • syntax highlighting: remove hard-coded colors and use default styles instead
  • syntax highlighting: use new default styles (removes hard-coded colors)
  • Better "Import" default style
  • Introduce "Save As with Encoding" to save a file with different encoding, using the nice grouped encoding menu we have and replacing all save dialogs with the correct ones of the operating system without loosing this important feature.
  • bundle ui file into lib, using my extension to xmlgui
  • Printing again honors the selected font & color schema (bug 344976)
  • Use breeze colors for saved and modified lines
  • Improved icon border default colors of scheme "Normal"
  • autobrace: only insert brace when next letter is empty or not alphanumeric
  • autobrace: if removing start parenthesis with backspace, remove end as well
  • autobrace: only establish connection once
  • Autobrace: eat closing parentheses under some conditions
  • Fix shortcutoverride not being forwarded to the mainwindow
  • Bug 342659 - Default "bracket highlighting" color is hard to see (Normal schema fixed) (bug 342659)
  • Add proper default colors for "Current Line Number" color
  • bracket matching & auto-brackets: share code
  • bracket matching: guard against negative maxLines
  • bracket matching: just because the new range matches the old doesn't mean no update is required
  • Add the width of half a space to allow painting the cursor at EOL
  • fix some HiDPI issues in the icon border
  • fix bug #310712: remove trailing spaces also on line with cursor (bug 310712)
  • only display "mark set" message when vi input mode is active
  • remove & from button text (bug 345937)
  • fix update of current line number color (bug 340363)
  • implement brackets insert on writing a bracket over a selection (bug 350317)
  • auto brackets (bug 350317)
  • fix alert HL (bug 344442)
  • no column scrolling with dyn word wrap on
  • remember if highlighting was set by user over sessions to not loose it on save after restore (bug 332605)
  • fix folding for tex (bug 328348)
  • fixed bug #327842: End of C-style comment is misdetected (bug 327842)
  • save/restore dyn word wrap on session save/restore (bug 284250)


  • Add a new submenu to KTextEdit to switch between spell-checking languages
  • Fix loading Sonnet default settings

KWallet Framework

  • Use KDE_INSTALL_DBUSINTERFACEDIR to install dbus interfaces
  • Fixed KWallet configuration file warnings on login (bug 351805)
  • Prefix the kwallet-pam output properly


  • Add collapsible container widget, KCollapsibleGroupBox
  • KNewPasswordWidget: missing color initialization
  • Introduce KNewPasswordWidget


  • kmainwindow: Pre-fill translator information when available. (bug 345320)
  • Allow to bind the contextmenu key (lower right) to shortcuts (bug 165542)
  • Add function to query standards xml file location
  • Allow kxmlgui framework to be used without any installed files
  • Add missing required dependencies

Plasma Framework

  • Fix TabBar items being cramped together on initial creation, which can be observed in eg. Kickoff after Plasma start
  • Fix dropping files onto the desktop/panel not offering a selection of actions to take
  • Take QApplication::wheelScrollLines into account from ScrollView
  • Use BypassWindowManagerHint only on platform X11
  • delete old panel background
  • more readable spinner at small sizes
  • colored view-history
  • calendar: Make the entire header area clickable
  • calendar: Don't use current day number in goToMonth
  • calendar: Fix updating decade overview
  • Theme breeze icons when loaded trough IconItem
  • Fix Button minimumWidth property (bug 353584)
  • Introduce appletCreated signal
  • Plasma Breeze Icon: Touchpad add svg id elements
  • Plasma Breeze Icon: change Touchpad to 22x22px size
  • Breeze Icon: add widget icon to notes
  • A script to replace hardcoded colors with stylesheets
  • Apply SkipTaskbar on ExposeEvent
  • Don't set SkipTaskbar on every event

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.16.0 may be freely downloaded. Instructions on compiling and installing KDE Frameworks 5.16.0 are available from the KDE Frameworks 5.16.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.16.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