Skip to content
K

Release Announcements

KDE Frameworks 6.29.0

Friday, 14 August 2026

KDE today announces the release of KDE Frameworks 6.29.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
Bluez Qt
  • Remove obsolete doxygen file. Commit.
  • Mediatypes.h services.h types.h: provide version macros to consumers. Commit.
  • Fix: resolve race condition in Bluetooth object manager initialization. Commit.
Breeze Icons
  • Add im-matrix icon. Commit.
  • Rename icons for typst mimetype. Commit.
  • Add tab icons for KWin Options KCM. Commit.
  • Add Android App Bundle icons. Commit. Implements improvement #508430
  • Remove inkscape cruft from Android Package Archive icons. Commit.
Extra CMake Modules
  • ECMAddQtDesignerPlugin: fix typo. Commit.
  • Ecm_qtdesignerplugin_widget: fix INITIALIZE_CODE_FROM_VARIABLE been ignored. Commit. Fixes bug #523592
  • Add missing doc link for FindKF6. Commit.
  • Drop Qt5 CI. Commit.
  • Enable gcov-compatible coverage when building with clang. Commit.
  • Ecm_create_qm_loader: fix to listen just to language change of app instance. Commit.
KArchive
  • Kzip: write data in chunks. Commit.
  • Documentation fixes. Commit.
  • Kzip: zip64 write support. Commit. Fixes bug #514117
  • Kzip: use qToLittleEndian. Commit.
  • Kzip: change some ints to qint64 to allow writing zip64 archives. Commit.
  • Kzip: fix opening zip64 archives. Commit.
KCalendarCore
  • Autotests/data/xCalendar-libicalV4 - update reference data for libicalv4. Commit.
  • Add methods for encoding/decoding iCal objects in QMimeData. Commit.
  • Make ScheduleMessage a Q_GADGET. Commit.
  • Remove obsolete doxygen file. Commit.
KCMUtils
  • Kpluginmodel: Only write enabled state when not default. Commit.
  • Run clang-format. Commit.
  • Kcmshell: React to KCModule::representsDefaultsChanged. Commit.
KCodecs
  • [KEncodingProber] Improve const-correctness. Commit.
  • [KEncodingProber] Explicitly initialize some structs. Commit.
  • [KEncodingProber] Replace pointer to SMModel with reference. Commit.
  • [KEncodingProber] Fix broken UTF16 filtering for MBCS. Commit.
  • [KEncodingProber] Fix GB18030 false positive. Commit.
  • [KEncodingProber] Extend unit tests, notably for japanese text. Commit.
  • [KEncodingProber] Shortcut no longer active group probers. Commit.
  • [KEncodingProber] Refactor UnicodeGroupProber. Commit.
  • [KEncodingProber] Refactor Unicode/UTF prober. Commit.
  • [KEncodingProber] Clean up comments and naming for MB mapping. Commit.
  • [KEncodingProber] Make one virtual base method pure virtual. Commit.
  • [KEncodingProber] Remove obsolete padding in state tables. Commit.
  • [KEncodingProber] Replace debug printf with categorized logging output. Commit.
  • [KEncodingProber] Add dedicated logging category. Commit.
  • Remove obsolete doxygen file. Commit.
KCompletion
  • KCompletionBase/KCompletionMatches: move Q_DECLARE_PRIVATE to PRIVATE. Commit.
  • KCompletionBox::eventFilter: minimize code executed when filter not hit. Commit.
KConfig
  • Remove unused variables in KConfig implementation. Commit.
  • Revert "kwindowstatesaverquick: Do not force-show windows". Commit. Fixes bug #522205
  • Add test for KConfigLoader ctor that takes KConfigGroup. Commit.
  • Use Qt for ASCII && alphanumeric detection. Commit.
  • Read config files in system locations before user-writable config files. Commit.
  • Add tests to document status quo. Commit.
  • Kreadconfig: Add option to dump default values. Commit.
  • Kreadconfig: Dump entries sorted by group name/entry key. Commit.
  • Don't change immutable non-default entry when setting default entry. Commit.
  • Add failing tests demonstrating wrong behavior. Commit.
  • Add helper to set/override an environment variable for a test. Commit.
  • Remove obsolete doxygen file. Commit.
  • Always insert deleted key into internal map. Commit. Fixes bug #519481
  • Ensure that deleted default entries are deleted. Commit.
  • Fix generated setters for enum options with UseEnumTypes. Commit.
  • Export StandardAction as Q_ENUM_NS. Commit.
KConfigWidgets
  • Kviewstatemaintainer.h: provide version macros to consumers. Commit.
KContacts
  • Remove dependency on KCoreAddons. Commit.
  • Addresseelist.h: provide version macros to consumers. Commit.
KCoreAddons
  • Kdirwatch: fixme++. Commit.
  • Kdirwatch: sven--. Commit.
  • Kdirwatch: typo--. Commit.
  • Kdirwatch: use certified KDE if style with {}. Commit.
  • KDirWatch: fix/tweak determination of default. Commit.
  • KDirWatch: expose additional verbosity as envvar. Commit.
  • Don't let fromAppStreamFile() modify the application data. Commit.
  • AboutData: Add support for AppStream URLs. Commit.
  • Documentation fixes. Commit.
  • AboutData: Improve fromAppStreamForApplication() usability. Commit.
KCrash
KDav
  • Use CardDAV allprop in multiget address-data. Commit.
  • Make sure network replies are parented to the corresponding job. Commit.
  • Add some debug to DavPrincipalSearchJob. Commit.
  • Add a DavSslUiProxy to allow plugging user interaction for SSL errors. Commit.
  • Network: Setup more strict network policy. Commit.
  • Davitemmodifyjob: Fix redirection. Commit.
  • Davmanager: Add missing doctype to sent XML. Commit.
  • Adapt tests. Commit.
  • Port network management from KIO to QNAM. Commit.
  • Add fetching DavPush data in DavCollectionsFetchJob. Commit.
  • Enums.h: provide version macros to consumers. Commit.
KDeclarative
  • Graphicaleffects: Avoid complicated matrix multiply. Commit.
  • Graphicaleffects: Make shader uniform "buf" identical. Commit.
  • Graphicaleffects: Use "coord" input on lanczos.frag shader. Commit.
  • Graphicaleffects: Fix Lanczos shader path. Commit.
  • Remove obsolete doxygen file. Commit.
KDE Daemon
  • Use correct type for desktop file. Commit.
KDE SU
  • Remove obsolete doxygen file. Commit.
KDNSSD
  • Remove obsolete doxygen file. Commit.
KDocTools
KFileMetaData
  • Autotests/ossfuzz: clone libpng from github to fix unreliable sourceforge downloads. Commit.
  • Fix overflow in extractAudioProperties. Commit.
  • Taglib: Protect against UnknownFrame. Commit.
  • CI: Disable linux-qt6-next while the datetime regression gets fixed. Commit.
  • Types.h: provide version macros to consumers. Commit.
KGlobalAccel
  • Remove obsolete doxygen file. Commit.
KGuiAddons
  • Add missing since information. Commit.
  • Add KSystemClipboard::ownsClipboard. Commit.
  • Waylandclipboard: Properly clean up device and manager. Commit.
  • Kiconutils: Fix overlay emblem size and placement on non-square icons. Commit. See bug #498211
KHolidays
  • Lunarphase.cpp - use the system timezone rather than utc. Commit.
  • Support Hebrew Calendar holidays. Commit. Fixes bug #383896
  • .clang-tidy - update. Commit.
  • Remove obsolete doxygen file. Commit.
KIconThemes
  • Add notes to drop dependency on KWidgetsAddons for KF7. Commit.
KImageformats
  • Autotests: add AVIF and JXL with animation. Commit.
  • KRA/ORA: merged in a single plugin and added metadata support. Commit.
  • Readme: update supported formats. Commit.
  • Test Readme: added JPG support. Commit.
  • Avif: enable decoding of files with invalid EXIF metadata. Commit.
  • Autotests: allow JPG as test source. Commit.
  • QOI: check format only in lowercase. Commit.
  • Ossfuzz: optimize build, collect all HEIF subformats. Commit.
  • Fix HEIC writetest. Commit.
  • Ossfuzz: enable uncompressed codec in libheif. Commit.
  • Heif: declare read support for HIF. Commit.
  • EXIF: add support for Windows Explorer tags. Commit.
  • Heif: increase Maximum number of child boxes limit. Commit.
  • HEIF: keep reader callback table alive. Commit. Fixes bug #523105
  • More HEIF-related tests. Commit.
  • Heif: AVCI saving, JPEG in HEIF read support. Commit.
  • IFF: support for ZIP compressed RGFX. Commit.
KIO
  • UDSEntry: properly mark deprecated, add missing since, fix doc formatting. Commit.
  • WorkerBase: give connectWorker and disconnectWorker back, deprecated. Commit.
  • Kfileitem: iconName make sure not to read settings unless nessary. Commit.
  • Knewfilemenu: minor refactoring. Commit.
  • Kfileitemactions: remove dead code. Commit.
  • Kfileitemactions: Correctly count actionsMenu actions. Commit.
  • Kfileitem: iconName, allow to read .directory files on remote files. Commit.
  • KFileItem: UDS ID changes are not detected in cmp. Commit. See bug #485052
  • KProcessRunner: Handle canonicalPath() returning bogus values. Commit.
  • Knewfilemenu: convert m_popupFiles into a single QUrl. Commit.
  • Fix clang compilation warnings. Commit.
  • StandardThumbnailJob: stamp the device pixel ratio on generated thumbnails. Commit.
  • Knewfilemenu: remove unnecessary qDebug comments. Commit.
  • Knewfilemenu: minor fixes. Commit.
  • Knewfileinfo: add Antti Savolainen in copyright. Commit.
  • Knewfilemenu: determine sort order during parsing and fix supportedMimeTypes. Commit.
  • Test FilePreviewJob::emitPreview output size and device pixel ratio. Commit.
  • FilePreviewJob: regenerate a cached thumbnail that is too small. Commit.
  • Kdirlister: hold three directories in the lister cache, and not for long. Commit.
  • UDSEntry: do not look for a shared value where values cannot repeat. Commit.
  • UDSEntry: size an entry for the fields it holds when loading it. Commit.
  • Kfileplacesmodel: when baloo is disabled don't go anywhere near it. Commit.
  • UDSEntry use two vectors to store fields value. Commit.
  • Kfilewidgettest: use the QPointF QDragEnterEvent ctor on Qt 6.12+. Commit.
  • KDirModel: ignore stale listing completion for a directory no longer in the model. Commit.
  • KFilePlacesView: cap the icon size by the real row height. Commit.
  • Kioworkers/file: Restore ACL writes in FileProtocol::chmod(). Commit.
  • WidgetsAskUserActionHandler: show the SSL error dialog on the GUI thread. Commit. Fixes bug #519614
  • Knewfileinfo: add parsing fallbacks. Commit.
  • Knewfileinfo: convert QString url to QUrl and QString filePath to QFileInfo. Commit.
  • KUrlComboBox: mark drag properly as copy-only. Commit.
  • KUrlNavigatorButton: Stat with no-auth-prompt. Commit.
  • KIOGui: avoid QtConcurrent module header include, do link Qt6::Concurrent. Commit.
  • CopyJob: cache the destination filesystem type instead of re-probing per file. Commit.
  • KIOCore: drop unused Qt6::Concurrent linking. Commit.
  • Threadconnectionbackendtest: ensure to have a context passed. Commit.
  • File: strip local host from file:// URLs before accessing the path. Commit. Fixes bug #483297
  • KCoreDirListerCache: don't adopt duplicated entries from a changing dir. Commit.
  • Filewidgets: KUrlNavigator: fix applying URLs when text is not actually a relative path. Commit.
  • Kioworkers/ftp: Claim that root dir is writable during stat. Commit.
  • KUrlNavigator: Insert buttons at the correct place. Commit.
  • Autotests: cover the DropIntoNewFolder drop plugin. Commit.
  • Filewidgets: DropIntoNewFolder: do not tie folder creation to the plugin lifetime. Commit.
  • SocketConnectionBackend: skip the resume read when the socket is closed. Commit.
  • SocketConnectionBackend: limit the resume read workaround to Windows. Commit.
  • SlaveBase: take a connection backend instead of socket addresses. Commit.
  • ConnectionBackend: keep payload-reassembly length out of the shared Task. Commit.
  • ConnectionBackend: rename closeSocket() to close(). Commit.
  • ThreadConnectionBackend: drop the unused worker back-pointer. Commit.
  • Autotests: add ThreadConnectionBackend unit test. Commit.
  • Core: run in-process workers over ThreadConnectionBackend, not a socket. Commit. See bug #342056
  • Core: add ThreadConnectionBackend for in-process workers. Commit.
  • Core: make ConnectionBackend an abstract transport with a socket backend. Commit.
Kirigami
  • Clickable link OverlaySheet QML type. Commit. Fixes bug #522348
  • FormEntry/FormAction (cards): fix items alignments. Commit.
  • FormGroup/flat: Consider also invisible items for implicitWidth. Commit.
  • Fix tst_menudialog not actually doing anything. Commit.
  • Make the GlobalDrawer correctly size to its contents again. Commit.
  • Sensible height for license sheet. Commit.
  • FormEntry: don't show invalid leading ind trailing icons. Commit.
  • FormEntry: fix the subtitle when the contentITem doesn't have an indicator. Commit.
  • Default to small size in FormAction. Commit.
  • Same default width that kirigami-addons form has. Commit.
  • Port AboutItem to the new form layout. Commit.
  • FormEntry: items don't fill the width by default. Commit.
  • ScrollablePage: Fix enter animation running when changing focus. Commit. Fixes bug #515811
  • Work around missing support for QKeyShortcut in shortcut. Commit.
  • Icon: use QUrl::toLocalFile() for file: URL sources. Commit.
  • Icon: keep the aspect ratio of portrait images with roundToIconSize. Commit.
  • PlatformTheme: Only emit color changes if color actually changes. Commit.
  • Icon: snap the aspect-preserving painted size to device pixels. Commit.
  • Autotests: fix flaky keyboard list navigation test. Commit.
  • Autotests: fix flaky test_defaultFocusInScrollablePage. Commit.
  • NavigationTabBar: add scrolling/shortcuts for tab switching. Commit.
  • ToolBarPageHeader: Rephrase page.actions check to make more sense. Commit.
  • Make qml generation deterministic by adding explicit dependencies. Commit.
  • Port application template away from deprecated ki18n API. Commit.
  • Controls: Guard against re-setting the global header with the same URL in Page. Commit.
KMime
  • Limit the strlen search length as well. Commit.
  • Abort search for encoding word end on first error. Commit.
KNotifications
  • Fix since version in documentation. Commit.
  • Ensure we have notifyrc file for platform notification configuration. Commit.
  • Add API for showing the platform's notification configuration. Commit.
  • Remove message extraction in KNotifications. Commit.
KPackage
  • Remove obsolete doxygen file. Commit.
KService
  • Deprecate KSycoca::setupTestMenu. Commit.
  • Fix static build by exporting resource targets. Commit.
  • Remove LegacyDir from fallback applications.menu. Commit.
  • Add fallback applications.menu file. Commit.
  • Ksycocatype.h: provide version macros to consumers. Commit.
KTextEditor
  • Vi-mode: Avoid redundant BLOCK in the status bar. Commit.
  • Vi-mode: Fix synchronization of the view block selection. Commit.
  • Vi-mode: Fix block insert with tabs. Commit. Fixes bug #488801
  • Drag pixmap: use devicePixelRatio of highest screen device pixel ratio. Commit.
  • Drag pixmap: adapt hotspot to pixmap scaling. Commit.
  • Vi-mode: Add Ctrl-A command to insert mode. Commit.
  • Vi-mode: Implement column cursor swap for v-block mode. Commit.
  • Vi-mode: Update view selection when switching modes. Commit.
  • Vi-mode: Fix switching to vblock mode from another visual mode. Commit.
  • Vi-mode: Simplify switching to visual modes. Commit.
  • Vi-mode: Add the Date command. Commit.
  • Vi-mode: Fix cursor position after paste in insert mode. Commit.
  • Vi-mode: Fix cursor position after pasting block. Commit.
  • Vi-mode: Fix AltGr detection on Windows. Commit.
  • Renderer: Small refactoring of paintCaret method. Commit.
  • Renderer: Fix drawing of all the cursor styles. Commit.
  • Change icon for search plugin display options. Commit.
  • Fix animation artifact during animation run. Commit.
  • Avoid initial draw. Commit.
  • Cleanup more painting. Commit. See bug #522525
  • Cleanup render hint setting. Commit.
  • Ensure we abort completion on config changes. Commit. Fixes bug #521492
  • Vi-mode: Fix count-paste of a block. Commit.
KTextTemplate
  • Consider non-empty generic containers "true" as well. Commit.
  • Turn scriptable tag support in a plugin, as originally intended. Commit.
  • Use QLocale for currency value formatting. Commit.
  • Don't hardcode ISO date/time format. Commit.
  • Token.h: provide version macros to consumers. Commit.
  • Out-of-line the ScriptableTagLibrary destructor. Commit.
KUserFeedback
  • CI - Flatpak - Update Runtime to 6.11. Commit.
KWallet
  • Drop kwalletmanager launching from kwalletd. Commit.
  • Move org.freedesktop.secrets group to KConfigXT. Commit.
  • Ksecretd: Drop unused functions. Commit.
  • Ksecretd: Drop registering KWallet interface. Commit.
  • Use correct internal function to query local wallet. Commit.
  • Port to KConfigXT. Commit.
  • Drop code for writing default wallet in kwalletd. Commit.
  • Query NetworkWallet and LocalWallet from backend. Commit.
  • Fix localWallet with external backend. Commit.
  • Kwalletd: Remove config fallback for networkWallet(). Commit.
  • Actually set ok to true when defaultCollection succeeds. Commit.
  • Drop unused internal pamOpen from kwalletd. Commit.
  • Drop dead screensaver integration. Commit.
  • Kwalletd: fix use-after-move in retrieveCollection() returning null on first lookup. Commit. Fixes bug #522847. See bug #512135
  • Kwallet-query: persist writes to new entries. Commit. Fixes bug #491898
KWidgetsAddons
  • KColorCombo: support d'n'dropping colors to set the color. Commit.
  • KColorButton, KColorCombo: add contextmenu for Copy & Paste of color. Commit.
  • KColorCombo: fix missing render update on changing color from code. Commit.
  • Split off KColorMimeData copy into separate file, for shared internal usage. Commit.
  • KColorButton: mark drag properly as copy-only. Commit.
  • KUrlLabel: fix default value of useCursor flag to match docs & used corsor. Commit.
  • KAssistantDialog: Merge "next" and "finish" buttons. Commit.
  • Allow to test if on last visibile page. Commit.
  • KColorButton: use chained constructor calls over duplicating logic. Commit.
KXMLGUI
  • Avoid duplicate aboutToShow connections on the Settings menu. Commit.
  • KEditToolBar: show no-drop cursor with "Available" list for own items. Commit.
Oxygen Icons
  • This icon might be needed in the future and setting kinda ask for it but the name is kinda off as its bout x11 apps. Commit.
  • More cleanup. Commit.
  • Cleaning up an old icon not very svg. Commit.
  • Missing icon on system settings. Commit.
  • One more symbolic icon. Commit.
  • More versions and better visibility. Commit.
  • Some applets use these. Commit.
  • Better contrast. Commit.
  • New versions scale better simpler code. Commit.
  • Remove dangling actor symbolic link. Commit.
  • Missing symbolic potential icon. Commit.
  • More icons. Commit.
  • Missing icon on symbolic I think. Commit.
  • The remaining sizes. Commit.
  • Further improve Tokodon artwork. Commit.
  • Will do for now, smaller versions will actually have to be simplified. Commit.
  • Work in progress. Commit.
  • This link should not be needed ita a bug on the nm applet not requesting the symbolic variant AFIK. Commit.
  • Improved contrast on dark bg. Commit.
  • More icons sizes that were missing. Commit.
  • Improved version less noise. Commit.
  • More versions and improvements. Commit.
  • New symbolic icon. Commit.
  • Improved version after testing. Commit.
  • Symbolic version. Commit.
  • Missing icons on juk. Commit.
  • More sizes for juk. Commit.
  • One more size. Commit.
  • New app icon. Commit.
  • 16x16 version. Commit.
  • 22x22 version. Commit.
  • Minor fixes to previous commit. Commit.
  • Another icons and replacing an old one based on the new icon. Commit.
  • Still not fully convinced. Commit.
  • Missed this one. Commit.
  • Remaining icons sizes missing. Commit.
  • Missing icons and bug fixing. Commit.
  • Missed this one. Commit.
  • Icons: enforce current-color-scheme style id across applet SVGs. Commit.
  • Fixing minor bugs. Commit.
  • Final version. Commit.
  • And more progress ...WIP. Commit.
  • More progress. Commit.
  • Different direction. Commit.
  • Minor fixes to kamoso icon, introducins a new one for testing. Commit.
  • More osd icons. Commit.
  • DrKonqi icon for try. Commit.
  • Updated info. Commit.
  • New size. Commit.
  • Osd symbolic icons initial commit. Commit.
  • New symbolic icon. Commit.
  • Unintentional deletion. Commit.
  • New icons. Commit.
  • Symlink for kontacts. Commit.
  • New symbolic icon for use in system-try. Commit.
  • Add IM user online icon. Commit.
Prison
  • Include only needed headers instead of QtConcurrent module header. Commit.
Purpose
  • AlternativesView: Added a disabledPlugins property. Commit.
QQC2 Desktop Style
  • TextArea: Use Wrap instead of WordWrap. Commit.
  • Use StyleItem for item view background painting. Commit.
  • Allow QPA Platform Themes to avoid KIconEngine. Commit.
  • Prevent TextField height changes when switching echo modes. Commit.
Solid
  • Udisks2: StorageAccess: if '/' is a mountpoint, return that as filePath(). Commit.
  • Solidnamespace.h: provide version macros to consumers. Commit.
Syntax Highlighting
  • Don't do a reload on language change. Commit. Fixes bug #523233
  • Slint: Include upstream changes. Commit.
  • RTF: Fix unbounded context stack growth. Commit.
  • Cmake.xml: update syntax for CMake 4.4. Commit.
  • Fix listening for language changes, just react on the app instance event. Commit.
  • Update MIME types for shell scripts. Commit.
  • Meson: add meson.options to recognized extensions. Commit.
  • M3u: add m3u8 as one possible extension. Commit.
  • Cpp: Add qmqlintegration macros from Qt 6.5. 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.29.0 may be freely downloaded. Instructions on compiling and installing are available from the KDE Frameworks 6.29.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.29.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.