19 Apr 2025
Planet KDE | English
This Week in Plasma: many many things
Welcome to a new issue of "This Week in Plasma"! Every week we cover the highlights of what's happening in the world of KDE Plasma and its associated apps like Discover, System Monitor, and more.
This was a busy week, with tons of new features, improvements, and bug fixes! Hopefully everyone will find something to like here:
Notable new Features
Plasma 6.4.0
System Monitor's Applications page now groups background services into a new "Background Services" item so you can see at a glance how the non-application parts of the system are using resources as well without having to switch pages. (Arjen Hiemstra, link 1 and link 2)

The Bluetooth widget now lets you configure it to display a badge with the number of connected devices. (Nate Graham, link 1, link 2, and link 3)

Frameworks 6.14
KRunner is now aware of some archaic units like furlongs and rods, so you can convert them to more modern units. (Nate Graham, link)

Notable UI Improvements
Plasma 6.3.5
When adding a new printer, you now immediately have the option to set it as the default printer even if it's the only one added so far. This supports the use case where you're about to add another printer but want the first one to be the default. (Mike Noe, link)
Plasma 6.4.0
System Settings' Drawing Tablet page now shows a visualization of your stylus and its buttons so that it's easier for you to see how to configure it. (Joshua Goins, link)
System Settings' Drawing Tablet page now makes it easier to recover from mis-calibrating your tablet: now there's an auto-revert timer you need to explicitly dismiss, and a more prominent "reset" button if needed. (Joshua Goins, link)
System Settings' Recent Files page now uses standard grid item styling. (Nate Graham, link 1 and link 2)
Info Center now displays page load errors in a more humane way. (Nate Graham, link)
When you use the Task Manager's setting to make apps demanding attention not force an auto-hide panel to be visible, the config dialog will now show a message asking you to see if the app itself has an option to disable this behavior. Telegram Desktop does! (Nate Graham, link)
The portal-based open/save dialogs are now modal with their parent windows, just like non-portal versions already are. (Kai Uwe Broulik, link)
Discover, Info Center, and DrKonqi now respect your configured monospace font for their views that use monospaced text, rather than just using a fixed monospace font. (Noah Davis, link 1, link 2, link 3, link 4, and link 5)
Any password already typed into the login screen's password field is now cleared when switching users. (Nate Graham, link)
Opening a Plasma Vault now opens it in a new tab in Dolphin if it's not an activity-specific Vault in a multi-activity environment. In that case, a Dolphin window in another activity could get activated, which would close it immediately. (Nate Graham, link)
Frameworks 6.14
The common Kirigami.FormLayout
component that's used throughout System Settings and many apps now has a more visually pleasing style when there's not enough horizontal space to display everything in its normal mode: now when it switches to narrow mode, the content column is centered and its width capped. This looks much better when the view is very wide, which is common especially in System Settings with using the system in a language other than English or Chinese. (Nate Graham, link)

Scrollable views throughout QML-based KDE software now play nice animations for horizontal mouse wheel scrolling too, not just vertical mouse wheel scrolling. (Noah Davis, link)
Notable Bug Fixes
Plasma 6.3.5
Fixed a KWin crash caused by GPU resets. (Xaver Hugl, link)
Fixed a regression accidentally introduced in Plasma 6.3.4 whereby the Activity Switcher sidebar would be mis-positioned on multi-screen setups. (Niccolò Venerandi, link 1 and link 2)
The Meta+P shortcut to open the screen chooser overlay now works when you're using Qt 6.8.3 or 6.9.0, which changed a few DBus things and broke it. (Kai Uwe Broulik, link)
The grid items on System Settings' Recent Files page no longer inappropriately highlight when the whole grid view is disabled. (Nate Graham, link)
When using reversed mode on a Task Manager widget on a vertical panel, the group dialog popups are no longer inappropriately rotated 180°. (Nate Graham, Link)
In Discover, Header text for offline upgrades is now displayed correctly at very narrow window widths. (Nate Graham, link)
Plasma 6.4.0
Dragging items on the Kickoff Application Launcher's Favorites grid to re-arrange them no longer sometimes launches them afterwards. (Noah Davis, link)
On Wayland, screen mirroring is now aware of differences in mirrored screens' aspect ratios, and letterboxes the screen content as needed. (Xaver Hugl, link)
The clipboard popup that appears when you press Meta+V no longer sometimes appears on the wrong screen on X11. (Fushan Wen, link)
The Plasma Desktop no longer shows the wrong context menu if you right-click very very rapidly after a left-click, or while holding down the left mouse button. (Nate Graham, link)
Fixed a case where a warning message on System Settings' Drawing Tablet page could overflow off the page. (Joshua Goins, link)
The Digital Clock widget's config dialog no longer inappropriately asks you to confirm or discard changed setting when you navigate away after enabling and and then disabling a calendar plugin, or vice versa. (Christoph Wolk, link)
On Wayland, the Task Switcher preview visualizations no longer open in the wrong location on the screen. (Ismael Asensio, link)
If you've enable notification popups for KWin alerts about apps hanging, their text is now displayed correctly. (Roke Julian Lockhart Beedell, link)
Frameworks 6.14
Fixed a regression I accidentally introduced in Frameworks 6.13 that made the Telegram Desktop app show a symbolic icon rather than a colorful one on the Task Manager for panels that are 38 pixels thick or less. (Leandro Guedes and Nate Graham, link 1 and link 2)
Titles of System Settings pages are once again pixel-perfect identical no matter if the pages are implemented using QtQuick or QtWidgets. (Ismael Asensio, link)
Fixed an issue affecting every scrollable view in QML-based KDE software that made it fail to play scroll animations when using certain non-default mouse wheel scroll speeds. (Noah Davis, link)
Fixed an issue in the built-in KRDP remote desktop server that caused scrolling to trigger the default top-left hotcorner effect when connecting using the "xfreerdp" app. (Jack Xu, link)
Other bug information of note:
- 1 very high priority Plasma bug (same as last week). Current list of bugs
- 21 15-minute Plasma bugs (up from 20 last week). Current list of bugs
Notable in Performance & Technical
Plasma 6.4.0
Implemented support for the "Single-pixel buffer" Wayland protocol, which improves efficiency for apps that use it. (Xaver Hugl, link)
The code that checks for screen rotation is now disabled while the screen is off, saving some energy especially for mobile devices. (Bhushan Shah, link)
Frameworks 6.14
KWallet is now just a wrapper around the cross-desktop "Secret Service" system, plus a thin compatibility layer for apps that haven't migrated to use Secret Service directly. Read more about this here! (Marco Martin, link)
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.
You can help KDE by becoming an active community member and getting involved somehow. 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:
- Triage and confirm bug reports, maybe even identify their root cause
- Contribute designs for wallpapers, icons, and app interfaces
- Design and maintain websites
- Translate user interface text items into your own language
- Promote KDE in your local community
- …And a ton more things!
You can also help us by making a donation! Any monetary contribution - however small - will help us cover operational costs, salaries, travel expenses for contributors, and in general just keep KDE bringing Free Software to the world.
To get a new Plasma feature or a bugfix mentioned here, feel free to push a commit to the relevant merge request on invent.kde.org.
19 Apr 2025 5:00am GMT
18 Apr 2025
Planet KDE | English
Falkon 25.04 Release notes
This release includes new features and fixes for AdBlock, VerticalTabs, stability fixes, more usability features and translation updates.
General changes
- Add input method hints to main input fields (url, search bar, etc.).
- This allows on-screen keyboards to show more appropriate symbols or disable the auto correct feature.
- Show the URL of bookmark and history items in statusbar when hovered over in the menu or sidebar (BUG: 448238)
- Open all URLs in command line arguments (BUG: 413195), (Original author: abogical (Abdel-Rahman Abdel-Rahman))
- Add "Preffer color scheme" option (BUG: 439891), (BUG: 497331)
- Add option to add site permissions in preferences (BUG: 495391)
- VerticalTabs: Override Alt+NUMBER keyboard shortcut
- StatusBarIcon-Network: Restore online status detection
- KDEIntegration: Fix KIO scheme handler (BUG: 491247)
- Add option to block automatic popups
- Qt 6.9 compatibility fixes
AdBlock
- Add support for "rewrite" filter
- Add support for remove rule with simple CSS selector
- Ignore inactive hiding rules
- Add support for "websocket" option
- Rewrite Adblock Dialog (fixes crashes)

Changelog
- PyFalkon: port away from deprecated API (by Ilya K)
- PyFalkon: Disable broken tests (by Juraj Oravec)
- Update CHANGELOG for 25.04.0 release (by Juraj Oravec)
- Fix crash when loading folder in bookmarks toolbar (by Juraj Oravec)
- CI Flatpak - Add desktop notifications permission (by Justin Zobel)
- CI Flatpak - Add kwallet6 dbus permission (by Justin Zobel)
- CI Flatpak - Sort finish arguments (by Justin Zobel)
- CI Flatpak - Update flatpak runtime (by Justin Zobel)
- snapcraft: Fix crash by disabling webengine sandbox, we are already a (by Scarlett Moore)
- CI: Add linux-qt6-next build (by Albert Astals Cid)
- Add input method hints to input fields (by Juraj Oravec)
- Select newly opened tabs from links and scripts (by Juraj Oravec)
- Fix SiteSettings autotest (by Juraj Oravec)
- Adblock: Add support for "rewrite" filter (by Juraj Oravec)
- AdblockDialog: Add model for the tree view (by Juraj Oravec)
- Adblock: Add support for remove rule (by Juraj Oravec)
- Show history & bookmark url in menu on mouse hover (by Juraj Oravec)
- Block automatic popups (by Juraj Oravec)
- Use global settings for WebRTC on internal pages (by Juraj Oravec)
- VerticalTabs Override Alt+NUMBER keyboard shortcut (by Juraj Oravec)
- AdBlock: Ignore inactive hiding rules (by Juraj Oravec)
- Adblock: Add support for "websocket" option (by Juraj Oravec)
- AdblockDialog: Apply filter when tab changes (by Juraj Oravec)
- SiteSettingsDialog: Add context description for "Set" button (by Juraj Oravec)
- SBI-NetworkIcon - Restore online status detection (by Juraj Oravec)
- Open all URLs in command line arguments (by Juraj Oravec)
- Remove obsolete XSS Auditing option, has no effect (by Juraj Oravec)
- CookieManager: Fix crash when removing while/black list items (by Juraj Oravec)
- PyFalkon: Add missing Qz::ColorScheme enum type (by Juraj Oravec)
- Add "Preffer color scheme" option (by Juraj Oravec)
- Strip incorrect color iCCP profile from png images (by Juraj Oravec)
- Preferences: Fix editing per site user agent (by Juraj Oravec)
- Use angle backend for GPU acceleration on Qt 6.9+ (by Juraj Oravec)
- Add missing default SiteSettings for intenal pages (by Juraj Oravec)
- Add option to add site permissions in preferences (by Juraj Oravec)
- PyFalkon: Remove warning about QCborStreamReader (by Juraj Oravec)
- Update Changelog (by Juraj Oravec)
- Port away from QLocale:Country related code (by Juraj Oravec)
- B KIO scheme handler (by Juraj Oravec)
- Add missing settings.endGroup() when needed (by Juraj Oravec)
18 Apr 2025 12:00pm GMT
Web Review, Week 2025-16
Let's go for my web review for the week 2025-16. This is a long one, I have a treasure trove of more than a thousand old links I've been sitting on and I'm starting to push a few of the oldies but goodies.
The Post-Developer Era
Tags: tech, ai, machine-learning, gpt, copilot, business, hiring
This matches what I see. For some tasks these can be helpful tools, but it definitely need a strong hand to steer them in the right direction and to know when to not use them. If you're a junior you'd better invest in the craft rather than such tools. If you got experience, use with care and keep the ethical conundrum in mind.
https://www.joshwcomeau.com/blog/the-post-developer-era/
You cannot have our user's data
Tags: tech, ai, machine-learning, gpt, copilot, copyright, criticism
Sourcehut pulled the trigger on their crawler deterrent. Good move, good explanations of the reasons too.
https://sourcehut.org/blog/2025-04-15-you-cannot-have-our-users-data/
Company apologizes after AI support agent invents policy that causes user uproar
Tags: tech, ai, machine-learning, gpt, business, funny
I willadmit it… I laughed. And that's just one business risk among many.
Elon Musk's xAI allegedly uses 'illegal' generators to power Colossus supercomputer facility
Tags: tech, ai, machine-learning, gpt, twitter, ecology, economics
I hope people using Grok enjoy their queries… Because they come with direct environmental and health consequences.
Why the climate promises of AI sound a lot like carbon offsets
Tags: tech, ai, machine-learning, gpt, ecology, economics, politics
Don't confuse scenarios for predictions… Big climate improvements due to AI tomorrow after accepting lots of emissions today is just a belief. There's nothing to back up it would really happen.
These are not the same
Tags: tech, ai, machine-learning, gpt, copilot, surveillance, politics, economics
This is a question which I have been pondering for a while… what will be left when the generative AI bursts. And indeed it won't be the models as they won't age well. The conclusion of this article got a chill running down my spine. It's indeed likely that the conclusion will be infrastructure for a bigger surveillance apparatus.
https://tante.cc/2025/04/15/these-are-not-the-same/
LAPD Publishes Crime Footage It Got From a Waymo Driverless Car
Tags: tech, automotive, surveillance
You like having surveillance camera roaming around town? Well, you're covered…
https://www.404media.co/lapd-publishes-crime-footage-it-got-from-a-waymo-driverless-car/
Silicon Valley crosswalk buttons apparently hacked to imitate Musk, Zuckerberg voices
Tags: tech, hacking, politics, funny
This is definitely a funny hack. I wonder how long the people behind this knew about the vulnerability and waited for the right opportunity to do something with it.
CVE Foundation
Tags: tech, security, politics
Maybe something good will come out of the political turmoil around the CVE Program. This would be nice to see it more independent indeed.
https://www.thecvefoundation.org/home
HTTP headers for the responsible developer
Tags: tech, http
A good tour of the important HTTP headers.
https://www.twilio.com/en-us/blog/a-http-headers-for-the-responsible-developer
Common shell script mistakes
Tags: tech, shell, scripting
Writing shell scripts is still a craft. Interesting traps are presented here. Also, now better have shellcheck around for any non trivial script.
https://www.pixelbeat.org/programming/shell_script_mistakes.html
When Life Gives You Java
Tags: tech, programming, java
A few interesting tricks to apply to Java code. Some I already did, but the proposed model for algebraic data types I might add to my bag of tricks.
https://oblac.rs/2025-04-15-when-life-gives-you-java/
An Introduction to Modern CMake
Tags: tech, buildsystems, cmake
Looks like a nice resource for CMake. The documentation for it isn't always great especially for beginners, hopefully it should fill that gap.
https://cliutils.gitlab.io/modern-cmake/README.html
C++20 idioms for parameter packs
Tags: tech, programming, c++, metaprogramming
The language keeps evolving, this is a good reminder that some old idiom can be let go. Parameter packs still need some adjustments to become nicer though.
https://www.scs.stanford.edu/~dm/blog/param-pack.html
Raw loops for performance?
Tags: tech, c++, performance, maintenance, optimization
Nice little comparison of raw loops and ranges in C++. As always, measure before making assumptions… Unsurprisingly it ends up on the usual readability vs performance debate.
https://www.sandordargo.com/blog/2025/04/16/raw-loops-for-performance
The Salami Method
Tags: tech, c++, portability, architecture
Interesting architectural proposal for highly portable C++ based libraries.
http://videocortex.io/2017/salami-method/
Avoiding memory fragmentation in Rust with jemalloc
Tags: tech, system, memory, rust, c
If you forgot that the memory allocator can matter greatly depending on your workload.
https://kerkour.com/rust-jemalloc
Atomicless Concurrency
Tags: tech, cpu, hardware, multithreading
Nice trick for highly performance sensitive data structures. Making data CPU local instead of thread local you can make a mechanism which is especially cache friendly.
https://mcyoung.xyz/2023/03/29/rseq-checkout/
Performance Analysis and Tuning on Modern CPUs
Tags: tech, performance, optimization, book
Looks like a nice resource to get better at finding the root cause of performance regressions and optimising code.
https://products.easyperf.net/perf-book-2
Ramblings from Jessie: Setting the Record Straight: containers vs. Zones vs. Jails vs. VMs
Tags: tech, containers, linux, virtualization, security
A bit of a rant, but since it looks like people are still trying to consider all those technologies are equivalent… I think it's good to have an explanation on what makes containers different.
https://blog.jessfraz.com/post/containers-zones-jails-vms/
Reflections on Unikernels
Tags: tech, kernel, system
They keep being fascinating to me. Nice reflections showing how they can impact regular systems as well. I wonder why OCaml seems to be so prevalent in that space though.
https://dave.recoil.org/unikernels/
Datastar - The hypermedia framework.
Tags: tech, web, frontend, htmx
Looks like an interesting alternative to HTMX to come. Might go further enough that it has the potential to displace things like React as well.
Bilinear interpolation on a quadrilateral using Barycentric coordinates
Tags: tech, graphics, gpu, shader, 3d, mathematics
Wow, very smart approach to solve discontinuity issues when quads are turned into triangles.
https://gpuopen.com/learn/bilinear-interpolation-quadrilateral-barycentric-coordinates/
Shadertoys ported to Rust GPU
Tags: tech, 3d, shader, graphics, rust
Interesting stuff. This should ease greatly sharing code between shaders and the host application, especially for data specification which is easy to get wrong.
https://rust-gpu.github.io/blog/2025/04/10/shadertoys/
WebGL + Rust: Basic Water Tutorial
Tags: tech, 3d, graphics, rust, web
Nice tutorial for rendering water. It gets more complex from there but this one is doing quite a lot already.
https://chinedufn.com/3d-webgl-basic-water-tutorial/
A flowing WebGL gradient, deconstructed
Tags: tech, graphics, shader
Very nice deep dive into the reasoning behind a wavy gradient effect. It shows the best effect have several layers of refinements and tricks. Each trick is explained separately nicely, this is a good read.
https://alexharri.com/blog/webgl-gradients
Don't Compare Averages
Tags: tech, data, data-visualization
Just looking at averages is indeed quickly hiding patterns. Make sure distributions are visible in some fashion.
https://martinfowler.com/articles/dont-compare-averages.html
4 psychology principles every UX/UI designer should know
Tags: tech, ux, cognition
Important principles to have in mind for proper UX/UI designs. There are more of course, those are the bare minimum though.
https://uxdesign.cc/4-psychology-principles-every-ux-ui-designer-should-know-89876d3bb356
Why do AI company logos look like buttholes?
Tags: tech, design, marketing
It's meant to be humorous, but this says something interesting about how design and marketing evolves.
https://velvetshark.com/ai-company-logos-that-look-like-buttholes
Software development topics I've changed my mind on after 10 years in the industry
Tags: tech, programming, craftsmanship
A list of opinions on our field. It's personal and biased of course, so make that you want out of it. I agree with most I'd say. A couple are rather niche though.
https://chriskiehl.com/article/thoughts-after-10-years
Code As Documentation
Tags: tech, programming, engineering, documentation, codereview
A bit of a self-serving post towards the end. Still I like it because it clearly mention that it's not about dropping all documentation in favor of the code (quite the contrary in fact, documentation is very much needed). It really is about treating code like documentation, putting the same care into it in terms of readability and understandability. If you wonder what code reviews are for… it's also for this readability concern.
https://martinfowler.com/bliki/CodeAsDocumentation.html
Retrospective technique: "Retro Wedding"
Tags: tech, agile, retrospective
Interesting alternative retrospective format. The way of framing the questions might help get new ideas.
https://scalablenotions.wordpress.com/2014/05/15/retrospective-technique-retro-wedding/
Is your team cross-functional enough?
Tags: tech, team, management
Nice little exercise to quickly figure out if the skillset of a team properly matches their project.
https://blog.crisp.se/2009/02/27/henrikkniberg/1235769840000
Thoughts: XP Revisited
Tags: tech, agile, xp
A look back at XP practices with some interesting insights. This doubles as a good XP primer as well.
https://ronjeffries.com/articles/018-01ff/xp-revisited-1/
How to use Event Storming to introduce Domain Driven Design
Tags: tech, ddd, xp, architecture
Looks like a good set of tips of get more DDD practices in place without the badly understood vocabulary which usually comes with it.
https://philippe.bourgau.net/how-to-use-event-storming-to-introduce-domain-driven-design/
Starting Out - What works, how fast, and why?
Tags: tech, agile, coaching
How to get started with putting in place an Agile approach in a team? Clearly structure helps in the beginning. One caveat of the article though: don't read this as having to respect a book to the letter forever, it's merely a starting point.
https://ronjeffries.com/articles/017-08ff/starting-out/
The Agile Fluency Model
Tags: tech, agile
This model is probably still a better one than certifications or very heavy processes. Far from perfect of course, but at least it gives a compass to teams to see if they're going in the right direction.
https://martinfowler.com/articles/agileFluency.html
Are You Running from Problems or Solving Them?
Tags: tech, project-management, management, problem-solving, decision-making
If you spend your time in dull meetings and then run like a headless chicken… it's definitely a sign you should cut down on the meetings and keep only the ones focusing on solving actual problems.
https://www.jrothman.com/mpd/management/2014/05/are-you-running-from-problems-or-solving-them/
The dark side of the Moomins
Tags: culture, history
Are we sure the Moomins are really a cute tale? I always felt them slightly off, but indeed it goes much darker than I suspected.
https://www.newstatesman.com/culture/books/2025/04/dark-side-of-the-moomins-tove-jansson
Bye for now!
18 Apr 2025 9:51am GMT
KUnifiedPush Web Push Update
Since the 24.12 KDE Gear release we are shipping the client-side push notification infrastructure for applications such as NeoChat and Tokodon. For 25.08 this is receiving a major update to catch up with the evolving underlying specifications and standards.
Push Notifications
There is an older post describing this in more detail, but as a quick recap the following are the relevant components in a push notification system:
- The end-user application (also "user agent", "client"): This is the part of the application running on a user's device and is the thing you generally interact with, e.g. a Mastondon or Matrix client.
- The application server: The server-side part of the application that might want to notify its client about an important event, even if is that is not currently running. E.g. a Mastodon or Matrix server.
- The push server: The server-side part of the push infrastructure. It's what the application server sends its notification to, and it knows how to forward that to a client device.
- The push distributor: The part of the push infrastructure running on the user's device. It's usually a background service with a continuous network connection to the push server and when receiving a notification it launches the corresponding application.
UnifiedPush specifies the interfaces between the application and the push infrastructure parts, and that's what KDE's push notification implementation is built upon.
The UnifiedPush specification has evolved since we started this, mainly to achieve compatibility with the Web Push standard (RFC 8030). That's good as it gives us Web Push's security features and allows us to use existing Web Push infrastructure. It also simplifies application development as there's one less standard to worry about.
What this means for our implementation and for applications using our client library is listed below.
KUnifiedPush changes
New UnifedPush D-Bus specification
The new D-Bus interface specified by UnifiedPush mainly aims at making future changes easier in a backward compatible way but doesn't change things conceptually. This allows us to make this fully transparent to applications, as this only affects the communication between the KUnifiedPush client library and the distributor.
Even better, both the client library and our distributor support both versions of the D-Bus interface, so old clients not using our client library will work with the latest version of our distributor, and so will applications using the latest version of KUnifiedPush when facing an old distributor.
Message encryption
An important addition is a standardized way for doing message encryption (RFC 8291), avoiding that applications had to come up with their own way of doing this, or worse, not using message encryption at all.
The KUnifiedPush client library supports this by generating, persisting and providing the necessary keys as well as by taking care of decrypting incoming messages accordingly.
There's an example use here.
Implementing message encryption also exposed a small compatibility issue with the ntfy push server in some configurations, a fix for this is awaiting review upstream.
Voluntary Application Server Identification (VAPID) support
VAPID (RFC 8292) provides a mechanism to ensure that only the application server itself is sending push notifications to a client, not somebody else who happens to know the push endpoint.
Most of this happens between the application server and the push server, on the client we only have to do one thing: Pass the VAPID public key from the application server to the distributor.
In KUnifiedPush that's done with a call to Connector::setVapidPublicKey
, before calling Connector::registerClient
. As the latter constraint can be somewhat cumbersome to ensure when the VAPID key first has to be retrieved from the application server, there's an additional convenience method, Connector::setVapidPublicKeyRequired
. If VAPID is set to required registering for push notification is internally delayed until the key is provided, making integration into existing code usually pretty straightforward.
You'll find an example use here.
Message urgency
Another feature brought by Web Push is message urgency (RFC 8030 §5.3). The idea here is that a device can reduce the amount of received messages based on their urgency when energy or network resources are limited. So you'd get fewer wakeups when on mobile network with a low battery than when on Wi-Fi and connected to a charger.
This has no impact on the client side. On the distributor side we determine the current urgency threshold and communicate to the push servers in their respective protocols.
For now this is a rather theoretical exercise though, as we yet have to implement device sleeping/wakeup while waiting for push notifications to really make a difference regarding power consumption. Something to discuss at the upcoming Plasma (Mobile) Sprint in Graz.
Mozilla Autopush
Thanks to the alignment with Web Push we can now use Mozilla's Autopush push server as a backend, both their instance as well as a self-hosted one.
Note though that at least Mozilla's own instance requires applications to use VAPID, which for example isn't implemented in Tokodon yet. Additional compatibility considerations are listed here.
Self test
The system settings configuration module for push notifications now has a self-test action, which will send itself a push notification and verify that this was received correctly and sufficiently quickly again.
This isn't strictly related to the protocol changes, but improved diagnostics help a lot with managing the increased complexity.
Development tooling
Besides the self-test for end user setups we also have a new command line tool for submitting push notifications for testing during development. Previously this could be done easily with sending a HTTP POST with curl
, but with message encryption and VAPID signatures this isn't really feasible anymore.
For convenience the demo push notification client included in the KUnifiedPush repository now also outputs the corresponding command to send it a notification (which is rather lengthy due to passing all the necessary keys).
Outlook
With all this we should be up-to-date with all the relevant specification changes again, and while at it there also has been a bunch of improvements and robustness fixes in general. The next step is adapting applications to make use of all this.
18 Apr 2025 6:00am GMT
17 Apr 2025
Planet KDE | English
My Conf KDE India 25 Experience
I had an amazing opportunity to attend Conf KDE India this year. It was hosted in the wonderful city of Gandhinagar, Gujarat known for its well planned modern architecture and Khadi exports. I was really looking forward to see some familiar faces from last year's cki and meet new ones.
Day 0
I arrived a day before the conference in Gandhinagar. I really appreciate Bhushan for picking all of us from the airport, that was a very warm gesture. I had an early morning flight from Delhi so by the time I reached my hotel room I was really tired and dozed off for quite a while. Thankfully I woke up by evening, around the time when few of us decided to meet up for dinner. I also met Joseph for the first time in person, we have been working together on KEcoLab, a KDE Eco project so I was looking forward to meet him in person and suffice to say he is as warm and kind a person irl as he is when remote. After dinner, I worked on my slides and wrote a bit of qml code for my workshop. Rishi arrived later that day or rather early morning next day and we spent a bit of time tinkering with his Steamdeck before we dozzed off.
Day 1
The first day of Cki 25 started with Bhushan introducing what KDE Community is, what we do and why we do to the crowd which comprised mostly of eager local college students. This was followed by Vishal talking about "Embracing FOSS in Edtech" a pretty interesting talk about the widespread use of open source software in various Indian schools and state governments.
After the lunch break, Shubham talked about how he self hosts everything using open source softwares and encouraged achieving digital independence through it. It was a pretty interesting talk for me considering I am pretty close to using up my free storage I get with my google account so this was a nice motivating step for me to break away from google. This was followed by a remote talk by Soumyadeep about using GhVmCtl to test GUI applications directly with ci runners. I think this project is quite similar to selenium-webdriver-at-spi that KDE maintains so it was interesting to know gnome is also working on something similar. After the coffee break Ravi talked about using Prav an XMPP based free chat software as an alternative to Quicksy. He covered a lot about the importance of federated ecosystems, data privacy and how Prav is playing a crucial role in this. The last talk of the day was by Subin where he talked about using Malayalam language (a popular language from the State of Kerala wirh roughly 37 million speakers worldwide) on Ubuntu through maintaining the Varnam Project, which is an open source cross platform transliterator for Indian languages. I enjoyed his talk a lot personally because I also speak Malayalam (although I am not a fluent in it) and it was interesting to know the progress he made on making Malayalam language having first party support on linux.
Afterwards for dinner we had punjabi style north indian kulche and lassi, pretty delicious indeed 😋
Day 2
I started the second day by giving a workshop on "Building your first QML Interface". The idea was to build a small mvp of Whatsapp web interface (one of the most widely used chat application in India) in qml, although we werent able to completely build it but the feedback I got was that many were excited about qml and actively following along the workshop so I consider that a mild success. After this Shivam gave a talk about Clazy, its architecture, real world usage in KDE ecosystem and technical challenges faced in implementing static analysis. I am ashamed to admit I not used this tool much before but the talk definitely sparked my interest and I am keen to test it out and maybe integrate it into my workflow as well. This was followed by Joseph talking about End of 10 upcycling campaign also highlighting its importance in the Indian context, again another interesting talk.
After the lunch break, I enjoyed Rishi's talk a lot about using nix and integrating it into your workflow. I have used nix os in the past and my spare laptop still runs it so I was happy to see it being mentioned in a kde conf. After this Keith talked about the widespread use of open source software in Australian schools, the talk had quite the parallels to the widespread use of Linux in the Indian state of Kerala so it piqued my interests again. The last talk of the day was given by Sahil where he shared his experience running various mirrors for KDE, VLC, Libreoffice, Blender and many other open source softwares and how we can also do that, another pretty intriguing talk. I have had to battle with Qt mirrors in the past so to know what all goes behind the scene to host these mirrors made me appreciate it a lot more than before and you never know maybe I might host a few mirrors for Qt some day.
After the conference all the speakers met together for dinner and we had pretty delicious south indian food.
Day 3
The third day was more about Workshops and Unconference sessions. I started the day by giving a workshop on KEcoLab, how anyone can use our infrastructure (or rather KDAB's) to test their application's energy consumption and optimise it. This was followed by Advaith conducting a workshop on writing plugins for Suse's Cockpit, a web administration tool for linux machines. Afterwards we had an unconference session by Joseph on End of 10, it was a pretty engaging session by him and focussed a lot about the campaign's outreach in India. We had another unconference session on HackMud by Advaith, Hackmud is a text based multiplayer hacking simulator and was proposed by him as an alternative way to learn programming. This was followed by demo with steamdeck and plasma mobile on pinephone, and suffice to say everyone were excited to try out the devices. SuperTux was especially the fan favourite game 🐧
After the conference ended, we visited the Adalaj Stepwell, a stepwell located in the nearby small town of Adalaj Gujarat.
We ended the day by having dinner at one of the traditional gujrati thali place which had unlimited servings, this was my first time having a gujarati thali and I was blown away by its taste, specially the mango purée.
Day n/n
This was the last day of my stay in Gujarat and I ended my trip by visiting the local landmarks with Bhushan. We visited the Sabarmati Ashram, the main residence of Mahatma Gandhi and saw many artifacts from his time. I got a few souvenirs for my family from this place and We visited the Sabarmati Riverfront after this.
Regardless to say I had a blast attending the conference and it will be one of my best memories.
17 Apr 2025 7:50pm GMT
KDE Applications 25.04 Snaps and Kubuntu Plucky Puffin 25.04 Released!

Very busy releasetastic week! The versions being the same is a complete coincidence
https://kde.org/announcements/gear/25.04.0
Which can be downloaded here: https://snapcraft.io/publisher/kde !
In addition to all the regular testing I am testing our snaps in a non KDE environment, so far it is not looking good in Xubuntu. We have kernel/glibc crashes on startup for some and for file open for others. I am working on a hopeful fix.
Next week I will have ( I hope ) my final surgery. If you can spare any change to help bring me over the finish line, I will be forever grateful
17 Apr 2025 7:00pm GMT
Kubuntu 25.04 Plucky Puffin released
The Kubuntu Team is happy to announce that Kubuntu 25.04 has been released.
Codenamed "Plucky Puffin", Kubuntu 25.04 continues our tradition of giving you Friendly Computing by integrating the latest and greatest open source technologies into a high-quality, easy-to-use Linux distribution.
The release features the latest KDE Plasma 6.3 desktop, KDE Gear 24.12.3, kernel 6.14, and many other updated applications and libraries.
Applications for core day-to-day usage are included and updated, such as Firefox, and LibreOffice.
In addition to the applications on our install media, 25.04 benefits from the huge number of applications in the Ubuntu archive, plus those installable via snap or other methods.
Please refer to our release notes for further details.
Download Kubuntu 25.04 or learn how to upgrade from 24.10.
Note: For upgrades from 24.10, there may a delay of a few hours to days between the official release announcements and the Ubuntu Release Team enabling upgrades.
17 Apr 2025 4:18pm GMT
Krita Monthly Update - Edition 25
Welcome to the March 2025 development and community update.
Development Report
Text Tool Rework Progress
Wolthera is still buried in text work for 5.3.
- Add Language text property, which is important for font-shaping, line-break, word-break and text-transform. (Change)
- Better font unit conversion and other small fixes. (Change)
- Ensure alignment, dominant-baseline and baseline-shift follow CSS-inline-3 and SVG2. (Change)
- Rework text decorations so they are calculated as per css-text-decor-4. (Change)
Palettes
Several bugs in color palette editing have been fixed in the stable build, including failure to save group and number of rows, crash when adding a group to a palette in a document, and lag when adding a swatch. (bug 461521, bug 476589, bug 476607, bug 478715) (Change, by Mathias Wein)
In the unstable nightly builds, the Python Palette Docker has been re-added, which can manage palettes and export them to .gpl and .svg formats. (Change, by Freya Lupen)
Qt6 Port Progress
Krita 6.0.0-prealpha now supports PyQt6, and all built-in Python plugins have been updated to support it alongside PyQt5. (Change, by Freya Lupen)
User-made plugins will require updating by the author to work on Krita 6. Krita 6 will not be released any time soon, but for plugin authors who want to get a head start, see the change link for porting tips!
Wayland Testing
Krita doesn't yet support the Linux compositor Wayland, but it can now be enabled for testing purposes on the unstable nightly builds by setting the environment variable QT_QPA_PLATFORM=wayland. (Change, by Nicolas Fella)
Community Report
March 2025 Monthly Art Challenge Results
For the "Virtual Plein Air Painting" theme, 19 forum members submitted 26 original artworks. And the winner is… multiple entries by @Elixiah. Black Bear Pass:

Also check out the other entry, Druid Arch, Colorado.
The April Art Challenge is Open Now
For the April Art Challenge, @Elixiah handed the winner's honor of choosing the theme to second-place @Mythmaker, who handed it to third-place-tie @Katamaheen, who has chosen illustrating "Fairy Tales and Bedtime Stories" as the theme. The optional challenge is to design the artwork as a book cover. See the full brief for more details, and paint a familiar story with a new brush.
Featured Artwork
Best of Krita-Artists - February/March 2025
Nine images were submitted to the Best of Krita-Artists Nominations thread, which was open from February 14th to March 11th. When the poll closed on March 14th, these five wonderful works made their way onto the Krita-Artists featured artwork banner:
Krozz Defender by @Yaroslavus_Artem

Gagarin Scientific Research Station by @Dima

The Anger That Breaks from Within by @ryanwc



Ways to Help Krita
Krita is Free and Open Source Software developed by an international team of sponsored developers and volunteer contributors.
Visit Krita's funding page to see how user donations keep development going, and explore a one-time or monthly contribution. Or check out more ways to Get Involved, from testing, coding, translating, and documentation writing, to just sharing your artwork made with Krita.
Other Notable Changes
Other notable changes in Krita's development builds from Mar. 17 - Apr. 17, 2025, that were not covered by the Development Report.
Stable branch (5.2.10-prealpha):
- Brush Editor: Don't apply active mirror tool to the brushstroke preview. (bug report) (Change, by Scott Petrovic)
- ACB Palette: Use title for the palette name. (Change, by Halla Rempt)
Unstable branch (5.3.0-prealpha):
Bug fixes:
- Tools: Fix tool opacity being reset when switching brushes. (bug report) (Change, by D Kang)
- Tools: Fix sampling screen color when using multiple screens with different screen scaling. (Change, by killy |0veufOrever)
- Tools: Keep brush rotation during brush resize action. (Change, by Maciej Jesionowski)
- Layer Stack: When transforming a filter mask or its parent layer, show the content's bounds instead of the mask's entire canvas bounds. (Change, by Maciej Jesionowski)
- Animation Export: Fix failure to overwrite existing animation sequence. (bug report) (Change, by Emmet O'Neill)
- Animation: Make changing animation settings such as framerate and start/end frame undoable, and affect the document modified state. (bug report) (Change, by Emmet O'Neill)
- Usability: Make bundle activation/deactivation clearer, using a checkbox. (bug report) (Change, by Scott Petrovic)
- Canvas: Speed up canvas panning with rulers, by reducing the rate of ruler updates. (Change, by Maciej Jesionowski)
Features:
- Animation/Recorder: Update built-in FFmpeg to version 7.1. (Change, by Dmitry Kazakov)
- Batch Export Plugin: Add Bilinear filtering option. (Change, by Austin Anderson)
Nightly Builds
Pre-release versions of Krita are built every day for testing new changes.
Get the latest bugfixes in Stable "Krita Plus" (5.2.10-prealpha): Linux - Windows - macOS (unsigned) - Android arm64-v8a - Android arm32-v7a - Android x86_64
Or test out the latest Experimental features in "Krita Next" (5.3.0-prealpha). Feedback and bug reports are appreciated!: Linux - Windows - macOS (unsigned) - Android arm64-v8a - Android arm32-v7a - Android x86_64
17 Apr 2025 12:00am GMT
KDE ⚙️ Gear 25.04
System Tools
Dolphin
KDE's flexible file and folder browser/manager gets a makeover, starting with its new icon including an actual dolphin!
KDE developers and designers are working hard to improve Dolphin's accessibility and usability. Your favorite file explorer has improved its integration with Orca, Linux's de facto screen reader. This improvement was made possible thanks to the support of funding from the European Commission and NLnet.
Focus now works intuitively when you click on an element in the Places sidebar or click on Open Path and Open Path in New Tab in the context menu after searching for an item. And when in Selection mode (hit Space to get there), Dolphin lets you navigate files with the arrow keys and select them using Enter, bypassing the need to hold down Ctrl. Subtle changes like these, boost productivity and make Dolphin easier to use for everyone.
This version of Dolphin also makes it harder to make catastrophic mistakes. The "Empty Trash" icon is now red, indicating that this is a dangerous action that cannot be undone. And the Restore context menu item has moved away from Delete to keep you from accidentally doing the opposite of what you want, which could lead to data loss.

In our quest to support an ever-growing audience, Dolphin now comes with initial support for right-to-left written languages, such as Arabic or Hebrew.
Type dolphin --reverse
in a terminal window to try it out! Thanks to the European Commission and NLnet for funding this work.
More changes to Dolphin include:
- You can rename tabs: right click on the tab and choose Rename tab.

-
Adding an item to the Places panel will now show its folder's custom icon, and the item will be created globally by default, so it appears in the file dialogs' Places panels too.
-
Dolphin's layout is now tidier, packing the three view buttons into a single menu button.
-
The status bar is now much more compact, preserving more space for the file view.
Konqueror
KDE's 25-year-young file/web browser keeps receiving updates. This time it's the Save As dialog that now remembers where a file was last downloaded and will show that location the next time you pick the option.

KRDC
KRDC is the app that allows you to view and control the desktop session on another machine, whether it's on the same local network, or over the Internet 1,000 kilometers away.
This version allows you to scale down the remote machine's desktop to fit inside KRDC's window, adds support for the domain field in the authentication process, and now works with the new version of the FreeRDP protocol.
KDE Connect
KDE Connects bridges the gap between your phone and computer. This version improves the speed of transferring data when using Bluetooth.
Travel Assistants
Itinerary
Every new version of Itinerary increases the number of transport and event services supported in the app. This one adds support for Bilkom and PKP PDF tickets, International Trenitalia ticket barcodes, Danish language support for Booking.com, ticket emails for Universe (e.g. Lollapalooza), and many east European travel companies, especially from Poland, Slovenia, and the Czech Republic.
Not only that, but this version adds a My Data page where you can keep track of your program memberships, health certificates, saved locations, and travel statistics. It also lets you import and export all that data.

This version features a redesign of the timeline and the query result pages when searching for a public transport connection. They now work better with a small screen, while still showing all the relevant information, like platform information for bus reservations. It also unifies the formatting of temperature ranges depending on the home country, and shows Imperial speed units for countries that use them.
Kongress
The app that helps you navigate congresses, summits, and other events now includes the name of the speaker for each talk.

Productivity Tools
Merkuro
Merkuro provides a modern suite of groupware utilities, including contact management, calendar, tasks, and soon email.
Merkuro Calendar's region settings for holidays is now configurable, so you can also select more than one region. You can also show holidays in the week view and the month view.

Other new features included in this version are that you can filter tasks to only display the ones due today, and the contact list now supports multiple selections as well as applying actions to all selected contacts.
Kontact
The feature-rich Kontact suite of groupware applications provides an extensive array of tools to manage everything, from your email and calendars, to RSS feeds and journals.
Improvements to KMail's security features make it easier to check the validity of an unknown OpenPGP certificate, as it now automatically checks a key server when you click on it.
KOrganizer gets a new date picker that makes navigating to a selected date faster.
Okular
Okular, KDE's document viewer, ramps up its support for digital signing with support for PGP/GPG based signatures. PGP signatures have the advantage of being a lot easier to get a PGP
key than a S/MIME
key - something that Okular has supported for a while. Note that this feature is not yet enabled by default, and for the moment only works between Okular users.

Apart from supporting more types of signatures, you can now filter the list of certificates to only show certificates for Qualified Signatures. The mobile version of Okular has also improved how it displays signature and certificate details.
Furthermore, when creating a new signature, Okular will now automatically scale the text to fit the available space. This allows you to make signatures much smaller than before.
In non-signing related news, it's now possible to choose a custom default zoom level in Okular, and the look of the banner messages has been tidied up.
Keysmith
Keysmith supports importing tokens from QR codes and the unmaintained app andOTP.
Creativity
Kdenlive
Kdenlive is KDE's powerful video editor, which can now import and export projects using the OpenTimelineIO format. This allows importing and exporting projects files to/from other video-editing applications that implement this open standard.
The audio waveform viewer was completely rewritten in this version; it's now twice as fast to generate and much more accurate. In addition, the clip monitor background can optionally use a checkerboard pattern.

KWave
KWave is an audio editor. This version significantly improves playback performance.

Connections
NeoChat
NeoChat lets you chat using the Matrix messaging system. This version can now sort rooms in the sidebar based on their most recent activity instead of by unread notifications. NeoChat also gains a "Copy Link Address" item in the context menu when you right-click on a message with a web link in it.
Tokodon
Tokodon is you gateway to the Mastodon social network. You can use it on your desktop and your phone (although the Android version is still work-in-progress).
This version allows you to save drafts of toots and schedule them to be sent later - even if you're away from your computer and it's turned off.

A healthy relationship with social media runs though filtering out what you don't want to see. Mastodon has done its part and now so has Tokodon, as this version includes a menu item under the Filters timeline to help you configure what shows up in your feed. Tokodon now also hides tags and polls when the post has a content notice, and includes a button to mute conversations so you don't get any notifications for conversations you aren't interested in.
To make sure you don't accidentally overshare or boost the wrong thing from the wrong place, Tokodon now features a confirmation dialog that pops up before the post is sent. Tokodon will now also remind you to add an alt text to your images.
Finally, Tokodon now works better with screen readers and has better performance.
Falkon
KDE's web browser can now also block websockets.
Development
Kate
Kate is KDE's advanced text editor. In this version, Kate adds support for the debputy
language server, used when writing Debian packages.
You can now add paths to the PATH
environment variable used by Kate, which is useful if you use LSP servers, formatters, or linters not present in your default PATH
variable.
The build plugin, which allows you to trigger a rebuild from Kate's interface, now supports multiple projects being open at the same time without having to constantly reload the list of targets every time you switch projects.
KDevelop
KDevelop is KDE's full-fledged IDE. This version supports the Language Server Protocol (LSP) in addition to the native support for C++, PHP and Python. This reuses Kate's LSP plugins, so at the moment, it is only available when Kate is also installed.
Downtime
Arianna
Arianna is a modern and easy to use eBook reader. Arianna's new rendering engine based on foliate.js makes KDE's eBook reader faster and gives it better support for languages that are written right-to-left books.
Kasts
Kasts connects you to your favorite podcasts, both on your desktop and on your phone. In this version, you can choose whether you want to use mobile or desktop mode, and the configuration dialog now works better on mobile devices.
Elisa
Elisa is a simple local music player. In this version, Elisa will play files automatically when opened from a different app (e.g. Dolphin).
Audiotube
AudioTube is the best way to look for and play music on YouTube. This version gains the ability to show synchronized lyrics provided by LRCLIB.

Full changelog here
Where to get KDE Apps
Although we fully support distributions that ship our software, KDE Gear 25.04 apps will also be available on these Linux app stores shortly:
If you'd like to help us get more KDE applications into the app stores, support more app stores and get the apps better integrated into our development process, come say hi in our All About the Apps chat room.
17 Apr 2025 12:00am GMT
16 Apr 2025
Planet KDE | English
Haruna 1.4
Haruna version 1.4.0 is released.
Added support for recursive subtitle search, rotating video and opening youtube playlists from a video url containing a playlist id https://www.youtube.com/watch?v=video_id&list=playlist_id
Fixed issues with tracks menus showing incorrect tracks and changed the behavior of progress/seek slider while pressed to pause the video.
Windows version:
Availability of other package formats depends on your distro and the people who package Haruna.
If you like Haruna then support its development: GitHub Sponsors | Liberapay | PayPal
Feature requests and bugs should be posted on bugs.kde.org, ignoring the bug report template can result in your report being ignored.
Changelog
1.4.0
Features
- Added setting to search subtitles recursively. Searches folders relative to the parent folder of the playing file and folders defined by the `Load subtitles from` setting
- Added support for opening youtube playlists from urls containing a playlist id
- Added actions to rotate video clockwise (ctrl + r) and counter clockwise (ctrl + e)
Bugfixes
- Fix tracks menus showing tracks from previously opened files
- Fix subtitles added by drag and drop not being added to the subtitles menu
- While the progress/seek slider is pressed the video is paused, fixes continuously opening the next video when dragged and held all the why to the end
16 Apr 2025 6:00pm GMT
Results of RIT-KaChaTaThaPa-Sayahna open font competition 2025
In first of a kind movement to develop free and open source fonts for traditional Malayalam scripts, the Rachana Institute of Technology, KaChaTaThaPa Foundation and Sayahna Foundation had previously announced font design competition in May 2024.
Many participants registered from all over India and shared their initial design of a few selected characters. Ten submissions were shortlisted, and the selected participants were invited for a two-day in person workshop conducted at River Valley campus, Trivandrum. The workshop was lead by the jury members - Dr. KH Hussain who designed notably Rachana and Meera fonts (among many other); eminent calligrapher and designer of Sundar, Ezhuthu, Karuna & Chingam fonts, Narayana Bhattathiri; type designer and multi-scripts expert Vaishnavi Murthy; and yours truly. High quality sessions & feedback from the speakers and lively interactive sessions enlightened both experienced and non-technical designers about the intricacies of typeface design.

Refinement
To manage the glyph submissions for collaborative font projects, a friend of mine and I built a web service. The designers just need to create each character in SVG format and upload into their font project. This helped to abstract away from the designers all the technical complexities, such as assigning correct Unicode codepoint, correct naming convention, OpenType layout & shaping etc.
There was mid-term evaluation of the completed glyph set in October 2024; and a couple of online sessions where the jury pointed out necessary corrections and improvements required for each font.
The final submissions were done near the end of December 2024; and further refinements ensued. All the participants were very receptive to the constructive feedback and enthusiastic to improve the fonts. The technical work for final font production was handled by your humble correspondent.
Results
In March 2024, the jury made a final evaluation and adjudged the winners of the competition. All the six fonts completed are published as open source, and they can be downloaded from Rachana website. See the report for the winning entries, font specimens & posters, prize money, and all other details.
RIT Thaara (താര), calligraphic style, named after Sabdatharavali.
RIT Lekha (ലേഖ), body text font.
RIT Lasya (ലാസ്യ). The Latin glyphs were drawn independently based on Akaya Kannada font, as suggested by a jury member.
RIT Ala (അല).
RIT Keram Bold (കേരം).
RIT Indira Bold (ഇന്ദിര).
I am very happy to have the chance to collaborate over the course of a year with designers from various backgrounds to develop beautiful traditional Malayalam orthography fonts and make them all available under free license. I would like to thank the jury members who did exemplary work in evaluating the designs and providing constructive feedback & guidance multiple times that helped to refine the fonts; CVR for the work to create web pages on Rachana website; and the three Foundations for the initiative and funding to make this all possible. Full disclosure: all the jury members worked in volunteer capacity.
Next competition
RIT-KaChaTaThaPa-Sayahna foundations have already announced plans for next open font design competition! This time the focus is on body text fonts.
- Competition details in English (or https://rachana.org.in/fcomp-2026-ann.html)
- Competition details in Malayalam
- Register here.
16 Apr 2025 9:14am GMT
QML Debugging in Visual Studio Code
We're excited to announce a major step forward for QML development workflows with the upcoming 1.5.0 pre-release of Qt Qml Extension for Visual Studio Code. As part of this release, we've introduced initial support for QML debugging in VS Code - a feature that brings long-requested functionality closer to everyday usage for QML developers using lightweight and cross-platform tooling.
16 Apr 2025 8:36am GMT
Qt AI Assistant v0.9 Released – Deploy LLMs Locally and Enjoy the Upgraded User Experience
With the 0.9 release, you can unshackle yourself from cloud LLM providers, at least for code completion. We support CodeLlama-7B-QML and DeepSeekCoder v2 Lite now. You can run them with Ollama, the LLM self-hosting technology, on your computer with a few clicks and a single CLI command.
16 Apr 2025 7:59am GMT
14 Apr 2025
Planet KDE | English
What’s new for Fedora Atomic Desktops in Fedora 42
Fedora 42 has been released! 🎉 So let's see what is included in this new release for the Fedora Atomic Desktops variants (Silverblue, Kinoite, Sway Atomic, Budgie Atomic and COSMIC Atomic).
Note: You can also read this post on the Fedora Magazine.
New COSMIC Atomic variant
The new COSMIC desktop has been packaged for Fedora and a new Atomic variant created for it thanks to Ryan Brue. It is not yet available on the website but should be soon. See fedora-websites#351. Edit: It is now live: Fedora COSMIC Atomic.
See the Fedora change request.
Changes for all variants
composefs enabled by default
Following Fedora CoreOS in Fedora 41, Fedora Atomic Desktops are now using composefs by default. This is an important first step towards better integrity for the system content.
Note: As a side effect of this change, the systemd-remount-fs.service
unit may fail to start on your system. Until we find a good way to fix this, you can find a workaround to apply in the atomic-desktops-sig#72 issue or in the common issue thread on the forum.
See the Fedora change request and the tracking issue atomic-desktops-sig#35.
Migration to a static GRUB config
As part of the move to composefs, we had to migrate systems to using a static GRUB config.
This also removes the duplicated entries in the boot menu for installations that pre-dates Fedora 41.
The transition will happen automatically during the first boot on Fedora 42. You can verify that it worked by looking at the status of the bootloader-update
service:
$ sudo systemctl status bootloader-update.service
We are still missing documentation on how to change some GRUB settings now that the configuration is static. See the tracking issue atomic-desktops-sig#73.
Custom keyboard layout set on installation (for LUKS unlock)
This fix is important for setups where the root disk is encrypted with LUKS and the user is asked a passphrase on boot. The keyboard layout is now set as a kernel argument during the installation by Anaconda. If you want to later change the keyboard layout used for the LUKS password prompt, you will have to update the kernel argument.
Example to set the keyboard layout to the french keyboard:
$ sudo rpm-ostree kargs --append=vconsole.keymap=fr
Example to replace an existing layout by another:
$ sudo rpm-ostree kargs --replace=vconsole.keymap=de
No longer building for PPC64LE
According to the countme statistics, we did not have users on PPC64LE, so we decided to stop building the Fedora Atomic Desktops for that architecture.
If you relied on those images, you can migrate to Fedora Bootc images (which are available for PPC64LE) or use a conventionnal Fedora package based installation.
See the Fedora change request.
What's new in Silverblue
GNOME 48
Fedora Silverblue comes with the latest GNOME 48 release.
For more details about the changes that alongside GNOME 48, see What's new in Fedora Workstation 42 on the Fedora Magazine and Looking ahead at 2025 and Fedora Workstation and jobs on offer! from Christian F.K. Schaller.
What's new in Kinoite
KDE Plasma 6.3
Fedora Kinoite ships with Plasma 6.3, Frameworks 6.11 and Gear 24.12.
See also What's New in Fedora KDE Plasma Desktop 42? on the Fedora Magazine.
What's new in Sway Atomic
Nothing specific this release.
What's new in Budgie Atomic
The default software center for Budgie Atomic is now Plasma Discover. To rebase from Fedora 41 to 42, you will have to use the command line as rebasing via GNOME Software will move your system to Fedora Silverblue.
See: fedora-budgie/project/issue/5.
Changes in unofficial images
Until we complete the work needed in the Fedora infrastructure to build and push official container images for the Atomic Desktops (see releng#12142 and cloud-image-uploader#37), I am providing unofficial builds of those. They are built on GitLab.com CI runners, use the official Fedora packages and the same sources as the official images.
You can find the configuration and list on gitlab.com/fedora/ostree/ci-test and the container images at quay.io/organization/fedora-ostree-desktops.
Container images signed with cosign (sigstore)
The unofficial container images are now signed with cosign. You can configure your system to verify the signature of the images using the instructions from the project README.
Container images available for aarch64
We are now building all our variants for the aarch64 architecture as well.
Goodbye to Sericea and Onyx (now Sway Atomic & Budgie Atomic)
We have now removed all container images under that name. Use the new names:
- Sericea: sway-atomic
- Onyx: budgie-atomic
Unofficial, experimental Fedora Asahi Remix Atomic Desktops
We are now producing unofficial, experimental bootable container images targeting Apple Silicon, using the packages from the Fedora Asahi Remix project.
Those images are in a working state, but the installation procedure is not ready for general use. We thus only recommend that you give this a try if you are ready to help with the development or are ready to re-install you system and lose data.
See: fedora-asahi-remix-atomic-desktops project on GitHub
See also the Fedora Asahi Remix 42 is now available posts on the Fedora Magazine.
Note that those images currently do not support the x86 emulation detailed in New in Fedora: Running x86 programs on ARM systems.
Universal Blue, Bluefin, Bazzite and Aurora
Our friends in the Universal Blue project (Bazzite, Bluefin, Aurora) have prepared the update to Fedora 42. Look for upcoming announcements in their Discourse.
I heavily recommend checking them out, especially if you feel like some things are missing from the Fedora Atomic Desktops and you depend on them (NVIDIA proprietary drivers, extra media codec, out of tree kernel drivers, etc.).
What's next
Roadmap to Bootable Containers
The next major evolution for the Atomic Desktops will be to transition to Bootable Containers. See also the Fedora bootc documentation.
We have established a roadmap (atomic-desktops-sig#26) and we need your help to make this a smooth transition for all of our existing users.
Turning the sysext experiment into a good experience
Systemd system extensions (sysexts) are a new option when you need some applications available on your system and can not run them in containers or as Flatpaks for various reasons. They offer an alternative approach to package layering as they do not increase update time and can be enabled or disabled as needed.
Support for sysexts is still in development for the Atomic Desktops but they already provide advantages over package layering for some use cases. See the currently experimental project: github.com/travier/fedora-sysexts.
Unifying the Atomic Desktops documentation
We would like to unify the documentation for the Fedora Atomic Desktops into a single one instead of having per desktop environments docs which are mostly duplicate of one another and need to be constantly synced.
See the tracking issue atomic-desktops-sig#10 if you want to help us do that.
Where to reach us
We are looking for contributors to help us make the Fedora Atomic Desktops the best experience for Fedora users.
- Atomic Desktops SIG: Issue tracker (gitlab.com/fedora/ostree/sig), #atomic-desktops:fedoraproject.org
- Silverblue: Workstation Working Group, #silverblue:fedoraproject.org
- Kinoite: KDE SIG, #kinoite:fedoraproject.org
- Sway Atomic: Sway SIG, #sway:fedoraproject.org
- Budgie Atomic: Budgie SIG, #budgie:fedoraproject.org
- COSMIC Atomic: COSMIC SIG, #cosmic:fedoraproject.org
14 Apr 2025 10:00pm GMT
Qt Extension 1.4.0 for VS Code released
We're happy to announce the release of version 1.4.0 of the Qt Extension for Visual Studio Code! This release cooked for a bit as pre-release 1.3.0 on the marketplace and has now been promoted to a proper release. Take a look at what's new in this release.
14 Apr 2025 2:34pm GMT
Towards a transition from KWallet to Secret Service
Historically passwords and credentials in all of our apps and services (such as kio and our Network Manager plasmoid), are stored and managed by our KWallet subsystem and API. In a similar way, GNOME had gnome-keyring, and other similar systems were available. A major problem was the mutually incompatible interface between them, making impossible to have a single place where all the passwords go.
For this reason, a standard DBus interface called Secret Service has been developed, and systems like KWallet, gnome-keyring and KeepassXC have adopted the interface as well.
In the future, we want to eventually port our applications to use the Secret Service API directly, preferably via the QtKeychain library (some applications already do), which will use Secret Service natively on Linux. And as a bonus the Windows/Android native systems on those platforms will work too.
This will make our applications work much better, be more integrated in other desktops or platforms, and be less dependent on the KWallet framework which has big legacy code parts at this point.
Right now, KWallet has the option to bring up a Secret Service compatible interface, and this is a valuable first step, but there are still some potential problems in the migration path:
- Applications using Secret Service will store their secret data in different places when running in different environment, including our own that have been migrated. If you login into a different session ,every app will have forgotten its credentials.
- It's possible to use a different Secret Service provider also in a Plasma session, for instance enabling it in KeepassXC. At that point some apps will save into it, while other ones will keep using KWallet with a different storage backend.
- Applications ported from KWallet to SecretService will lose their credentials, unless some clunky porting code is written for each application.
A KWallet compatibility layer
Enter the recent refactor that happened in KWallet: it has now been split into 2 different system services now: one that exposes only the Secret Service API, and one that exposes only the KWallet API.
The service exposing the KWallet API has been written from scratch and is now just a thin wrapper around the Secret Service API, translating the KWallet DBus calls to Secret Service ones. The old KWallet service is now a pure Secret Service provider that just happens to use the old KWallet backend, exposing to Secret Service all the entries that had already been stored in the past.
This decouples our KWallet compatibility layer for existing or old applications (not only KDE applications, also third party ones like Chromium use it) with our actual secret storage and SecretService implementation, allowing a separate development roadmap, and even potential future transition to a different backend in a completely transparent way to the user.
You can see this decoupling in the same spirit as the recent KWin Wayland/X11 split: being able to develop the new technology without risking breaking compatibility of the legacy system.
What it means for users and developers
For the immediate future, not much really changes: users will still have all their secrets accessible, and every app they use that was using KWallet will keep working without forgetting anything.
In the same way, for developers, the whole KWallet C++ API keeps working exactly as it was (even though we're discouraging its use in new projects). Also, the KWallet-to-Secret-Service API proxy layer will save data inside Secret Service with the same schema used by QtKeychain, keeping the data accessible if the application gets ported from using the KWallet C++ API to QtKeychain.
An experimental feature
Disclaimer: The following description is of an experimental feature behind a hidden configuration key: it will take a bit before it's deemed ready for prime time.
One advantage of having 2 independent services to handle the KWallet API and the Secret Service one is that now it's possible to chose different backends as well, such as KeepassXC, gnome-keyring or oo7.
Setting the following in kwalletrc:
[Migration]
MigrateTo3rdParty=true
[KSecretD]
Enabled=false
With this, the old KWallet backend (now a service called ksecretd) won't be started anymore, and instead any Secret Service provider that is running or has been configured to be DBus-activatable will be used. The first time this happens, a data migration procedure will be executed, writing the data in KWallet into the new service, keeping all the user-saved secrets accessible.
14 Apr 2025 1:30pm GMT