Extra CMake Modules now incorporate BSL-1.0 as GPL-compatible, enhance documentation for ECM QML modules, eliminate the conditional branch for CMake versions older than 2, and mandate CMake version 3.16 or higher for tests. KArchive has been updated to include KF7 TODOs and Kgzipfilter. In C++, nullptr is utilized in place of zero. KcalendarCore has received minor updates, while KCodecs has transitioned entity tables into read-only data sections. KConfigWidgets has been enhanced to KRecentFilesAction, and KCodecs has relocated entities tables into read-only data sections.
KFileMetaData has been revised to utilize the non-deprecated QDomDocument::setContent overload, while Exiv2 has been transitioned to a new version of QDomDocument::setContent. The release encompasses enhancements to documentation, upgrades to the API, and minor bug fixes.
Here is the full announcement:
KDE Ships Frameworks 6.12.0
KDE today announces the release of KDE Frameworks 6.12.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
- [FileContentIndexer] Avoid race on updatedFiles modification. Commit.
- Extractor: don't try to extract when index failed. Commit. Fixes bug #498236
- Remove themed SmartGit icon. Commit.
- Let the GNOME icon loader re-color our window-close icons. Commit. Fixes bug #500950
- Add -symbolic symlinks for value-decrease/increase. Commit. Fixes bug #494086
- Add MIME-type icons for kdenlive project files. Commit.
- Fix fill-rule-even-odd.svg and fill-rule-nonzero.svg. Commit.
- Borrow debug function from Qt documentation. Commit.
- Simplify qrcAlias to not use as much memory. Commit.
- Force folder creation. Commit.
- Remove inkscape icons. Commit.
- Safe half of memory for duplicate checking. Commit.
- Add battery-profile-balanced symlink. Commit.
- Consider BSL-1.0 as GPL-compatible. Commit.
- Improve docs for ECM QML modules. Commit.
- Drop old > 2 cmake version conditional branch. Commit.
- Require cmake >= 3.16 for the tests too. Commit.
- Add tests for KDE_INSTALL_APP_TEMPLATES. Commit.
- Unless setting KDE_INSTALL_APP_TEMPLATES, kde_package_app_templates is skipped when cross-compiling. Commit.
- Try to also satisfy Google Play's version code constraints. Commit.
- Generate Gradle version include file as part of ecm_add_android_apk(). Commit.
- KF6 TODOs are now KF7 TODOs. Commit.
- Kgzipfilter.cpp use nullptr instead of zero. Commit.
- Use 'const QString' declarations for test filenames. Commit.
- Move all test data files to data directory. Commit.
- 7zip: Add default naming for files without a name. Commit. Fixes bug #496175
- Add error checking for writing back temp files in KTar. Commit.
- Handle errors in KTar::writeLonglink. Commit.
- Remove stale TODO. Commit.
- Refactor KXzFilter::init to use QScopeGuard. Commit.
- Codespell fixes (minor). Commit.
- Calfilter.cpp - CalFilter::filterIncidence() bail on null incidence. Commit.
- Recurrence.cpp - shiftTimes() prevent crash on missing or invalid period. Commit. Fixes bug #499470
- ScrollView: don't move focus to empty toolbar. Commit.
- Kcmultidialog: set AccessibleName for ScrollArea. Commit.
- Kcmultidialog: only focus ScrollArea if scrollable. Commit.
- Src/kcmultidialog.cpp - prevent a crash in KCMultiDialogPrivate::apply(). Commit.
- Restore non-default highlight for widget kcms. Commit.
- KRecentFilesAction: Don't call into QMimeDatabase to get what we already have. Commit.
- KeySequenceItem: Only steal shortcut if the user accepted. Commit.
- Add Restart=on-failure to plasma-kded6 service configuration. Commit.
- [dump] Always build utility, even when tests are disabled. Commit.
- [XmlExtractor] Use non-deprecated QDomDocument::setContent overload. Commit.
- [dump] Build/install utility even when tests are disabled. Commit.
- Exiv2: Avoid calling enableBMFF for exiv2 >= 0.28.3. Commit.
- Odf: port to new QDomDocument::setContent version. Commit.
- [autotests] Remove leftover unused CMake variable. Commit.
- [ExtractorPlugin] Declare private helpers as deprecated. Commit.
- [ExtractorCollection] Warn if metadata is invalid. Commit.
- [ExtractorCollection] Warn if an extractor has no metadata. Commit.
- [ExtractorPlugin] Improve documentation. Commit. See bug #398101
- [ExtractorPlugin] Define the interface ID in a single place. Commit.
- Add KKeySequenceRecorder patterns. Commit.
- Corrections for Tanzania. Commit.
- Do not remove all instances of "-symbolic" at once. Commit.
- Use of heif_context_add_XMP_metadata instead. Commit.
- Sct: qRound with param bigger than max int is undefined. Commit.
- Sct: Use height instead of width when calculating dotsPerMeterY. Commit.
- MicroExif: search for the TIFF signature. Commit.
- MicroExif: API improvements and minor bugfixes. Commit.
- Fix compilation error. Commit.
- Added support for resolution and EXIF/XMP metadata to HEIF. Commit.
- JXR: Added rotation (transformation) support. Commit.
- JXR: added support to EXIF metadata. Commit.
- AVIF: added support to XMP and EXIF metadata. Commit.
- Added pixel limit detected by experimental tests. Commit.
- Jxl: fix build with Qt before 6.8.0. Commit.
- JP2: Disable ICC profile writing when saving an image with OpenJPEG V2.5.3 or lesser and improve the format detection on reading. Commit.
- Heif: improve handling of grayscale ICC profiles. Commit.
- Improve printing details when writetest fails. Commit.
- Update HEIF writetest templates. Commit.
- Added JXL to CMYK formats. Commit.
- KFileItem: fix stat() argument for URLs with local hostname. Commit.
- KUrlNavigatorButton: Use icon name we got after stat. Commit.
- KUrlNavigatorButton: Look up icon only when URL is set. Commit.
- Add background to KUrlNavigator. Commit. See bug #475106
- Add Fedora Packages search. Commit.
- Add kde icons to web shortcuts. Commit.
- Urifilters: Change the query url for wordreference.com. Commit.
- Remove the spaces between words in the DuckDuckGo provider. Commit.
- Shorten the Wikipedia search provider. Commit.
- Kurlnavigator: restrict middle click pasting from selection clipboard. Commit. Fixes bug #486229
- Filewidgets/kfilefiltercombo: std::copy_if instead of std::remove_if without std::erase. Commit.
- KDirListerTest:testDeleteCurrentDir: there can be duplicated delete events. Commit.
- Widgets/kabstractfileitemactionplugin: update header documentation. Commit.
- Widgets/kabstractfileitemactionplugin: add a TODO KF7. Commit.
- Fail loading admin.so outside of the KIO PLUGINDIR. Commit.
- PreviewJob: Don't try to get thumbnail for empty files. Commit.
- Update broken links in kde_apps urifilter. Commit. Fixes bug #498278
- ScrollablePage: fix width and height binding loops. Commit. Fixes bug #459284
- Columnview: Fill width column when only one column is present. Commit.
- Platform: Use the old color set for disabled colors in PlatformTheme. Commit. Fixes bug #495694
- Add a PageStack attached property. Commit.
- Dialog: fix width and height binding loops. Commit. Fixes bug #494420
- Controls, layouts: set Accessible.name for Mnemonics. Commit.
- Mnemonicattached: add plainTextLabel property. Commit.
- Primitives/Separator: mark as non-focusable for a11y. Commit.
- Add xml/yaml linting. Commit.
- Relax test timeouts. Commit.
- Do not crash if KDE platform integration is loaded but SNI is unavailable. Commit. Fixes bug #350785
- Remove static_assert to avoid compiler warnings. Commit.
- Add "gc" motion for vim to Toggle Comment. Commit. Fixes bug #490195
- Fix boundary condition in argument hint navigation. Commit.
- Fix line no info tooltip persists on right click. Commit.
- Improve wording of Copy as HTML whatsthis. Commit.
- Add "Copy as HTML" to context menu. Commit.
- Don't reset revision on reload but increment it. Commit. Fixes bug #499311
- Katedocument: Optimize mimeType. Commit.
- Compute at least inside cursorToX with floats. Commit. Fixes bug #499669
- Fix scrolling to search results in wrapped long lines. Commit. Fixes bug #448765
- Renderer: simplify text ranges comparison function. Commit.
- Add direct camel/subword movement actions. Commit.
- Rename variable as KFUNITCONVERT_NO_DOWNLOAD. Commit.
- Remove superfluous spaces and quotes from debug output. Commit.
- Allow limiting the selectable range of a KDatePicker. Commit.
- KFontRequester: Force frame around sample label. Commit.
- Correct DateKeywords option check in KDateComboBox::initDateWidget. Commit.
- Set a QComboBox placeholder when KSelectAction is on a toolbar. Commit.
- KActionMenu: Apply popupMode to existing widgets. Commit.
- Add 1840d8fb to .git-blame-ignore-revs. Commit.
- Run clang-format. Commit.
- KCapacityBar: Allow to specify state in drawCapacityBar. Commit.
- Fix popup menu position. Commit.
- Add xml/yaml linting. Commit.
- Delay accepting the bugreport dialog. Commit. Fixes bug #482240
- Add KKeySequenceWidget::patterns property. Commit.
- Add KKeySequenceWidget::recording property. Commit.
- Expose AccessPoint bandwidth property. Commit.
- Plugins: make name and actiondisplay more consistent. Commit.
- Fix XML syntax for Hjson syntax highlighting. Commit.
- Add syntax highlighting file for Hjson (syntax extension to JSON). Commit.
- Don't ignore the result of QFile::open. Commit.
- Adjust stan tests to new hl state. Commit.
- Update Stan language for newer keywords. Commit.
- Add example SPDX and alerts comments in test.gleam. Commit.
- Replace inlined license by SPDX-License-Identifier in gleam.xml top comment. Commit.
- Refactor
alerts
keywords tocrash keywords
and addimport keyword
list. Commit.- Increment gleam.xml version number. Commit.
- Add example documentation comments. Commit.
- Refactor comments and improve import highlighting. Commit.
- Increase required CMake version for example. 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.12.0 may be freely downloaded. Instructions on compiling and installing are available from the KDE Frameworks 6.12.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.12.0 requires Qt 6.5.0.
A detailed listing of all Frameworks with API documentation is on api.kde.org.