Wednesday, 9 September 2026
Wednesday, 9 September 2026
KDE today announces the release of KDE Frameworks 6.30.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
Extra CMake Modules
- List ECM sources explicitly instead of using GLOBS. Commit.
- ECMInstalledLibraryCheck: add more separating linebreaks to generated files. Commit.
- ExecuteKDEModules: add newer KDE modules to test. Commit.
- ExecuteKDEModules: split off support for apple platform, document it. Commit.
- ECMInstalledLibraryCheck: use $cond:string over $IF:cond,string,. Commit.
- Add ECMInstalledLibraryCheck. Commit.
- Ecm_generate_export_header: make VERSION optional, default to PROJECT_VERSION. Commit.
- ECMSetupVersion: support version args in
. and forms. Commit. - ECMSetupVersion: use final hex number in version header, not calculation. Commit.
KCalendarCore
- Use QLocale for concatenating recurrence days. Commit.
- Improve translation contexts for some of the recurrence descriptions. Commit.
- Src/vcalformat.cpp - fix spelling typo in a comment. Commit.
- Adapt recurrenceDescription unit tests to English translations. Commit.
- Add Incidence::recurrenceDescription. Commit.
- Fix Incidence::statusName property name. Commit.
- Add translated enum names for Incidence::secrecy and Incidence::status. Commit.
- Change parseScheduleMessage to take a QByteArray as input. Commit.
- Add translated names for attendee status and role enums. Commit.
- Fix tr() message context. Commit.
- Expose Calendar and ScheduleMessage to python bindings. Commit.
- Add translated error messages. Commit.
KCMUtils
- Documentation fixes. Commit.
- Fix documentation for SettingsStateBinding. Commit.
- Fix docs for KQuickManagedConfigModule. Commit.
- Kcmutils_generate_module_data: add missing var init, for safer usage. Commit.
- Add missing EXCLUDE_DEPRECATED_BEFORE_AND_AT default variable declaration. Commit.
- No longer explicitly include CMakeParseArguments. Commit.
- Fix types in QML documentation. Commit.
KCodecs
- [KEncodingProber] Fix signedness issues for mBestGuess index. Commit.
- [KEncodingProber] Return 0.0 confidence if encoding signals wrong syntax. Commit.
- [KEncodingProber] Clean up float constants and C-style static casts. Commit.
- [KEncodingProber] Drop charlen tables from state machine models. Commit.
- [KEncodingProber] Remove need for charlen table from MBCS probers. Commit.
- [KEncodingProber] Remove some erroneously copied comment. Commit.
- [KEncodingProber] Remove no longer used method. Commit.
- [KEncodingProber] SBCS: Replace model pointer with reference. Commit.
- [KEncodingProber] SBCS: Replace unbounded array pointer with span. Commit.
- [KEncodingProber] Move sequence counter sum out of loop. Commit.
- [KEncodingProber] Test for Cyrillic encodings (and Unicode reencodings). Commit.
- [KEncodingProber] Test for ASCII only UTF-16 encoded texts. Commit.
KColorScheme
- Kcolorschemetest: explicitly cast enum values to int for arithmetic ops. Commit.
KFileMetaData
- Reenable Qt 6.12 CI. Commit.
- [PostscriptDscExtractor] Fix time offset parsing for Qt 6.12. Commit.
- [PostscriptDscExtractor] Modernize QString usage. Commit.
- [SimpleExtractionResult] Fix copy constructor. Commit.
- [EmbeddedImageData] Remove some dead, unreachable code and data. Commit.
- Fix a few nodiscard warnings for QFile::open. Commit.
- [ExtractorPlugin] Allow alias names when matching extractor mimetypes. Commit. Fixes bug #522678
- [kfilemetadata_dump] Provide information about cover images etc. Commit. See bug #500113
- [FFmpegExtractor] Extract cover image from Matroska streams. Commit. See bug #500113
- [FFmpegExtractorTest] Move test class declaration to implementation file. Commit.
KGuiAddons
- Add geo: URI handler for Cartes. Commit.
- Add support to pass along the unmodified geo: URI in an URL template. Commit.
- Fix geo: URI query string encoding. Commit.
- Reuse explicitly provided image data. Commit. Fixes bug #519651
- Waylandclipboard: Check isInterruptionRequested in prepare read loop. Commit. Fixes bug #517743
KImageformats
- Jp2: Fix new[] vs delete by not doing new[]. Commit. Fixes bug #525120
- QRoundOrZero_T: fix possible assert in qRound. Commit. Fixes bug #524678
- Autotests: Add non-standard HEIF image. Commit.
- Heif: re-enable decoding of non-standard images. Commit. Fixes bug #495686
- Add HEIC test files with crop transformation. Commit.
- Heif: check crop values. Commit.
- Jxl: Do not rewind after reading final frame. Commit.
- Rgb: reject RLE start offsets that underflow the raster data. Commit.
- Avif: Do not rewind in jumpToNextImage(). Commit.
- Ossfuzz: call functions used in animations. Commit.
KIO
- Bring KSycoca::setupTestMenu code here. Commit.
- Copyjob: name the copy lists for what they hold. Commit.
- KUrlNavigator: Set the frameShape to StyledPanel. Commit.
- KDirModel: Pass UTC time to KFormat::formatRelativeDateTime(). Commit.
- Drop duplicated explicit install() call on kio_help plugin. Commit.
- KDirSortFilterProxyModel: Avoid creating QDateTime instance. Commit.
- [ftp] Send commands in upper case consistently. Commit. Fixes bug #523927
- Autotests: Run the http worker tests as part of the suite. Commit.
- Http: Keep one network manager for the life of the worker. Commit.
- KOpenWithDialog: fix pattern matching in filterAcceptsRow(). Commit. Fixes bug #524085
- Previewjob: drop the synchronous cached-thumbnail lookups. Commit.
- Desktopexecparsertest: fix typo in installation var. Commit.
- Desktopexecparsertest: add missing quotes for a string definition argument. Commit.
- Previewjob: make the previews in the order they were asked for. Commit.
- File worker: reserve an entry for the fields it always carries. Commit.
- Kcoredirlister: let the list of items grow instead of sizing it per batch. Commit.
- Http: Keep a large request body out of memory. Commit.
- Kmountpoint: Write the Latin-1 strings as literals. Commit.
- Kmountpoint: add SupportsFileCloning for COW filesystems. Commit.
- PreviewJob: Read cached thumbnails in bounded batches before generating. Commit.
- Gui: Read and write the thumbnail cache in one place. Commit.
- PreviewJob: add cachedPreview() for a synchronous cache-only lookup. Commit.
- Kfileitemactions: test service menu submenu. Commit.
- Kfileitemactions: fix submenu lifetime using main menu as the parent. Commit. Fixes bug #524239
- Http: Report how far an upload has got, not what the answer weighs. Commit. Fixes bug #518511
- Avoid MIME content-sniffing on slow filesystems. Commit.
- Systemdprocessrunner: Handle when unit returns failure. Commit.
- Don't show percent-encoded strings for items of desktop:/ IO worker. Commit. Fixes bug #522470
- KIO: hand what a message carries over as it is within a process. Commit.
- Properties: show how much room a folder takes up, not only its data. Commit. Fixes bug #457363
- Jobtest: set the language the expected text is written in. Commit.
- Filepreviewjob: Check remote-skip conditions before checking mimetype. Commit.
- File: ask statx for the permission bits that are read from its answer. Commit.
- File: let a folder with the setgid bit give a copied file its group. Commit. Fixes bug #399270
- File worker: ask for the mount of the destination while looking at it. Commit.
- File worker: create copy destinations relative to a pinned directory fd. Commit.
- OpenURLJob: Stop reading BrowserApplication from kdeglobals. Commit.
- KMountPoint: cache mount lookups by unique mount id. Commit.
- Autotests: verify KFileCopyToMenu prunes missing recent destinations. Commit.
- Autotests: test for non_existing directories removed. Commit.
- Kfilecopytomenu: Limits max entries and removes unavailable links from the list. Commit.
- Git-blame-ignore-revs: add code reorganization commits. Commit.
- Kfileitemactions: reorder functions for better readability. Commit.
- Openurljobtest: wait for the launched processes before ending a test. Commit.
- Autotests: ask the mime database which type a test means. Commit.
- Openurljob: open a shell script rather than refuse it as a program. Commit. Fixes bug #522948
- Knewfilemenu: reorder execute functions to match the order they are called in slotActionTriggered. Commit.
- Knewfilemenu: allow overriding system templates with local templates. Commit. Fixes bug #473991
- Knewfilemenu: set application link title to not be misleading. Commit. Fixes bug #520949
- Knewfilemenu: fix relative symlinks. Commit. Fixes bug #508444
- RenameFileDialog: offer the rename operation of the last rename. Commit. Fixes bug #523932
- RenameFileDialog: free what the dialog owns. Commit.
- SlaveBase: do not take a missing total for a finished transfer. Commit.
- DeleteJob: pass on the bytes its rmdir subjob reports. Commit.
- Kio_file: delete a tree natively on unix, and report the bytes deleted. Commit.
Kirigami
- Fix typo in documentation. Commit.
- Remove wrong API documentation marker. Commit.
- Pull TODO out of API documentation. Commit.
- Fix \since syntax. Commit.
- Fix documentation syntax in ScenePosition. Commit.
- Fix documentation syntax in PagePool. Commit.
- Fix documented QML import name. Commit.
- Add missing \inherits to C++ types. Commit.
- Mark SafeArea as internal. Commit.
- Fix parameter name in documentation. Commit.
- Add missing parameter marker in documentation. Commit.
- Add missing full stops in documentation. Commit.
- Remove non-functional link. Commit.
- Remove * from QML API documentation comment. Commit.
- Qml-format InlineViewHeader. Commit.
- Qml-format LinkButton. Commit.
- Fix type name in documentation. Commit.
- Add explicit \inherits where needed. Commit.
- ColumnView: better layout for pinned items. Commit.
- ListItemDragHandle: stop the dropAnimation if one is still running. Commit. Fixes bug #517233
- InlineMessage: Use smallSpacing for the label also on its right. Commit.
- Typo--. Commit.
- SwipeListItem: add a deprecated notice. Commit.
- SwipeListItem: Don't make the content item overlap the icons. Commit. Fixes bug #518436
- Forms/flat: Fix padding calculation for subtitle. Commit.
- Flat/FormGroup: remove unused import. Commit.
- Flat/FormGroup: make spacing around headings more like FormLayout. Commit.
- Flat/FormGroup: simplify layout. Commit.
- Flat/FormGroup: make header more accurate to FormLayout. Commit.
- OverlaySheet: make the scrim darker. Commit. Fixes bug #447965
- Fix Overlaysheet touchscreen behavior. Commit.
- Drop unneeded AUTOMOC_MOC_OPTIONS. Commit.
- FormGroup(cards): fix resize loop. Commit.
- Drop explicit CMake settings duplicatd from KDECMakeSettings. Commit.
- Include KDECMakeSettings/KDEFrameworkCompilerSettings early. Commit.
- Remove duplicated KDEInstallDirs module include. Commit.
- Forms: Explicitly specify individual paddings when setting padding. Commit.
- Units::eventFilter: fix to react just to font change of app instance. Commit.
- FormEntry: make it possible to get the inner spacing. Commit.
- FormEntry: make spacing more consistent. Commit.
- Finish making GlobalDrawer.isMenu behave the same everywhere. Commit.
- ImageColors: de-flake test_extractColors. Commit.
- Kirigami app template: use PROJECT arg with ecm_setup_version(). Commit.
- FormEntry(flat): make sure the trailing area is actually fillHeight. Commit.
- Add another safety check before automatically popping hidden pages. Commit.
- FormEntry(flat) some minor fixes. Commit.
- FormEntry(flat) some minor fixes. Commit.
- FormEntry(all): rename forceExpanedContents with fullWidth. Commit.
- Form: center contents only horizontally. Commit.
- FormEntry (both): completely propagate Layout properties. Commit.
- FormEntry(cards): fix the flipping of switches. Commit.
- FormEntry (flat): reorganize the internal layout. Commit.
- FormEntry: make links inthe subtitle clickable. Commit.
- FormEntry: introduce forceExpandedContents. Commit.
- Docs: Explicitly ignore basictheme_p.h in Platform documentation. Commit.
- Docs: Suppress "can't link to index.html" warnings. Commit.
- Docs: Don't generate documentation for private types. Commit.
- Forms: Fix documentation of FormAlignmentGroup members. Commit.
- Forms: Fix documentation of FormGroup type. Commit.
- Docs: Ensure the Forms module is properly included in indices. Commit.
- Icon: Don't try to load empty fallback icons. Commit.
- Set implicitwidth at 3d gridunits only for cards layout. Commit.
- Keep the ToolBarPageFooter menu inside the SafeArea. Commit.
- Make the Page globalFooter page property a QQC2.Page type. Commit.
- Keep ToolBarPageFooter buttons inside the SafeArea. Commit.
KJobWidgets
- Kjobcreator: Fix tab order. Commit.
KNotifications
- Notificationtester: Add URL text field. Commit.
KTextEditor
- Only show bracket match preview if the view is visible. Commit.
- Vi-mode: Fix append to block for tabs. Commit.
- Vi-mode: Fix cursor column swap with tabs. Commit.
- Vi-mode: Fix operations in selection ranges with tabs. Commit.
- Vi-mode: Fix success message for non-successful save commands. Commit. Fixes bug #473077
- Vi-mode: Fix "save all" command for unnamed files. Commit.
- Fix resolution for KateVi::Range debug operator. Commit.
- Vi-mode: Implement filename registers. Commit.
- Vi-mode: Fix yank highlight for blocks with tabs. Commit.
- Vi-mode: Simplify method to detect waiting for characters. Commit.
- Vi-mode: Refactor the method for leaving insert mode. Commit.
- Vi-mode: Fix checks for setting user marks. Commit. Fixes bug #520734
KWallet
- Properly handle when the portal fails to open the wallet. Commit.
- Remove unused variable. Commit.
- Remove some default function args. Commit.
- Ksecretd: Remove unused method parameters. Commit.
- Remove leftovers from KSecretsService. Commit.
- Ksecretd: Remove unused sessionTimeout parameter from pamOpen. Commit.
- Ksecretd: Remove wrong comment. Commit.
- Remove unused WId parameter from sync(). Commit.
- Drop KSecretD::sync. Commit.
- Ksecretd: Fix Completed argument when dismissing collection creation. Commit.
- Ksecretd: Drop appId. Commit.
- Drop defunct Leave Open option from kcfg. Commit.
- Ksecretd: Remove unused force parameter from internalClose(). Commit.
- Ksecretd: Drop CloseCancelled handling. Commit.
- Remove unneeded KSecretD::networkWallet. Commit.
- Drop unneeded KSecretD::doCloseSignals. Commit.
- Ksecretd: Drop unused walletOpened signal. Commit.
- Ksecretd: Make sure collection is reported as unlocked after PAM unlock. Commit. See bug #459287
- Ksecretd: Make parameter names consistent. Commit.
- Ksecretd: Drop unneeded intermediate function. Commit.
- Drop long-time commented out code. Commit.
- Add missing KWALLET_BUILD_DEPRECATED_SINCE in cpp file. Commit.
- Add desktop file for kwalletd. Commit.
- Run clang-format. Commit.
- Drop dead CMake code for tests. Commit.
- Deprecate Wallet::requestChangePassword(). Commit.
- Deprecate Wallet::lockWallet(). Commit.
- Deprecate Wallet::sync(). Commit.
- Ksecretd: Remove unused force parameter from close(). Commit.
- Ksecretd: Drop KWalletSessionStore. Commit.
- Drop unused handleSession from ksecretd. Commit.
- Drop Close When Idle handling from kwalletd. Commit. Fixes bug #524500
- Propagate locked status from backend to kwalletd. Commit.
- Add formatting commit to ignore list. Commit.
- Drop isPath handling. Commit.
- Drop unused function. Commit.
- Fix logic errors in internalOpen. Commit. Fixes bug #524373. Fixes bug #524592
- Autotests: fix dependency version var name. Commit.
- Fix memory leaks in kwalletd. Commit.
- Add Leave Manager Open to kcfg file. Commit.
- Export kcfg file in CMake config. Commit.
- Drop pseudo access control for wallet. Commit.
KWindowSystem
- Remove outdated & unused CMakeFindFrameworks include. Commit.
Oxygen Icons
- Fixes. Commit.
- More fixes. Commit.
- Bug fixing. Commit.
- Missing icon sizes. Commit.
- Minor bug fix. Commit.
- Add go-parent-folder icons for Bug 524878. Commit.
- Minor fix i hope to a rendering bug. Commit.
- Another derivative icon. Commit.
- More bug fixing. Commit.
- Bug fixing. Commit.
- New size and clean up, the symbolic needs to point to point to a correct version of the icons for how its used in plasma, renaming on the applet to the correct linked version would be more optimal IMO. Commit.
- Miss commit fix. Commit.
- New icon for KDebugSettings. Commit.
- Small improvements. Commit.
- More sizes. Commit.
- Just for testing. Commit.
- Aparently forgot to submit the source svg. Commit.
- 32X32 AND 22X22 OF KTIMER ICON VERSIONS. Commit.
- Improvement in visibility. Commit.
- New icon. Commit.
- Renaming. Commit.
- Missed an icon raster. Commit.
- Fixing a bug and removing the faoux backlight. Commit.
- New ktimer icon still missing the small sizes. Commit.
Syntax Highlighting
- Add DotEnv syntax highlighting. Commit.
- Repository.h: Make Repository::eventFilter() protected. Commit.
- Syntax/yaml.xml: Have BuildStream files use the yaml highlighter. Commit.
- Associate .envrc files with Bash. Commit.
- Add KDL syntax highlighting. Commit.
- Add Just syntax highlighting. Commit.
- Initialize more cmake variables explicitly. Commit.






















