Skip to content
K

Release Announcements

KDE Frameworks 6.28.0

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

Baloo
  • CI: Update clang-format job. Commit.
Breeze Icons
  • Inject version macros to all public headers. Commit.
  • Remove duplicated ECMSetupVersion include. Commit.
  • Avoid oversized Xcode script input lists. Commit.
  • Don't include quiet packages in feature_summary. Commit.
Extra CMake Modules
  • Match build and install file system layout for generate templates. Commit.
  • Fix some typos in comments, docs and UI texts. Commit.
  • ECMGenerateExportHeader: add option DEPRECATED_ATTRIBUTE_TYPE. Commit.
KAuth
  • Port to KWaylandExtras::exportToplevel. Commit.
KCalendarCore
  • Write custom properties as TEXT or STRING based on their type. Commit.
  • Add Android platform calendar plugin. Commit.
KCMUtils
  • KF6KCMUtilsQuick: inject version macros to all public headers. Commit.
  • Kquickconfigmodule.h: remove unused QQmlComponent include. Commit.
  • Kcmloadtest: remove unused include. Commit.
KCodecs
  • [KEncodingProber] Remove some unreachable Reset methods. Commit.
  • [KEncodingProber] Reduce scope of some variables. Commit.
KConfig
  • Ksharedconfig: only free the shared config at exit under AddressSanitizer. Commit.
  • Ksharedconfig: free the per-thread shared config at application exit. Commit.
  • Do not launch desktop helper processes on iOS and Android. Commit.
  • Do not launch desktop helper processes on iOS. Commit.
KContacts
  • CMake config file: search static-build-only dependencies only on condition. Commit.
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.
KDav
  • Fix caldavprotocol color argb formatting. Commit.
KDE Daemon
  • Disable startup notification for kded. Commit.
KDNSSD
  • Correctly track Avahi service types. Commit.
  • Add basic service browser example. Commit.
KFileMetaData
  • OSS-Fuzz: serialize AFL fuzzer builds. Commit.
  • Integrate KFileMetaData into OSS-Fuzz. Commit.
KGuiAddons
  • Use iOS-compatible platform and URL handling. Commit.
KHolidays
  • Holiday_et_am - fix region name. Commit.
  • Holidays: Add Ethiopian holidays (et_en, et_am). Commit.
  • Updated Croatian holidays as of 2026. Commit.
  • Fix occurrence of Mother's Day and Father's Day in Slovakia. Commit.
KI18n
  • KTranscript: Use Q_APPLICATION_STATIC for impl. Commit. Fixes bug #520512
  • Fix: use system locale as fallback for macOS app bundle. Commit.
  • Klocalizedcontext: correctly place deprecation attribute after class keyword. Commit.
KIconThemes
  • Disable desktop-only KIconThemes tools and plugin on iOS. Commit.
KIdletime
  • Fully port to ecm_qt_declare_logging_category. Commit.
  • Fix debug category name kf5idletime_wayland It's not a kf5. 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.
KMime
  • Don't create headers with an empty type. Commit.
  • Stricter checks for yEnc metadata field separation. Commit.
KNotifications
  • Android: Modernize JNI code. Commit.
KParts
  • Dont copy kaboutdata into khelpmenu. Commit.
KRunner
  • KRunner::ResultsModel: remove unneeded QIcon include. Commit.
KService
  • Services/kservicegroup: include storageId in sorting key. Commit. Fixes bug #516802
KSVG
  • KF6Svg: drop publically unused KF6::ConfigCore from public link interface. Commit.
  • KSvg::ImageSet: remove unneeded KSharedConfig include. 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/CreateItem instead of silent corruption. Commit.
KWidgetsAddons
  • KJobWidgets: place deprecation attribute standard-type-clang-compatible. Commit.
  • Exclude KMimeTypeEditor from iOS builds. Commit.
KWindowSystem
  • Platforms/xcb: Handle Xwayland restarts better. Commit.
  • Platforms/xcb: Manage atoms with a shared pointer. Commit.
  • Restore guard for null window in exportWindow. Commit. Fixes bug #521241
  • Fixup! s/27/28. Commit.
  • Provide a future based API to export a window. Commit.
KXMLGUI
  • Support modifier-only shortcuts in KShortcutsEditor. Commit. Fixes bug #518302
  • Refactor internal KShortcutsEditor bits to support shortcut patterns. Commit.
  • Don't call moveValuesTo on invalid source. Commit. Fixes bug #520556
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.
Prison
  • Fix documentation syntax. Commit.
  • Add support for rendering ITF and Codabar barcodes. Commit.
Purpose
  • Fix constraints not being evaluated correctly. Commit. Fixes bug #521138
QQC2 Desktop Style
  • ComboBox: Fix width calculation in some situations. Commit. Fixes bug #522453
  • Set implicitWidth for ComboBox popups. Commit.
Solid
  • Windows: do not query drives without a reachable volume. Commit.
  • Allow discovery of Samba shares under BSD. Commit.
  • Fix: add missing ARM CPU part numbers from util-linux lscpu-arm.c. Commit.
  • QDoc fixes. 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.