Friday, 11 July 2025
KDE today announces the release of KDE Frameworks 6.16.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
- Add audio-speakers and audio-input-microphone to devices/64. Commit.
- Remove duplicated icons. Commit.
- Add 64px colorful printer-error icon. Commit.
- Edit create-app-symlinks.py. Commit.
- CMakeLists.txt - unset CMAKE_INTERPROCEDURAL_OPTIMIZATION. Commit.
- Disable LTO for qt_add_big_resources. Commit. Fixes bug #487452. Fixes bug #499674
- Use big resource variant, else we OOM on 32 bit machines. Commit. Fixes bug #487452. Fixes bug #499674
- Add TOML icon. Commit.
- Add PIP Picture-in-Picture action icons. Commit.
- Remove leftover of Virtualbox. Commit.
- Remove outdated custom Virtualbox icon. Commit.
Framework Integration
- Plasma_workspace.notifyrc: Use low urgency for device added/removed. Commit.
KBookmarks
- Fix KBookmarkAction::slotSelected MouseButtons parameter. Commit.
KColorScheme
- It compiles fine without kf 6.14 deprecated methods. Commit.
KCoreAddons
- Add example for using KCoreAddons from Python. Commit.
- [python] Mark value types as such. Commit.
- Apply fixits for clazy-qdatetime-utc. Commit.
- Add handling for KFormat::AbbreviatedDuration with days and years. Commit.
- Add KFormat Python example. Commit.
- Skip time formatting tests when we can't change the system timezone. Commit.
- Add timezone-preserving time formatting API for QML. Commit.
KDeclarative
- Kquickcontrols/KeySequenceItem: Add support for setting KKeySequenceRecorder pattern. Commit.
KHolidays
- Changes Queen (El. II)'s day to King's (everywhere). Commit.
- Update holidays for New Zaeland. Commit. Fixes bug #506251
- Add holidays for the Federation of Bosnia and Herzegovina. Commit. Fixes bug #505924
- Holiday_ru_ru: keep old date for "День молодежи" if year is less than 2023. Commit.
- Holiday_ru_ru: moved "День молодежи" to last saturday in june. Commit.
- Holiday_hk_zh-cn: Use the official Chinese name for October 1. Commit.
KIO
- Improve discrete GPU detection using switcheroo-control. Commit.
- RenameFileDialog: Add Add Text Strategy. Commit.
- KDirListerTest: test Remote Urls are equal. Commit.
- KCoreDirLister: Clean up the trailing slash as expected on remote systems. Commit. Fixes bug #451050
- Smb: test if the needed helper we want to call is there. Commit.
- Kdynamicjobtracker: Remove KUIServerJobTracker support. Commit.
- KNewFileMenu: Fix tab order of folder button icons. Commit.
- KPropertiesDialog/Checksums: Make accessible. Commit.
- Fix compile with qt6.7. Don't use 6.8 api. Commit.
- Bump down kf deprecated methods to 6.13. Commit.
- KMountPoint: Fix device IDs for mountpoints with non-ascii paths. Commit.
- KPropertiesDialog/General: Add placeholder text to symlink text edit. Commit.
- KPropertiesDialog/General: Define QLabel::body from .ui file. Commit.
- Properties/General: Make most of the information accessible. Commit.
- Properties/General: Have tab focus order top to bottom. Commit.
- Properties/General: Make information keyboard-accessible. Commit.
- Remove solid linked to KF6KIOWidgets. Commit.
- RenameFileDialog: allow to rename by replacing text. Commit. See bug #371383
- BatchRenameJob: allow to pass a function to rename files. Commit.
- Indent things inside the NOT KIOCORE_ONLY if. Commit.
- Kfilewidget: Resolve relative file urls against current working dir. Commit. Fixes bug #490827
- Rephrase misleading "full trash" message. Commit. Fixes bug #504785
Kirigami
- [Dialog] Fix accessing contentItem. Commit.
- Wheelhandler: Prevent division by zero. Commit.
- Fix SoftwareRectangleNode leaking image nodes. Commit.
- Fix ShadowedTexture crashing with software rendering. Commit.
- Check for Height and ContentHeight to determine whether to show Dialog lines. Commit.
- Do NOT parent the separator to the column. Commit.
- Also show icons specified by source in context drawer actions. Commit.
- Fix busy indicator not being shown on Android. Commit.
- Fix crash when m_view is null. Commit. Fixes bug #506366
- OverlayDrawer: go from speed to standard duration. Commit.
- Make sure ApplicationWindow assigns pageStack of AbstractApplicationWindow. Commit.
- [PageRowGlobalToolBarUI] Actually return computation result. Commit.
- Parent separators to the columns. Commit.
- Force opacity animations for notifications that are out of view. Commit.
- ListSectionHeader: Support icons. Commit.
- Fix spacing of global menu button in toolbar. Commit. Fixes bug #506104
- UrlButton: fix icon positioning. Commit.
- Revert "Properly Align menubar when there is a sidebar drawer". Commit.
- Fix collapsed drawers width. Commit.
- Beef up Icon documentation. Commit.
- Use attached column preferredWidth. Commit.
- Unconditionally check if leadingMinimumWidth < 0. Commit.
- Move the savestate in a property. Commit.
- Experimental load/save code. Commit.
- A resize handle in the columnview separators. Commit.
- Simplify ColumnView separators code. Commit.
- Implement inertia scrolling in WheelHandler. Commit.
- Allow for non-interactive Chips. Commit.
- OverlayDrawer: don't relly on applicationWindow. Commit.
- AbstractCard/Card: improve documentation. Commit.
- Beef up InlineMessage documentation. Commit.
- Beef up ActionToolBar documentation. Commit.
- Heading: massage docs. Commit.
- OverlaySheet: improve documentation. Commit.
- Improve ActionTextField documentation. Commit.
- InlineViewHeader: improve docs to say "trailing" instead of "right". Commit.
- Fix Dialog List with Scrollbar. Commit.
- Consider safe area margins in global and context drawer. Commit.
- Achieve WCAG AA text contrast for labels using opacity. Commit.
- Primitives: Don't use mix shader for Icon if we animate without old icon. Commit.
- Consider safe area margins in NavigationTabBar. Commit.
KItemModels
- Remove Q_UNUSED statements for variables that actually have usages. Commit.
KTextEditor
- Restore Qt6.7 buildability. Commit.
- Fix selection ignored when layouting the line. Commit.
- Rename config from autoreload-on-external-changes to auto-reload-on-external-changes + set auto-reload-on-external-changes default value to false + use only config to autoreload. Commit.
- Use config interface instead of virtual method. Commit.
- Remove verification according to autoreload configuration on external changes + add documentHasAutoReloadConfiguration virtual method to document. Commit.
- Add verification on AutoReloadOnExternalChanges in slotDelayedHandleModOnHd. Commit.
- Add auto reload on external changes option. Commit.
- Formalize a little more what VariableRemoveSpacesItem does. Commit.
- Support ctrl-backspace to delete word in vi mode. Commit. Fixes bug #504033
- Avoid that we create xxxxxx pixel long menus. Commit.
- Draw selection background ourselves. Commit. Fixes bug #502233
- Fix xml indent test. Commit.
- Fix test. Commit.
KUnitConversion
- Spelling. Commit.
KWidgetsAddons
- Kcollapsiblegroupbox: don't blow up initial window size. Commit. Fixes bug #505820
- KPageTabbedView: Avoid focus going to intermediary container. Commit.
- Disable auto-repeat for "toggle full screen" action. Commit.
- Fix crash on windows when opening KDateCombobox after an invalid date has been typed. Commit.
KWindowSystem
- Platforms/wayland: Properly reset shadow tile buffer when wl_shm is withdrawn. Commit.
Network Manager Qt
- Delete duplicate DBus connections. Commit.
QQC2 Desktop Style
- Add footer line and padding to QQC2.Dialog style. Commit.
- Use correct height for treeview delegates. Commit.
- Check for text truncation correctly to fix tooltip visibility. Commit. Fixes bug #505745
- Add the tooltip code from Kirigami.MenuDialog to QQC.ItemDelegate. Commit.
- Skip disabled tabs when switching pages by mouse wheel. Commit.
- Remove modelIndex property from TreeViewDelegate. Commit. Fixes bug #505437
- Use loader for treeview indicators. Commit.
Syntax Highlighting
- Remove doc comment from KQuickSyntaxHighlightingPlugin. Commit.
- Remove asterisks from docs. Commit.
- Link docs for QML module in index page. Commit.
- Sagemath is a superlanguage of Python, and uses
.sage
extensions. Commit. Fixes bug #506125 - DTD: add single quote string, Conditional Section and PEReference. Commit.
- XML (Debug): add tests. Commit.
- XML (Debug): fix DOCTYPE statement, optional prolog and the endless stacking of contexts. Commit.
- XML (Debug): indentation. Commit.
- Scheme: fix double hyphen error in a XML comment (Kawa extension): '--->' is a error. Commit.
- Vue: remove double hyphen error in comment. Commit.
- RHTML: remove ]]> as EntityRef in CDATA and double hyphen error in comment. Commit.
- Mustache: remove ]]> as EntityRef in CDATA and double hyphen error in comment. Commit.
- Mako: remove ]]> as EntityRef in CDATA and double hyphen error in comment. Commit.
- HTML: remove ]]> as EntityRef in CDATA and double hyphen error in comment. Commit.
- Django HTML Template: remove ]]> as EntityRef in CDATA and double hyphen error in comment. Commit.
- XUL: use XML syntax, except for the CDATA part which has a special meaning. Commit.
- XML: remove ]]> as EntityRef in CDATA context and add ]]> as Error in text part. Commit.
- SGML: add a comment on missing features. Commit.
- Perl: remove symbol operators of operators list. Commit.
- Perl: do not mark text after a numeric variable as Data Type. Commit.
- Perl: add r flag with regex substitution. Commit.
- Perl: fix digit separator and floating point ; add hexadecimal floating point. Commit.
- Perl: simplify RegExpr: remove unnecessary \s* or replaces them with simpler rules. Commit.
- Perl: add control flow highlight. Commit.
- MediaWiki: fix some errors. Commit.
- XSLT generated from the XML file. Commit.
- XML: mark spaces before an attribute name as "Other Text". 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.16.0 may be freely downloaded. Instructions on compiling and installing are available from the KDE Frameworks 6.16.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.16.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.