KDE Ships Frameworks 6.20.0
Friday, 14 November 2025
KDE today announces the release of KDE Frameworks 6.20.0.
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
- Fix up "starred-*" icons. Commit. Fixes bug #511152
- Add RTL versions of open-link icon. Commit. Fixes bug #506268
- Provide external-link-symbolic as an alias to open-link-symbolic. Commit.
- Try to avoid to depend on stuff generated by CMake. Commit.
- Add 16px version of the RTL document-send icon. Commit. See bug #509254
- Add document-send RTL version. Commit. Fixes bug #509254
- Make only 24 px generation a parameter. Commit.
- Try to avoid that we have targets that run always. Commit.
Extra CMake Modules
- Generate-fastlane-metadata.py use https://kde.org/donate. Commit.
- Strip username and password from Fastlane source URLs. Commit.
- KDEClangFormat: Avoid error w/ CMP0175 enabled. Commit.
- [FindFFmpeg] Skip version check on Windows. Commit.
- KDE*CompilerSettings: add note why no cmake_policy is set. Commit.
- Public KDE-specific modules: set module cmake_policy. Commit.
- Module templates: set module cmake_policy. Commit.
- Public general modules: set module cmake_policy. Commit.
- Public find modules: set module cmake_policy. Commit.
- ECMGenerateExportHeader: set module cmake_policy, not just one policy. Commit.
- ECMGenerateExportHeader: do not push/pop module policy explicitly. Commit.
- ECMQmlLoader: generic languages should have lower precedence. Commit. Fixes bug #509902
- FindFFmpeg: add AVFILTER and SWRESAMPLE components. Commit.
- Add FindFFmpeg.cmake used by many KDE project. Commit.
- Fix QML modules to be rebuilt all the time with Qt5. Commit.
- Ecm_generate_headers: support headers in clang vs. deduplicated header files. Commit.
- CMakeLists.txt - remove trailing '/' to fix CMP0177 warning. Commit.
- ECMSetupQtPluginMacroNames: fix setting up names for own build. Commit.
Framework Integration
- Kpackage-install-handlers: check file.open result. Commit.
KArchive
- Use CamelCase Qt include. Commit.
- 7z: Change for{if{}} to if{for{}}. Commit.
- Autotests/kcompressiondevicetest.cpp spell check. Commit.
- 7z: Fix infinite loop in malformed file. Commit.
- Ktar: Fix/Tweak the skip error condition. Commit.
- Add nodiscard attribute to open(...) declarations. Commit.
- Ktar: Optimize memory allocations. Commit.
- KTar: Use skip instead of seek for skipping. Commit.
- TestTarReadWrite: Also test with KCompressionDevice. Commit.
- Add some const. Commit.
- 7z: Fix assert/crash in malformed file. Commit.
- Explicitly convert enum to int for QString::arg. Commit.
- 7z: Break early on failure in K7ZipPrivate::folderItem. Commit.
KCompletion
- Use QCOMPARE vs QVERIFY. Commit.
KConfigWidgets
- Use QCOMPARE vs QVERIFY. Commit.
KContacts
- Use default. Commit.
- Add deathdate in vcardtool. Commit.
- Add Q_PROPERTY. Commit.
- Add DeathDate vcard4 support. Commit. See bug #337759
- Minor optimization. Commit.
- Add missing [[nodiscard]]. Commit.
- Add [[nodiscard]] ignore commit. Commit.
- Modernize use "[[nodiscard]]". Commit.
- Allow to translate resource type. Commit.
- Fix use QVERIFY/QCOMPARE. Commit.
- Prepare to implement sound type support. Commit.
- Version is used here. Commit.
- We need to implement vcard4 sound support. Commit.
- This check was already done some line ago. Commit.
- Type can be lower case. Fix import emails. Commit.
- Remove namespace. Commit.
- Fix some cppcheck warnings. Commit.
- Fix autotest. Commit.
- Fix ANNIVERSARY/BDAY support in vcard 4.0. Commit. See bug #337759
- Add support for importing image vcard 4. Commit. See bug #337759
- Load vcard4 photo uri. Commit.
- Const'ify. Commit.
- Add debug operator. Commit.
- Add LOGO vcard4 support. Commit. See bug #337759
- Allow to export photo as uri. Commit.
- Store photo support. Commit.
- Add photo vcard4 support. Commit. See bug #337759
- Const'ify variable. Commit.
- Extract code. Commit.
- Add photo v4 support. Commit.
- Add missing Q_REQUIRED_RESULT. Commit.
- Remove unused include. Commit.
KCoreAddons
- Add missing include moc. Commit.
- Typo--. Commit.
- Use QCOMPARE vs QVERIFY. Commit.
- Update test expectation. Qt time formatting has changed. Commit.
- Fix the non-local license text. Commit.
- Switch to std::enable_if_t (API consumers now required to use >= C++17). Commit.
- Fix duplicate license text for known but externally linked licenses. Commit.
KDBusAddons
- Remove unnused enum. Commit.
KDE Daemon
- Use newer version of session management enablement. Commit.
KFileMetaData
- [ExtractorCoverageTest] Fix typo in clang-format processing directive. Commit.
KIconThemes
- [kiconcolors] Drop ActiveText. Commit.
- [kiconcolors] Drop Complement and Contrast. Commit.
- InvalidateFilter is marked deprecated in qt6.10. Commit.
- Use QCOMPARE vs QVERIFY. Commit.
- Remove version checks for Qt 6.8.0 that is now the minimum required. Commit.
- Avoid saving state between multiple usages of IconDialog. Commit. Fixes bug #460451
KImageformats
- PSD: limit memory usage on corrupted files. Commit.
- Fix assert on broken data. Commit.
- PSD: minor fixes while reading Image resource Section. Commit.
- IFF: fix crash on malformed files. Commit.
- Iff: Fix crash on malformed files. Commit.
- PSD: improve sections size checks. Commit.
- TGA: ignoring large metadata on dev area. Commit.
- Check device before read. Commit.
- Fix possible infinite loop when reading a broken jp2. Commit.
- On demand buffer allocation on PCHG decompression. Commit.
- Fix possible read overflow with malformed data. Commit.
- Fix wrong palette check. Commit.
- Use internal FP32 conversion instead of FP16. Commit.
- Fix read test failing on aarch64. Commit.
- Remove Qt version checks now that 6.8.0 is the minimum required. Commit.
- Fix assert on broken data. Commit.
- CI: Try newer libjxl for ossfuzz. Commit.
- Tga: Reduce Warning to Debug. Commit.
- Fix crash on malformed files. Commit.
- Fix crash on malformed files. Commit.
KIO
- Add missing since documentation. Commit.
- Kfileitemactions: use actionsKey instead of name to check KAuth. Commit.
- [ktelnetservice] Disable session management. Commit.
- [kioexec] Disable session management. Commit.
- [kiod] Use better way to disable session management. Commit.
- Trashimpl: better determine trashForMountPoint for network file systems. Commit. Fixes bug #506755
- KNewFileMenu: prevent emiting rejected signals when not rejected. Commit.
- Knewfilemenu: when in mkdir -p mode don't append a / for last dir. Commit.
- Kioworkers/file: check QFile::open return and early return. Commit.
- KCoreDirLister: Enable using mime globs. Commit. Fixes bug #450612
- Reenable kdirlister test on non-Windows. Commit.
- KIO::MetaData::toVariant(): document internal type of returned variant. Commit.
- Autotests: enable connectionbackendtest. Commit.
- Apply 1 suggestion(s) to 1 file(s). Commit.
- Autotests: favicontest make a test more fault tolerant in Win. Commit.
- [http] Emit WorkerResult::pass() and return when a redirection is received during webdav directory listing. Commit.
- [http] Remember that we're doing webdav while handling redirects. Commit. Fixes bug #486790
- Kifileitemactions: Remove unused QMimeDatabase instance creation. Commit.
- KIO::MetaData: port inline methods away from deprecated QMapIterator. Commit.
- Previewjob: expose standardthumbnailer fileName property. Commit.
- File_unix: print errnum in rename when failing. Commit. See bug #510810
- Kpasswdserver: Set cancel button on dialog. Commit.
- JobTest: add renameFileWithNoUDSACCESS test. Commit. See bug #510567
- Kfileitems: Use internal name again for sorting. Commit. Fixes bug #510470
- Add typo fix commit to .git-blame-ignore-revs. Commit.
- Fix various typos. Commit.
- Use QCOMPARE vs QVERIFY. Commit.
- RenameDialog: wrap the question text. Commit.
- Ensure QNetworkReplies are always deleted with a scope guard. Commit.
- Fix HTTP network error propagation. Commit.
- Forward all KIO error codes, not just ERR_ACCESS_DENIED. Commit.
- Delete network reply also when handling a redirection. Commit.
- Autotest/jobtest: make sure to check error return when a job fails. Commit.
- CopyJob: Skip permission check if there is no UDS_ACCESS entry. Commit. Fixes bug #510567
- KFileWidgets: Allow saving to currentfolder with empty input field in special cases. Commit. See bug #507193
- KFilePlaces: add a link to systemsettings recent config. Commit. Fixes bug #507966
- [ftp] Claim that dir is writable during stat. Commit. Fixes bug #510456
- KNewFileMenu: move the messageWidget below the input. Commit.
Kirigami
- Fix documentation for AlignedSize. Commit.
- Add missing FrameContrast enum documentation. Commit.
- Fix documentation for closeDialog. Commit.
- Keep passive notifications inside the SafeArea. Commit.
- ActionTextField: don't let inline buttons accept focus on click. Commit.
- ActionTextField: use display property to control icons-only-ness. Commit.
- OverlayDrawer: Fix handle positioning on RTL layouts. Commit.
- Fix accessibile properties on ActionTextField properties. Commit.
- Support menus in bottom ActionToolbars. Commit.
- Feat: Expose closeDialog as a signal to the PageStack attached property. Commit.
- ActionTextField: adopt some good ideas from the PlasmaExtras version. Commit.
- ActionTextField: use standard implementation for inline action buttons. Commit. Fixes bug #484301
- Use reversed open-link when needed and present. Commit. See bug #506268
- PageRow: Fix dialogs not being closable via Escape. Commit.
- PlatformTheme: setFrameContrast value. Commit.
- CardsListView: Make sure it never will have horizontal scrolling. Commit. Fixes bug #477493
- Cmake: Add missing icon for android. Commit.
- ActionsMenu: Restore the icon for submenus. Commit.
- PageRow: Different style for the push/pop animation/gesture. Commit.
- Make Separator always perfectly pixel-aligned. Commit. Fixes bug #510353
- Fix up overlay sheet header content width w.r.t close button. Commit.
- Fix up overlay sheet's close button location. Commit.
- Platform: Include child Quick items when updating child PlatformTheme instances. Commit. Fixes bug #510480
- Remove outdated comment. Commit.
- Typo fix. Commit.
- SelectableLabel: Only enable shortcuts if the label has focus. Commit.
- Platform: Skip update() in PlatformTheme if we don't have a window. Commit. Fixes bug #493921
KItemModels
- Remove Qt version checks now that 6.8.0 is the minimum required. Commit.
KQuickCharts
- Limit item count in ItemBuilder to basically uint16_t. Commit.
KTextEditor
- Remove unnecessary toEdge function. Commit.
- Use KateViewInternal::Bias in move() signature. Commit.
- Use void return type. Commit.
- Remove the loops in the cursors. Commit.
- Remove unnecessary methods and const overloads. Commit.
- Remove operator overloading. Commit.
- Remove unnecessary constructors. Commit.
- Remove Bias::none enumerator. Commit.
- Make function internal to the class. Commit.
- Remove useless getter function. Commit.
- Improve the test, use higher level api. Commit.
- Move findMatchingFoldingMarker to KateBuffer. Commit.
- Cleanup includes in kateviewinternal.h. Commit.
- Include kateviewinternal.h less. Commit.
- Move include to source file. Commit.
- Move spellcheck function from DocumentPrivate. Commit.
- Remove useless function. Commit.
- Remove unused function. Commit.
- Add QJsonObject. Commit.
- Cleanup headers, deinline and remove unnecessary includes. Commit.
- Use normal function pointer, std::function is not needed here. Commit.
- Dont use std::pair/QPair, use named structs. Commit.
- Add API to obtain the editor widget from View and vice versa. Commit.
- Clear modeline matches if the model is irrelevant. Commit.
- Add new config entries to public api docs. Commit.
- Add "hide-cursor-if-inactive". Commit.
- Add disable-current-line-highlight-if-inactive view option. Commit.
- Simplify kateprinter, remove unnecessary KatePrinterPrivate class. Commit.
- Make KateVariableExpansionManager a non QObject. Commit.
- Move expandText to the file where its used. Commit.
- Optionally return invalid cursor for coordinates outside text. Commit.
- Kateview_test: extract lambda coordinatesToCursor(). Commit.
- Explicitly convert enum to int for QString::arg. Commit.
KUserFeedback
- Properly handling large timeouts for encouragement timer. Commit. Fixes bug #511102
- Use const pointer. Commit.
- Add missing explicit keyword. Commit.
- Port deprecated invalidateFilter method (qt6.10). Use beginFilterChange/endFilterChange. Commit.
- Use QCOMPARE vs QVERIFY. Commit.
- Remove old qt check. Commit.
KWallet
- Use QCoreApplication for kwallet-query. Commit.
- Remove unused QtWidgets dep from API. Commit.
- Enable KCrash for kwalletd6. Commit.
- KSecretd: Use modern way of disabling session management. Commit.
- Kwalletd: Disable session management. Commit.
- Fix dismissing prompt for Unlock. Commit.
- Use securelySeeded like in KWalletPortalSecrets::generateSecret. Commit.
- Backend: Simplify random gathering to QRandomGenerator. Commit.
KWindowSystem
- Platforms/wayland: Prevent reinstalling window effects with the same parameters again. Commit.
- Kwaylandextrastest: Port to UI file. Commit.
- Remove Qt version checks now that 6.8.0 is the minimum required. Commit.
- Fix creating empty future. Commit.
- Fix KWaylandExtras::xdgActivationToken when KWindowSystemPrivateV3 isn't available. Commit.
Sonnet
- Remove double margins around groupbox. Commit.
- Fix load default ignore list when we call slotDefault method. Commit.
- Add missing [[nodiscard]]. Commit.
- Use [[nodiscard]]. Commit.
- Show headers in qtc. Commit.
- Ensure parent is alive when removing eventfilters. Commit. Fixes bug #492444
- Add SpellCheckDecorator destruction autotests. Commit. Fixes bug #492444
Syndication
- Show headers in qtc. Commit.
Threadweaver
- Use QCOMPARE vs QVERIFY. Commit.