Friday, 9 January 2026
KDE today announces the release of KDE Frameworks 6.22.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
KCalendarCore
- Make build qml plugin optional (default on). Commit.
KCodecs
- [KEncodingProber] Add UTF16 surrogate pair support to state table. Commit.
- [KEncodingProber] Stop rejecting valid MSBs in UTF-16 state machine. Commit.
- [KEncodingProber] Reduce model switching in HandleData(). Commit.
- [KEncodingProber] Avoid passing mangled data to the UnicodeGroupProber. Commit.
- [KEncodingProber] Untangle HebrewProber and SBCharSetProber. Commit.
- [KEncodingProber] Minor cleanups for SBCharSetProber. Commit.
- [KEncodingProber] Various minor cleanups for HebrewProber. Commit.
- [KEncodingProber] Add test for Windows-1253/iso8859-7 CP (Greek). Commit.
- [KEncodingProber] Add some more testing for windows-1252 codepage. Commit.
- [KEncodingProber] Add tests for Windows-1255 CP and UTF-8 Hebrew text. Commit.
- [KEncodingProber] Simplify and improve unit test check condition. Commit.
- [KEncodingProber] Verify short inputs cause no crash. Commit.
- [KEncodingProber] Fix UTF-16 BOM detection. Commit.
- [KEncodingProber] Verify confidence in unit tests. Commit.
- [KEncodingProber] Remove no longer used dedicated Japanese/Chinese probers. Commit.
- [KEncodingProber][MBCS] Allow to use only a subset of probers. Commit.
- [KEncodingProber][MBCS] Remove unused includes from header file. Commit.
KColorScheme
- Use Qt API instead of KColorSchemeWatcher. Commit.
KConfigWidgets
- Fix scanning for kf6_entry.desktop files in "locale" root dirs & parents. Commit.
KGuiAddons
- Ksystemclipboard: Use WaylandClipboard also on wayland-egl. Commit.
- Ksystemclipboard: Dispatch read events in another thread. Commit. Fixes bug #480448. Fixes bug #496029. Fixes bug #502831. Fixes bug #505281. Fixes bug #506467. Fixes bug #507792. Fixes bug #509065. Fixes bug #509689. Fixes bug #511736
- Remove focus hacks as preparation for clipoard thread. Commit.
- Add manual test for ksystemclipboard. Commit.
- Deprecate KColorSchemeWatcher. Commit.
KIconThemes
- KIconLoader: When processing SVG, skip whitespace and comments. Commit.
KIO
- Drop no longer needed moc include. Commit.
- Add manual test for FavIconRequestJob. Commit.
- KFilePlacesModel: Set desktop file name for partition manager. Commit.
- Remove duplicate headers in same file. Commit.
- Deprecate PreviewJob::removeItem(QUrl). Commit.
- PreviewJob: fix empty enabledPlugins attribute set for thumbnail job. Commit.
- PreviewItem struct: drop unused cacheSize member. Commit.
- UDSEntryPrivate::load: reuse allocated buffer for string data. Commit.
- UDSEntryPrivate::load: avoid repeated look-up in cachedStrings list. Commit.
- Kfileplacesview: remove DropAction::MoveAction from the list of supportedActions. Commit. Fixes bug #509231
- RenameDialog: Add "Compare Files" button. Commit.
- Use ECM_TEST_NAME_PREFIX. Commit.
Kirigami
- Controls/SwipeListItem: remove dead validate function. Commit.
- Downgrade the message about not finding a plaform plugin to debug. Commit.
- Controls/NavigationTabButton: remove Qt 6.8 check. Commit.
- Layouts/FormLayout: avoid binding loop during initial load. Commit. Fixes bug #513185
- Controls/GlobalDrawer: explicitly pass backItem. Commit.
- Controls/private: pass refreshing to PullDownIndicator. Commit.
- Autotests: linting changes. Commit.
- Examples: linting. Commit.
- Drop non-existing handler parameters. Commit.
- Primitives/Separator: import primitives. Commit.
- Tests: various linting fixes for the manual tests. Commit.
- SwipeListItem: Use implicitContentHeight/Width instead of contentItem.implicitHeight/Width. Commit.
- Avoid custom-parsed PropertyChanges. Commit.
- Remove unused imports. Commit.
- Port to ComponentBehavior Bound and required properties. Commit.
- Qualify access to parent properties. Commit.
- Controls/NavigationTabButton: fix pointSize binding. Commit.
- Templates/AbstractApplicationHeader: always set preferredHeight. Commit.
- Controls/Action: fix alternate shortcut. Commit.
- Port to Application.styleHints. Commit.
- Controls/AboutItem: qualify Separator. Commit.
- SwipeListItem: Add back checking for parent width and implicitWidth. Commit.
- Add extra margin only for default title. Commit.
- Documentation fixes. Commit.
- Document requirements for new components. Commit.
- Add TitleSubtitleWithActions. Commit.
KItemModels
- KDescendantsProxyModel: fix invalid call to index(-1,-1). Commit.
KJobWidgets
- Remove duplicate headers in same file. Commit.
KStatusNotifieritem
- Tweak KStatusNotifierItem::setAssociatedWindow. Commit.
KUserFeedback
- CI - Flatpak - Update Runtime to 6.10. Commit.
KWidgetsAddons
- KPageView: Fix top aligned widget stretch. Commit.
- Remove duplicate headers in same file. Commit.
- KDateTable: Don't paint days in dark red if high-contrast is active. Commit.
- KPageView: Use correct icon mode if high-contrast color scheme is in use. Commit.
- Add helper for checking if high-contrast color scheme is in use. 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.22.0 may be freely downloaded. Instructions on compiling and installing are available from the KDE Frameworks 6.22.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.22.0 requires Qt 6.8.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.