11 Oct 2026
Planet KDE | English
This Quarter in KDE Digital Sovereignty: Q3 2026
Welcome to the latest edition of This Quarter in KDE Digital Sovereignty!
This blog series covers the work done throughout KDE's software stack that's funded by the investment KDE received earlier this year from Germany's Sovereign Tech Agency.
Commissioned work on a variety of projects has been done by KDE contributors working for KDE e.V. itself, as well as the Techpaladin Software, enioka Haute Couture, and MachineSoul companies.
This post will cover the work done in the third quarter (Q3) of 2026. Let's get into it!
Quality assurance and testing
QA work continued in Q3, this time largely to polish and improve upon the work that was landed in Q2.
On the KDE Linux side, the OpenQA system received a lot of work both to maintain it, and also to reduce ongoing future maintenance needs, as well as adding more tests. Some highlights include:
- Verifying bootability of the prior build after an upgrade
- Verifying that secret service credentials are preserved after an upgrade
- Testing Btrfs snapshotting facilities
On the PIM side, the end-to-end tests continue to pay dividends. Lots of effort went into fixing the issues they uncovered. This included issues like:
- CalDAV handling of recurrence exceptions
- KOrganizer missing some recurrence exceptions
- Parsing custom properties in CalDAV
- Broken foreign keys cascading when Akonadi server uses sqlite as backend
- Unwanted iTIP sequence incrementation when accepting invitations
This allowed us to remove all the expected fail marks which were still present on some of the tests.
With this QA safety net in place, we've been working on landing long-needed improvements around DAV support. For instance, it's been migrated away from KIO to use QNetworkAccessManager leading to a large performance boost. Further performance enhancement is expected from the work to port the DAV Akonadi resource to ObserverV3 allowing batching of some operations.
IMAP4rev2 and WebDAV-Push
The work on QRESYNC support in the IMAP Akonadi resource has been completed, providing a very nice boost to email syncing by making it faster, and drastically reducing the network bandwidth used for a sync. This pretty much concluded the work on the IMAP4rev2 upgrade of our stack.
Focus then shifted to WebDAV-Push support for DAV Akonadi resources. More of the protocol is getting implemented like support of the "Don't Notify" header to avoid getting notified of our own changes. The DavPush notification subscription code path has also been completed.
This allows us to move to the next step which is integration of the various components involved and the addition of new end-to-end tests to validate the whole chain.
An interesting side effect of this work has been the need to implement support for DAV sync-tokens, which is supported by most servers. This will simplify calendar syncs even if your server doesn't support WebDAV-Push. We expect it to improve the syncing of calendars in a similar way to the improvements with emails we've experienced with QRESYNC.
This work is not completed yet, with a few merge requests still in flight. But expect next year's release to fly for syncing IMAP and DAV.
Security
Plasma's security infrastructure received a great deal of work in Q3. Much of it is non-flashy, but rather intended to shore up and modernize the foundations. As part of that work, Plasma's lock screen gained a more flexible system that supports multiple authentication methods being configured and made available in different combinations:

Work is now ongoing to apply this feature to Plasma Login Manager, and share more security infrastructure between them.
Recoverability
Work began on adding a "safe mode" to Plasma, wherein you'll be able to log into a dedicated troubleshooting environment that offers tools to help you get back to a working session.
This work is all in progress, with parts expected to start landing in Q4.
Network share handling
KDE's network share handling improved in two significant ways in Q3. First, network FUSE mounts created by kio-fuse will now be automatically mounted if needed when you open a file that was previously accessed from a kio-fuse mount path. And those paths are now stable across logins, meaning that paths involving kio-fuse mounts also remain accessible across logins.
Work also began to remove blocking file access calls in KDE software, so that network shares accessed via mounts (FUSE or otherwise) are less likely to cause freezes and hangs - starting with Dolphin.
Data integrity
Q3 also saw a significant amount work on the topic of data integrity, from multiple angles.
First, the kio-snapshot service built in Q2 received a large amount of technical and user interface polish to make it a practical and reliable tool for users whose systems take Btrfs snapshots.
That tool was then integrated into KDE Linux, along with the Snapper Btrfs shapshotting system, thereby providing automatic user-level file snapshots by default. You can read a bit more about this in the August 2026 KDE Linux blog post.
The Baloo file indexing system was also made aware of Btrfs snapshots - specifically, how to not index them!
And because the concept of "free space" can be somewhat fuzzy on snapshotted filesystems, work is ongoing to surface information in more comprehensible ways, starting with KDE's Filelight app.
Finally, the Kup backup system - which was previously released independently - was made a part of Plasma, so it will now see regular releases on the same schedule as Plasma itself. As a prerequisite to this, Kup was fully ported to Qt 6 and its widget received some more polish. Kup was also configured to avoid backing up large Flatpak apps and runtimes installed at the user level by default. And in the process, a longstanding bug afflicting multiple System Tray widgets was fixed.
Configuration management
The topic of strengthening KDE's configuration management continued in Q3. First, even more apps and parts of Plasma were ported to use KConfigXT, and some had their settings refined to move volatile state data out of their configuration files.
Leveraging this expanded use of KConfigXT, the team created a GUI config editor app that offers system administrators the ability to graphically visualize and change configuration options. This app is still a work in progress, but shows the promise and potential of fully adopting schema-based configuration.
Account Autoconfig
On the PIM side, work to ease setup is moving towards exposing the new facilities to the user. Indeed, the KAccountAutoconfig library is almost feature-complete with one patch still to go through review.
Once it's merged, we'll start the process of moving the library to KDE Frameworks, and then begin integrating it into KOnlineAccounts and the individual PIM apps. We already have a prototype port of kmail-account-wizard to use this new library - a good first use of this library to prove it works properly.
Kontact Flatpak
Last but not least, work on the Kontact Flatpak integration with Plasma has started, and we're currently scoping out requirements. The dependency chain between Plasma and the PIM stack will be completely reworked: it will be D-Bus based, and we're working on defining the interfaces.
Attending Akademy 2026 definitely helped, as we got interesting input during the PIM BoF on the direction to take. This will lead to options which might benefit more contexts than the desktop, and so hopefully one day help Plasma Mobile as well.
Stay tuned for more details when the implementation work will be underway.
Looking forward
User-facing work has begun! We anticipate that this will continue in Q4 of 2026. And we're very grateful for the Sovereign Tech Agency's investment in KDE that made this possible!
11 Oct 2026 12:01am GMT
10 Oct 2026
Planet KDE | English
QML Quick Editor: my QtCreator extension has been integrated

Great news for the community! The integration of QML Quick Editor into Qt Creator is now 100% complete. The plugin is officially available, bringing native workflow integration directly to your development environment. Give it a try, and let us know what you think!
Features:
Designed as an all-in-one QML code editor, this extension allows you to quickly prototype and test QML snippets without the overhead of creating a full project. Simply edit your code and preview the visual output instantly inside Qt Creator-speeding up your UI experimentation and debugging workflow.
10 Oct 2026 1:00pm GMT
This Week in Plasma: Finishing Touches on 6.8
Welcome to a new issue of This Week in Plasma!
This week, Plasma contributors put the finishing touches on Plasma 6.8, which is due to be released early next week, on October 14th.
A lot of the work was behind the scenes, and that's why this week's update may look a bit light. But nevertheless, here's the bigger stuff that we thought was worth reporting on specifically:
Notable UI improvements
Plasma 6.8
When the Weather Report widget isn't able to fetch any weather data, its tooltip now explains this, rather than being a tiny empty square. (Christoph Wolk, kdeplasma-addons MR #1154)
Improved keyboard navigation using arrow keys in KRunner. (Christoph Wolk, milou MR #110)
Plasma 6.9
You can now disable the notification that Spectacle shows when it begins recording the screen. (Kai Uwe Broulik, spectacle MR #596)
System Settings' Printers page now asks you to check your firewall when it can't find any network printers. (Mike Noe, KDE Bugzilla #526465)
The virtual desktop thumbnails in KWin's Overview effect are now more harmonious and visually pleasing. (Abdallah Hammad, kwin MR #10036)
Notable bug fixes
Plasma 6.6.7
Plasma's on-screen keyboard now correctly dodges floating panels. (Devin Lin, plasma-desktop MR #4056)
Plasma 6.7.6
When using upower-1.91.4 or later, if your keyboard doesn't have a backlight or doesn't support controlling its backlight via software, the Brightness & Color widget will no longer show a spurious control for it anyway. (Tristyn Russelo, KDE Bugzilla #525916)
Plasma 6.8
Discover's feature to automatically apply updates now always works for Flatpak apps. (Tobias Fella, KDE Bugzilla #519082)
Fixed key repeat with the Slow Keys accessibility feature. (Vlad Zahorodnii, KDE Bugzilla #523419)
Fixed an issue that could cause lags and stutters when tiling windows while using certain NVIDIA GPUs with the proprietary NVIDIA drivers. (Xaver Hugl, KDE Bugzilla #522424)
Fixed Tab key navigation in KRunner. (Christoph Wolk, KDE Bugzilla #387951)
Frameworks 6.32
Fixed a case where Qt-based apps using blur could crash when a tooltip disappeared while you were typing. (Anton Karasev, KDE Bugzilla #522547)
Country flags used to distinguish keyboard layouts now look better when using a scale factor over 100%. (Zhora Zmeykin, kguiaddons MR #235)
Notable in performance & technical
Plasma 6.9
You can now control the brightness level of backlit keyboards that are connected after login. (Tristyn Russelo, powerdevil MR #691)
How you can help
KDE has become important in the world, and your time and contributions have helped us get there. As we grow, we need your support to keep KDE sustainable.
Would you like to help put together this weekly report? Introduce yourself in the Matrix room and join the team!
Beyond that, you can help KDE by directly getting involved in any other projects. Donating time is actually more impactful than donating money. Each contributor makes a huge difference in KDE - you are not a number or a cog in a machine! You don't have to be a programmer, either; many other opportunities exist.
You can also help out by making a donation! This helps cover operational costs, salaries, travel expenses for contributors, and in general just keeps KDE bringing Free Software to the world.
To get a new Plasma feature or a bug fix mentioned here
Push a commit to the relevant merge request on invent.kde.org.
10 Oct 2026 12:00am GMT
09 Oct 2026
Planet KDE | English
Web Review, Week 2026-41
Let's go for my web review for the week 2026-41.
Wherein the slopbros won't stop
Tags: tech, ai, machine-learning, gpt, copilot, web, commons, ethics
This is a rant yes but well deserved. Those companies selling giant LLMs are just DDoSing everyone…
https://www.dnalounge.com/backstage/log/2026/10/06.html
That Time I Worked With a Laptop Thief
Tags: tech, theft, law, hardware
Or why you should have a proper inventory. Also shows how having a proper MDM in place can help.
https://blog.pipetogrep.org/2025/07/27/that-time-i-worked-with-a-laptop-thief/
Why I recommend Renovate over any other dependency update tools
Tags: tech, dependencies, tools, foss
It's really a strong option for dependency updates indeed.
https://www.jvt.me/posts/2024/04/12/use-renovate/
montray: A tray icon and desktop alerts for systemd services and custom health checks
Tags: tech, linux, systemd, monitoring, tools
OK, this is really a neat idea. Seems useful to have a simple check on important tasks on several machines.
https://github.com/dimonomid/montray/
Proving Rust Web Application Correctness with Lean 4
Tags: tech, safety, formal-verification, rust
As usual with such provers the model is fairly constraining. But nowadays it seems to start being usable in more cases. Deriving the Lean code from the source code is nice too.
https://medium.com/@Koukyosyumei/proving-rust-web-application-correctness-with-lean-4-8889583f1e15
Modernizing Utility Software Starts With the Workflow, Not the Technology
Tags: tech, complexity, work
Indeed, it would be way too easy if it was just about rewriting in a new stack. It's often a question of better alignment with a changed context.
Redesign without fear
Tags: tech, architecture, refactoring
A bit of an advertisement for the author's book but the advice makes sense. The strangler fig pattern indeed works at smaller scales. Grow the new API first, test it, then port.
https://blog.ploeh.dk/2026/10/02/redesign-without-fear/
Bye for now!
09 Oct 2026 11:31am GMT
Akademy 2026
In September, I traveled to Graz, Austria, to attend KDE's annual conference - Akademy, which also marked KDE's 30th birthday this year.
Unfortunately I fell sick and was not able to celebrate as much as I would have liked. I wasn't able to attend the welcome event, not the first day of the conference. Luckily there was a great video team covering the event so I could enjoy the live streams.
Julius and Farid kindly replaced me on stage for the presentation about Kdenlive, you can view it here.
On the second day, I felt a bit better so was able to attend a few presentations, like the announcement of the new KDE Goals, and be on the group photo :)
This was also an occasion to meet and discuss with some people from the KDE and Qt community.
Kdenlive
We also used this time to make a few Kdenlive meetings since several of us were at the conference. We mostly discussed the ongoing keyframes refactoring, how the UI should look, and reviewed some of the feedback we had, and promo topics. We also managed to finalize and publish our new homepage with highlighted features.
More exciting Kdenlive news will follow soon as our dev community is very active !
09 Oct 2026 8:00am GMT
Qt for Python Release: 6.12 is here!
Qt for Python 6.12 is here, alongside the Qt 6.12 LTS release. This is the biggest release we have had in a while. If you haven't read what's new in Qt itself, check out the general announcement.
![]()
09 Oct 2026 4:00am GMT
KDE Ships Frameworks 6.31.0
Friday, 9 October 2026
KDE today announces the release of KDE Frameworks 6.31.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
Baloo
- [Codecs] Replace some pointers with references. Commit.
- [Codecs] Fix varint helper const correctness. Commit.
- Kinotify: handle gracefully event overflow. Commit.
- [Codecs] Drop the undefined const overload of getVarint32Ptr. Commit.
- [Term] Remove unused Term(const QString&) constructor. Commit.
- Change internal AdvancedQueryParser class to QueryParser namespace. Commit.
- Use ECMInstalledLibraryCheck. Commit.
Breeze Icons
- Centre the 64px mimetype icons in their canvas. Commit. Fixes bug #508535
- Centre the 32px mimetype icons in their canvas. Commit. See bug #508535
- Use ECMInstalledLibraryCheck. Commit.
- Add a tab-close icon instead of linking to window-close. Commit.
- Add audio-speakers-bluetooth, and the other names PipeWire asks for. Commit.
- Draw audio-speakers at 22. Commit.
- Add Zeal tray icon to status. Commit.
KBookmarks
- Use ECMInstalledLibraryCheck. Commit.
KCodecs
- [KEncodingProber] Show final confidence in debug output. Commit.
- [KEncodingProber] Add statistical approach for UTF-16 and UTF-8 detection. Commit.
- [KEncodingProber] Evaluate pairs of accented/unaccented for Latin1. Commit.
- [KEncodingProber] Remove filter from Latin1Prober. Commit.
- [kEncodingProber] Improve Latin1 confidence calculation accuracy. Commit.
- [KEncodingProber] Fix Latin1 model for pair of accented vowels. Commit.
- [KEncodingProber] Move Latin1 sequence model out of the loop. Commit.
- [KEncodingProber] Fix some more Latin1 codepoint classifications. Commit.
- [KEncodingProber] Add Windows-1252 Spanish and French input test. Commit.
- [KEncodingProber] Latin1: sharp s "ß" is not capital, fix formatting. Commit.
- [KEncodingProber] Use uint8_t for MBCS distribution and context analyser. Commit.
- [KEncodingProber] Fix Big5 state tables. Commit.
- [KEncodingProber] Extend tests for Big 5 encoding. Commit.
- Fixes: no matching function for call to... Commit.
- [KEncodingProber] Deduplicate code to find best prober. Commit.
- [KEncodingProber] Fix detection of Windows-1252 in WesternEuropean set. Commit.
- [KEncodingProber] Remove UTF-8/16 support from SBCS group prober. Commit.
- [KEncodingProber] Remove UTF-8/16 support from MBCS group prober. Commit.
- [KEncodingProber] Use Universal prober for Chinese/Korean subset detection. Commit.
- [KEncodingProber] Use Universal prober for Japanese subset detection. Commit.
- [KEncodingProber] Use Universal prober for Unicode subset detection. Commit.
- [KEncodingProber] Make subprobers in UniversalProber selectable. Commit.
- [KEncodingProber] Fix defaulting to UTF-8 even if invalid. Commit.
- [KEncodingProber] Fix duplicate/skipped UTF-8/UTF-16 probing. Commit.
- [KEncodingProber] Split ESC / HZ probers, reduce nesting. Commit.
- [KEncodingProber] Refactor UtfProber to make it reusable. Commit.
- [KEncodingProber] Make individual SBCS probers selectable. Commit.
- [KEncodingProber] Add SBCS and 7 bit probers to enum. Commit.
- [KEncodingProber] Move prober type enum to nsCharSetProber base class. Commit.
- [KEncodingProber] Simplify high byte / ESC scan. Commit.
- Use ECMInstalledLibraryCheck. Commit.
- [KEncodingProber] Optimize check for sufficient data in JpCntx. Commit.
- [KEncodingProber] Provide more information in MBCS debug output. Commit.
- [KEncodingProber] Extend unit tests for CJK. Commit.
- [KEncodingProber] Verify UTF-8 detection for Japanese/Unicode prober. Commit.
KConfig
- KConfigSourceGenerator: Add explicit moc include when we use macros that need moc generation. Commit.
- Use ECMInstalledLibraryCheck. Commit.
- Fix writing empty path entries. Commit. Fixes bug #487212
- 'Open' should have CTRL(O). Commit.
- Kstandardshortcut: refactor internal shortcut handling. Commit.
- KStandardShortcut: Fix using a null key sequence for removed shortcuts. Commit. Fixes bug #518683
KCoreAddons
- About: Prefer AppStream data from the same prefix. Commit.
- Use ECMInstalledLibraryCheck. Commit.
- Kjob: Expose type as QML. Commit.
- Introducing KSafeStringError. Commit.
- Properly support Format::LongMode in formatTime(). Commit.
- CMake config file: ensure ECM's UDev/LibMount find modules w/ static builds. Commit.
KDav
- Fix documentation formatting. Commit.
- Add DavPushUnregisterJob for unsubscribing dav push notifications. Commit.
- Add davpushregistrationjob for subscribing DavPush notifications. Commit.
- Add DavItemsSyncJob that fetches only changed items using sync-token. Commit.
- Add detection of sync-tag property in collection fetch. Commit.
- Add DavPushDontNotify to item and collection operations. Commit.
- Use ECMInstalledLibraryCheck. Commit.
- Fix CI tests by closing conncetions after each requests. Commit.
- Fix since version. Commit.
KDBusAddons
- Use ECMInstalledLibraryCheck. Commit.
KDeclarative
- Use ECMInstalledLibraryCheck. Commit.
KGlobalAccel
- Use ECMInstalledLibraryCheck. Commit.
KImageformats
- Enable LSAN in CI. Commit.
- EXR: store of "adobe_rsrc" attribute with XMP/EXIF/Resolution data. Commit.
- EXR: support for metadata saved by Photoshop. Commit.
- ANIHandler::nextImageDelay: Protect against overflow. Commit.
- Autotests: add AVIF image-grid image to read test. Commit.
- Ossfuzz: update libaom to 3.15.0. Commit.
- EXR: fix alpha channel imperpretation. Commit.
- EXR: RGB / YC subtype support. Commit.
KIO
- Use d-pointer for RenameFileWarningDialog. Commit.
- Kfileplacesview: elide the name of a place once, not on every paint. Commit.
- KFileItem: share one QMimeType per name across items. Commit.
- Renamefiledialog: let Enumerate keep the old file name. Commit. See bug #460626
- Ktrash: report errors and exit non-zero on --empty/--restore failure. Commit. See bug #444719. See bug #413360
- File_unix: unify FSTAT declaration. Commit.
- Deletejobtest: watch the file tree, not the progress reports. Commit.
- Kdirlistertest: share the worker that lists a search result. Commit.
- Fix build with Qt 6.11.2 on Android. Commit.
- Kurlnavigator "Copy Location" is the text used when you right click on file. Commit.
- KCoreDirLister: update search results when a file is deleted or renamed. Commit. Fixes bug #392456
- Thumbnail cache: Prevent repeated creation of already created thumbnails. Commit. See bug #526038
- Krecentdocument: Reuse an already-known MIME type for recent-documents bookkeeping. Commit.
- Kmountpoint: Consider all non-local fuse filesystems as slow in KMountPoint::probablySlow. Commit.
- KNewFileMenu: resolve symlink targets when creating a new link. Commit. Fixes bug #525084
- Copyjob: add a private header for tests. Commit.
- [ftp] Synthesize missing '.' directory entries. Commit.
- Use ECMInstalledLibraryCheck. Commit.
- Fix since version for rename warning API. Commit.
- Workers/ftp: implement proper file modification timestamps using RFC3659. Commit. Fixes bug #510976
- Kdirlister: keep entries that share a name but not a url. Commit. Fixes bug #524791
- Kemailclientlauncherjob: handle characters % , '. Commit.
- Kurlrequester: Fix mem leak in slotOpenDialog. Commit.
- Git-blame-ignore-revs: add insertServices reorganisation commit. Commit.
- Kfileitemactions: move insertServices and insertServicesSubmenus closer to where they are used. Commit.
- Ftpd: expand the directory the mock server is given. Commit.
- Ftpd: require stringio for the mock server. Commit.
- Widgets: Update RenameFileWarningDialog since version. Commit.
- Widgets: Rename RenameFileWarning to RenameFileWarningDialog. Commit.
- Widgets: rely on KConfig autosync for rename warnings. Commit.
- Widgets: make rename warning dialogs window-modal. Commit.
- Widgets: replace rename warning callback with QObject API. Commit.
- Kio: use 'accepted' instead of 'proceed' in confirmRenameWarning. Commit.
- Add KIO::confirmRenameWarning() helper for consistent rename confirmations. Commit.
- File: copy one file through one routine. Commit.
- File: put the content transfer of a copy in one place. Commit.
- Fix build error by adding include in file_unix_copy.cpp. Commit.
- File: move the copying code to its own source file. Commit.
- Copyjob: stop counting the file being copied as one that is done. Commit.
- Copyjob: report one percentage per report. Commit.
- Kurifiltersearchprovider: parent QActionGroup to the actions menu. Commit.
- Copyjob: three corrections to taking a skipped file off the byte total. Commit.
- KFileItem: detect locally mounted remote filesystems in isSlow(). Commit. Fixes bug #460127
- Trash: Watch physical trash directories for changes. Commit. Fixes bug #465581
- Copyjob: stop counting a skipped directory as one that was processed. Commit.
- Copyjob: take a skipped file out of the byte total. Commit.
- Copyjob: count a file the user skipped as one the job is done with. Commit.
- Copyjob: publish the byte total whichever way the stating phase ends. Commit.
- Copyjob: keep the percentage of a move inside 100. Commit.
- Copyjob: let a test say how often a job reports. Commit.
- Copyjob: count the files a move skipped, not the sources it renamed. Commit.
- Unexport private method in PreviewJob. Commit.
- Fix documentation syntax. Commit.
Kirigami
- GlobalDrawerActionItem: port away from QQC Impl. Commit.
- Forms/cards: Fix label visibility for
fullWidthform entries. Commit. - Forms: Don't indent other form entries for
fullWidth: true. Commit. - Delegates/TitleSubtitleWithActions: Pass through textFormat. Commit.
- Columnview: Fix rapid touch taps not working by fasttracking anim. Commit. Fixes bug #523866
- Check whether applicationWindow is a function and not undefined. Commit.
- Use ECMInstalledLibraryCheck. Commit.
- Set CMAKE_MODULE_PATH directly to ECM_MODULE_PATH. Commit.
- Kirigami_add_tests: initialize _extra_args variable in all cases. Commit.
- Remove unused Kirigami_EXTRA_LIBS variable. Commit.
- Fix usage of misnamed KF_INSTALL_TARGETS_DEFAULT_ARGS. Commit.
- Enums: Add api doc for MessageType. Commit.
- Doc: adjust example for Badge and add screenshot. Commit.
- Doc: fix broken example of PlaceholderMessage. Commit.
- Doc: adjust example for Chip and add screenshot. Commit.
- ActionsMenu: Tie loader's visibility to its action's visibility. Commit. Fixes bug #525225
- ActionsMenu: Tie separator's visibility to its action's visibility. Commit. Fixes bug #525225
- Controls: fix submenus on collapsed GlobalDrawer. Commit.
- Controls: avoid shadowing property. Commit.
- Controls: avoid unqualified lookups in private drawer items. Commit.
- Remove unused imports. Commit.
- Forms: use application singleton. Commit.
- Assert types. Commit.
- Use stronger types. Commit.
- Controls/private: make CallBackWrapper named type. Commit.
- Controls: qualify parent properties. Commit.
- Add textFormat property to other delegates. Commit.
- Delegates/IconTitleSubtitle: Add textFormat property and pass through to TitleSubtitle. Commit.
- PlatformTheme: Insert frameContrast to the data. Commit. Fixes bug #525364
KItemViews
- Use ECMInstalledLibraryCheck. Commit.
KJobWidgets
- Use ECMInstalledLibraryCheck. Commit.
KNotifyConfig
- Use ECMInstalledLibraryCheck. Commit.
KQuickCharts
- LegendDelegate: Force name to be plain text. Commit.
KTextEditor
- Autotests: Verify when opening test files. Commit.
- Vi-mode: Allow numpad digits to be used as count. Commit.
- .kde-ci.yml - use run-installed-library-check-on with platform list. Commit.
- Keep m_cursor & m_displayCursor better in sync. Commit. Fixes bug #525170
- A11y: Fix text boundary offsets. Commit. Fixes bug #523883
- Vi-mode: Add binary format to addition commands. Commit.
- Vi-mode: Fix behavior of operation commands on numbers. Commit.
- Vi-mode: Implement addition/substraction commands for visual modes. Commit.
- Ensure we do some initial reload if we just enabled auto reload in the prompt. Commit. Fixes bug #524241
- Move color theme selector to 'View' as that is view local. Commit. Fixes bug #518920
- Use ECMInstalledLibraryCheck. Commit.
- Vi-mode: Fix motion for the backspace key. Commit.
- KateIconBorder: Fill the blank area at the end. Commit.
- Escape file path before using it as error text. Commit.
- Add missing include. Commit.
KTextTemplate
- Use ECMInstalledLibraryCheck. Commit.
KTextWidgets
- Use ECMInstalledLibraryCheck. Commit.
KUserFeedback
- Use ECMInstalledLibraryCheck. Commit.
KWallet
- Use ECMInstalledLibraryCheck. Commit.
- Ksecretd: Rename setter for clarity. Commit.
- Use enum instead of int in function signature. Commit.
- Ksecretd: Drop unused entryUpdated signal. Commit.
- Ksecretd: Don't call emitEntryUpdated in writePassword. Commit.
- Ksecretd: Drop redundant writeEntry function. Commit.
- Ksecretd: Preserve entry type in setLabel. Commit.
- Ksecretd: Remove unneeded null check in internalClose. Commit.
- Ksecretd: Use find_if in KSecretD::findWallet. Commit.
- Ksecretd: Simplify destruction. Commit.
- Ksecretd: Drop KWalletTransaction::OpenFail. Commit.
- Ksecretd: Manage KWalletTransaction as move-only type. Commit.
- Ksecretd: Use QScopedValueRollback. Commit.
- Ksecretd: Remove empty KWalletTransaction dtor definition. Commit.
- Ksecretd: Drop Unknown transaction type. Commit.
- Ksecretd: Drop dead code in transaction handling. Commit.
- Ksecretd: Use QFuture for changing password. Commit.
- Ksecretd: Use QFuture for opening the wallet. Commit.
KWindowSystem
- Use ECMInstalledLibraryCheck. Commit.
Network Manager Qt
- Use ECMInstalledLibraryCheck. Commit.
Oxygen Icons
- 48x48 and 64x64 versions of the koko app icon. Commit.
- Add scalable svgz variant of koko icon. Commit.
- Add koko icon. Commit.
- Initial experiment on plasma-studio icon. Commit.
- Improved version. Commit.
- Fix missing fill:none on zeal-tray symbolic icon. Commit.
- Fix hardcoded black stroke color in disk/drive 32x32 symbolic icons. Commit.
- New icons. Commit.
Syndication
- Use ECMInstalledLibraryCheck. Commit.
Syntax Highlighting
- Perl: Missing operators, fix END section, operators style, heredoc languages, POD fix. Commit.
- Systemd unit: update to systemd v262. Commit.
- Use ECMInstalledLibraryCheck. Commit.
- Zsh: prefer 'Parameter Expansion Operator' to 'Control' for ',' in subscript (i.e. $foo[1,2]). Commit.
- Zsh: remove identical contexts or replaces rules with . Commit.
- Zsh: fix some forms of floating number using separator. Commit.
- Zsh: use Base style for anything that refers to base change and BaseN for associated numbers. Commit.
- Zsh: use 'Replacement String' style in ${foo/patt/rep}. Commit.
- Zsh: glob: enclosed characters: fix ']', '-' and '!' at the beginning of the pattern. Commit.
- Zsh: replace ' &tab;' with '&ws;' entity. Commit.
- Zsh: fix subscripting expansion followed by modifier (i.e. ${s:1:4:h}). Commit.
- Zsh: glob modifier: add :f, :F, :w and :W ; :s behaves like with brace parameter. Commit.
- Zsh: add f, F, w and W modifiers with variable when braces are absent. Commit.
- Zsh: remove :x and :& modifier with variable when braces are absent. Commit.
- Zsh: fix :s modifier with variable when braces are absent. Commit.
- Zsh: fix subscript chain with variable when braces are absent, the second and subsequent ones are patterns. Commit.
- Zsh: remove VarNameParam+ context and replace its use with VarNameSubstLen. Commit.
- Zsh: add brace command substitution of zsh-5.10:
${ cmd },${|cmd}and${{param} cmd}. Commit. - Zsh: add
$[...]equivalent to arithmetic expansion$((...)). Commit. - Zsh: fix subscript and variable substring. Commit.
- Zsh: fix glob subscript after modifier when braces are absent (i.e. $x:h[...]). Commit.
- Zsh: fix digits after modifiers h and t when braces are absent (i.e. $foo:h3). Commit.
- Zsh: fix value of character in arithmetic context (i.e. ##c and #word). Commit.
- Use offscreen plugin for the one UI test. Commit.
- Add LRC Lyrics syntax highlighting. Commit.
Threadweaver
- Use ECMInstalledLibraryCheck. Commit.
09 Oct 2026 12:00am GMT
08 Oct 2026
Planet KDE | English
Introducing the QML Live Preview MCP Tool for Agentic Development of Embedded Devices
Agents Edit QML, But Don't See the Result Without Building, Compiling, and Running
AI agents can make many UI changes in a single iteration. AI agents edit files, maybe run a build, and then report success. Every change can costs a full rebuild and relaunch, or it goes unchecked by the developer. Qt's QML Live Preview MCP tool makes autonomous AI agent work transparent for the developer at a low token expense: it runs the app and hot reloads changed QML files, without a rebuild and without a restart.
![]()
08 Oct 2026 11:34am GMT
KDE Gear 26.08.2
Over 180 individual applications plus dozens of programmer libraries and feature plugins are released simultaneously as part of KDE Gear.
Today they all get new bugfix source releases with updated translations, including:
- kdev-python: Fix undefined behavior in popExpression() (Commit, fixes bugs #525418)
- kmail: Fix a crash when sending signed email (Commit, fixes bugs #525868)
- plasmatube: Fix protocol being chopped off urls (Commit, fixes bug #525299)
Distro and app store packagers should update their application packages.
- 26.08 release notes for information on tarballs and known issues.
- Package download wiki page
- 26.08.2 source info page
- 26.08.2 full changelog
08 Oct 2026 12:00am GMT
07 Oct 2026
Planet KDE | English
Qt for MCUs 2.12.3 LTS Released
Qt for MCUs 2.12.3 LTS has been released and is available for download. This patch release provides several bug fixes and other improvements while maintaining source compatibility with Qt for MCUs 2.12 (see Qt for MCUs 2.12 LTS released). This patch release is stability and user workflow focused and does not add any new functionality. Below are some highlights of the improvements introduced. A comprehensive list of changes can be found here.
![]()
07 Oct 2026 12:00pm GMT
06 Oct 2026
Planet KDE | English
From Figma to Qt: A Comparison Between Manual and Assisted Workflows
We know that one of the biggest challenges for embedded UI/UX designers is to see their design vision through to the final product. That's why earlier this year, we launched Figma to Qt: a plug-in that helps designers craft, preview, verify, and approve Qt applications without ever leaving Figma.
![]()
06 Oct 2026 12:29pm GMT
My Notes from Akademy 2026
Writing this blog today feels a bit unreal. Six months ago, if you had told me I'd be attending Akademy in-person, 3000 miles from home - I probably wouldn't have believed you. And yet, here we are.
So I attended Akademy 2026, in Graz - and my experience was truly remarkable. I learnt a lot about the KDE Community, met some amazing people and returned with a fresh boost of motivation to keep contributing to the KDE Community! It also happened to be my first trip to Europe, and it really lived up to the expectations!
The Conference

The talks were fun & informative and gave us a chance to catch up with everything going on in the community, which happens to be quite vast. Some talks went deep into technical aspects, some gave us rapid fire project updates, some discussed future plans and goals, whereas some were about the community and its values. The new KDE goals were also revealed, which was cool to witness live!
Out of all, some talks really stood out to me, including the one on desktop UX by Scott Jenson, KaDAI by Eva Brucherseifer & Jan Mühlig, and the history of KDE code by Cornelius Schumacher.
But what was more interesting were the many conversations, short and long, that happened with various people. It was also a pleasure to finally meet my SoK mentor, Carl Schwan in person! It was fun meeting some experienced people from the community, including Lydia, Bhushan, Aniqa, Richard Gustavsen from Qt, Áron and many more!
Everything Else
With how beautiful Austria is, whatever time we had to explore felt too little. Still, we managed to see around Graz, Vienna, Hallstatt and Riegersburg. Cycling around Graz was really fun, especially in the mountainous outskirts. Vienna and its buildings were as grand as one would imagine. The Graz old town was also quite happening and picturesque. Hallstatt (albeit really cold) was absolutely beautiful and pristine. Riegersburg offered a glimpse into rural Austria and the Zotter chocolate factory.
Apart from the conference there were some other fun events also part of Akademy, including the welcome event, KDE's 30th birthday party and a day trip.
Here are some of my best clicks from the trip :)
I am really grateful to the KDE e.V. for sponsoring my trip, without which it wouldn't have been possible! Also, huge shoutout to my companions and new found friends - Srisharan V. S., Tushar Gupta, Ansh Singhal and Ojas Maheshwari :)
Looking forward to working with the community and making this my first Akademy of many more to come!
06 Oct 2026 12:00am GMT
05 Oct 2026
Planet KDE | English
2026-10-05 Fossy Camp KDE
Camp KDE at FOSSY 2026: Vancouver Edition
I just got to writing this blog post, regarding FOSSY 2026 in Vancouver, where I co-ran the Camp KDE track, gave a talk, sat on a panel, and spent a decent chunk of the weekend standing behind a table full of stickers. Here's how it went.
The Camp KDE booth at FOSSY 2026 with everyone who helped out
05 Oct 2026 2:19pm GMT
Celebrating 30 years of KDE at Akademy 2026
Two weeks ago, several of us from Qt Group travelled to Graz for Akademy 2026, KDE's annual summit. The conference was hosted by Graz University of Technology (TU Graz). This year's conference was extra special: it marked KDE's 30th birthday. Happy birthday, KDE!
![]()
05 Oct 2026 8:53am GMT
Figma to Qt 1.1: Test Design Live, Ship It Anywhere
Click, drag, and tweak your design in Live Preview before a developer builds it. Ship the same workflow to flagship touchscreens and microcontrollers. And get more of what you draw back as native QML.
![]()
05 Oct 2026 7:52am GMT
A new initiative: Tagoross Circle of Practice
I introduce Tagoross Circle of Practice, a safe harbor environment for professionals moving their organizations from reactive open source risk management to open source as strategy. In this post I explain why I created it and where it stands today.
05 Oct 2026 7:00am GMT












