Skip to content
K

Release Announcements

KDE Frameworks 6.23.0

Friday, 13 February 2026

KDE today announces the release of KDE Frameworks 6.23.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
  • [IndexCleaner] Use one transaction for each excludeFolder during cleanup. Commit.
  • [Extractor] Split long extraction runs into multiple transactions. Commit.
  • [Extractor] Release DB write lock while content is extracted. Commit.
  • [Benchmarks] Replace QTextStream::readLine with QStringTokenizer. Commit.
  • [Benchmarks] Verify /proc open result for IO stats. Commit.
  • Enable LSAN in CI. Commit.
  • [Engine] Replace remaining raw PostingIterator* with unique_ptr. Commit.
  • [SearchStore] Replace raw PostingIterator* with unique_ptr. Commit.
  • [PostingIterator] Clean up unused headers. Commit.
  • [AdvancedQueryParser] Use categorized logging for debug message. Commit.
  • [Transaction] Fix invalid qWarning macro usage. Commit.
  • Use categorized logging in priority setup code. Commit.
  • Clean up priority setup code. Commit.
  • [baloo_file] Use categorized logging for warnings. Commit.
  • [QueryTest] Fix leak of iterator returned from executed query. Commit.
  • [Engine] Fix possible memory leaks in PhraseAndIterator. Commit.
  • [Engine] Fix possible memory leaks in {And,Or}PostingIterator. Commit.
  • [FileIndexScheduler] Emit correct state on startup. Commit.
  • [FileIndexScheduler] Simplify startup/cleanup logic. Commit.
  • [IndexerConfig] Properly deprecate obsolete API. Commit.
  • [BalooSettings] Enable Notifiers for changes. Commit.
  • [FileIndexerConfig] Move filter update to constructor. Commit.
  • [balooctl] Minor config command output cleanup, fix error message. Commit.
  • [PendingFile] Add proper debug stream operator. Commit.
  • [PendingFile] Inline trivial internal method. Commit.
  • Use Baloo namespace for KFileMetadata::ExtractionResult specialization. Commit.
Bluez Qt
  • Add another explicit moc include to source file for moc-covered header. Commit.
Breeze Icons
  • Add update-busy status icon. Commit.
  • Make base 22px globe icon symbolic. Commit.
  • QrcAlias.cpp - pass canonical paths to resolveLink. Commit.
  • Make the non-symbolic version of globe icon to be colorful. Commit.
  • Create symbolic version for preferences-system-network. Commit.
  • Enable LSAN for leak checking. Commit.
  • Fix kdeconnect-symbolic icons not being color-aware. Commit.
  • Properly resolve links for the resources. Commit.
Extra CMake Modules
  • ECMFindQmlModule: Clarify and enforce that QML modules are not only runtime dependencies. Commit.
  • ECMGenerateQDoc: Add target's source dir to include paths. Commit.
  • Remove FATAL_ERROR. Commit.
Framework Integration
KArchive
  • K7ZipPrivate::folderItem: Limit the amount of folderInfos to a "reasonable" amount. Commit.
  • 7zip: defines to constexpr (or commented out if unused). Commit.
  • 7zip: make it clear we only support an int number of files. Commit.
  • 7zip: convert a bunch of int to qsizetype. Commit.
  • 7zip: Remove unused defines. Commit.
  • 7zip: Add names to function parameters. Commit.
  • 7zip: Use ranges::any_of. Commit.
  • 7zip: Convert loops into range-for loops. Commit.
  • 7zip: Add [[nodiscard]]. Commit.
  • 7zip: Mark 3 qlist parameters as const. Commit.
  • 7zip: Mark sngle argument constructors as explicit. Commit.
  • 7zip: Use "proper" C++ include. Commit.
  • 7zip: Remove unused BUFFER_SIZE. Commit.
  • 7zip: Use default member initializer. Commit.
  • Enable LSAN in CI. Commit.
  • KLimitedIODevice: mark two member variables as const. Commit.
  • Kzip: Bail out if the reported size of the file is negative. Commit.
  • Fix OSS-Fuzz AFL builds. Commit.
KAuth
  • Add missing export for AuthBackend. Commit.
  • Fix compilation with new cmake minimum version. Commit.
KBookmarks
KCalendarCore
  • Don't write extra empty STATUS: property for custom status value. Commit.
  • Don't create a string view on a temporary. Commit.
  • Remove the Compat/MSExchange test data (fails since tzdata2025c). Commit.
KCMUtils
KCodecs
  • Protect against null bytes in RFC 2047 charsets. Commit.
  • Remove a few temporary allocation on RFC 2047 decoding. Commit.
  • [KEndodingProber] Drop broken and irrelevant ISO-2022-CN/-KR detectors. Commit.
  • [KEncodingProber] Remove disabled, obsolete GB2312 data. Commit.
  • [KEncodingProber] Reduce packed model data boilerplate. Commit.
  • [KEncodingProber] Replace pack/unpack macros with constexpr functions. Commit.
  • [KEncodingProber] Add tests for ISO-2022-JP and HZ encoding. Commit.
  • Enable LSAN in CI. Commit.
  • [KEncodingProber] Remove unused byte pos member from CodingStateMachine. Commit.
  • [KEncodingProber] Add prober benchmarks. Commit.
  • Fix quadratic complexity when searching for the encoded word end. Commit.
  • Use QByteArrayView. Commit.
  • Don't detach encoded8Bit during encoding. Commit.
  • Fix OSS-Fuzz AFL builds. Commit.
KColorScheme
KCompletion
KConfig
  • Kconfigwatcher: prevent a QThreadLocal to be creatde when exiting. Commit.
  • Fix macos standard shortcut conflicts. Commit. Fixes bug #512817
  • Kconfigwatcher: Add context argument to connect. Commit.
  • Kconfigskeletontest: Fix memory leak. Commit.
  • Enable LSAN in CI. Commit.
  • KConfigIni: parseConfig simplify implementation. Commit.
  • Doc: KConfig: update link introduction. Commit.
  • KConfig: better handle Anonymous case. Commit.
  • Autotests/qiodevice: add a test for the QFile case. Commit.
  • Kconfig_target_kcfg_file: use newer built-in cmake code to create kcfgc file. Commit.
  • Kconfigxt: Add KCONFIG_CONSTRUCTOR option. Commit.
  • Kconfigskeleton: Add ctor using std::unique_ptr. Commit.
  • Kconfig: support passing in a QIODevice. Commit.
KConfigWidgets
  • Enable LSAN in CI. Commit.
  • Drop (wrong kind of) asserts in KHamburgerMenu code. Commit.
KContacts
KCoreAddons
  • Remove unused includes. Commit.
  • Enable LSAN in CI. Commit.
  • Changed the dummy env var path from relative to absolute. Commit.
  • Kformat: update documentation for formatRelativeDate. Commit.
KCrash
  • Autotests: make sure to cover metadata in main test. Commit.
  • Metadata: write a completion marker group. Commit.
  • Guard qGuiApp having already been torn down. Commit. See bug #513969
  • Enable LSAN in CI. Commit.
KDav
KDBusAddons
KDeclarative
KDE Daemon
KDE SU
KDNSSD
KDocTools
  • Kde-docs.css remove not existent CSS property "font-height". Commit.
  • Enable LSAN in CI. Commit.
KFileMetaData
  • Usermetadata: prevent returning UnknownError when removing a not-present attribute. Commit.
  • [PopplerExtractor] Use ReadingOrder text layout from poppler 26.01.00. Commit.
  • [TaglibExtractorTest] Clean up test data formatting. Commit.
  • [TaglibExtractorTest] Fix FLAC-in-ogg testfile. Commit.
KGlobalAccel
KGuiAddons
  • Add Android support for idle inhibition. Commit.
  • WaylandClipboard: fix pasting text when QMimeData also has an image. Commit. Fixes bug #513701
  • Add KSystemInhibitor as frontend to the xdg-desktop-portal inhibition system. Commit.
  • Restore building with wayland < 1.23.0. Commit.
  • Ksystemclipboard: Check m_thread in destructor. Commit. Fixes bug #514512
  • Examples/python: add an example for KSystemClipboard. Commit.
  • Python: fix crash when using KSystemClipboard::setMimeData. Commit.
  • Python: specify enum type for KKeySequenceRecorder::Pattern. Commit.
  • KImageCache: make findPixmap destination QPixmap have alpha channel if inserted QPixmap had alpha channel. Commit.
  • Add another explicit moc include to source file for moc-covered header. Commit.
KHolidays
  • Update Japanese holidays for 2027. Commit.
  • Enable LSAN in CI. Commit.
  • New special Slovenian day. Commit.
  • Edited and updated holiday_np_en-gb with accurate dates, expanded list for... Commit.
  • Philippines calendar update for 2026. Commit.
KI18n
  • Tests: fix asan mem leak in klocalizedstringtest. Commit.
  • Fixup! qml: introduce KI18nContext. Commit.
  • Qml: introduce KI18nContext. Commit.
  • Add another explicit moc include to source file for moc-covered header. Commit.
KIconThemes
  • Kicontheme.cpp edit comment Q_COREAPP_STARTUP_FUNCTION is not above. Commit.
  • Enable LSAN in CI. Commit.
  • Kiconengine: clean old Qt version check. Commit.
  • KIconTheme: Prefer SVG files over PNG files. Commit. Fixes bug #502273
KIdletime
KImageformats
  • Fix oss-fuzz AFL build (again). Commit.
  • Fix OSS-Fuzz AFL builds. Commit.
  • Text -> test. Commit.
  • IFF: add uncompressed RGFX support. Commit.
  • IFF: add CD-i Rle7 support. Commit.
  • Decode Atari ST VDAT chunks. Commit.
  • IFF: add support for CD-i YUVS chunk (and minor code improvements). Commit.
  • Add support for CD-I IFF images. Commit.
  • Add JXL testfile which previously triggered crash. Commit.
  • Jxl: fix crash on lossy gray images. Commit.
  • Add gray AVIF files with various transfer functions. Commit.
  • Avif: Improved color profiles support. Commit.
KIO
  • Add missing since documentation. Commit.
  • Add ThumbnailRequest::maximumFileSize. Commit.
  • KFilePlacesEventWatcher: Set drag disabled on invalid index and on headers. Commit. Fixes bug #499952
  • Fileundomanager: prevent mem leak upon destruction. Commit.
  • Core/ListJob: add list Flags ExcludeDot, ExcludeDotDot. Commit.
  • Dropjob: add DropJobFlag::ExcludePluginsActions flag support. Commit. See bug #509231. Fixes bug #514697
  • DropJob: Polish QMenu before creating native window. Commit.
  • Tests: kfilewidgetttest in dropfiles make sure to clean up QMimeData*. Commit.
  • FilePreviewJob: Let StatJob resolve symlinks. Commit.
  • DropJob: Use CommandLauncherJob for drop onto executable. Commit.
  • RenameDialog: Also show file item metadata when thumbnail failed. Commit.
  • Dropjob: handle drop from Places View properly. Commit. See bug #509231. Fixes bug #514697
  • PreviewJob: Ignore ERR_INTERNAL. Commit.
  • KFilePlacesView: better compute the maximum size of icon tolerable. Commit.
  • KFileWidget: When navigator loses focus, apply the uncommittedUrl to navigator. Commit.
  • RenameDialog: Use size and mtime from preview job stat, too. Commit.
  • Listjob: use modern for loop. Commit.
  • Listjob: reduce nesting in recurse function. Commit.
  • Listjob: split listing entries into a filter and a recurse function. Commit.
  • RenameDialog: Fix grammar by adding a comma. Commit.
  • Fix binary compatibility. Commit.
  • Tests/kfilewidgettests: add command line args the open test. Commit.
  • KFilePreviewGenerator: pass dpi to the PreviewJob. Commit. Fixes bug #489298
  • Kmountpoint: use statx to get device id. Commit.
  • KFileItemActions: Add "Run Executable" action for executable files. Commit.
  • Udsentry: add documentation for UDS_SUBVOL_ID. Commit.
  • Kioworkertest: add UDS_MOUNT_ID output for stat. Commit.
  • StatJob: add StatMountId to retrieve unique mount id. Commit.
  • KFilePlacesModel: Add placeCollapsedUrl. Commit.
  • FilePreviewJob: Set job error, if applicable. Commit.
  • KDirOperator: implement single tap gesture. Commit. Fixes bug #513606
  • KCoreDirLister: Add parentDirs of dirs that have not been deleted to pendingUpdates list. Commit. Fixes bug #497259
  • KMountpoint: remove redundant code, and reuse a function. Commit.
  • PreviewJob: prevent potential crash when FilePreviewJob yields results sync. Commit.
  • PreviewJob: estimate device ids first. Commit.
  • KDirModel/KFileWidget: Use relative date formatting for Modified field. Commit.
  • Listjob: replace misleading comment about repeated key lookups. Commit.
  • Stat_unix: document that statx(dirfd wouldn't be any faster. Commit.
  • Kioworkers/file: check temp file opening result. Commit.
  • Autotests: fix unused warnings. Commit.
  • KUrlNavigatorButton: Don't set a button icon. Commit.
  • Kioworkertest: add subvolId output for stat. Commit.
  • StatJob: add StatSubVolId to retrieve btrfs/bcachefs subvol number. Commit.
  • Job: improve property management performance. Commit.
  • Job: update mergeMetaData code to be more modern + comment. Commit.
  • Udsentry: improve operator>> performance. Commit.
  • KPropertiesDialog: Remove unused variable. Commit.
  • PreviewJobPrivate: remove unused method declaration. Commit.
  • Use QList::takeFirst instead of QList::front & QList::pop_front. Commit.
  • PreviewJob: dissolve struct PreviewItem, serves no extra purpose. Commit.
  • FilePreviewJob::item(): return const ref to KFileItem directly, by only use. Commit.
  • PreviewJob: introduce internal struct PreviewSetupData, to group related data. Commit.
  • PreviewJob: introduce internal struct PreviewOptions, to group related data. Commit.
  • PreviewJobPrivate: rename determineNextFile to startNextFilePreviewJobBatch. Commit.
  • PreviewJob: create PreviewItem instance on-the-fly. Commit.
  • PreviewJobPrivate: rename member initialItems to fileItems. Commit.
Kirigami
  • ToolbarLayout: Don't draw frames with an empty toolbar. Commit. Fixes bug #512396
  • Make the global background actually invisible. Commit.
  • Enable back button on first page in RTL. Commit. Fixes bug #511295
  • ActionToolBar: fix actions showing both in toolbar and in hidden actions menu. Commit.
  • Add new Kirigami logo. Commit.
  • Revert "Temporarily drop test case that is broken with Qt 6.11". Commit.
  • MnemonicAttached: move to primitives. Commit.
  • Fix inline drawers in RTL layout. Commit.
  • Do an opacity animation for the menu layers. Commit.
  • GlobalDrawer: default size according to contents. Commit. Fixes bug #505693
  • SelectableLabel: don't break coordinates of global ToolTip instance. Commit. Fixes bug #510860. Fixes bug #511875
  • Controls/SwipeListItem: fix action positions in RtL. Commit.
  • ShadowedRectangle: Improve visuals when blending a texture. Commit.
  • Make types more explicit for tooling. Commit.
  • Make action handling linter-friendly. Commit.
  • Templates/private: fix qmldir. Commit.
  • Placeholdermessage: don't bind maximum to explicit width. Commit.
  • PlaceholderMessage: handle unusually long text better. Commit. Fixes bug #514164
  • BannerImage: Don't shadow implicitWidth property. Commit.
  • Fix Android icon bundling. Commit.
KItemModels
  • Remove wrong documentation markup. Commit.
  • Fix memory leaks in unit tests. Commit.
  • Enable LSAN in CI. Commit.
  • KRearrangeColumnsProxyModel: don't nest begin/endResetModel signals. Commit.
KItemViews
KJobWidgets
KNewStuff
  • Improve delegate sizing to increase information density. Commit.
KNotifications
KNotifyConfig
KPackage
KParts
KPeople
KPlotting
KPTY
KQuickCharts
KRunner
KStatusNotifieritem
KSVG
  • Fix memory leak when ImageSet cannot be found. Commit.
  • Enable LSAN in CI. Commit.
  • Ksvg: Optimize stylesheet parsing. Commit.
KTextEditor
  • Some tests for setVirtualCursorPosition. Commit.
  • Add small test for virtual column conversions. Commit.
  • Fix fromVirtualColumn. Commit.
  • Proper handling of tabs in virtual cursor setting. Commit. Fixes bug #513898
  • Proper handling of tabs in virtual cursor setting. Commit. Fixes bug #513898
  • Handle any unicode newline sequence during paste. Commit.
  • Fix typo. Commit.
  • Enable LSAN in CI. Commit.
  • Avoid to leak ranges. Commit.
  • Don't leak memory. Commit.
  • Don't leak a cursor. Commit.
  • Ensure we call the cleanups. Commit.
  • Don't leak cursors. Commit.
  • Fix leaking of completion moving ranges. Commit.
  • We re-parent this, use a QPointer to be sure we know if that is still alive. Commit.
  • Fix leak in TextBuffer::balanceBlock. Commit.
  • Don't leak cursor and range. Commit.
  • Avoid to leak the document. Commit.
  • Don't leak cursors & ranges. Commit.
  • Fix memleak in vi mode mark handling. Commit.
  • Don't leak the mainwindow. Commit.
  • Ensure the document dies with the toplevel widget. Commit.
  • Avoid to leak doc in some tests. Commit.
  • Fix memleak in KateLineLayoutMap. Commit.
  • Don't leak the document in some tests. Commit.
  • Avoid to leak memory in testing. Commit.
  • Disable CamelCursor by default. Commit.
  • Fix since 6.23 & comments. Commit.
  • Docs: Mention that code folding highlight is also disabled. Commit.
  • Move bracket highlight suppression to view update logic. Commit.
  • Add option to disable bracket match highlight when inactive. Commit.
  • Clear m_speechEngineLastUser early to avoid that it is used in error handling for speechError. Commit. Fixes bug #514375
KTextTemplate
KTextWidgets
KUserFeedback
KWallet
KWidgetsAddons
  • KPageView: Check for valid indices during list search. Commit. Fixes bug #496143
  • Kactionmenu: Use delegating constructor. Commit.
  • Add test for KActionMenu. Commit.
  • Clean up touch device in tests. Commit.
  • Kpageview: Don't leak NoPaddingToolBarProxyStyle. Commit.
  • Kacceleratormanagertest: Don't leak action. Commit.
  • KCollapsibleGroupBox: Fix arrow indicator not updating immediately. Commit.
KWindowSystem
  • Enable LSAN in CI. Commit.
  • Platforms/wayland: Avoid destroying proxy objects when QPA is gone. Commit. Fixes bug #487660
  • Fix KWindowSystem::updateStartupId on wayland. Commit.
KXMLGUI
  • Avoid toLower, use case insensitive comparison. Commit.
  • De-duplicate case insensitive string equality functions. Commit.
  • Fix memory leaks in unit tests. Commit.
  • Enable LSAN in CI. Commit.
  • Drop (wrong kind of) asserts in KToolTipHelperPrivate code. Commit.
  • Replace pointer with optional. Commit.
  • Replace simple slot with lambda. Commit.
  • Remove pointless QKeySequence->QVariant conversion. Commit.
  • Use raw pointers for some commonly used classes's pimpl pointer. Commit.
Modem Manager Qt
Network Manager Qt
Prison
  • Consistently namespace ZXing version defines. Commit.
  • Remove workarounds for ZXing 3.0 not having bumped its version yet. Commit.
  • Adapt to more ZXing 3.0 API changes. Commit.
  • Actually search for ZXing 3. Commit.
  • Fix build without ZXing. Commit.
  • Support ZXing 3 for barcode generation. Commit.
  • Auto-detect text vs binary content for GS1 Databar barcodes. Commit.
  • Enable LSAN in CI. Commit.
  • Adapt barcode scanner to ZXing 3 changes. Commit.
  • Port away from deprecated ZXing API. Commit.
Purpose
  • Fix typo and adhere to KDE HIG. Commit.
  • Add missing API doc comments. Commit.
QQC2 Desktop Style
  • Menu: Calculate implicitHeight from visibleChildren. Commit. Fixes bug #515602
  • ItemDelegate: Give a bigger padding to the last item. Commit. Fixes bug #513459
  • Combobox: use standard menu styling for popup. Commit. See bug #451627
  • SearchField: add manual test. Commit.
  • Add SearchField. Commit.
  • Enable LSAN in CI. Commit.
  • Kquickstyleitem: Avoid divide by zero. Commit.
Solid
  • Fix(fstab): Return valid URLs for NetworkShare for smb mountpoints. Commit.
  • Documentation fixes. Commit.
  • Add displayName() implementation to UDev backend with vendor/product deduplication. Commit.
  • Extract vendor/product fallback logic into reusable utility function. Commit.
  • Improve device vendor/product lookup with hwdb fallback. Commit.
  • [UdevQt] Reduce allocations in decodePropertyValue helper. Commit.
  • Free lexer-allocated data also when parsing fails. Commit.
  • Enable LSAN in CI. Commit.
  • Use delete instead of deleteLater() when DevicePrivate refcount drops to 0. Commit. Fixes bug #513508. Fixes bug #494224. Fixes bug #470321. Fixes bug #513089. Fixes bug #513921
  • Avoid crash on device removal. Commit. Fixes bug #514791
  • Add missing ejectRequested to OpticalDrive interface. Commit.
  • Add missing override in winopticaldrive. Commit.
  • Add missing signals to StorageAccess backends. Commit. Fixes bug #514176
  • Add missing overrride in winstorageaccess. Commit.
  • Fix macOS build: Replace make_unique with explicit new for private IOKitDevice constructor. Commit.
  • Use more precise type for m_reverseMap. Commit.
  • Replace _k_destroyed slot with lambda. Commit.
  • Don't call setBackendObject() in DevicePrivate dtor. Commit.
  • Remove unneeded intermediate variables. Commit.
  • Manage backend object using unique_ptr. Commit.
  • Remove unneeded destroyed handling for backend object. Commit.
  • Manage DeviceInterface using unique_ptr. Commit.
  • Devicemanager: remove unused includes. Commit.
Sonnet
Syndication
Syntax Highlighting
  • Added Gemtext syntax. Commit.
  • Enable LSAN in CI. Commit.
  • Do not resolve symbolic links in generate_jinja.py. Commit.
  • PHP: update Heredoc/Nowdoc support for 7.3. Commit.
Threadweaver

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.23.0 may be freely downloaded. Instructions on compiling and installing are available from the KDE Frameworks 6.23.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.23.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.