Friday, 7 June 2024
KDE today announces the release of KDE Frameworks 6.3.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
Breeze Icons
- Use normal resource adding, big resource variant has issue with LTO. Commit.
- Kmahjongg app icon: drop broken
- Fix remaining missing semicolons. Commit.
- Fix missing semicolon. Commit.
- Fix path styling. Commit.
- Treat hicolor as "no fallback theme set" too. Commit.
- Ensure we fallback to breeze, if no user fallback is set. Commit.
- Fix dark icon generation. Commit.
- Revert "ensure we fallback to breeze, if no user fallback is set". Commit.
- Ensure we fallback to breeze, if no user fallback is set. Commit.
- Avoid to generate dead links. Commit.
- Remove duplicate of window.svg. Commit.
- Better duplicate checking. Commit.
- Stricter external link check. Commit.
- Integrate better test for whitespace of any kind. Commit.
- Fix escape sequences. Commit.
- Do full link checking for git win links, too. Commit.
- Do full symlink checking during resource creation. Commit.
- Better name for windows link resolving. Commit.
- Remove recently-added process-working-symbolic icons. Commit.
- Replace dialog-* icons with data-* icons. Commit.
- Add symbolic icons as symlink to existing monochrome icons. Commit.
- Remove explicit maintainer from metainfo. Commit.
- Remove copy/pasted 16px go/lua/scala icons from mimetypes/22. Commit.
- Fix actions/22/fingerprint viewBox. Commit.
- Include duplication check. Commit.
- Let Qt do the simple XML linting. Commit.
- Add my copyright, too. Commit.
- Add more comments and use better function name. Commit.
- Reenable x24 icons on Windows. Commit.
- Try to ensure we really run late enough. Commit.
- Run resource file generator on dark, too, for checks. Commit.
- Generate icon 24 gen dir always. Commit.
- Move more helpers to same dir. Commit.
- Split files to avoid dep cycles. Commit.
- Pack in generated icons. Commit.
- Add symlinks for new ISO MIME type names. Commit.
- Use rcc like we do it in other frameworks. Commit.
- Move helper, simplify deps searching. Commit.
- Avoid the copying. Commit.
- Add back BINARY_ICONS_RESOURCE for breeze only. Commit.
- Fix qrc generation for system with symlinks and always build the library. Commit.
- Remove BINARY_ICONS_RESOURCE. Commit.
KCMUtils
- It compiles fine without qt6.7 deprecated methods. Commit.
- AbstractKCM,SimpleKCM: Stop overlapping the 1px of content with a header Separator. Commit.
- SimpleKCM: Port header's wrapper from QQC2.Control to Kirigami.Padding. Commit.
- SimpleKCM: Drop unnecessary id qualifier from the bindings at the top-level component. Commit.
- AbstractKCM,SimpleKCM: Unify header/footer content swapping. Commit.
- AbstractKCM,SimpleKCM: Unify OverlaySheet detection, port to cool iterators. Commit.
KConfig
- Ensure test works with Qt 6.7 on Windows. Commit.
- Use QT_TRANSLATE_NOOP instead of QT_TR_NOOP for KStandardActions. Commit.
- Add helper method to fully move a group to another. Commit.
- Deprecate ctor that takes a backend. Commit.
- Move parts of KStandardAction to KConfigGui. Commit.
- Remove KConfigBackend abstraction. Commit.
- Add a mutex to protect globalData. Commit.
- Kconfigxt: Remove docs for SourceExtension parameter which was removed in KF6. Commit.
- Remove explicit maintainer from metainfo. Commit.
- Use ellipsis character instead of three dots in UI strings. Commit.
KDBusAddons
- It compiles fine without qt6.7 deprecated methods. Commit.
KFileMetaData
- Remove explicit maintainer from metainfo. Commit.
KGlobalAccel
- Improve metainfo.yaml. Commit.
KGuiAddons
- Deprecated KColorCollection. Commit.
KIconThemes
- Add missing include. Commit.
- KIconDialog: Prevent briefly visible mini-window from showing up. Commit. Fixes bug #487762
- Update file kicontheme.cpp. Commit.
- Include only if needed, avoid extra define. Commit.
- Set QML module base version to 1.0. Commit.
- Windows tests work now. Commit.
- Use Qt to fill in the generic mime-type icon information. Commit.
- Use Qt to fill in the generic mime-type icon information. Commit.
- Ensure tests pass locally with KDE platform theme, too. Commit.
- Ensure we not clash with breeze from resource. Commit.
- Adapt test to fact we now have Breeze with hicolor inherits. Commit.
- Remove not used files. Commit.
- Remove my old rcc test, no longer done. Commit.
- Always require the icon library. Commit.
- Add KIconTheme::initTheme() to configure proper icon set as opt-in. Commit.
KIO
- KAbstractFileItemActionPlugin: Remove wrong sentence in documentation. Commit. See bug #425997
- Don't install header for pure dbus class if no dbus. Commit.
- Disable dbus not only for android but windows & mac, too. Commit.
- Drop errorpage handling from worker. Commit.
- [http] Implement resuming at offset again. Commit. Fixes bug #480506
- CI: Require passing tests on Linux and FreeBSD. Commit.
- Deprecate KFileWidget::readConfig. Commit.
- SSL Info UI file: use notr="true" instead of old comment="KDE::DoNotExtract". Commit.
- Kfileitem: cache group names. Commit. Fixes bug #486956
- Move HAVE_STATX cmake test to core. Commit. Fixes bug #487015
- Remove unused includes. Commit.
- Properties dialogue URL tab: Fix vertical alignment. Commit.
- Systemdprocessrunner: change the order launchmodes are returned. Commit.
- Systemdprocessrunner: change env var names. Commit.
- Use ellipsis character instead of three dots in UI strings. Commit.
- Kprocessrunner: add third parameter to a connect. Commit.
Kirigami
- Revert "icon: Remove the node with lowest opacity when animation end". Commit. Fixes bug #487577
- ImageColors: Rework the example app. Commit.
- ImageColors: Remove unused QTimer member. Commit.
- ImageColors: Remove an unused variable. Commit.
- ImageColors: Disconnect the old QFutureWatcher. Commit.
- ImageColors: Mark internal function as static. Commit.
- ImageColors: Do not grab an item without a window or with an invisible window. Commit.
- ImageColors: Port QVariantList to a typed and named gadget. Commit.
- ImageColors: Fix multi-threading crash. Commit.
- Use consistent import alias for QtQuick.Controls. Commit.
- Drop all QML import versions. Commit.
- Doc: Improve FormData.label example. Commit.
- Fix typo in docs. Commit.
- Introduce the layouts submodule. Commit.
- SearchDialog: Expose search field placeholder text. Commit.
- Per default DBus only enabled on systems that use it. Commit.
- SearchDialog: Add page up/page down key navigation. Commit.
- Move dialog stuff in a new dialogs submodule. Commit.
- Card: emit toggled() when the user clicks on the header checkbox. Commit. Fixes bug #481461
- SearchDialog: Improve up/down item navigation. Commit.
- PromptDialog: adjust label spacing to conform to new HIG. Commit.
- Icon: Remove the node with lowest opacity when animation end. Commit.
- Remove custom backgrounds. Commit.
- Add SearchDialog. Commit.
- Always color icons. Commit. Fixes bug #485801
- PromptDialog: Fix regression where content is not scrollable. Commit.
- Add README.md for delegates and primitives modules. Commit.
- Delegates: Use relative imports for types from the same module. Commit.
- Delegates: Use Platform/Primitives directly instead of main Kirigami module. Commit.
- Add Platform and Primitives modules as dependencies for Delegates module. Commit.
- Introduce a "primitives" submodule that contains primitive types. Commit.
- Move ColorUtils to Platform. Commit.
- CMake: Change variable name for install() command. Commit.
- FormLayout: Compare types against base TextEdit instead of styled QQC2 component. Commit.
- Improve metainfo.yaml. Commit.
- TitleSubtitle Title Accessiblity. Commit.
- Don't include CPack. Commit.
- Don't include quiet package in feature_summary. Commit.
- Revert "PageRow: Rework page component caching". Commit.
- Revert "Dialog: Always use an overlay as visual parent". Commit.
- GlobalDrawer: Fix up code example in docs. Commit.
- OverlaySheet: Fix typo in docs. Commit.
- [inlineviewheader] Qualify property lookup. Commit.
- Add frame contrast. Commit.
- [dialog] Qualify property access. Commit.
- [dialog] Fix signal handler. Commit.
- FormLayout: Fix QML imports in doc example. Commit.
- FormLayout: Annotate function parameters. Commit.
- FormLayout: Qualify property access. Commit.
- PageRow: Rework page component caching. Commit.
- KirigamiPrivatePlugin: Reformat CMake into multi-line statements. Commit.
- Fix Dialog parenting. Commit.
- Dialog: Expand past preferred size to implicit size, as documented. Commit.
- Fix all occurrence of UnusedImports. Commit.
- Add config file for qmllint. Commit.
- PromptDialog: Don't use qualified property access in top-level expressions. Commit.
- Add support for global smooth scroll setting. Commit.
- Fix scrollable dialogs. Commit.
- Revert change to OverlaySheet. Commit.
- Update design of dialogs. Commit.
- GlobalDrawer: Clip content in more cases to fix overflowing header. Commit.
KItemModels
- Revert "KSelectionProxyModelTest: Skip tests broken by upstream changes". Commit.
KNewStuff
- Remove explicit maintainer from metainfo. Commit.
- Action: Fix type of transientParent property. Commit.
- Use ellipsis character instead of three dots in UI strings. Commit.
- ItemsModel: Fix up docs after refactoring. Commit.
- Fix the "Use" label on certain delegates. Commit.
- QuestionAsker: Remove broken sizing bindings. Commit.
- Explicitly set QQC2.Overlay.overlay as a parent for popups. Commit.
- DownloadItemsSheet: Port from OverlaySheet to Kirigami.Dialog for file selection dialog. Commit.
- DownloadItemsSheet: Wrap the file names of entries instead of eliding. Commit.
- ProvidersModel: Redo the engine property in a way which doesn't break ABI. Commit.
- Register properties as properly typed. Commit.
- Qtquick: Clean up unused #includes. Commit.
- UploadPage: Fix engine property binding. Commit.
- UploadsPage: Fix punctuation in a user-visible string. Commit.
- Comments: Manage ListView's delegate width & position correctly. Commit.
- ConditionalLoader: Drop meaningless checks and unused root id. Commit.
- Don't manage visibility of a BusyIndicator. Commit.
- QML: Don't abuse implicit casting of binding values to bool property. Commit.
- QML: Port Qt.rgba to the new Qt.alpha. Commit.
- QML: Port to strict === JavaScript equality operator. Commit.
- QML: Drop import alias for QtQuick.Layouts module. Commit.
- QML: Normalize QtQuick.Templates import aliases as T. Commit.
- QML: Normalize QtQuick.Controls import aliases as QQC2. Commit.
- QML: Add missing Kirigami import alias. Commit.
- QML: Normalize QtQuick.Controls import aliases as QQC2. Commit.
- QML: Remove unused imports. Commit.
- QML: Drop all import versions. Commit.
- QML: Drop major version from Kirigami imports. Commit.
- QML: Throw QtQuick.Window out of the window. Commit.
- QML: Clean up whitespace-related code style issues. Commit.
- QML: Remove superfluous trailing semicolons from bindings. Commit.
- QML: Explicitly specify arguments in signal handlers. Commit.
KNotifyConfig
- Remove explicit maintainer from metainfo. Commit.
KQuickCharts
- Set a better default size for the example application. Commit.
- Don't crash if we try to access an item from an empty ArraySource. Commit.
- Enable highlighting for most pages in the charts example. Commit.
- Port example pages to use ChartPage. Commit.
- Add a common base type for pages in the chart example. Commit.
- Remove API selection from charts example. Commit.
- Convert chart example to use an executable QML module. Commit.
- Expose highlight property on PieChartControl. Commit.
- Support highlighting in LineChartControl. Commit.
- Controls: Add support for highlighting hovered items in Legend. Commit.
- Fix normalized line size calculation in LineChartNode. Commit.
- Support highlight in BarChart. Commit.
- Support highlight in PieChart. Commit.
- Support highlight property in LineChart. Commit.
- Add a protected method to Chart to deemphasise non-highlighted items. Commit.
- Add a
highlight
property to Chart. Commit. - Remove explicit maintainer from metainfo. Commit.
- Controls: Ceil all components of preferredWidth in LegendDelegate contents. Commit. Fixes bug #486411
KRunner
- Fix X-KDE-ConfigModule not working for DBus runners. Commit.
- Fix same query not yielding results in new match session. Commit.
- Remove explicit maintainer from metainfo. Commit.
- Templates/runner6python: Only depend on shebang line for executing. Commit.
- Rename entrypoint file to always be main.py. Commit.
- Document krunner-plugininstallerrc file. Commit.
- Document how AbstractRunner::config is resolved. Commit.
- Runnercontext: Fix saving the launch counts. Commit.
KTextEditor
- Ensure the color name text is visible. Commit. Fixes bug #487068
- Ensure we not reset the dynamic word wrap state. Commit. Fixes bug #487216
- Port to KStandardActions. Commit.
- Never remove trailing spaces on diff file type. Commit.
- Remove explicit maintainer from metainfo. Commit.
- Screenshot dialog: support drag of image. Commit.
- Make tests independent of the user's environment. Commit.
- Modernize use designated init. Commit.
- Do not display diff result in script tests when -silent is used. Commit.
- Fix raw string indentation with cstyle + C++. Commit.
- Screenshot dialog: omit ellipsis from window title. Commit.
- Screenshot dialog: use default QFileDialog::getSaveFileName window title. Commit.
- Use ellipsis character instead of three dots in UI strings. Commit.
KTextTemplate
- Remove explicit maintainer from metainfo. Commit.
KTextWidgets
- Use ellipsis character instead of three dots in UI strings. Commit.
KUnitConversion
- Remove explicit maintainer from metainfo. Commit.
KWidgetsAddons
- Fix KMessageWidget background color. Commit.
- KMessageWidget: Avoid calling polish() inside of palette update. Commit. Fixes bug #487247
- Revert "KMessageWidget: Set the palette to work with non-KStyle styles". Commit.
- KMessageWidget: Set the palette to work with non-KStyle styles. Commit.
- Use ellipsis character instead of three dots in UI strings. Commit.
- Skip tests that need GUI on Windows CI. Commit.
- KViewStateSerializer: fix docu: setTreeView -> setView. Commit.
- KBusyIndicatorWidget: fix warning when hiding on startup. Commit.
KWindowSystem
- Update to plasma window management v17. Commit.
KXMLGUI
- It compiles fine without qt6.7 deprecated methods. Commit.
- [kactioncollection] Add addAction for KStandardActions without name. Commit.
- Add KStandardActions::StandardActions overload. Commit.
- Remove icon fallback setting. Commit.
- Use ellipsis character instead of three dots in UI strings. Commit.
- Work with a local copy of container when removing elements. Commit.
- Skip tests that need GUI on Windows CI. Commit.
QQC2 Desktop Style
- Fix rendering the focus of our items. Commit. Fixes bug #486041
- Update background of Dialog. Commit.
- TreeViewDelegate: Replace top/bottom padding with vertical. Commit.
- TreeViewDelegate: Add return type annotations to methods. Commit.
- TreeViewDelegate: Make it actually vertically centered. Commit.
- Remove explicit maintainer from metainfo. Commit.
- TextArea, TextField: Fix position of a "selection end" cursor. Commit.
- TextField: Fix mobile cursor positioning for fields with custom padding. Commit.
- Context Menus: Port to pragma ComponentBehavior: Bound. Commit.
- Context Menus: Use controls directly instead of via QQC2. Commit.
- MobileTextActionsToolBar: Slightly refactor expressions. Commit.
- MobileTextActionsToolBar: Set text and display mode for action buttons. Commit.
- MobileTextActionsToolBar: Use symbolic versions of icons. Commit.
- ComboBox: Clip the ListView when its relevant. Commit.
- ComboBox: Use strict === equality operator. Commit.
- ComboBox: Replace magic numbers with standard named units. Commit.
- [TextArea] Access controlRoot directly. Commit.
- [TextArea] Enabled ComponentBehavior: Bound. Commit.
- [Combobox] Use Popup directly instead of via QQC2. Commit.
- DialogButtonBox: Use largeSpacing as padding. Commit.
Syndication
- Remove explicit maintainer from metainfo. Commit.
Syntax Highlighting
- Updates to Catppuccin themes. Commit.
- Nix: Version 2 -> 3. Commit.
- Nix: Correctly highlight first key in set when it is quoted. Commit.
- Nix: Correctly highlight bare ${}. Commit.
- Nix: More correctly model inherit syntax. Commit.
- Build with QT_NO_CONTEXTLESS_CONNECT. Commit.
- Remove explicit maintainer from metainfo. Commit.
- Use ellipsis character instead of three dots in UI strings. Commit.
- Xml: add fictionbook format. Commit.
Threadweaver
- Remove explicit maintainer from metainfo. 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.3.0 may be freely downloaded. Instructions on compiling and installing are available from the KDE Frameworks 6.3.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.3.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.