Friday, 8 November 2024
KDE today announces the release of KDE Frameworks 6.8.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
- Add mimetype icons for text/x-typst. Commit.
- Monochromize not-explicitly-colorized symbolic folder icons. Commit. Fixes bug #494721
- Add CI for static builds on Linux. Commit.
- Unify common parts of index.theme for breeze and breeze-dark. Commit.
- Sync index.theme changes from breeze to breeze-dark. Commit. Fixes bug #494399
- Rename spinbox-* icons to value-*. Commit.
Extra CMake Modules
- FindKF6: Print custom message when required components are not found. Commit.
- Add a directory check when appending a module dir to qmlimportscanner. Commit.
- Add Python bindings. Commit.
- Break enums onto multiple lines. Commit.
- Set import paths for QML modules to all CMake search paths. Commit.
- Remove the old/unused SIP-based Python binding generation infrastructure. Commit.
- ECMGeneratePkgConfigFile: try to deduce additional include dirs. Commit.
- Fix custom definitions for generated pkgconfig files. Commit.
- Fix QM loader unit tests with a static Qt. Commit.
- Don't fall back to qmlplugin dump on static Qt builds. Commit.
- Retire Qt5 Android CI. Commit.
- Automatically install dependent targets of QML modules in static builds. Commit.
- Allow to specify an export set for targets installed by finalize_qml_module. Commit.
- Don't check websites in Appstream tests. Commit.
KCompletion
- Add linux-qt6-static CI. Commit.
KConfigWidgets
- Add CI for static builds on Linux. Commit.
KCoreAddons
- Make KJob::elapsedTime const. Commit.
- Fix absolute path generation into (not installed) header. Commit.
- KPluginMetaData: reduce string allocation. Commit.
- Update git blame ignore file. Commit.
- Reformat code with clang-format. Commit.
- Kjob: add elapsedTime() returns the ms the job ran. Commit.
- Add CI for static builds on Linux. Commit.
- Install QML module correctly when building statically. Commit.
- ExportUrlsToPortal: use QScopeGuard::dismiss for the success code path. Commit.
KFileMetaData
- UserMetadata: complete Windows implementation. Commit.
KI18n
- Allow explicit setting of Python3 fallback executible path. Commit.
- Use raw pointer for some pimpl'd public classes. Commit.
- Add missing include. Commit.
- Trigger binding reevaluation on language change. Commit.
- Propagate QML dependency for a static build with KTranscript enabled. Commit.
- Add CI for static builds on Linux. Commit.
- Reduce temporary allocations. Commit.
- Modernize member initialization. Commit.
- Fix container size type narrowing warnings. Commit.
- Remove commented-out KLocale leftovers. Commit.
- Align argument names between definition and declaration. Commit.
- Re-evaluate the languages we translate to on QEvent::LanguageChange. Commit.
- Cleanup KLocalizedContext d-ptr handling. Commit.
- Special-case the language fallback for country-less English. Commit.
- Use QStringView for locale splitting. Commit.
KIO
- Minor: use existing variables which contain these strings. Commit.
- Fix crash from HTTPProtocol::del() which calls with inputData=nullptr. Commit.
- Port away from Qt::Core5Compat when using Qt 6.7 or newer. Commit.
- Remove unused KConfigWidgets dependency. Commit.
- Port to KStandardActions. Commit.
- Add missing KColorScheme link. Commit.
- Add missing include. Commit.
- Include DBus error in log when communication with kpasswdserver fails. Commit.
- Update git blame ignore file. Commit.
- Reformat code with clang-format. Commit.
- Copyjob/transferjob: use KJob::startElapsedTimer. Commit.
- Http worker: handle dav[s] protocol. Commit. Fixes bug #365356
- [KFileFilterCombo] Fix setting 'All' filter as default. Commit.
- KNewFileMenu: Prevent using home directory as template directory. Commit. Fixes bug #494679
- [KFileFilter] Ignore label when comparing filters. Commit.
- [KFileFilter] Remove excess spaces in logging. Commit.
- [KFileFilterCombo] More verbose logging when not finding a filter. Commit.
- [http] Inline handleRedirection into the metaDataChanged slot. Commit.
- [webdav] Handle redirections which add trailing slashes. Commit. See bug #484580
- Copyjob: prefer custom struct over std::pair. Commit.
- PreviewJob: use standard thumbnailer caching is disabled. Commit.
- KDirListerTest: improve test stability. Commit.
- Tests: Make sure KIO::UDSEntryList can be compared. Commit.
- Expose UDSEntry equal operator to KIO namespace. Commit.
- Core/copyjob: report speed when copying multiple files. Commit. See bug #391199
- KPreview: store standard thumbnails in /tmp subfolder. Commit.
- Preview: better clean after standard thumbnailer. Commit. Fixes bug #493274
- Openurljob.cpp: Avoid opening files in endless loop if mimetype is set to open with xdg-open. Commit. Fixes bug #494335
- [KFilePlacesView] Improve automatic resize heuristic. Commit. Fixes bug #449544
- Workerinterface: remove unused #include. Commit.
- Add translation context to admin security warning. Commit.
- Kfileitem: linkDest prevent readlink error when file is not a symlink. Commit.
- Check that admin worker was installed by root. Commit.
- Clean up Properties dialog to follow HIG, improve UX, remove frames and fix padding regression. Commit. Fixes bug #484789
- TrashSizeCache: Use correct flags for QDirIterator. Commit. See bug #479283
Kirigami
- TitleSubtitle: Don't explicit set renderType. Commit.
- Upper mound for overlaysheet width. Commit.
- SelectableLabel: fix a11y properties. Commit.
- Fix Kirigami Application (Qt6) template. Commit. Fixes bug #494478
- SelectableLabel: Use onPressedChanged. Commit. See bug #481293
- Reformat code with clang-format. Commit.
- Icon: Always respect the animated property. Commit. Fixes bug #466357
- Adjust tst_qicon for desktop theme. Commit.
- Fix loading desktop theme. Commit. Fixes bug #491294
- Fix presumable typos confusing background and foreground colors. Commit. See bug #491294
- Always print Theme file loading errors. Commit. See bug #491294
- SelectableLabel: override default padding values more completely. Commit. Fixes bug #495256
- Fix icon for positive state of InlineMessage. Commit.
- SelectableLabel: fix binding loop warning on cursorShape. Commit.
- ScrollablePage: Add properties to set if the scrollbars are interactive. Commit.
- SelectableLabel: use property alias instead of direct binding, expose more through aliases. Commit.
- Dialog: fix multiple binding loops (again). Commit.
- Make the close button actually close. Commit.
- Layout: Reverse the stacking order of items inserted into ToolBarLayout. Commit. See bug #490929
- Modify SelectableLabel to use TextEdit instead. Commit. See bug #493581
- Cleanup and fix static QML module installation. Commit.
- Disable PageRow gesture on android. Commit.
- Make OverlaySheet look exactly like Dialog. Commit. Fixes bug #489357
- Top align icon in multiline InlineMessage. Commit.
KParts
- Define undeprecated Capabilities key in JSON metadata, define JSON schema, remove obsolete key. Commit.
KTextEditor
- Vi mode: Don't infinite loop in searcher. Commit.
- Remove unused var. Commit.
- Fix ignores. Commit.
- Less deprecated stuff used. Commit.
- Don't temporarily clear document URL during openUrl(). Commit.
- Only discard completion if the cursor was at the end of line. Commit.
- Update git blame ignore file. Commit.
- Reformat code with clang-format. Commit.
- Fix implicit conversion of Qt::Key in Qt 6.9. Commit.
- Try to avoid unwanted completions. Commit.
- Fix session restore of file type. Commit. Fixes bug #492201
- Make ViewPrivate::displayRangeChanged public. Commit.
- Set DocumentPrivate::m_reloading to false only if loading. Commit.
- Give a more proper name to the test. Commit.
- Fix multiblock range handling when unwrapping line. Commit. Fixes bug #494826
- Fix line removal not handled properly in KateTemplateHandler. Commit. Fixes bug #434093
- Inline blocksize into buffer. Commit.
- Improve MovingRangeTest::benchCheckValidity. Commit.
- Improve TextRange::checkValidity performance. Commit.
- Do all testing in clean temp dirs. Commit.
- Add a swap file test. Commit.
- Add benchmarks for moving stuff. Commit.
- Use std::vector for cursor storage. Commit.
- Allow disabling editorconfig. Commit. Fixes bug #471008
KUnitConversion
- Add CI for static builds on Linux. Commit.
QQC2 Desktop Style
- TextArea: Make placeholder wrap. Commit.
Solid
- Restore MediaChanged handling for Audio CDs. Commit.
- Support reproducible builds by omitting host paths in bison/yacc outputs. Commit.
- [udisks] Don't add/remove devices in slotMediaChanged. Commit. See bug #464149
- Port implicit QByteArray, QChar and QString conversions in iokit. Commit.
- Drop unfinished Power API. Commit.
- Fstabwatcher: use libmount monitor on Linux. Commit.
- Fstabhandling: use libmount in Linux. Commit.
Syndication
- Add CI for static builds on Linux. 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.8.0 may be freely downloaded. Instructions on compiling and installing are available from the KDE Frameworks 6.8.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.8.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.