Friday, 14 February 2025
KDE today announces the release of KDE Frameworks 6.11.0.
KDE Frameworks are 72 addon libraries to Qt which provide a wide variety of commonly needed functionality in mature, peer reviewed and well tested libraries with friendly licensing terms. For an introduction see the KDE Frameworks release announcement.
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
Extra CMake Modules
- Fix FindEGL compile check when using Emscripten. Commit.
- Add xml/yaml linting. Commit.
- ECMAddAndroidApk.cmake: use APK_NAME for APK_OUTPUT_DIR. Commit.
- Add ECMGenerateQDoc. Commit.
- CI: Add linux-qt6-next build. Commit.
- ECMQmLoader.cpp.in: Use qAsConst instead of std::as_const in Qt5 codepath. Commit.
- Lower Python requirement to 3.9. Commit.
- ECMQmLoader.cpp.in: Add std::as_const for enhanced for loop. Commit.
KCMUtils
- Ensure proper utf-8 encoding. Commit.
- [kcmmetadatagenerator] Use QCoreApplication to process args. Commit. Fixes bug #499337
- Add xml/yaml linting. Commit.
- CI: Add linux-qt6-next build. Commit.
- Fix typo in doc. Commit.
- Fix documentation url for kcms. Commit.
- Allow loading platform-specific main qml file. Commit.
KConfig
- Enforce QtNext tests to pass again. Commit.
- Move global cache out of function again. Commit.
- Kwriteconfig: Add a flag to notify. Commit.
- Make global parse cache local to parseGlobalFiles(). Commit.
- Add xml/yaml linting. Commit.
- Make kcfg testfiles valid wrt kcfg.xsd. Commit.
- CI: Specify Linux/Qt6 since Linux/Qt6Next is failing right now. Commit.
- Use unique pointer for lock file. Commit.
- Simplify KConfigIniBackend. Commit.
- Enable QStandardPaths testMode for more tests. Commit.
- Add a way to register QML types as uncreatable. Commit.
- Don't ignore the result of QFile::open. Commit.
- CI: Add linux-qt6-next build. Commit.
- Enable QStandardPaths test mode for TestStateConfig. Commit.
- [kconfig_compiler] Fix code generation for state config without name arg. Commit.
- Fix moving values between nested groups. Commit.
- Read defaults from Windows registry. Commit.
KCoreAddons
- Add missing since markers. Commit.
- Kosrelease: expose to qml. Commit.
- Kosrelease: typo--. Commit.
- .git-blame-ignore-revs: ignore 230c98aa7. Commit.
- Add xml/yaml linting. Commit.
- Add plural annotations for abbreviated duration strings. Commit.
- Add MPL 2.0 to list of licenses. Commit.
- Add distance formatting with locale- and value-appropriate units. Commit.
- Add abbreviated duration formatting. Commit.
- Don't ignore the result of QFile::open. Commit.
- Mark KFormat QML methods as translation bindings. Commit.
- Removed unnecessary vtable in KFormatPrivate. Commit.
- Fix QML module version. Commit.
- Use declarative type registration for QML bindings. Commit.
- Enable Python bindings on FreeBSD. Commit.
- CI: Add linux-qt6-next build. Commit.
- Lower Python requirement to 3.9. Commit.
KFileMetaData
- [autotests] Make usermetadatawritertest idempotent, cleanup test output. Commit.
- [autotests] Various cleanups for external writer/extractor plugin tests. Commit.
- Add xml/yaml linting. Commit.
- Install dump utility as a debugging aid for users. Commit.
- [autotests] Enforce QT_NO_CAST_FROM_ASCII usage. Commit.
- [dump] Enforce QT_NO_CAST_FROM_ASCII usage. Commit.
- CI: Add linux-qt6-next build. Commit.
KGuiAddons
- KIconUtils: simplify addOverlay implementation. Commit. Fixes bug #499363
- Fix build with Qt 6.10. Commit.
- Add xml/yaml linting. Commit.
- KIconUtils: correct the rendering of icons. Commit.
- Enable Python bindings on FreeBSD. Commit.
- CI: Add linux-qt6-next build. Commit.
- KIconUtils: take into account dpi for overlays. Commit. See bug #498211
- Lower Python requirement to 3.9. Commit.
- Remove qwant geo URI handler. Commit.
- [KColorSchemeWatcher] Fix reading XDG preference. Commit. Fixes bug #497790
KIconThemes
- KIconLoader: ensure thread safety. Commit.
- Kiconloader/kiconthemes: allow querying all icons easily. Commit.
- Kiconloader: DRY code by removing duplication. Commit.
- Fix build with Qt 6.10. Commit.
- Add xml/yaml linting. Commit.
- Prefer a std::vector to a new-allocated array. Commit.
- CI: Add linux-qt6-next build. Commit.
- Add Alpine CI. Commit.
KImageformats
- Jxl: refactor image saving, native CMYK support. Commit.
- Harmonized RAW mime types. Commit.
- Imageconverter: possibility to set image quality. Commit.
- Print more details when writetest fails. Commit.
- Fix RAW mime type. Commit.
- Jxl: refactor image loading. Commit.
- Add xml/yaml linting. Commit.
- Fix jp2 and hdr plugin json definition. Commit.
- Read test: added perceptive fuzziness. Commit.
- Modified PCX mime type according to IANA db. Commit.
- PSD: Alpha detection improvements. Commit.
- PSD: improved option support. Commit.
- More metadata read tests. Commit.
- Fix use of deprecated methods. Commit.
- Metadata and image resolution write test. Commit.
- PSD: added support to EXIF metadata. Commit.
- JXR: set max XMP size to 4MiB. Commit.
- CI: Add linux-qt6-next build. Commit.
- DDS: Fix warning in qfloat16 and test failure on PowerPC. Commit.
- JXL: Resolution and metadata support via EXIF. Commit.
- Ani: Read chunk elements one at a time instead all at once. Commit. Fixes bug #498368
- Xcf: Return early if seek fails. Commit. Fixes bug #498381
- Heif: fix -Wstringop-overread warning. Commit.
- Jxl: refactor metadata boxes reading. Commit.
- RAW: Allow preview loading. Commit.
- Add JPEG 2000 support. Commit.
- JXL: Fix missing checks for BOXES when parsing animation. Commit. See bug #496350
- Try writers with different image sizes. Commit.
KIO
- KUrlRequester: Add Workaround for non KDE file dialogs being bad. Commit.
- KFileItem: correct isMostLocalUrl documentation. Commit.
- A way to insert KUrlNavigator pieces in a deterministic place in the focus chain. Commit. Fixes bug #409540. Fixes bug #466209
- File open dialog: better undo in the file name field. Commit.
- Fix symlink path resolution in File Properties. Commit. Fixes bug #476808
- Trashimpl: reparse trashrc in fileRemoved. Commit. See bug #422006
- Add a Move into new folder Drag'nDrop plugin. Commit. See bug #484555
- KFileFilterCombo::setFilters: Clear invalid filters from list before using it. Commit.
- Add null check for m_placesSelector in KUrlNavigator. Commit.
- Make "Empty trash" icons red. Commit.
- Fix build with Qt 6.10. Commit.
- Kmountpoint: Handle device IDs for bind mounts. Commit. Fixes bug #494129
- Kpropertiesdialog: Don't show access time in no(dir)atime filesystems. Commit.
- KFilePlaces: don't check StorageDrive::isHotpluggable. Commit.
- Add xml/yaml linting. Commit.
- Remove unused m_hasAllSupportedFiles member. Commit.
- Ftp/index.docbook remove obsolete URL. Commit.
- Deprecate API for connection timeouts. Commit.
- Adjust timeout error message. Commit.
- Kfileplacesview.cpp delete not used variable s_capacitybarHeight. Commit.
- Kfileplacesview: when adding new places item, let it figure out the icon. Commit. Fixes bug #498580
- Default to creating new places items globally. Commit. Fixes bug #498579
- Dropjob: Check if file is already in trash during dropjob. Commit. Fixes bug #497390
- CI: Add linux-qt6-next build. Commit.
- Trash: prevent an assert when trash cache is missing. Commit. Fixes bug #497268
- PreviewJob: improve wording. Commit.
- Searchprovider: add new search providers. Commit.
- Fix crash in ProtoQueue. Commit.
- Kurlnavigatortest: ignore trailing slash. Commit.
- Repair DropJobTest after QMenu::mousePressEvent change. Commit.
- [kfilefiltercombo] Fix 'All supported files' for more than 3 filters. Commit.
Kirigami
- TabletModeWatcher: Delay the first call to the portal. Commit.
- Fix deep nesting in ActionsMenu. Commit.
- Revert "make sure the node is always at an integer position". Commit. Fixes bug #484888
- SwipeListItem: handle not being direct delegate. Commit.
- ActionTextField: handle null parent. Commit.
- ToolBarPageHeader: pass focus to first button. Commit.
- LinkButton: give it a pressed effect. Commit.
- Fix build with Qt 6.10. Commit.
- UrlButton: fix display with empty URL. Commit.
- UrlButton: Fix the broken tooltip. Commit.
- Add xml/yaml linting. Commit.
- SelectableLabel: disable shortcuts when invisible or no text selected. Commit. Fixes bug #498867
- SwipeListItem: improve keyboard navigation. Commit.
- Fix some potential warnings in initPage(). Commit.
- ActionsMenu: Show icons for nested actions. Commit.
- CI: Remove Qt6 qualifier. Commit.
- CI: Add linux-qt6-next build. Commit.
- ScrollablePage: add ensureVisibility method. Commit.
- GlobalDrawer: move delegate into view when focused. Commit.
- ListItemDragHandle: Use dragged item's vertical center to map hovered item. Commit.
- ListItemDragHandle: Add "dragActive" property. Commit.
- ListItemDragHandle: Allow non-incremental move requests. Commit.
- ListItemDragHandle: Extend dropped() by last drag indexes. Commit.
- ListItemDragHandle: Do not flood moveRequested(). Commit.
- Fix Kirigami lookup on cmake in the template. Commit.
- Update the flatpak manifest in the template to use Qt/KF 6. Commit.
- Remove fileystem=home from the flatpak manifest in the template. Commit.
- ActionToolBar: make overflow button ID as ButtonMenu. Commit.
- Don't set active when mnemonics are disabled. Commit.
- FormLayout: Also consider enabled from buddy. Commit.
- Dialog: include leading and trailing components in footer implicitWidth. Commit. Fixes bug #497795
- Add an on-by-default "external link" icon for UrlButton. Commit.
KTextEditor
- Try to improve test stability. Commit.
- Don't sort already sorted newBlock->m_cursors. Commit.
- Use one newBlock->m_lines.insert instead of many newBlock->m_lines.push_back. Commit.
- Adjusted theme config page margins. Commit.
- Allow disabling 'cycle through bookmarks' behaviour. Commit. Fixes bug #499268
- Avoid text hint if already triggered when popup menu is requested. Commit. Fixes bug #499092
- Fix KateCompletionTree width. Commit. Fixes bug #498244
- Add xml/yaml linting. Commit.
- Autotests/src/swapfiletest.cpp - include
. Commit. - Ensure we do not kill symlinks. Commit. Fixes bug #498589
- Stop hover timer when cursor changes. Commit.
- CI: Add linux-qt6-next build. Commit.
- Store Search/Replace history in state config. Commit.
KWidgetsAddons
- Kpageview: disable invisible search field. Commit.
- Add xml/yaml linting. Commit.
- KBusyIndicatorWidget: Add functions setRunning() and isRunning() to control the spinning animation, update API documentation, and test file, and define Q_PROPERTY. Commit.
- Enable Python bindings on FreeBSD. Commit.
- CI: Add linux-qt6-next build. Commit.
- Lower Python requirement to 3.9. Commit.
KXMLGUI
- Instantiate accelerator checking only on KMainWindow creation. Commit. Fixes bug #499583
- Create the conflict detector only if some main window got created. Commit. Fixes bug #467130
- Fix comment about dependency. Commit.
- Don't trigger sync of config always at same time to avoid clashes if x instances are running. Commit. Fixes bug #456208
- Add xml/yaml linting. Commit.
- Fix writing default ToolBarsMovable value. Commit.
- Enable Python bindings on FreeBSD. Commit.
- CI: Add linux-qt6-next build. Commit.
- KAbstractAboutDialog: Do not insert a widget or layout twice. Commit.
- Lower Python requirement to 3.9. Commit.
Sonnet
- Use QStandardPaths::AppLocalDataLocation in addition to QStandardPaths::GenericDataLocation for search of Hunspell dictionaries. Commit.
- Add xml/yaml linting. Commit.
- CI: Add linux-qt6-next build. Commit.
- Remove unused variable. Commit.
- Remove leftovers of a qmake build system. Commit.
- Build static plugins in static builds. Commit.
Syntax Highlighting
- Ignore atm data/generators/cmake.yaml. Commit.
- Fix yaml files for linter. Commit.
- Skip test files that are invalid by design. Commit.
- Add xml/yaml linting. Commit.
- Cmake: Remove error highlighting. Commit.
- Add syntax highlighting file for the ARMv7-A assembly language. Commit.
- CI: Add linux-qt6-next build. 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.11.0 may be freely downloaded. Instructions on compiling and installing are available from the KDE Frameworks 6.11.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.11.0 requires Qt 6.5.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.