20 Jun 2026

feedPlanet KDE | English

New Craft cache 26.05 published

A new Craft cache has been published about a week ago. The update has already been rolled out to KDE's CD and Windows CI with the update to Qt 6.11 beeing the most important change.

Changes (highlights)

General

We added updated our base image to build the Linux cache from AlmaLinux 8.10 to AlmaLinux 9.8. This implies a newer minimum required GLIBC.

We did inital work on MSVC 2026 support, but given that it is not supported by Qt 6.11, we did not complete it yet.

Blueprints

About KDE Craft

KDE Craft is an open source meta-build system and package manager. It manages dependencies and builds libraries and applications from source on Windows, macOS, Linux, FreeBSD and Android.

Learn more on https://community.kde.org/Craft or join the Matrix room #kde-craft:kde.org

20 Jun 2026 9:00am GMT

KDE Goals - Call For Submissions

Call for submissions header

In 2015, some members of the KDE community began a conversation about where KDE was heading and how it would get there. That conversation became the seed of what is now KDE Goals - a community initiative to help guide KDE's efforts around shared objectives.

KDE Goals reaches its fifth cycle at a special milestone: KDE turns thirty this year. Thirty years of building software that puts people in control of their digital lives and enjoy freedom and privacy. The fourth cycle brought three goals that built toward this vision. Streamlined Application Development Experience focused on making KDE development smoother and more joyful. We Care About Your Input aimed to deliver a seamless out-of-the-box experience for input devices used by artists, gamers, and people with accessibility needs. KDE Needs You! worked on building a sustainable community growth targeting individuals and institutions alike. Checkout the one-year recap at Akademy last year.

Now, as that cycle draws to a close and launches us into the next upward spiral, it is time once again to ask: what matters most to KDE right now? What should the community rally behind for the next two years?

The floor is open. Dream big. The fifth cycle begins!

Join in

Anyone passionate about KDE and has a vision to share is welcome to submit a proposal. You do not have to be a developer to participate.

Read the selection process carefully before you send your proposal. Got any doubts? Join our Matrix room or leave a comment at the KDE forum.

Timeline

20 Jun 2026 3:20am GMT

This Week in Plasma: 6.7 is Here!

Welcome to a new issue of This Week in Plasma!

This week we released Plasma 6.7, and the reviews are overwhelmingly positive so far!

But the team didn't sit on its laurels; instead we spent the week fixing a few issues that snuck past our beta testers or that developers didn't manage to fix in time for the final release. So far it's looking like this was a pretty smooth release.

And in addition, features and UI improvements started to merge for Plasma 6.8! Check it all out:

Notable new features

Plasma 6.8

Monitors are now identified with color-coded number badges in all the places they're configured, making it easier to identify which one is which especially when using two monitors from the same product line. (Ramil Nurmanov, kscreen MR #456 and kwin MR #9090)

Multiple screens showing a colored number badge for each screen, making them easy to identify

Frameworks 6.28

KRunner-powered search fields can now convert between watt-hours, kilowatt-hours, and other similar energy units. (Levin Lhoest, kunitconversion MR #88)

Notable UI improvements

Plasma 6.7.1

There's now a smooth blend effect when switching between global themes, just like there already was when switching between color schemes. (Kai Uwe Broulik, plasma-workspace MR #6199)

Plasma 6.8

Switched to the KDE-style color picker throughout QML-based KDE apps, instead of the one provided by Qt which doesn't respect KDE color schemes. A few apps had already hardcoded the KDE one, but now it happens universally so all benefit from it. (Tobias Fella, KDE Bugzilla #520987)

When moving a window by dragging it while the Meta key is held down, it is now brought in front of all other windows. (Vlad Zahorodnii, KDE Bugzilla #520339)

Trying to delete a file on the desktop that you don't have permission to delete now at least shows you an error message explaining what the problem is, instead of doing… nothing. (Tobias Fella, KDE Bugzilla #515869)

Made the "Connect" button in the VPN connection dialog a lot more visually obvious. (Kai Uwe Broulik, plasma-nm MR #600)

Added more symbols to the "press and hold a key to see related characters" feature of the Plasma virtual keyboard. (Jonas Harer, plasma-keyboard MR #133)

Frameworks 6.28

Fixed multiple sources of icons and thumbnails being blurry throughout Kirigami-based KDE software when using a fractional scale factor. (Marco Martin, kirigami MR #2116)

Improved the way the Kicker/Kickoff/etc. menus handle the case of multiple applications with the same name being installed. (Christoph Wolk, KDE Bugzilla #516802)

Notable bug fixes

Plasma 6.6.6

Fixed an issue that could make KWin fail to start at login with some older GPUs and GPU drivers in certain circumstances. (Xaver Hugl, KDE Bugzilla #521333)

Fixed a case where Plasma could crash while switching wallpapers in a slideshow. (Fushan Wen, plasma-workspace MR #6753)

Fixed an issue in System Monitor that could make items get sorted the wrong way after changing the order or visibility of columns in the data table. (Arjen Hiemstra, KDE Bugzilla #518073)

Fixed a regression in the icon displayed by the Networks widget for VLAN networks. (Fabian Druschke, KDE Bugzilla #516709)

Plasma 6.7.1

Fixed one of the most common ways that Discover could crash on operating systems using the rpm-ostree packaging technology, such as Fedora Kinoite. (TimothΓ©e Ravier, KDE Bugzilla #519672)

Fixed a case where KWin could crash while logging into the system if an app asked for an invalid color format. (Shaun Ren, kwin MR #9382)

Fixed an issue that could break accented text entry for some keyboard layouts while the Plasma virtual keyboard was enabled. (Kristen McWilliam, KDE plasma-keyboard MR #126)

Fixed a regression that made some network details go missing from the Networks widget. (Tobias Fella, KDE Bugzilla #521415)

Fixed a regression that made Task Manager badges displaying very large numbers of unread items visually overflow on very thin panels. (Nate Graham, KDE Bugzilla #521562)

Fixed a regression that made the Kickoff Application Launcher widget resize itself inappropriately while showing search results right after being added to a panel. (Christoph Wolk, KDE Bugzilla #521383)

Fixed a regression that made the Kickoff Application Launcher widget lose its hover effect for category list items, but only when using the non-default "Switch sidebar categories when hovering over them" setting. (Christoph Wolk, KDE Bugzilla #https://bugs.kde.org/show_bug.cgi?id=521558)

Fixed two issues with clipboard syncing in remote desktop use cases. (David Redondo, xdg-desktop-portal-kde MR #588 and xdg-desktop-portal-kde MR #589)

Frameworks 6.28

Fixed a regression in Kirigami that made the header of the "Manage Panels and Desktops" window overlap with the content. (Marco Martin, KDE Bugzilla #521552)

Notable in performance & technical

Plasma 6.6.6

Fixed a significant memory leak that was found when using window rules to force window decorations on Firefox in CSD mode. (Xaver Hugl, KDE Bugzilla #518939)

Plasma 6.7.1

Turned off the game controller input plugin by default, as some issues were uncovered and it appears to need a bit more time in the metaphorical oven. (Xaver Hugl, kwin MR #9424)

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.

20 Jun 2026 12:00am GMT

19 Jun 2026

feedPlanet KDE | English

Web Review, Week 2026-25

Let's go for my web review for the week 2026-25.


Open Source vs the Invisible Hand

Tags: tech, foss, commons, economics

Or why modern economics mostly loose the plot when you try to factor Open Source in there simplistic theories.

https://nesbitt.io/2026/06/18/open-source-vs-the-invisible-hand.html


Recommendations When Using LLM-backed Generative AI Systems for FOSS Contributions

Tags: tech, foss, ethics, ai, machine-learning, gpt, copilot

A very balanced set of recommendations from the SFC around LLM uses. It's just the beginning and still lacks a bit in details. It's very welcome though and I look forward to their updates.

https://sfconservancy.org/llm-gen-ai/llm-backed-generative-ai-recommendations.html


Turn your site into a place people can bump into each other

Tags: tech, web, blog, community

I like this idea. It'd be nice if more websites felt like little town squares.

https://cauenapier.com/blog/townsquare_release/


The world's first trillionaire is a killer

Tags: tech, business, politics

People excited by accumulating so much wealth (on paper) are clearly showing sociopathic traits…

https://www.theverge.com/tech/949259/the-worlds-first-trillionaire-is-a-killer


Extinction-level capitalism

Tags: tech, politics, ethics, economics, ai, machine-learning, gpt

Long, rich, and sourced piece. Or why the current gold rush aims at accelerating wealth accumulation of a few to the expense of everyone else. If the plans work as intended, the outcome won't look good.

https://matthewbutterick.com/extinction-level-capitalism.html


Dangerous Technology For Americans Only

Tags: tech, europe, politics, ai, machine-learning, gpt, foss, commons

The latest move by the US government treating LLMs like dangerous weapons tells something about the geopolitical moment. Can we collectively raise to the challenge and build on cooperation instead? It'd be a much better position than assuming governments or big companies will make the right choices for everyone else in isolation.

https://lucumr.pocoo.org/2026/6/13/americans-only/


It Is Trivially Easy to Use Reddit to Manipulate AI Search, Research Suggests

Tags: tech, ai, machine-learning, gpt, fake-news, scam, attention-economy

What a surprise… It turns out it's very easy to manipulate AI "search". Something which operates of statistical similarity to queries, who knew it could be manipulated. πŸ™„

https://www.404media.co/it-is-trivially-easy-to-use-reddit-to-manipulate-ai-search-research-suggests/


Report: How Developers React to AI-Scented Blog Posts

Tags: tech, blog, ai, machine-learning, gpt

Badly apparently, looks like it makes for prose people avoid. Now the thing is… with the widespread suspicion, some people might be wrongfully flagged as using LLM to write their posts.

https://writethatblog.substack.com/p/dev-reaction-to-ai-blog-posts


The Future of the Con Is Already Here, It's Just Not Evenly Distributed

Tags: tech, ai, machine-learning, gpt, scam, security

What happens when targeted scams become cheap to run? This covers it fairly well, and we need to change our heuristics and trust model.

https://manishearth.github.io/blog/2026/06/17/the-future-of-the-con-is-already-here/


xan: The CSV magician

Tags: tech, data, data-visualization, tools, command-line

Looks like a nice command line tool for exploring data.

https://github.com/medialab/xan


.gitignore Isn't the Only Way To Ignore Files in Git

Tags: tech, tools, version-control, git

Neat little summary on the mechanisms to ignore files in Git.

https://nelson.cloud/.gitignore-isnt-the-only-way-to-ignore-files-in-git/


Boot Naked Linux

Tags: tech, linux, embedded

A good reminder that Linux based systems can be slimmed down quite a bit. Can come in handy for specific devices.

https://nick.zoic.org/art/boot-naked-linux/


Why stdx is not on crates.io

Tags: tech, rust, supply-chain, security

Indeed, skipping the centralized package manager might be better in the long run.

https://kerkour.com/stdx-cratesio


Async Task Locals From Scratch

Tags: tech, asynchronous, memory, rust

Wondering how those are implemented and the challenges behind them? This is a good exploration of the idea.

https://wolfgirl.dev/blog/2026-06-16-async-task-locals-from-scratch/


Learn Rust Concurrency By Building a Thread Pool

Tags: tech, rust, multithreading

This is an excellent exercise to understand a language and its ecosystem better. This time it is about Rust.

https://blog.sheerluck.dev/posts/learn-rust-concurrency-by-building-a-thread-pool/


Rust Prevents Data Races, Not Race Conditions

Tags: tech, rust, multithreading

Sounds obvious to me, but I guess it's worth repeating. It illustrates well the type of issues you still have to deal with in multi-threaded Rust.

https://corrode.dev/blog/rust-prevents-data-races-not-race-conditions/


How memory safety CVEs differ between Rust and C/C++

Tags: tech, security, memory, rust, c++, c

Interesting take on why CVEs are reported differently for C/C++ and Rust libraries. The responsibility for API misuse is treated differently because the abilities to express contracts is treated differently.

https://kobzol.github.io/rust/2026/06/15/how-memory-safety-cves-differ-between-rust-and-c-cpp.html


Memory Management in C++ by Patrice Roy

Tags: tech, c++, memory, book

Looks like a good book. This review definitely tempts me.

https://www.sandordargo.com/blog/2026/06/17/memory-managenent-by-patrice-roy


Parsing JSON at compile time with C++26 static reflection

Tags: tech, c++, type-systems, compiler, reflection

This is really interesting stuff that C++26 brings.

https://lemire.me/blog/2026/06/14/parsing-json-at-compile-time-with-c26-static-reflection/


Every Frame Perfect

Tags: tech, ux, graphics, animation, gui

Indeed, the intermediate steps in an animation have to make sense too. Too often we think about the start and end point but miss the quality of the transition.

https://tonsky.me/blog/every-frame-perfect/


Getting Creative with Perlin Noise Fields

Tags: tech, graphics, mathematics

So many possibilities with Perlin noise! There are some really fascinating textures in the lot.

https://sighack.com/post/getting-creative-with-perlin-noise-fields


The case for real collaboration

Tags: tech, pairing

I still wish our craft would practice pair and ensemble programming more. Somehow it's been years and it doesn't really take off unfortunately.

https://blog.mikebowler.ca/2026/06/15/collaboration/


Nine Questions I Now Ask in Interviews That I Wish I'd Asked Five Years Ago

Tags: interviews

This is a good list of questions. Never forget you need to assess the company you're applying at. To often candidates forget to do it.

https://louisedeason.substack.com/p/nine-questions-i-now-ask-in-interviews


When Overwhelmed, Slow Down

Tags: health

This is sound advice. Especially in this era of chasing productivity at all costs, we tend to not listen to ourselves enough.

https://nathanpeterson.net/overwhelmed-slow-down/



Bye for now!

19 Jun 2026 6:15am GMT

17 Jun 2026

feedPlanet KDE | English

Ocean Updates – June 2026

Penpot WebGL and Bugfixes

Figma Icon Flattening

App Icons Progress

Tokens and Plasma System Variables

17 Jun 2026 11:15pm GMT

Qt Contributors Summit 2026: Oslo - 27th to 30th October!

This year Qt Contributor Summit will be held in Oslo during late October.

If you are a Qt contributor (developer, forum question answerer, promoter, etc) you should think of attending, it's always a great experience :)

More info in the announcement at https://www.qt.io/blog/qt-contributors-summit-2026-oslo-in-october

If you want to attend do not forget to register (the earlier the better for the organizing team) following the form at https://wiki.qt.io/Qt_Contributors_Summit_2026

Thanks to The Qt Company for organizing this and also to reMarkable for hosting!

17 Jun 2026 8:42pm GMT

Amarok 3.3.3 released

The Amarok Development Squad is happy to announce the immediate availability of Amarok 3.3.3, the third bugfix release for Amarok 3.3 "Far Above the Clouds"!

3.3.3 features a number of small bugfixes, e.g. to saving of window and context applet layouts, inhibiting suspend during playback and updating of Wikipedia applet to handle current syntax. Additionally, small code quality improvements and fixes for building the software on different systems with various setups are included.

All in all, Amarok 3.3.3 keeps ensuring you can keep enjoying your music in 2026.

Changes since 3.3.2

CHANGES:
BUGFIXES:

Getting Amarok

In addition to source code, Amarok is available for installation from many distributions' package repositories, which are likely to get updated to 3.3.3 soon, as well as the flatpak available on flathub.

Packager section

You can find the tarball package on download.kde.org and it has been signed with Tuomas Nurmi's GPG key.

17 Jun 2026 11:45am GMT

Qt Creator 20 released

Release 20 of the Qt Creator IDE adds support for working with AI coding agents, a Zen Mode that puts your code editor into the focus, support for the GN (Generate Ninja) build system, and many more improvements.

17 Jun 2026 10:18am GMT

16 Jun 2026

feedPlanet KDE | English

Week 3: Reviewer Feedback and Fixes

This is a weekly update from my Google Summer of Code 2026 project with KDE, improving effect widgets in Kdenlive, a free and open source video editor.

This week was driven entirely by reviewer feedback on MR !887; the draft MR for the Curves Widget.

Point snapping instead of rejection

When two curve control points are placed too close on the x-axis, avfilter/MLT crashes with Key point coordinates are too close or not strictly increasing.

The original guard in AssetParameterModel::internalSetParameter silently rejected the update, the user moved a point but nothing happened visibly. Reviewer Bernd Jordan flagged this as confusing UX.

The fix: instead of rejecting, snap the offending point so it maintains the minimum safe x-distance (~0.00266) from its neighbor. The curve is always valid, always sent to MLT, and the user sees immediate feedback.

Removing the 5 point limit for avfilter.curves

The curve editor had a maximum of 5 control points, inherited from frei0r.curves. JB pointed out there is no reason to keep this limit for avfilter.curves, it is a frei0r-specific constraint.

The fix: setMaxPoints is now only called for frei0r.curves. The avfilter.curves widget has no upper limit on control points.

Both fixes are in MR !887.

Curves widget β€” All tab

JB also noted the null placeholder approach in m_widgets for secondary av_curve params is not ideal long term, waiting on his direction before touching that.

16 Jun 2026 4:18pm GMT

Week 3 β€” Bug Fixes and Import/Export Feature

This week, I worked on two things: a bug fix that was created during the ActionCollection port and starting the import/export feature.

Bug fix: Lock/Unlock action text:

A bug was created after !29 was merged. When a wallet was locked, the placeholder message displayed a "Lock" button instead of "Unlock". The issue came from ActionData using static text, while the lock action needs to reflect the wallet's current state. The fix was easy - switch between the lock and unlock ActionData dynamically based on the locked property.

AC.ActionCollection.action: locked ? "unlock" : "lock"

This was submitted as !31 and merged.

Configure Shortcuts menu item:

I added a "Configure Shortcuts…" menu item to the globalDrawer(!32), using AC.StandardActionData.KeyBindings to attach to the action automatically created by ActionCollectionManager.

Import/Export feature: I started implementing the import/export feature. The format is KWalletManager-compatible XML, so users can migrate between KWalletManager and KeepSecret. The implementation adds: -ImportExportManager C++ class with exportToFile() and importFromFile() methods. -Export… and Import… menu items in the globalDrawer. -File picker dialogs using QtQuick.Dialogs.

The merge request !33 is open and under review.

16 Jun 2026 8:22am GMT

Oxygen 6.7 is here: a breath of fresh air for KDE’s classic theme

Logo by: Nuno Pinheiro The year started off bleak. As I was gallivanting through KDE themes at hand, I decided to stick with the Oxygen one. It didn't take long to notice that this old theme, once the default in the KDE 4 era, wasn't looking its best. A slew of little bugs had accumulated,...... Continue Reading β†’

16 Jun 2026 6:49am GMT

Plasma 6.7

Plasma 6.7 brings powerful new features to KDE's classic desktop, and refines its user experience to new levels.

Enjoy thoughtfully-designed improvements that solve real problems, a sneak peek of future theming bliss, better performance, and more.

Read on to learn all about it!

A script element has been removed to ensure Planet works properly. Please find it in the original post.
A script element has been removed to ensure Planet works properly. Please find it in the original post.

Highlights

Per-screen virtual desktops

After 21 years, hopefully it will have been worth the wait… per-screen virtual desktops have finally arrived!

Test your microphone volume

No more being told your audio is too loud or quiet, or wondering if it's your microphone or an app that's misbehaving.

Press-and-hold for special characters

With Plasma's virtual keyboard enabled, press and hold a key to type special characters related to it.

Widgets

Light/dark mode toggle

In Plasma 6.6, we introduced the ability to create your own Global Themes, and switch between them as part of the day-night cycle. Plasma 6.7 puts you even more in control with a quick toggle to switch between light and dark Global Themes immediately.

Vietnamese lunar calendar

Plasma 6.7 adds the Vietnamese lunar calendar to its available set of non-Gregorian calendars. Now you can keep up with dates and events using both calendar systems with more ease than ever!

"Background Apps" in the System Tray

The System Tray is already the place for monitoring apps running in the background using traditional methods. Plasma 6.7 extends this support by also showing apps using the newer "Background Apps" system, which is more common for apps using the Flatpak package format.

Printing

Plasma's printing support continues to mature. Now the System Tray icon for printers shows the number of active jobs in a little badge.

On the enterprise side, Plasma 6.7 makes it substantially easier to connect to shared printers on Windows networks, and a new print queue management tool offers more power than ever before to those administering multiple frequently-used printers - while remaining simple and comprehensible enough for home use, too.

Usability

Plasma 6.7 puts a particular focus on refining the desktop experience to make common tasks faster than ever. Here's just a small assortment:

Faster virtual desktop switching in the Overview

When you press Meta + W to open the Overview screen, Plasma 6.7 lets you switch virtual desktops simply by scrolling or pressing the Page Up or Page Down keys.

Drag and drop to add and remove favorites

It's now easier than ever to add or remove favorite apps in the Application Launcher, Application Menu, and Application Dashboard widgets: just drag and drop!

More intuitive software management

The Discover software center now features a more obvious "Install" button and redesigned app cards with more information, plus a more intuitive sorting order.

In addition, installed software is now grouped by type, making it easier than ever to find what you're looking for.

Easier to compare different time zones

How much earlier is it in Denver if you're in Berlin? No longer will a question like this require mental gymnastics; Plasma 6.7 makes it easy to see how many hours earlier or later it is in each time zone shown in the Digital Clock widget compared to your local time zone.

"Type-ahead" on the desktop

For power users, the desktop layout now supports switching to "type-ahead" mode for quickly selecting files when typing on the desktop. You can change this back to activating KRunner if you prefer by Right-clicking on desktop and selecting Desktop and Wallpaper > Icons > Typing on the desktop from the pop-up menu.

Theming and styling:
Something old, something new

Oxygen

In preparation for KDE's 30th anniversary later this year, we've brought the Oxygen theme - used by default in KDE 4 - back up to par with the current Breeze theme.

Air, the Plasma Style providing a light version of Oxygen, has also returned, and we've reworked our Global Themes to feature light, dark, and twilight versions. Both Air and Oxygen benefit from a multitude of fixes, improvements, and restorations, including support for adaptive opacity, different panel positions, and more.

The classic KDE 4 Air and Horos wallpapers also make a return.

Breeze

The default Breeze theme also continues to evolve, now featuring rounded list and grid view highlights for many applications, and visible click effects for menu items.

Plasma's Notifications have been given a fancier animation: they now slide in from the nearest screen edge. This makes them more visually prominent and less likely to be missed, while at the same time avoiding being too attention-grabbing.

Union

Though Plasma's theming capabilities are second to none, for years creating those themes has been a difficult and fragmented experience.

Plasma's all-new Union theming system intends to streamline theming by making it possible to style Plasma, QtQuick apps, and QtWidgets apps all with a single set of easy-to-write CSS - the world's most popular and documented open standard for this purpose.

Plasma 6.7 marks the inaugural release of Union, here with a tech preview of the QtQuick style.

You can find out more about the current state and future plans for Union on its developer's blog.

Colors, graphics, and performance

Plasma has always offered a superb graphical experience, and 6.7 piles on further improvements.

No longer do you have to choose between color management using an ICC profile or enjoying HDR content; now both are possible at the same time!

In addition, you can now control whether the colors on the screen turn redder at extremely low brightness levels on many AMD laptops.

Finally, the team put a great deal of work into optimization, resulting in better performance and lower power usage for CPU-rendered apps, many full-screen windows, and integrated Intel GPUs.

But that's not all…

Plasma 6.7 has even more to offer, including:

  • The ability to duplicate network connections, so you can quickly create several with only small differences between them - which can be useful in an enterprise or school setting
  • An option to sync mouse and stylus pointers
  • An option to set and change preferred calendar app
  • An option to assign keyboard shortcuts for toggling the global "push-to-talk" microphone mute mode and clearing the notification history, making these actions faster to trigger
  • An easy way of selecting mixed skin tone emojis in Emoji Selector app
  • A System Monitor app that respects your preference regarding storage units (e.g. "GiB" vs "GB")
  • A Global Menu widget that shows menus for apps on other screens by default
  • A "Recent Locations" item in the Application Menu widget
  • Customizable sorting and grouping in the Window List widget
  • Support for many more Wayland protocols and portals

To see a high-level overview of all user-facing changes, see the Plasma 6.7 wiki page.

To see the full list of all changes, read the complete changelog.

In memory of Eric Laffoon

Plasma 6.7 is dedicated to Eric Laffoon, who passed away in May.

Eric was a longtime supporter of KDE going back decades, offering up his time, money, bug reports, and advocacy.

Eric is sorely missed, and we dedicate this release to him.

16 Jun 2026 12:00am GMT

15 Jun 2026

feedPlanet KDE | English

New Kirigami-Addon's Onboarding Module

New Kirigami-Addon's Onboarding Module

Even well-designed applications can become difficult to understand when their main workflows involve multiple controls, pages, or unfamiliar interaction patterns. Expecting users to discover these features on their own may lead to frustration, abandoned tasks, and additional support requests. Kirigami-Addons' onboarding module addresses this problem by presenting contextual guidance directly in the user interface, highlighting relevant elements and explaining them when they matter. When implemented through reusable and non-intrusive components, it can improve the user experience without requiring substantial changes to the existing application code.

Kirigami-Addons' onboarding module provides a complete set of features for defining and running contextual walkthroughs in Kirigami applications:

Adding Onboarding to Your Kirigami Application

This section explains how you can add onboarding features to your Kirigami appplication.

Basic onboarding declaration

New Kirigami-Addon's Onboarding Module
Basic usage of Kirigami-Addons' onboarding module

After importing the onboarding module, mark a common ancestor of the UI elements with Onboarding.isSource. This source defines the area where the module creates its overlay, applies the background effect, and searches for onboarding steps. Steps are declared directly on descendant elements using attached properties. Here, Onboarding.texts associates guidance with the Create project button, while Onboarding.start() begins the walkthrough. Steps are presented in declaration order, allowing onboarding to be added with minimal changes to the existing QML structure. You can use Onboarding attached properties to highlight/explain individual controls, layouts/groups, and even sub-controls.

Defining multiple onboarding workflows

New Kirigami-Addon's Onboarding Module
Defining multiple onboarding workflows

The Onboarding.sourceGroups property declares the workflows available from a source area. The empty string represents the default workflow started by Onboarding.start(), while named groups, such as advanced, are started by passing their name to Onboarding.start().

Each step uses Onboarding.groups to select the workflows in which it participates. The entries in Onboarding.texts correspond by position to those groups, allowing the same UI element to provide different guidance in each workflow. In this example, Create project belongs to both workflows, while Enable version control appears only in the advanced one.

Extending onboarding tooltips with additional data

New Kirigami-Addon's Onboarding Module
Using additional custom data in onboarding tooltips

The Onboarding.additionalData property associates application-specific metadata with a step. In this example, the metadata provides an animated WebP and its caption. A custom component reads the current step through Onboarding.currentItem.additionalData and displays this content using AnimatedImage and Label. Finally, binding the component to Onboarding.additionalDataComponent inserts it into the default tooltip between the guidance text and navigation controls, allowing applications to enrich onboarding steps without replacing the complete tooltip implementation.

Examples

This is the example tutorial included in the Kirigami Addons repository. It demonstrates how the onboarding module can highlight individual controls, groups of controls such as layouts, and even sub-controls. It also shows how to attach additional data to onboarding steps, such as a video and its caption, and how to define multiple onboarding workflows within the same application.

New Kirigami-Addon's Onboarding Module

And this is the onboarding module in Minuet: a short guided walkthrough that highlights the most important parts of the exercise screen, explains what each control does, and helps new users understand the flow without leaving the application.

New Kirigami-Addon's Onboarding Module

The onboarding module provides a declarative and non-intrusive way to introduce users to important controls and workflows in Kirigami applications. With support for multiple workflows, dynamic interfaces, custom tooltip content, lifecycle hooks, and configurable visual effects, it can address both simple guidance and more advanced onboarding scenarios.

A possible direction for future work is allowing each onboarding step to wait for a specific user interaction before continuing. Instead of relying only on the Next button, a step could advance after the user clicks a highlighted control, changes a value, or completes an expected action. This would extend the module beyond explanatory walkthroughs and enable fully guided, interactive tutorials in which users learn application workflows by performing the actual operations.

Give the module a try in your application and share your experience, suggestions, and use cases. Feedback is especially welcome while these APIs are still being refined for an upcoming Kirigami Addons release.

15 Jun 2026 4:19pm GMT

14 Jun 2026

feedPlanet KDE | English

Introducing pkgcli: A nicer command-line interface for PackageKit

For almost two decades, the PackageKit package management abstraction layer has shipped with pkcon as its command-line client. pkcon does its job, but it was always kind of a "testing" front-end for the PackageKit daemon rather than a tool designed for everyday use. The focus has instead been on the GUI tools, automatic system updates, GUI application managers and other front-ends. Its command names mirror the D-Bus API almost one-to-one (get-details, get-updates, get-depends), output is very plain, and there is no machine-readable mode for scripting. Most importantly though, there has been no development on it at all for almost a decade, so pkcon was stuck in its rudimentary state from that era.

Since a lot of changes will be coming to PackageKit, and testing the daemon and working with it from the command-line was not very pleasant anymore in 2025/2026, I decided to modernize the tool as part of my work as fellow for the Sovereign Tech Agency last year. pkgcli is the new command-line client for PackageKit. It is built from the ground up to be pleasant to use interactively and easy to drive from scripts.

Why a new tool?

Of course, instead of introducing a new tool, I could have just expanded pkcon instead. The problem with that approach is that the pkcon utility has been around for so long and its command-line API had ossified so much, that rather than changing it and potentially breaking a lot of scripts relying on its quirks, I decided to introduce a new tool instead. pkcon can still be optionally compiled for people who need it in their scripts and workflows.

The goals for pkgcli, and the features it now has are:

Why not pkgctl?

Originally, this tool was called pkgctl, to match other common cross-distro tool names. However, that name was already taken by an Arch-specific distro development tool. When this issue was raised, we decided to just rename our tool to pkgcli with the next release, to avoid the name clash on Arch Linux.

Examples!

Here are some examples on how to use the new tool (some of which include the abridged output pkgcli prints).

Search for anything containing the string "editor" in name or description, then look at the details of one result:

$ pkgcli search editor
Querying [β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ] 100%
β–£ ace-of-penguins 1.5~rc2-7.amd64 [debian-testing-main]
β–£ acorn-fdisk 3.0.6-14.amd64 [debian-testing-main]
β–£ ardour 1:9.2.0+ds-1.amd64 [debian-testing-main]
βœ” audacity 3.7.7+dfsg-1.amd64 [manual:debian-testing-main]
βœ” audacity-data 3.7.7+dfsg-1.all [auto:debian-testing-main]
β–£ augeas-tools 1.14.1-1.1.amd64 [debian-testing-main]
β–£ emacs 1:30.2+1-3.all [debian-testing-main]
β–£ gedit 48.1-9+b1.amd64 [debian-testing-main]
β–£ gedit-common 48.1-9.all [debian-testing-main]
β–£ gedit-dev 48.1-9+b1.amd64 [debian-testing-main]
[...]
$ pkgcli show nano
Package: nano
Version: 9.0-1
Summary: small, friendly text editor inspired by Pico
Description: GNU nano is an easy-to-use text editor originally designed as
a replacement for Pico, the ncurses-based editor from the non-free mailer
package Pine.
[...]
URL: https://www.nano-editor.org/
Group: publishing
Installed Size: 2.9 MB
Download Size: 646.0 KB

Search only within package names rather than descriptions:

$ pkgcli search name python3

Check for updates. refresh updates the metadata, then list-updates reports what's available:

$ pkgcli refresh && pkgcli list-updates
Loading cache [β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ] 100%
β–² cme 1.048-1.all [debian-testing-main]
β–² gir1.2-gdm-1.0 50.1-2.amd64 [debian-testing-main]
β–² imagemagick 8:7.1.2.24+dfsg1-1.amd64 [debian-testing-main]
β–² imagemagick-7-common 8:7.1.2.24+dfsg1-1.all [debian-testing-main]
β–² imagemagick-7.q16 8:7.1.2.24+dfsg1-1.amd64 [debian-testing-main]
β–² libdlrestrictions1 0.22.0.amd64 [debian-testing-main]
β–² libfftw3-bin 3.3.11-1.amd64 [debian-testing-main]
β–² libfftw3-dev 3.3.11-1.amd64 [debian-testing-main]

Explore relationships between packages:

$ pkgcli list-depends inkscape # list what inkscape depends on
$ pkgcli list-requiring libappstream5 # list what requires libappstream5

Find the package that provides a capability, here the AV1 GStreamer decoder:

$ pkgcli what-provides "gstreamer1(decoder-video/x-av1)"
βœ” gstreamer1.0-plugins-bad 1.28.3-1.amd64 [auto:debian-testing-main]

You can also have JSON output for most commands! Attach --json to any query and pipe the result straight into jq. Each line is a self-contained JSON object:

$ pkgcli --json list-updates | jq -r '.name'
cme
gir1.2-gdm-1.0
imagemagick
imagemagick-7-common
imagemagick-7.q16
libdlrestrictions1
libfftw3-bin
libfftw3-dev
libfftw3-double3

Try it

pkgcli is built by default alongside the rest of PackageKit since PackageKit 1.3.4. If your distribution ships a recent enough PackageKit, it should already be on your PATH. You can read its man page man pkgcli for more information. Feedback, bug reports, and patches are very welcome.

14 Jun 2026 6:22am GMT

13 Jun 2026

feedPlanet KDE | English

KDE Android News (June 2026)

Quite a few things have happened around the Android platform support for KDE applications in recent months, so high time for another update on that.

Qt 6.11

As already mentioned previously, we have updated the Qt version to 6.11. That has the unfortunate consequence of losing support for Android 8 and older. Due to that we also removed the ARM32 builds, as devices running Android 9 or higher are very likely capable of using ARM64 builds anyway, cutting down the CI cost by a third.

The previously often annoying interactions between input focus and the virtual keyboard seems to have improved somewhat with Qt 6.11. Changes in how the back key/gesture is handled however also caused a few regressions, like a double page pop in more deeply nested applications (Kirigami MR 2100).

SafeArea support

While the previous focus of dealing with "safe" screen areas (ie. parts of the application window not being covered by screen cutouts or system controls like the Android status and navigation bars) had been on not breaking horribly due to Android's changed default behavior we have meanwhile been working on polishing this to actually look decent.

If you spot places where this still doesn't work correctly, let us know in the #kde-android Matrix channel!

Notifications

There's also a number of improvements and extensions for notification handling:

Screenshot of a chat notification from NeoChat showing the sender and room avatar images next to the message text.
NeoChat notification with avatar images.

Safe JNI usage

Interaction between our C++ code and Android's Java platform APIs happens via the so-called Java Native Interface (JNI). That's a rather low-level C interface with little to no type safety and the need for error-prone handwritten arcane signature strings. Already back in the Qt 5 era I had therefore written a few helpers for a more type-safe use of this in KAndroidExtras.

Much of this functionality is meanwhile available in Qt 6 in a very similar fashion, with the JNI array support being the latest addition in Qt 6.9. Compared to raw JNI use this is already a massive improvement, see e.g. MR 204 making use of this in KNotifications. It avoids practically all hand-written JNI signatures as well as much of the manual type conversion.

One part is still missing though, type-safe wrappers so that function arguments and property types are checked at compile-time. That has been extracted and rebased on top of Qt's JNI code in KJniExtras now. It's only 10% of the code, with most of the complex template magic gone.

As a small downside we are unfortunately losing the ability to test JNI code on Linux with this, as the old approach provided a mock implementation when not building for Android.

Calendar access

With the type-safe JNI wrappers small enough now to be copied as a single header file, this finally unblocked the move of the Android platform calendar backend from Itinerary upstream to KCalendarCore (MR 242).

Together with the calendar runtime permission API already in Qt, this should make e.g. an "add to calendar" feature for Kongress or KTrip easy to add now.

File dialogs and remote files

An often reported issue against several of our applications is that they seemingly don't do anything when opening a file via the platform file dialog. This happens for files on a cloud share, which the Qt Quick file dialog silently discards due to not being local files, making this look like as if the user has canceled the dialog to the application. Therefore just nothing happens and no error message is shown either.

Interestingly enough, that problem also happens on KDE Plasma, where the native file dialog also can select remote files, it's just much less common there. But since we can tell the Plasma file dialog to only allow selecting local files, this one is easy to fix (CR 742273, available in Qt 6.12).

On Android we don't have that option, nor would that be really satisfying anyway, opening files from a cloud share is a very valid usecase. Therefore there's now also a proposed change to the Qt Quick file dialog to optionally allow selecting arbitrary URLs, similar to what its Qt Widgets counter-part already offers (CR 743681). This wont automatically fix the problem, but it would at least give applications a chance to do something about this.

Locale-aware sorting

Something fairly basic that Qt on Android so far didn't do properly (at least when not bundling it with multi-10MB worth of ICU libraries) was locale-aware sorting. When using English you might not notice that, but in many other languages this results in weird and confusing lists. In German for example the letter "Γ„" gets basically treated like "A" for sorting, while so far it ended up after "Z" on Android.

There's now a proposed Qt patch (CR 741548) implementing a QCollator backend for Android using platform infrastructure. This uses Android's native ICU flavor when available and otherwise falls back to the less efficient and less featureful Java API.

Screenshot of KTrip's country selector, with Austria in German being sorted correctly between Oman and Poland.
Austria is no longer last in the list when using a German locale.

Crash reporting

While we have automatic crash reporting on Linux since some time (see e.g. Harald's LAS talk for more details), crashes on Android were not handled at all by our applications so far.

Based on discussions at the Graz Sprint in April this has now changed, KCrash can now detect a previous crash when starting an application, and offers to submit an automatic crash report to KDE's Sentry instance.

Those reports have been very helpful on Linux already, providing very important information about issues and allowing to prioritize those with the most impact, but it's nevertheless crucial we don't submit anything without user consent.

Android message box asking whether or not to submit a crash report.
Crash report dialog on next application start.

The bulk of the implementation is in KCrash MR 101, a few changes are necessary for integrating this into applications as well though.

In your build.gradle, add sentry-android-core as a dependency:

dependencies {
...
implementation 'io.sentry:sentry-android-core:8.43.0'
}

In your AndroidManifest.xml, add a meta-data entry configuring the Sentry DSN for your application:

<application ...>
<meta-data android:name="io.sentry.dsn" android:value="https://<token>@crash-reports.kde.org/<app-id>"/>
</application>

And finally, remove the build system and preprocessor conditions excluding KCrash use on Android. Note that verifying this part is crucial, without KCrash you'll get the aggressive default behavior of Sentry, uploading without user consent.

Inhibition

Earlier this year KGuiAddons got a new API for inhibiting system actions such as locking the screen. The obvious usecase for this is a video player, but e.g. Itinerary uses this as well for ensuring your screen stays on while showing a barcode to be scanned at a ticket check.

Android platform support for this has also been added (MR 203), allowing the removal of corresponding code in applications.

Outlook

While all of that is good progress, things are likely about to change. Later this year Google is planning to roll out measures making it significantly harder to provide and install applications on Android.

Logo of the Keep Android Open campaign

For more information check out Keep Android Open, a campaign supported by the KDE e.V. among many other organizations.

Regardless of how this will eventually materialize, the direction is clear, Android isn't going to be a viable long-term platform for FOSS software, not even in its Google-free form. I have mostly considered it a stop-gap solution until Linux on the phone is ready anyway, so this is another reason to increase the effort into that direction.

13 Jun 2026 6:45am GMT

This Week in Plasma: 6.7 is Very Close!

Welcome to a new issue of This Week in Plasma!

This week the Plasma team put the finishing touches on Plasma 6.7 with another big push on bug fixing. It's looking really good for release next Tuesday!

As a result, some feature work and UI polishing started to trickle in for Plasma 6.8.

Check it out:

Notable new features

Plasma 6.8

Plasma Browser Integration now supports the Flatpak version of Microsoft Edge. (Conley Dawson, KDE Bugzilla #521109)

Notable UI improvements

Plasma 6.6.6

Window actions that involve the mouse wheel no longer respect your "natural scrolling" preference; we reasoned that in this situation, up should always mean up and down should always mean down. (Vlad Zahorodnii and David Edmundson, KDE Bugzilla #442789)

Plasma 6.7

If you authorize an app to be able to remote-control the system without asking for permission first (for example, a remote desktop app), when it does so, now Plasma shows a notification that it's happening. (David Redondo, xdg-desktop-portal-kde MR #571)

When navigating by using the number pad keys to move the pointer, pressing multiple keys now moves the pointer in a direction halfway between them. (Vlad Zahorodnii, KDE Bugzilla #486520)

KRunner-powered searches now suppress results from the "Global Shortcuts" provider when there are better results from other ones, which makes the search results more relevant for common searches. (Oliver Beard, KDE Bugzilla #3710)

Changed the automatic day/night theme switcher to switch halfway between the start and end of dawn or dusk, rather than at the end. (Vlad Zahorodnii, Bugzilla #511973)

Added kde-shader-wallpaper to the list of allowed wallpaper plugins in Plasma Login Manager. (y4m y4m, plasma-login-manager MR #141)

Plasma 6.8

Improved Plasma's ability to detect dark GTK 2 themes and apply a matching icon theme, which should substantially reduce cases of illegible icons in old GTK 2 apps when using a dark color theme. (Luan Oliveira, kde-gtk-config MR #144)

The top edges of non-maximized Breeze-themed windows now have as much extra draggable area as the bottom and side edges already do. (Sergey Katunin, KDE Bugzilla #504225)

Made the portal-based permission dialogs more consistent in their presentation and wording. (Nate Graham, xdg-desktop-portal-kde MR #575)

Frameworks 6.28

You can now use the Meta key on its own to trigger KWin's Overview screen. (Vlad Zahorodnii, KDE Bugzilla #518302)

Improved the alignment of thumbnail previews in open/save dialogs. (John Doe, frameworks-kio MR #2249)

Notable bug fixes

Plasma 6.6.6

Fixed an issue that made KWin accidentally leak the CAP_SYS_NICE capability to child processes it launched, which would break the Bubblewrap sandboxing system when applied to those processes. (Vlad Zahorodnii, KDE Bugzilla #521013)

Fixed a bug that could make Plasma crash when changing the monitor layout during the login process. (Marco Martin, KDE Bugzilla #510477)

Fixed an issue that could make the "Today" button on the Digital Clock widget's calendar popup highlight the wrong day when in a time zone later than UTC and the local time was before midnight in UTC time. (Fushan Wen, KDE Bugzilla #521114)

The feature that lets apps screencast without asking permission no longer requires the screen setup to be identical to what it was when the permission was granted. (David Redondo, KDE Bugzilla #519122)

SVG-based wallpapers are now able to fully participate in the dark/light wallpaper switching feature. (David W., KDE Bugzilla #519168)

Fixed a bug that prevented explanatory text showing up as expected in the generic "[app] wants to do [thing]" portal dialog. (David Redondo, xdg-desktop-portal-kde MR #584)

Plasma 6.7

Fixed a very odd issue that would break the Icons-Only Task Manager widget if you created a file named metadata.desktop right inside your home folder. (Christoph Wolk, KDE Bugzilla #521247)

If you somehow manage to delete a multi-activity setup's active activity, Plasma now switches you to the next one instead of crashing and leaving you with a broken desktop. (Angel Parra, KDE Bugzilla #521124)

Fixed a case where Discover could crash while processing changes to distro packages. (Aleix Pol Gonzalez, discover MR #1335)

Fixed a case where Plasma could crash when waking from sleep after monitors were added or removed during sleep. (David Edmundson, KDE Bugzilla #https://bugs.kde.org/show_bug.cgi?id=521078)

Fixed a case where System Monitor would crash when quit while the column configuration dialog was open. (Nicolas Fella, KDE Bugzilla #491000)

Worked around an issue in GTK 4 that could make selected text in some GTK 4 apps become irritatingly de-selected. (Vlad Zahorodnii, KDE Bugzilla #517573)

Fixed a weird regression that could make the pointer inappropriately display the "app is launching" animation when minimizing windows using the Plastik window decoration style. (Vlad Zahorodnii, KDE Bugzilla #516264)

Fixed a regression that made non-random wallpaper slideshows start over from the first one at every login, instead of remembering the last-seen wallpaper. (Fushan Wen, KDE Bugzilla #512559)

Fixed a regression that made System Monitor's Process Table view display unformatted data. (Arjen Hiemstra, libksysguard MR #476)

Fixed a very weird issue that could make KWin get confused and stop running animations and animated effects properly after opening an app that creates an invisible window. (Vlad Zahorodnii, KDE Bugzilla #519789)

Fixed an issue that could sometimes make the Weather Report widget endlessly reload after waking the system from sleep. (Ce Sun, KDE Bugzilla #517280)

Made System Monitor graphs' axis labels show fractional values when needed. (Tobias Fella, KDE Bugzilla #521041)

Made it possible to un-favorite apps that are marked as favorites in Kickoff/Kicker/etc. even if they contain some weird character combinations. (Christoph Wolk, KDE Bugzilla #520894)

Fixed an issue that could make the notification icon in the System Tray get stuck in a half-rotated state if the animation got interrupted for any reason. (Kai Uwe Broulik, KDE Bugzilla #458156)

Fixed an issue that made a translated label turn into an English label after changing and saving settings on System Settings' Screen Locking page. (Sergey Katunin, KDE Bugzilla #521293)

Made the Color Picker widget not visually overflow when placed inside a Grouping widget. (Tobias Fella, KDE Bugzilla #517052)

Frameworks 6.28

Fixed a weird issue that could make Plasma freeze if you created a .desktop file, set its icon to be a local AVIF image, and put it on the desktop. (Akseli Lahtinen, KDE Bugzilla #521200)

Qt 6.11.2

Fixed an apparently fairly common way that Plasma could crash when fetching album art for remote media (for example, on YouTube) shown in Media Player widgets. (MΓ₯rten Nordheim, KDE Bugzilla #505490)

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.

13 Jun 2026 12:00am GMT