KDE • Community • Announcements

Release of KDE Frameworks 5.38.0

Also available in:

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

September 09, 2017. KDE today announces the release of KDE Frameworks 5.38.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

Missing in last month's announcement: KF5 includes a new framework, Kirigami, a set of QtQuick components to build user interfaces based on the KDE UX guidelines.


  • Fix directory based search

Extra CMake Modules

  • Set CMAKE_*_OUTPUT_5.38 to run tests without installing
  • Include a module for finding qml imports as runtime dependencies

Framework Integration

  • Return high-resolution line edit clear icon
  • Fix accepting dialogs with ctrl+return when buttons are renamed


  • Refactor of the query which combines linked and used resources
  • Reloading the model when the resource gets unlinked
  • Fixed the query when merging linked and used resources


  • Fix labels of DeleteFile/RenameFile actions (bug 382450)
  • kconfigini: Strip leading whitespace when reading entry values (bug 310674)


  • Deprecate KStandardAction::Help and KStandardAction::SaveOptions
  • Fix labels of DeleteFile/RenameFile actions (bug 382450)
  • Use "document-close" as icon for KStandardAction::close


  • DesktopFileParser: add fallback lookup in ":/kservicetypes5/*"
  • Add support for uninstalled plugins in kcoreaddons_add_plugin
  • desktopfileparser: Fix non-compliant key/value parsing (bug 310674)


  • support X-KDE-OnlyShowOnQtPlatforms


  • CMake: Fix target name shortening when build dir has special characters (bug 377573)
  • Add CC BY-SA 4.0 International and set it as default


  • KGlobalAccel: port to KKeyServer's new method symXModXToKeyQt, to fix numpad keys (bug 183458)


  • klauncher: fix appId matching for flatpak apps


  • Port the webshortcuts KCM from KServiceTypeTrader to KPluginLoader::findPlugins
  • [KFilePropsPlugin] Locale-format totalSize during calculation
  • KIO: fix long-standing memory leak on exit
  • Add mimetype filtering capabilities to KUrlCompletion
  • KIO: port the URI filter plugins from KServiceTypeTrader to json+KPluginMetaData
  • [KUrlNavigator] Emit tabRequested when place in menu is middle-clicked (bug 304589)
  • [KUrlNavigator] Emit tabRequested when places selector is middle-clicked (bug 304589)
  • [KACLEditWidget] Allow double clicking to edit entry
  • [kiocore] Fix the logic error in previous commit
  • [kiocore] Check that klauncher is running or not
  • Really rate-limit INF_PROCESSED_SIZE messages (bug 383843)
  • Don't clear Qt's SSL CA certificate store
  • [KDesktopPropsPlugin] Create destination directory if it doesn't exist
  • [File KIO slave] Fix applying special file attributes (bug 365795)
  • Remove busy loop check in TransferJobPrivate::slotDataReqFromDevice
  • make kiod5 an "agent" on Mac
  • Fix proxy KCM not loading manual proxies correctly


  • hide scrollbars when useless
  • Add basic example for adjusting column width draggable handle
  • ider layers in handles positioning
  • fix handle placing when overlaps the last page
  • don't show fake handle on the last column
  • don't store stuff in the delegates (bug 383741)
  • as we already set keyNavigationEnabled, set wraps as well
  • better left-alignment for the back button (bug 383751)
  • don't take into account the header 2 times when scrolling (bug 383725)
  • never wrap the header labels
  • address FIXME: remove resetTimer (bug 383772)
  • don't scroll away applicationheader in non mobile
  • Add a property to hide the PageRow separator matching AbstractListItem
  • fix scrolling with originY and bottomtotop flow
  • Get rid of warnings about setting both pixel and point sizes
  • don't trigger reachable mode on inverted views
  • take page footer into account
  • add a slightly more complex example of a chat app
  • more failsafe to find the right footer
  • Check item validity before using it
  • Honour layer position for isCurrentPage
  • use an animation instead of an animator (bug 383761)
  • leave needed space for the page footer, if possible
  • better dimmer for applicationitem drawers
  • background dimming for applicationitem
  • fix properly back button margins
  • proper margins for back button
  • less warnings in ApplicationHeader
  • don't use plasma scaling for icon sizes
  • new look for handles



  • Initialize the "Pause" button state in the widget tracker


  • Don't block starting notification service (bug 382444)

KPackage Framework

  • refactor kpackagetool away from stringy options


  • Clear previous actions on update
  • Add remote runners over DBus


  • Port Document/View scripting API to QJSValue-based solution
  • Show icons in icon border context menu
  • Replace KStandardAction::PasteText with KStandardAction::Paste
  • Support fractional scaling in generating the sidebar preview
  • Switch from QtScript to QtQml


  • Treat input RGB buffers as premultiplied
  • Update SurfaceInterface outputs when an output global gets destroyed
  • KWayland::Client::Surface track output destruction
  • Avoid sending data offers from an invalid source (bug 383054)


  • simplify setContents by letting Qt do more of the work
  • KSqueezedTextLabel: Add isSqueezed() for convenience
  • KSqueezedTextLabel: Small improvements to API docs
  • [KPasswordLineEdit] Set focus proxy to line edit (bug 383653)
  • [KPasswordDialog] Reset geometry property


  • KKeyServer: fix handling of KeypadModifier (bug 183458)


  • Save up a bunch of stat() calls on application start
  • Fix KHelpMenu position on Wayland (bug 384193)
  • Drop broken mid-button click handling (bug 383162)
  • KUndoActions: use actionCollection to set the shortcut

Plasma Framework

  • [ConfigModel] Guard against adding a null ConfigCategory
  • [ConfigModel] Allow programmatically adding and removing ConfigCategory (bug 372090)
  • [EventPluginsManager] Expose pluginPath in model
  • [Icon Item] Don't needlessly unset imagePath
  • [FrameSvg] Use QPixmap::mask() instead of deprecated convoluted way via alphaChannel()
  • [FrameSvgItem] Create margins/fixedMargins object on demand
  • fix check state for menu items
  • Force Plasma style for QQC2 in applets
  • Install the PlasmaComponents.3/private folder
  • Drop remains of "locolor" themes
  • [Theme] Use KConfig SimpleConfig
  • Avoid some unnecessary theme content lookups
  • ignore spurious resize events to empty sizes (bug 382340)

Syntax Highlighting

  • Add syntax definition for Adblock Plus filter lists
  • Rewrite the Sieve syntax definition
  • Add highlighting for QDoc configuration files
  • Add highlight definition for Tiger
  • Escape hyphen in rest.xml regular expressions (bug 383632)
  • fix: plaintext is highlighted as powershell
  • Add syntax highlighting for Metamath
  • Rebased Less syntax highlighting on SCSS one (bug 369277)
  • Add Pony highlighting
  • Rewrite the email syntax definition

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.38.0 may be freely downloaded. Instructions on compiling and installing KDE Frameworks 5.38.0 are available from the KDE Frameworks 5.38.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.38.0 requires Qt 5.7.

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