10 Oct 2026
Planet KDE | English
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
04 Oct 2026
Planet KDE | English
Harmonicon's song editor, explained with one song about a jumping harmonica
This one is about the song editor. Harmonicon has a song editor, it's had one for a while, I just never sat down and explained what all the little buttons do, and there are a lot of little buttons. The game says four hundred and thirty one, but most of those are notes pretending to be buttons, so it's less than that.
So I'm going to load a song into it and walk around the screen.
The song
The song is O Pulo da Gaita, or "The harmonica's jump" in english. It's a folk theme from the Northeast of Brazil, people know it from "O Auto da Compadecida", and the Northeast is where I'm from, Salvador, so I'm a bit biased.
It's a good song to show the editor with because it's busy without being hard. Two hundred and thirty nine notes in a bit over a minute, on a C diatonic, in 2/4, at 100 bpm, and eighteen of those notes are bends. And the whole tune hangs on one move: you bend the 3 draw down half a step and then let it go, back up to the plain B. Bend, release. Remember that, it comes back.
The whole screen
![]()
There are three things on this screen, and once you know that it stops being four hundred and thirty one things.
Down the left there's the sidebar, which is two columns. The left column is about the song and the tools: going back, the Edit / Record / Play modes, the lock, undo and redo, copy and paste, the tools for selecting and erasing ranges of time, tempo and meter changes, repeats and endings, the metronome, the legend, save and load. The right column is about the note. The one you have selected, or if you have nothing selected, the next one you're going to place. Blow or draw, bend, overblow, overdraw, wah, vibrato and how deep, call and response, split, the phrase editor, delete. So the left column is "what am I doing" and the right column is "to which note".
In the middle is the grid. One lane per hole, ten of them because it's a ten hole harmonica, numbered down the side. Time goes left to right, and along the top there's the ruler, counting bars and beats. This song is in 2/4, so the ruler goes "1 & 2 &" and then starts a new bar. Every note is a little block on the lane of the hole you play it on, with an arrow on it, up for blow, down for draw.
Under the last lane there's a thin strip that says Silence, which shows the gaps between notes so you can spot a rest you didn't mean. And under that there's a scrollbar that's also a tiny map of the whole song, every note drawn as a coloured speck, with a gold bit showing where you're looking right now. In this screenshot the gold bit is about a fifth of the way along, so the song is roughly five screens long.
Along the bottom is a music staff, the same notes as sheet music. It follows the grid when you scroll, so you can read it as a harmonica player (holes and arrows) or as a musician (dots on lines), or both.
Colours, and how I got them wrong
Now look at hole 3 in that first screenshot. There's a blue one, then an orange one, then a sort of mauve one, and then another blue. And I looked at that and I thought, the mauve one is the bend, and I wrote a paragraph about it.
Then I opened the Details tab, which has the colour legend in it, and the legend said: orange is the bend. Deeper bends get redder. And the mauve isn't a technique at all, it's a red tint, and it means "this note is outside the song's scale".
![]()
So that's the bend and the release, right there. The orange one is the 3 draw bent down half a step. The mauve one is the 3 draw let go, back up to B, and B gets the tint because the editor is checking every note against a blues scale on C, and there's no B in it. It's not an error, it's just the editor pointing it out. The tune does it on purpose, fifteen times, I counted: fifteen bends on the 3 draw, fifteen releases. The other three bends, to make up the eighteen, are on the 2 draw, down at the end, where the song answers itself.
And the same two notes show up again in bar 3. And again later. Bend, release.
Picking a note
In that close-up I've got the mauve one selected. A selected note gets a gold border and two little round handles, one on each end, and you drag those to make the note longer or shorter. Drag the middle of it and it moves. Click it and you hear it, the editor plays a short blip of exactly that note, bend and all, so you can check a bend sounds like a bend without picking up the harmonica.
![]()
The other thing selecting does is it goes and finds the note on the staff and paints it gold too, so you can see where you are in the actual music. And the right column of the sidebar lights up Draw, because that's what the note is. Click Blow and it would turn into a blow note.
![]()
Phrases
Up in the header, above the lanes, there are these gold labels, "§ A" at the start and "§ A again" at bar 9. Those are phrase markers, and you can click one and it opens a little panel right there.
![]()
Section is the name of the bit of the song. Chord is the chord under it, if you want the player to know. Groove is how it should feel, something like "laid back", in words, for humans. And Lyric is the syllable that's sung when those notes start, which then shows up karaoke style during the game. This chart doesn't have chords or lyrics filled in yet, which is why those three boxes are empty.
Details
The other tab is Details, and it's where the song keeps its paperwork.
![]()
On the left there's everything about the song itself: the harmonica type, the key (C), the position (1st), the tempo (100), the grid snap, who wrote it (Traditional), the genre, the difficulty, where the transcription came from, and the licence. In the middle there's how strict the game is when it scores you: how many milliseconds count as perfect, as good, as a miss, how the combo multiplier works, and which phrases loop. And on the right is the legend, which I should have read first.
The status line at the bottom says where the chart was loaded from.
So that's the editor. Three parts, two tabs, one legend, and a song that bends the 3 draw and lets it go, and bends it and lets it go. You can play it, it's in the song pack, and it's on GitHub with everything else.
Bend, release.
04 Oct 2026 12:00am GMT
03 Oct 2026
Planet KDE | English
Akademy 2026 in Graz
Two weekends ago, I spent around 24 hours in a train to go to and back from Graz to attend Akademy. This year was a bit special since we are celebrating the 30 years of KDE and this was also my first time attending as a member of the KDE e.V. board.
Unfortunately I could only attend the weekend as I was also expected at the Nextcloud Community Conference in Berlin during the week.
I attended a bunch of talks, one of my favorite was "Are we really going to use the same Desktop UX forever?" from Scott Jenson, which I found super interesting and insightful. It really was a call for us to try to innovate and experiment with new UX concepts and he proposed some interesting directions, where we could be going. A good wake up call that now that macOS and Windows are not inventing anything anymore on the desktop we should be driving UX changes forward.
I also very much liked the talk "What Has Been Brewing in KDE PIM Land?" from Dominique Michel and arnaud chirat. As a fellow PIMster, it is great to see some real progress on fixing some longstanding issue in the backend. It's great to see the Sovereign Tech Agency investing in this core technology. This also motivated me to spend some time on improving Merkuro again (more on that in a separate post).
Aside from that, as always it's great to meet up with my fellow KDE developers, share some drinks, exchange ideas or just catch up.
On Saturday evening, I attended the sponsors dinner to discuss a bit with our sponsors. Akademy is a free event to attend and we are very grateful about companies sponsoring us to make it happen.
Sunday morning, I went for a short stroll across the city, because while I was only staying for the weekend, I still wanted to discover Graz at least a bit.
03 Oct 2026 3:05pm GMT












