KDE 1698 Published by

KDE Frameworks 6.23.0 has been released to improve Baloo indexing and overall memory safety, with a focus on cleaning up the file-indexing pipeline and tightening ownership rules across core components. The update also includes changes to Bluez Qt and Breeze icons, such as a new "update-busy" state and color-aware kdeconnect-symbolic assets that respect dark themes. LeakSanitizer has been enabled in the release to catch memory bugs before they ship, although this may result in a modest increase in build time for some projects. Developers who rely on Baloo should consider upgrading to 6.23.0, but those using older Qt versions will need to upgrade their packages first.



KDE Frameworks 6.23.0 brings faster Baloo indexing and tighter memory safety

KDE Frameworks 6.23.0 is out, and developers who rely on the libraries will see a handful of concrete improvements that actually matter in day‑to‑day builds. The release focuses on cleaning up Baloo’s file‑indexing pipeline, tightening ownership rules across core components, and finally turning on LeakSanitizer (LSAN) in continuous integration to catch memory bugs before they ship.

Screenshot_from_2025_03_30_13_15_09

What’s new in Baloo

Baloo’s recent history has been a roller coaster of performance regressions caused by database lock contention. One long‑standing complaint came from a power‑user who noticed that after copying several gigabytes of media, the desktop would freeze for seconds while Baloo tried to write its index. The culprit was the extractor holding the DB write lock for the entire extraction run. In 6.23.0 the extractor now releases the lock as soon as it hands off content, and long runs are split into multiple transactions. This change alone cuts indexing latency by roughly a third on typical home‑user workloads.

The cleanup also adds a single transaction per folder when excluding paths, which means Baloo no longer creates a cascade of tiny commits that bloat the SQLite journal. The result is a leaner index file and fewer chances for corruption after an abrupt shutdown.

Bluez Qt and icon polish

Bluez Qt receives another explicit moc include to silence spurious compiler warnings on recent GCC versions. It’s a small tweak, but it prevents developers from having to patch generated files manually—a frequent source of frustration when the build system is upgraded.

Breeze icons get a fresh “update‑busy” state and a properly symbolic globe icon at 22 px. The new color‑aware kdeconnect‑symbolic assets finally respect dark themes, which is a welcome visual consistency for people who run KDE on high‑DPI laptops.

Why the LSAN push matters

LeakSanitizer has been enabled across almost every framework in this release. In practice that means any memory leak introduced by a pull request will be caught during CI runs, not after it lands in the wild. The downside is a modest increase in build time—roughly five minutes on a typical eight‑core workstation—but the trade‑off is worth it for projects that ship binaries to end users. A few false positives were reported when third‑party libraries allocate memory through custom allocators; those have already been filtered out with targeted suppressions.

Should you upgrade now?

If an application depends heavily on Baloo (for example, a file‑manager extension or a media‑library scanner), upgrading to 6.23.0 will likely resolve the occasional UI stalls that some users still experience after the previous release. For projects that do not touch indexing at all, the upgrade is mostly about future‑proofing: the stricter use of unique_ptr throughout Engine and SearchStore eliminates a class of dangling‑pointer bugs that have been hard to reproduce in testing.

One caveat: the framework now requires Qt 6.8.0. Systems still on Qt 6.5 will need to pull the newer Qt packages, which can be a non‑trivial step on older LTS distributions. In those environments it may make sense to stick with 6.22.x until the distro catches up.

In essence

KDE Frameworks 6.23.0 feels less like a “monthly polish” and more like a targeted health check. The Baloo fixes address real‑world performance pain points, LSAN integration raises the overall code quality bar, and even the icon tweaks demonstrate that the KDE team still cares about the little things that make daily use pleasant. For anyone building on top of the frameworks, pulling this version in now is a solid move—just double‑check your Qt version first.