Friday, 10 July 2026
KDE today announces the release of KDE Frameworks 6.28.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
KCoreAddons
- KMemoryInfo: add basic GNU/Hurd support. Commit.
- KDirWatch_UnitTest: fix memory leaks. Commit.
- KFileSystemType: add custom determineFileSystemTypeImpl for Hurd. Commit.
- Switch to ECMGenerateExportHeader generating C++ standard attributes. Commit.
- Aboutdata: Also fill componentName from AppStream data. Commit.
- Expose basic KSandbox properties to QML. Commit.
- Find AppStream files on Android. Commit.
- Fix Clang-Tidy: Method 'test_locking' can be made static. Commit.
- Fix Clang-Tidy: Static member accessed through instance. Commit.
- Fix Clang-Tidy: Method 'test_fileStaleFiles' can be made static. Commit.
- Aboutdata: Fix retrieving untranslated release notes. Commit.
KDE Daemon
- Disable startup notification for kded. Commit.
KGuiAddons
- Use iOS-compatible platform and URL handling. Commit.
KIconThemes
- Disable desktop-only KIconThemes tools and plugin on iOS. Commit.
KImageformats
- EXR: added support for additional metadata. Commit.
- JP2: limits the maximum number of channels to the global value defined. Commit.
- Ossfuzz: replace INITGUID with ANSI. Commit.
- JXR: remove INITGUID define. Commit.
- Ossfuzz: update libaom and libavif. Commit.
- HEIF: use heif_reader for random access devices. Commit.
- Avif: If we only have single image, return false at jumpToNextImage. Commit. Fixes bug #521200
- Added limit to maximum number of channels. Commit.
- Improve buffer memory management. Commit.
KIO
- Knewfilemenu: misc refactoring. Commit.
- Knewfilemenu: remove EntryType. Commit.
- KFileWidgetTest: fix flaky testDropFile. Commit.
- KFilePlacesView: only repaint the drop indicator when it changes. Commit. See bug #522257
- WorkerThread: do not pthread_join the QThread's own thread. Commit.
- File worker: create directories with the requested mode. Commit.
- File worker: do not fail mkdir when overwrite is set and nothing to remove. Commit.
- KFilePermissionsPropsPlugin: fix isIrregular calculation when using extended ACLs. Commit.
- Autotests: add a union-based UDSEntry candidate to the comparison benchmark. Commit.
- Kio_file: stop recursive deletion promptly when the job is cancelled. Commit.
- Core, kio_file: stop directory listing promptly when the job is cancelled. Commit.
- KUrlNavigator: Fix context menu action removing focus effect from region of navbar. Commit.
- Switch to ECMGenerateExportHeader generating C++ standard attributes. Commit.
- Openurljob: treat x-ms-dos-executable as a native binary if the executable bit is set. Commit.
- Autotests: verify POSIX ACL preservation when copying a file. Commit.
- Commandlauncherjobtest: wait for KProcessRunner deletion in runExecutableInLocalPath. Commit.
- Worker: do not flush deferred deletes globally in the destructor. Commit.
- Autotests: add a regression test for the Worker::deref() deadlock. Commit.
- Worker: do not join the worker thread synchronously in deref(). Commit.
- Autotests/threadtest: redesign concurrent test to avoid Qt plugin singleton race. Commit.
- Autotests: fix reliability and prevent memory leaks. Commit.
- Scheduler: kill pending jobs on scheduler shutdown. Commit.
- Worker, WorkerThread: fix QPluginLoader, QLibraryPrivate and thread lifecycle leaks. Commit.
- Enable LSAN in CI. Commit.
- NameFinderJob: fix StatJob lifetime, add doKill() and clean up. Commit.
- File worker: set the modification time through SetFileTime on Windows. Commit.
- Ignore the file worker move in git blame. Commit.
- File worker: drop the stale chmod FIXME comment. Commit.
- File worker: remove the dead tryChangeFileAttr and ActionType enum. Commit.
- File worker: set the copied file's permissions and ownership through a descriptor. Commit.
- Mkdirjob: add setOwnership to set uid/gid. Commit. Fixes bug #517067
- Deletejob: report files removed before a partial failure. Commit. Fixes bug #424545
- Openurljobtest: wait for the launched output, not just the file. Commit.
- Make KFilePropsPluginWidget labels' case adhere to the HIG. Commit.
- Kfileitem: do not read .directory on slow filesystems in iconName. Commit. Fixes bug #519189
- Filepreviewjobtest: Correct email in SPDX header. Commit.
- Filepreviewjobtest: Correct email in SPDX header. Commit.
- Filepreviewjob: stop timeout timer when the job finishes. Commit.
- Core: refresh KIO changes without DBus notifications. Commit.
- Widgets/kfileitem: center small icons in grid view. Commit. Fixes bug #520659
- Kfilewidget: jump to the closest sliderstep value. Commit.
- Kfileplacesmodel: Check whether tags are a supported protocol before adding them. Commit.
- KFilePlaceEditDialog: avoid public include of
. Commit.
Kirigami
- Action: only enable alternateShortcut when the action is enabled. Commit.
- FormEntry: fix binding loop. Commit.
- FormEntry: always be hoverEnabled. Commit.
- Forms: Dont put items at fractional positions. Commit. See bug #522042
- AbstractApplicationWindow: Fix applications that use an header item. Commit. Fixes bug #521552
- Primitives: Base Icon's node size on icon size, not item size. Commit. Fixes bug #391315. Fixes bug #518041. Fixes bug #519129. Fixes bug #408215
- AlignedSize: fix docs. Commit.
- Controls/private/DefaultChipBackground.qml: remove wrong colorSet. Commit.
KNotifications
- Android: Modernize JNI code. Commit.
KTextEditor
- Fix typo in settings. Commit.
- Vi-mode: Fix reversed mouse selection range. Commit. Fixes bug #454417
- Vi-mode: Fix command range for mouse selection. Commit. Fixes bug #454312
- Vi-mode: Implement read-only registers: search and command. Commit.
- Vi-mode: Fix register for last inserted text. Commit.
- Vi-mode: Simplify validation of register characters. Commit.
- Change setting wording. Commit.
- Word cursor movement: Only stop at underscores in camel cursor. Commit.
- Vi-mode: Shorten names for VI modes on the status bar. Commit.
- Vi-mode: Allow count for multiple undo/redo. Commit.
- Add editor color theme preview icon to config page combo boxes. Commit.
- Show preview icons for editor color themes. Commit.
- Themeconfig: Set file type instead of highlighting mode. Commit.
KUnitConversion
- ADD: Wh (watt-hour) energy conversion. Commit.
KUserFeedback
- Inject version macros to all public headers. Commit.
KWallet
- Fix(ksecretd): reject invalid UTF-8 in
SetSecret/CreateIteminstead of silent corruption. Commit.
Oxygen Icons
- Add to favorites icon. Commit.
- Updated kt-magnet for sizes 22-64. Commit.
- Actions/kt-magnet initial version. Commit.
- Appimage mimetype. Commit.
- Symlink system-save-session -> document-save. Commit.
- Application-x-msdownload -> application-x-ms-dos-executable. Commit.
- Amarok-symbolic. Commit.
- Some symlinks for eye icon. Commit.
- Https://invent.kde.org/frameworks/oxygen-icons/-/work_items/1#note_1527713 fix. Commit.
- More symbolic icons for 32x32. Commit.
- Another icon complete. Commit.
- Another icons that was not needed 20 years ago :D. Commit.
- Keepsecret app icon. Commit.
- New icon for a series. Commit.
Syntax Highlighting
- Invalidate cached translations when language changes. Commit.
- Powershell: fix parentheses matching in command substitution with function calls. Commit. Fixes bug #519774
- Powershell: fix Numeric Suffix when the previous line ends with number. Commit.
- Make build reproducable. Commit.
- Adapt refs to fixed scope highlighting. Commit.
- Fixes formatting for scopes containing types like 'std::char' or 'std::str::Bytes' which contain 'str' and 'char'. Commit.
- Systemd unit: update to systemd v261. Commit.
- YAML: fix some bad indentation detection, add Timestamp and fix some defects. Commit.
- Fish: end keyword of function as Keyword instead of Control Flow. Commit.
- Fish: use the "Function Doc" style for strings with --description followed by spaces. Commit. Fixes bug #521369
- Theme: Add preview icon. Commit.
- Zsh: remove String Transl. which does not exist in zsh. Commit.
- Bash: fix String Transl. highlingting (was a String DoubleQ). Commit.
- Bash: fix context pop of brace command substitution (${ cmd}/${|cmd}). Commit. Fixes bug #521069
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.28.0 may be freely downloaded. Instructions on compiling and installing are available from the KDE Frameworks 6.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 6.28.0 requires Qt 6.9.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.