Friday, 10 April 2026
KDE today announces the release of KDE Frameworks 6.25.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
- Fix remaining QFile::open nodiscard warnings. Commit.
- [FileIndexerConfigUtils] Fix a nodiscard warning in fixture setup. Commit.
- [FileIndexerConfigUtils] Remove unneeded QTextStream. Commit.
- [FileIndexerConfigTest] Get rid of an almost duplicate helper function. Commit.
- [FileIndexerConfigTest] Reduce repetitions/manual expansion. Commit.
- [FileIndexerConfigTest] Reduce string puzzles to improve readability. Commit.
- [FileIndexerConfigTest] Move single-use strings out of header file. Commit.
- [DocumentUrlDBTest] Remove unused helper function. Commit.
- [ExtractorProcess] Verify transaction was sucessfully created. Commit.
- Tell the compiler QFile::open(fd, ...) can not fail for STDIN. Commit.
- [Query] Use explicit percent-encoding for title and json data. Commit.
- [QuerySerializationTest] Extend test coverage for disallowed characters. Commit.
- [QuerySerializationTest] Cover fromSearchUrl/toSearchUrl methods. Commit.
- [QuerySerializationTest] Make JSON roundtrip test data driven. Commit.
Breeze Icons
- Duplicate kdesrc-build icon as kde-builder icon. Commit.
- Remove duplicate/bogous style sheets. Commit.
- Remove unused path in im-invisible-user.svg that breaks webfont on MacOS. Commit. See bug #499597
- Add data-question status icon similar to other data-* status icons. Commit.
- Add nicer 16x16 variant of dialog-question. Commit.
- Add keyframe-warn. Commit.
- Resize kmouth, konversation, and kde-im-log-viewer to same height. Commit.
- Add icon for conic gradients. Commit.
- Add mask action icons. Commit.
Extra CMake Modules
- KDECMakeSettings: Disable CMAKE_CXX_SCAN_FOR_MODULES. Commit.
KCodecs
- We depend against qt 6.8 => we can remove check here. Commit.
- Propagate C++20 requirement to consumers. Commit.
- [KEncodingProber] Remove unused/unreachable Reset() method. Commit.
- [KEncodingProber] Use in-class initialization for prober members. Commit.
- [Codec] Default constructors/destructors, annotate as constexpr. Commit.
- [Codec] Simplify codecForName lookup. Commit.
- [Codec] Benchmark codecForName lookup. Commit.
- [Codec] Move test class declaration to implementation file. Commit.
- [Codec] Remove double quote for invalid codec warning. Commit.
- [KCharsets] Simplify instance singleton. Commit.
- [KCharsets] Reuse translated strings from encodingsByScript. Commit.
- [KCharsets] Fix possible initialization race for encodingsByScript. Commit.
- [KCharsets] Remove unused include. Commit.
- [KCharsetsTest] Reduce call nesting to improve readability. Commit.
KConfig
- Kreadconfig: Add flag to include globals. Commit.
- Kdesktopfile: tolerate nameless action for SEPARATOR. Commit. Fixes bug #517770
- Remove ifdef now that we depend on Qt >= 6.9.0. Commit.
- QDoc fixes. Commit.
- Kreadconfig: Add flag to dump all entries. Commit.
- Do not try to read registry entries for absolute config file names. Commit.
- Avoid creation of not already existing registry keys. Commit.
KCoreAddons
- Remove unused cmake variable. Commit.
KGuiAddons
- Waylandclipboard: Wait for up to 1s for the clipboard contents. Commit.
- Waylandclipboard: Properly interrupt thread when client extension goes inactive. Commit.
- Remove ifdef now that we depend on Qt >= 6.9.0. Commit.
- Change include in ksysteminhibitor_dbus.cpp preventing building when using a QT version < 6.9. Commit.
- Systemclipboard: waylandApp ptr validation cleanup. Commit.
- Systemclipboard/wlrwaylandclipboard: Fix WlrDataControlDevice::setPrimarySelection. Commit.
KHolidays
- Update holidays of 2026 for Taiwan. Commit.
- CI - add pre-commit support. Commit.
- Use markdownlint-cli2 to format markdown files. Commit.
- Use gersemi to format CMake files. Commit.
- .codespellrc - allow "lightening". Commit.
- Clang-format fixes. Commit.
- Clean whitespace issues. Commit.
- Edit portuguese holidays. Commit.
KIO
- Kfileitem: isExecutable: rely on QFileinfo. Commit.
- Revert "KFileItem: use permissions to determine isWritable and isReadable". Commit. Fixes bug #504287. Fixes bug #506472
- KFileItem: Check desktop MIME type before isSlow. Commit.
- Widgets: Don't show an error when trying do paste while there is nothing to paste. Commit.
- Kio_ftp: Enable UTF-8 encoding negotiation after successful login. Commit. See bug #269370. See bug #165044
- Autotests/openurljobtest: ensure to have deleteLater launched. Commit.
- Filewidgets/kfileplacesview: clear job in destructor. Commit.
- Autotests: openurljobtest, prevent memleak in negative tests. Commit.
- Kpasswdserver: prevent memleak of retry dialog. Commit.
- Core/kcoredirlister: prevent mem-leak upon redirection. Commit.
- Filewidgets/knewfilemenu: prevent small leak. Commit.
- Autotests/threadtest: prevent memleak in test. Commit.
- KfilePlacesView: delete FileSystemFreeSpaceJob once it is finished. Commit.
- Krecentdocumenttest: prevent a memleak. Commit.
- DropJob: parent DndPopupMenuPlugin to the dropjob. Commit.
- Fix protocol in "Destination" header for WebDAV copy/move. Commit. Fixes bug #487503. Fixes bug #443386
- Filepreviewjob: Track subjobs using QPointer. Commit. Fixes bug #517867
- Filecopyjob: Pass source file size to put() workers via setSourceSize(). Commit.
- Tweak ifdef now that we depend on Qt >= 6.9.0. Commit.
- Core: listjob: Support selective StatDetails for directory listing. Commit.
- Gui/filepreviewjob: return an error in case the sub-job failed. Commit.
- Gui/filepreviewjob: avoid a crash when temp is removed. Commit. Fixes bug #516575
- File: In LSTAT also stat subvolid and mntid when requested. Commit.
- Kurlnavigator: Change fallback behaviour for user input url. Commit. Fixes bug #408315
- Fix some cmake warnings. Commit.
- Filepreviewjob: allow to log the file being previewed. Commit.
- Forwardingworkerbase: Forward stat side and details. Commit.
- Fix build on macOS relating to tv_nsec. Commit.
- Core/udsentry: don't reduce nanosecond precision to millisecond. Commit.
- KFileItemDelegate: Use margins directly from style. Commit.
Kirigami
- Disable Alpine CI. Commit.
- Disable qmllint for some modules. Commit.
- PageRow: don't leak the dialog layer window. Commit.
- Fix AboutPage license sheet. Commit.
- Remove duplicate FeatureSummary include. Commit.
- Don't include quiet packages in feature_summary. Commit.
- TitleSubtitle: Add tweakable textFormat property. Commit.
- Platform: Prefer filesystem over qrc when determining install root. Commit.
- LinkButton: Create template, move items from control to template. Commit.
KItemModels
- Remove unused cmake variabls. Commit.
KStatusNotifieritem
- Don't include quiet packages in feature_summary. Commit.
KTextEditor
- Don't do reverse encoding if the target is the null char. Commit.
- KTextEditor::DocumentPrivate constructor does the register. Commit.
- Katedocument: Use first line of text as document title. Commit.
- Katedocument: Add relevant MIME types to Save dialog. Commit.
- Remove cmake warning. Commit.
- Update MiniMap Area. Commit.
Modem Manager Qt
- Fix version guards. Commit.
Network Manager Qt
- Fix cmake warnings. Commit.
Syntax Highlighting
- Add highlighting for ISO 10303-21 STEP files. Commit.
- Cmake.xml: update syntax for CMake 4.3. Commit.
- Adapt XSD and code to docs. Commit. Fixes bug #517428
- Fix reading of spellchecking element to match XSD. Commit. Fixes bug #517428
- Add license. Commit.
- Add PIO Assembler syntax highlighting. Commit.
- Add autotest reference file. Commit.
- Add syntax file and tests for SAS. Commit.
- Systemd unit: update to systemd v260. 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.25.0 may be freely downloaded. Instructions on compiling and installing are available from the KDE Frameworks 6.25.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.25.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.