Friday, 8 August 2025
KDE today announces the release of KDE Frameworks 6.17.0.
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
Baloo
- Fix build with clang. Commit.
- Bump kf ecm_set_disabled_deprecation_versions. Make sure that it compiles fine without kf 6.16 deprecated methods. Commit.
- [TermGenerator] Check input text validity. Commit. Fixes bug #506187. See bug #506570
- Update clang-format CI image to suse-qt610. Commit.
- [Extractor] Handle parent exit during batch. Commit.
- [ExtractorProcess] Test extractor exit when parent quits. Commit.
- [ExtractorProcess] Extend tests, align better with extractor code. Commit.
- [ExtractorProcess] Fix deprecated implicit capture of this. Commit.
Framework Integration
- Bump kf ecm_set_disabled_deprecation_versions. Make sure that it compiles fine without kf 6.16 deprecated methods. Commit.
KCodecs
- [KEncodingProberTest] Add more test cases for UTF-16. Commit.
- [KEncodingProber] Remove bogus global static state from UTF-16 probing. Commit.
- [KEncodingProberTest] Document UTF-16 BOM probing is broken. Commit.
- It compiles fine without qt 6.10 deprecated methods. Commit.
- [KEncodingProber] Fix typo from automatic mass edit. Commit.
- [KEncodingProber] Remove unused member variables. Commit.
- [KEncodingProber] Remove unused, private
SetOp(t)ion
method from probers. Commit. - [KEncodingProberTest] Make probertest data driven. Commit.
- [KEncodingProberTest] Embed small binary data test case. Commit.
- [KEncodingProberTest] Remove unnecessary static variable, setup code. Commit.
- [KEncodingProberTest] Move class declaration to implementation file. Commit.
KConfigWidgets
- Draw text between shortcut keys with normal/highlighted text color. Commit.
- Use highlight text color and omit custom text coloring for selected item. Commit.
- Bump kf ecm_set_disabled_deprecation_versions. Make sure that it compiles fine without kf 6.16 deprecated methods. Commit.
- It compiles fine without qt 6.10 deprecated methods. Commit.
KCoreAddons
- Require less precise timing in kformattest. Commit.
- Fix crash/stack overflow on drive removal on Windows. Commit. Fixes bug #499865
- QStaticPlugin is a struct, no class. Commit.
- Widen the intervals. Commit.
- Fix jobtest on Windows. Commit.
- Fix reading of localized JSON values on Windows (and macOS). Commit.
- It compiles fine without qt 6.10 deprecated methods. Commit.
- [kpluginmetadata] Tweak docs. Commit.
- Fix since version. Commit.
KDBusAddons
- It compiles fine without qt 6.10 deprecated methods. Commit.
KFileMetaData
- [UserMetaDataWriterTest] Handle filesystem differences in XAttr size limits. Commit.
- [EPubExtractorTest] Fix unspecified timezone handling. Commit.
- [EPubExtractorTest] Move test class declaration to implementation file. Commit.
- [EPubExtractor] Work around an unhandled error case in libepub. Commit.
- [PpubExtractor] Fix memory leak in error case. Commit.
- Move poppler include from header file to source file in popplerextractor. Commit.
- Include qmobipocket_version.h in mobiextractor. Commit.
- Remove unused HAVE_AVSTREAM_CODECPAR macro and unused includes in ffmpegextractor. Commit.
- Remove unused includes in embeddedimagedata.cpp. Commit.
- EPubExtractor: Fix memory leak. Commit.
- [PlaintextExtractor] Verify decoded text contains printable characters. Commit. Fixes bug #506570
- [PlaintextExtractor] Only add "Text" type if decoding suceeds. Commit.
- [PlaintextExtractor] Fix various issues with UTF-16. Commit. See bug #506187
- [PlaintextExtractor] Add tests for UTF-16 BE and LE with BOM. Commit.
- [PlainTextExtractor] Lower required confidence for UTF-8. Commit.
KGuiAddons
- It compiles fine without qt 6.10 deprecated methods. Commit.
KImageformats
- IFF: add support for uncompressed ACBM type. Commit.
- Bump kf ecm_set_disabled_deprecation_versions. Make sure that it compiles fine without kf 6.16 deprecated methods. Commit.
- Fix CI. Commit.
- It compiles fine without qt 6.10 deprecated methods. Commit.
- IFF: add mime types and extensions. Commit.
- Chunks.cpp - send info and warning messages to the iff logging category. Commit.
- IFF: support for Ham8, HalfBride, Pbm and ILBM 32-bits modes. Commit.
- Tga: Be less strict about palette. Commit.
- Fix unused param in MicroExif::toByteArray(). Commit.
- IFF: Fix possible stack overflow. Commit.
KIO
- KFileItemDelegate: Create regular pixmal already with devicePixelRatio. Commit.
- Ksambashare: correct path validation logic in isPathValid. Commit.
- [kfileitemactions] Use SingleShot connection for activation token. Commit.
- KCoreDirLister: Do not list files again if the new url has same job. Commit. Fixes bug #507278. See bug #451050. See bug #507185
- Worker: add ability to inject mock workers. Commit.
- Widgets: Add redo support to FileUndoManager. Commit. See bug #451746
- Guard #include. Commit.
- Xdg-activation for opening files in other apps. Commit.
- Correctly use OpenURI protocol in a sandbox. Commit.
- Kfilewidgettest_saving_gui: add commandline options. Commit.
- DnD: support possibleActions() coming from the drop event. Commit. Fixes bug #505247
- [previewjob] Use KPluginMetaData to list standard thumbnailers directly. Commit.
- Use QFile::exists, tempFile.exists fails on FreeBSD. Commit.
- Don't use FICLONE in special slow test path. Commit.
- Remove FreeBSD workaround in KFileItemTest. Commit.
- [knewfilemenu] Fix checking for home dir. Commit.
- Don't use /tmp in KDirListerTest. Commit.
- [previewjob] Refactor SHM code. Commit.
- [kurifiltertest] Skip test case when necessary user is missing. Commit.
- [previewjob] Create SHM buffer with correct size. Commit.
- [previewjob] Drop unused m_shmSize member. Commit.
- KUrlNavigator: Set fixed width size policy on badge container. Commit. Fixes bug #501667
- KFileItemActions: Don't show hidden services on Open With menu. Commit.
- Kfilewidgettest: reduce wait time. Commit.
- KNewFileMenu: Add placeholder text. Commit.
- GUI/KTerminalLauncherJob: additional Public Function for checking avaibility. Commit.
- [previewjob] Remember standard thumbnailer exec in metadata. Commit.
- [previewjob] Fix container detaching. Commit.
- [previewjob] Use list instead of map. Commit.
- [previewjob] Better set Id in standard plugin metadata. Commit.
- [previewjob] Use completeBaseName for standard thumbnailer id. Commit.
- [previewjob] Reduce variable scope. Commit.
- [previewjob] Add missing const. Commit.
- [previewjob] Use readXdgListEntry. Commit.
- [previewjob] Use simpler KConfig for standard thumbnailer files. Commit.
- Special case for some protocols that we know are local. Commit. Fixes bug #506772
- Remove reference to KMimeTypeResolver from the doc. Commit.
- [previewjob] Set image DPR for non-SHM path too. Commit.
- [previewjob] Always read metadata entries from datastream. Commit.
- Hide the separator between checksums and feedback if feedback is hidden. Commit.
- Don't automatically calculate checksums for small files. Commit.
- Fix overflowing text in checksums feedback label. Commit.
- Support comparing checksums for multiple files. Commit.
- Automatically verify checksum found in clipboard. Commit.
- Automatically calculate checksums for smallish files. Commit.
- Allow desktop files in checksums plugin. Commit.
- [previewjob] Simplify if checks. Commit.
- [previewjob] Read config where it's used. Commit.
- Kpropertiesdesktopbase: Make string case consistent. Commit.
- Kpropertiesdesktopbase: Use 'Generic name' instead of 'Description'. Commit.
- DropJob: Emit popupMenuAboutToShow after setting things up. Commit. Fixes bug #506188
- Change the previewJob private statemachine into chain of jobs. Commit.
- KDirOperator: Make "newest first" the default kind of date sorting. Commit. Implements feature #500512
- KDirOperator: stop blocking treeview signals. Commit.
Kirigami
- SearchDialog: documentation: use correct KSortFilterProxyModel property. Commit.
- Fix some warnings. Commit.
- SelectableLabel: show tooltip when hovering over a web link. Commit.
- SelectableLabel: remove no-longer-needed workaround for Qt bug. Commit.
- Move templates in own import. Commit.
- Make IconPropertiesGroup public. Commit.
- [formlayout] Set accessible label relationship. Commit.
- Fix AboutItem using non-existant API from KAboutData. Commit.
- NavigationTabButton: Use extended border for active focus. Commit.
- Fix warnings, don't call null objects. Commit.
- PageRow: remove hardcoded one pixel border. Commit.
- PageRow: fix visible loop caused by previous commit. Commit.
- PageRow: proper sidebarControl visibility condition. Commit.
- Treat elapsed as a positive value and avoid animating instantaneous changes. Commit.
- Access the proper overlay object. Commit.
- PageRow: proper width for sidebar background. Commit.
- FormLayout: fix a couple of warnings. Commit.
- Fix test. Commit.
- Immediately relayout after creating FormLayout / adding elements to it. Commit. Fixes bug #410352
- OverlayDrawer: Supports Mouse resize. Commit.
- Reapply "Move notifications on top of the Overlay layer". Commit.
- Fix SoftwareRectangleNode creating QSGImageNode's without texture. Commit. Fixes bug #506991
- LinkButton/UrlButton: massage docs. Commit.
- Always show the back button on layer. Commit.
- Global toolbar: don't resize the toolbar during slide on single column mode. Commit.
- PageRow: fix gap in the sidebar. Commit.
- AboutItem/LinkButton/UrlButton: fix mouse area extending beyond visible contents. Commit.
- ApplicationHeader: fix content sizing. Commit.
- PageRow: replace layout with anchors. Commit.
- Don't show just the disabled back button on first page. Commit.
- Adress comment. Commit.
- Fix header layout on applicationsHeaders used in drawers. Commit.
- Reapply "AbstractApplicationHeader: fix show/hide animations". Commit.
- Fix toolbar spacing for menu mode drawers. Commit.
- Global toolbar refactor: navigation buttons. Commit.
- ToolBarLayout: Don't show every delegate as they are being loaded in. Commit.
- Dialog: hide in-window title component when dialog is Window type. Commit.
- Dialog: remove corners and border when popup is Window type. Commit.
- SearchDialog: Remove header injected by style. Commit.
- ColumnView: correctly hide the separator when touches the border. Commit.
- ColumnView: fix pinned pages. Commit.
KItemModels
- It compiles fine without qt 6.10 deprecated methods. Commit.
KItemViews
- It compiles fine without qt 6.10 deprecated methods. Commit.
KPeople
- Bump kf ecm_set_disabled_deprecation_versions. Make sure that it compiles fine without kf 6.16 deprecated methods. Commit.
KQuickCharts
- It compiles fine without qt 6.10 deprecated methods. Commit.
KRunner
- Add support for XDG Activation in DBusRunner. Commit.
- Save LaunchCounts immediately on launch if there were any matches. Commit. Fixes bug #500972
- Bump kf ecm_set_disabled_deprecation_versions. Make sure that it compiles fine without kf 6.16 deprecated methods. Commit.
- It compiles fine without qt 6.10 deprecated methods. Commit.
KTextEditor
- Correct redo cursor position for UTF-8 text recovery. Commit.
- Bump kf ecm_set_disabled_deprecation_versions. Make sure that it compiles fine without kf 6.16 deprecated methods. Commit.
- Draw all text background ourselves instead of just selection. Commit. Fixes bug #507053
- Allow skipping selection when layouting the line. Commit.
- Properly center the screenshot pixmap. Commit. Fixes bug #506909
KTextTemplate
- It compiles fine without qt 6.10 deprecated methods. Commit.
KWidgetsAddons
- It compiles fine without qt 6.10 deprecated methods. Commit.
KWindowSystem
- It compiles fine without qt 6.10 deprecated methods. Commit.
Modem Manager Qt
- It compiles fine without qt 6.10 deprecated methods. Commit.
QQC2 Desktop Style
- DialogButtonBox comes from QQC2 so it needs to be qualified. Commit.
- Label: remove workaround for Qt bug. Commit.
- Bump kf ecm_set_disabled_deprecation_versions. Make sure that it compiles fine without kf 6.16 deprecated methods. Commit.
- It compiles fine without qt 6.10 deprecated methods. Commit.
- PlasmaDesktopTheme performance: Avoid an unique connection. Commit.
- Reduce event listeners in KQuickStyleItem. Commit.
Syntax Highlighting
- Add Expect syntax highlighting. Commit. Implements feature #474323
- Tcl: fix variable and escaping char ; add new highlighting for symbols and control flow keyword. Commit.
- Breeze Dark theme: changes the color of BuiltIn to be distinguishable from Comment. Commit. Fixes bug #458498
- Bash: add new substitution commands from version 5.3: ${|cmd;} and ${ cmd;}. Commit.
- Add WebVTT syntax highlighting. Commit.
- Agda: add opaque and unfolding keywords. Commit.
- It compiles fine without qt 6.10 deprecated methods. Commit.
- Avoid compile warning. Commit.
- Lua: when strings are not closed, mark only the start of the following line as an error. Commit.
- Lua: add new function and keyword of version 5.5. Commit.
- PERL: bracket pattern allows any character as a replacement separator. Commit.
- PERL: add regex modifier: p, a, d, l, u and n. Commit.
- Add JSON5 highlighting. Commit. Implements feature #481038
- JSON: add Number, String and Constant as top level value. Commit.
- Add JSONC (JSON with Comments) highlighting. Commit. Implements feature #481038
- Add NDJSON files and GeoJSON mimetype to JSON highlighting. Commit.
- Add NFTables syntax. Commit. Implements feature #415671
- Indexer: remove check for duplicated keywords, but generate a compressed file without duplication. Commit.
- Add a dispatcher syntax for .log file. Commit.
- Add LaTeX Log File syntax. Commit. Implements feature #248930
- Document SyntaxHighlighter. Commit.
- Add XHTML. Commit.
- HTML generator: do not insert FindPHP and Twig/Twig rules when the context name starts with 'Find'. Commit.
- HTML: fix comment format, Escapable raw text elements and others. Commit.
- XML: add test for CDATA and invalid attribute in closing tag. Commit.
Threadweaver
- It compiles fine without qt 6.10 deprecated methods. Commit.
Installing binary packages
On Linux, using packages for your favorite distribution is the recommended way to get access to KDE Frameworks. Get KDE Software on Your Linux Distro wiki page
Compiling from sources
The complete source code for KDE Frameworks 6.17.0 may be freely downloaded. Instructions on compiling and installing are available from the KDE Frameworks 6.17.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 6.17.0 requires Qt 6.5.0.
A detailed listing of all Frameworks with API documentation is on api.kde.org.
Get Involved
Those interested in following and contributing to the development of Frameworks can check out the git repositories and follow the discussions on the KDE Frameworks Development mailing list. 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 Libera Chat.
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 Supporting KDE page for further information or become a KDE e.V. supporting member through our Join the Game initiative.