Friday, 13 December 2024
KDE today announces the release of KDE Frameworks 6.9.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
Baloo
- [termgeneratortest] Rework unit test for negative numbers. Commit.
- Remove unneeded qOverload statements. Commit.
- Ci: use suse-qt68 image for clang-format. Commit.
- [balooctl] Refactor the "index" and "clear" code. Commit.
- Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
- Don't include quiet packages in feature_summary. Commit.
Breeze Icons
- Bring back directory symlinks for breeze-dark. Commit. Fixes bug #482648
- Add symbolic version of system-software-update for small sizes. Commit. Fixes bug #399139
- Also link to 22px versions for Duplicate icons. Commit.
- Add symbolic version of preferences-desktop-keyboard-shortcut. Commit.
- Add transport-mode-flight icon. Commit.
- Add symbolic version of preferences-system-users. Commit.
- Add symbolic version of preferences-desktop-notification-symbolic. Commit.
- Add symbolic version of preferences-desktop-theme-global. Commit.
- Generate index.theme unconditionally to fix qrc/rcc. Commit.
- Make qrc generation fail if no *.theme file was found. Commit.
- Add missing CSS properties for
blur
andpixelate
icons. Commit. Fixes bug #495755 - Fix class attribute for places/32/folder-{log,podcast}.svg. Commit.
- Add boost and boost-boosted icons. Commit.
- Update WINE app icons to match new symbolic versions. Commit.
- Add wine-symbolic icon. Commit. Fixes bug #494450
- Add favorite-favorited, change favorite to non-filled. Commit.
- Make base donate and help-donate icons be hearts. Commit.
- Add love. Commit.
- Improve README with more guidelines and contributing information. Commit.
- Add icon for keyboard shortcut preferences. Commit. See bug #426753
- Add dialog-password icon. Commit.
- Optimize-svg: Clarify that you need to install svgo globally. Commit.
- Add laser printer icon. Commit.
Extra CMake Modules
- Align multi-language catalog loading with KI18n. Commit.
- EGPF: Handle case where INTERFACE_INCLUDE_DIRECTORIES is empty. Commit. Fixes bug #496781
- KDEClangFormat: Avoid spammy warnings with cmake >= 3.31.0. Commit. Fixes bug #496537
- Consider all QLocale::uiLanguages for QM catalog loading. Commit.
- ECMGeneratePythonBindings: Build without system isolation. Commit.
- ECMGeneratePythonBindings: Remove broken RPATH settings. Commit.
- Include Qt's translations in what we bundle on Android. Commit.
- Fix FindLibMount without pkgconfig. Commit.
- Don't use KDEInstallDirs6 for the new ECMGeneratePkgConfigFile test. Commit.
- Fix reproducible build issue with ECMGeneratedHeaders. Commit.
Framework Integration
- Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
KConfig
- Add QML_REGISTRATION option to the config macro documentation. Commit.
- KWindowStateSaver: Increase the rate limit on the slow part of config saving. Commit.
- It compiles fine without deprecated methods. Commit.
- Now we depend against qt6.6.0. Commit.
- Fix restoration of maximization state for QtQuick windows (for real). Commit. Fixes bug #494359
KCoreAddons
- Provide more license for KAboutLicense. Commit.
- Add 7d4a6f31521 to git-blame-ignore-revs. Commit.
- Add Python bindings. Commit.
- It compiles fine without deprecated methods. Commit.
- Kaboutdata: Add overload taking KAboutPerson and KAboutComponent. Commit.
- Kfileutils: compare to basename in makeSuggestedName. Commit. Fixes bug #493270
- Apply 1 suggestion(s) to 1 file(s). Commit.
- Link with libnetwork on Haiku. Commit.
- Don't put copyright statements if the license is not BSD. Commit.
KFileMetaData
- Don't include quiet packages in feature_summary. Commit.
KGlobalAccel
- It compiles fine without deprecated methods. Commit.
KHolidays
- Update holiday_cn_zh-cn: add newline. Commit.
- Update holiday_cn_zh-cn for 2025 holidays. Commit.
- Adds public holiday for Nigeria. Commit.
- It compiles fine without deprecated methods. Commit.
- Holiday_bj_fr - update Benin holidays. Commit. Fixes bug #496260
- Document HolidayRegion::rawHolidaysWithAstroSeasons(). Commit.
KI18n
- Handle multiple country-specific locales for the same language correctly. Commit.
- Look up Qt translations catalogs ourselves. Commit.
- Add auto tests for Qt catalog loading. Commit.
- Improve fallback handling for Qt translation catalog loading. Commit.
- Fix license identifier. Commit.
- Remove obsolete Qt translation catalogs. Commit.
- Fix loading of Qt's translation catalogs on Android. Commit.
- Bump KF and QT versions in cem_set_disabled_deprecation_versions. Commit.
KImageformats
- Jxl: Disable color conversion for animations. Commit.
- Improve CMYK writing support. Commit.
- Improved write test. Commit.
- JXL: load error with some lossless file. Commit. See bug #496350
- JXR: jxrlib cannot write HDP and WDP formats. Commit.
- Heif: avoid crash in heif_image_handle_has_alpha_channel. Commit.
- Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
- Ci: add Alpine/musl job. Commit.
- RGB: avoid to read wrong data. Commit.
- JXL: Fix OSS Fuzz issue 377971416. Commit.
- Fix compilation warnings. Commit.
- JXR: Fix libraries link under FreeBSD. Commit.
- JXL: fixed bug when saving grayscale images without color profile. Commit.
- PFM: extended to half float format. Commit.
- Rename SCT plugin for OSS-FUZZ. Commit.
- PCX: support for more formats. Commit.
- SCT: added read only support. Commit.
KIO
- Adapt test to new error code. Commit.
- [ftp] Give better error message when creating files is not allowed. Commit.
- File_unix: check chown return when setting owner. Commit.
- CommandLauncherJob: fail when launch an non-existing executable. Commit.
- Don't static cast qobjects. Commit.
- Kpropertiesdialog: fix user display to actually use the user data. Commit. Fixes bug #496745
- Add autotest for parsing bug and actually report error status. Commit.
- Fix out of bounds for KRunMX1::expandEscapedMacro. Commit. Fixes bug #495606
- Kcoredirlister: Remove iterator assert, use if instead. Commit. Fixes bug #493319
- Haiku support: Disable SHM, link to libnetwork, further fixes. Commit.
- It compiles fine without deprecated methods. Commit.
- KDirOperator: improve handling of forward/back mouse buttons. Commit. See bug #443169
- KUrlNavigator: Fix Tab order. Commit.
- Haiku build fixes. Commit.
- [previewjob] Assert that path is absolute. Commit. See bug #490827
- Deprecate http_update_cache. Commit.
- KUrlNavigatorDropDownButton: Add text and tooltip. Commit.
Kirigami
- Chip: Add visible hover state. Commit.
- Fix accessibility of InlineMessage. Commit.
- ActionMenuItem: make a11y press work. Commit.
- PrivateActionToolButton: make a11y press work. Commit.
- SelectableLabel: Allow disabling the built-in context menu. Commit.
- Always use a ToolBar for pages on the stack. Commit.
- SelectableLabel: Make selection persistent. Commit. Fixes bug #496214
- PlaceholderMessage: Let use overwrite icon color. Commit.
- PlaceholderMessage: Forward icon.width/icon.height to internal Icon. Commit.
- NavigationTabBar: Fix warning related to assigning a Repeater instead of a AbstractButton. Commit.
- Use border for keyboard active focus in NavigationTabButton. Commit.
- SelectableLabel: Remove onLinkActivated. Commit.
- [SelectableLabel] restore font property. Commit.
- Add missing REQUIRED for ECM. Commit.
- Remove Useless empty contentItem. Commit.
- Fix mobile mode. Commit.
- Fix doc for PlatformTheme::ColorSet. Commit.
- ColumnView: Note that FixedColumns is the default value for columnResizeMode. Commit.
- Add optional Breeze style import also for static builds. Commit.
KItemModels
- It compiles fine without deprecated methods. Commit.
KNewStuff
- Transaction: use cache2 not the deprecated legacy cache. Commit.
- Do not finish the transaction before it actually did anything. Commit. Fixes bug #496551
- Cache: become a facade for Cache2. Commit.
- Use isEmpty() vs count() > 0. Commit.
- Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
- Providerbase: split done signal from loaded signal. Commit.
- Staticxmlprovider: remove unused member. Commit.
- Ci: add Alpine/musl job. Commit.
- ResultsStream: Restore the providers upon ::fetchMore. Commit.
- Fixup! the grand API refactor of 2024. Commit.
- The grand API refactor of 2024. Commit.
- Port test away from deprecated API. Commit.
- Add missing KNEWSTUFFCORE_BUILD_DEPRECATED_SINCE. Commit.
- Fix random timeouts in attica test. Commit.
- Transaction: deprecate ambiguous install function. Commit.
KNotifyConfig
- Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
KQuickCharts
- Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
KTextEditor
- Sort and remove duplicates in outRanges in Kate::TextBuffer::rangesForLine. Commit.
- Add test case for line unwrapping crash. Commit.
- Don't leave non-multiblock Kate::TextRange in m_buffer->m_multilineRanges. Commit.
- Don't crash on insert at lastLine + 1. Commit. Fixes bug #496612
- Avoid closeUrl() call. Commit.
- Clear all references/uses of aboutToDeleteMovingInterfaceContent. Commit.
- Align completion with the word being completed. Commit. Fixes bug #485885
- Try to relax unstable test. Commit.
- Use a QLabel for scrollbar linenumbers tooltip. Commit.
- Add functions for jumping to next/prev blank line. Commit.
- Disable ENABLE_KAUTH_DEFAULT on Haiku also. Commit.
- Remove misleading dead code. Commit.
- Fix crash if feedback or dyn attr is cleared before deletion. Commit. Fixes bug #495925
- Fix ranges with dynamic attribute dont notify deletion. Commit.
- Deprecate aboutToDeleteMovingInterfaceContent. Commit.
- Remove m_ranges from buffer. Commit.
- Dont take ownership of the MovingRange/MovingCursor. Commit.
- Buffer: Remove m_invalidCursors. Commit.
- Allow shifted numbers for Dvorak and Co. Commit. Fixes bug #388138
- Keep hinting as set by the user. Commit. Fixes bug #482659
KTextTemplate
- Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
KUserFeedback
- Don't include quiet packages in feature_summary. Commit.
KWidgetsAddons
- Fix since version for KAdjustingScrollArea. Commit.
- Kmessagebox: Add option to force label to be plain text. Commit.
- Install python bindings into site-packages dir. Commit.
- Add python examples. Commit.
- It compiles fine without deprecated methods. Commit.
- Add Python bindings. Commit.
- Ci: add Alpine/musl job. Commit.
- KPageView: Strip mnemonics before matching search text. Commit.
- KPasswordDialog: Vertically center prompt. Commit.
- Introduce KAdjustingScrollArea. Commit.
- Kratingwidget: Draw icon at native resolution. Commit.
KXMLGUI
- KXmlGuiWindow: Create KHelpMenu without application data. Commit.
- KHelpMenu: Use up-to-date application data if not set explicitly. Commit.
- Add Python bindings. Commit.
- Kbugreport: Specify what the second version number refers too. Commit.
- AboutDialog: Add copy button for components info. Commit.
- It compiles fine without deprecated methods. Commit.
- About dialog: Put app specific components before generic components. Commit.
- KHelpMenu: Allow showing and hiding the What's This menu entry. Commit.
- KHelpMenu: Deprecate second constructor with bool parameter. Commit.
- KHelpMenu: Deprecate constructor with unused parameter. Commit.
- KHelpMenu: Remove unnecessary member variables. Commit.
- KHelpMenu: Remove long dead support for a simple About text. Commit.
- Ensure action insertion order is preserved. Commit.
- Skip first column when resizing columns. Commit.
- Simplify action storage in KActionCollection. Commit.
- Add Linux static CI build. Commit.
- Add component description to default components. Commit.
- Simplify about data dialog. Commit.
- [kactioncategory] Add new-style connect variants for addAction. Commit.
- [kactioncategory] Deprecate functions that use KStandardAction. Commit.
- [kactioncategory] Add overloads for KStandardActions. Commit.
Modem Manager Qt
- It compiles fine without deprecated methods. Commit.
Purpose
- [imgur] Improve error reporting. Commit.
- Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
- Clipboard: Also allow to export to the clipboard. Commit. Fixes bug #477553
- Introduce a clipboard plugin. Commit.
- AlternativesModel: Don't filter by fields that don't pertain to the current plugintype. Commit.
QQC2 Desktop Style
- Org.kde.desktop: Add null contentItem checks to check/radio/switch controls. Commit.
- Use null contentItem instead of empty Item. Commit.
- Use Qt text rendering when high DPI scaling. Commit. Fixes bug #479891
- Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
- Add a SwipeDelegate. Commit.
- Don't include quiet packages in feature_summary. Commit.
Solid
- Battery: Add cycleCount. Commit.
- Bump KF and QT versions in cem_set_disabled_deprecation_versions. Commit.
- Fstab: Fix memory leak when a network or overlay mount has changed. Commit.
- Fix build on Haiku. Commit.
- Consistenly use correct include statements for libmount. Commit.
- Add support for rclone mounts and fstab entries. Commit.
Syntax Highlighting
- Update odin highlighting. Commit.
- The lua indenter was removed long ago in ktexteditor. Commit.
- Odin: Fix numbers getting highlighted in the middle of words. Commit.
- Highlight odin 'context' keyword differently. Commit.
- Improve odin lang highlighting. Commit.
- Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
- Cmake.xml: updates for the recently released CMake 3.31. 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.9.0 may be freely downloaded. Instructions on compiling and installing are available from the KDE Frameworks 6.9.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.9.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.