Skip to content

Monday, 9 March 2026

The last maintenance release of the 25.12 series is out with the usual batch of stability fixes and workflow improvements. Highlights include small interface refinements such as better dock widget behavior, improved shortcut handling in fullscreen mode, logically grouped marker menu items, and a new option to disable timeline effects in the hamburger menu. The release also brings improvements to multistream clip handling and ripple editing, as well as fixing small memleak in the render widget and a crash in the curve editor. See the changelog below for more details.

The macOS versions will be available at a later time due to technical issues while generating the packages.

Kdenlive needs your support

Our small team has been working for years to build an intuitive open source video editor that does not track you, does not use your data, and respects your privacy. However, to ensure a proper development requires resources, so please consider a donation if you enjoy using Kdenlive - even small amounts can make a big difference.

For the full changelog continue reading on kdenlive.org.

Sunday, 8 March 2026

New Glaxnimate release, source mode in Marknote and S3 support in Dolphin

Welcome to a new issue of "This Week in KDE Apps"! Every week (or so) we cover as much as possible of what's happening in the world of KDE apps.

Office Applications

Marknote Write down your thoughts

It's been a busy week in Marknote again. Valentyn Bondarenko extensively reworked tables to fix rendering issues (office/marknote MR #143 and office/marknote MR #169).

Valentyn Bondarenko also added a new dialog to add note links more easily (office/marknote MR #161) and added subtle animations to various parts of the UI (office/marknote MR #162 and office/marknote MR #168).

Shubham Shinde extended the search function of Marknote to also be able to replace text (office/marknote MR #154).

Siddharth Chopra added a source mode to Marknote, for people who prefer to edit Markdown using a plain text editor (office/marknote MR #118).

Carl Schwan improved the context menu, making it appear directly underneath the button and fixing some accessibility issues (office/marknote MR #166).

Finally, there was quite a bit of polish and refactoring done by the whole team in preparation for the release planned next week.

KMyMoney Personal finance manager based on double-entry bookkeeping

Ralf Habacker added a way to list all your unsaved reports and to delete multiple reports at the same time (office/kmymoney MR #322).

PIM Applications

Merkuro Calendar Manage your tasks and events with speed and ease

Yuki Joou redesigned the schedule view to be less crowded and more concise (pim/merkuro MR #573).

Yuki made it possible to set a start date also for tasks and not only for events (pim/merkuro MR #611). She also fixed the sort button state in the todo view (pim/merkuro MR #612), among other various small issues (pim/merkuro MR #579, pim/merkuro MR #609, pim/merkuro MR #610).

Zhora Zmeikin fixed a crash when editing or creating a new event (pim/merkuro MR #608).

Merkuro Mail Read and write emails

Yuki Joou also worked on Merkuro Mail and fixed various issues when sending emails (pim/merkuro MR #615).

Merkuro Contact Manage your contacts with speed and ease

Finally, Yuki added a way to copy phone numbers from a contact book entry easily (pim/merkuro MR #614).

KMail A feature-rich email application

Albert Astals Cid refactored how temporary files are stored so they are no longer stored in /tmp. This mostly helps in case multiple users use the same machine (pim/messagelib MR #334).

Kleopatra Certificate manager and cryptography app

Thomas Friedrichsmeier changed the font used by plain text email signatures in the Kleopatra and GpgOL.js email viewers to be monospaced, as many signatures depend on that (pim/mimetreeparser MR #91).

Creative Applications

Glaxnimate Vector Animation Editor

This week we celebrated the first release of Glaxnimate as part of KDE. Welcome to the family! The big highlights of this release are better integration with KDE in terms of theming, improvements in the animation timeline, and better SVG export and import. Read more in the full announcement.

In the development branch, Mattia Basaglia continued to improve Glaxnimate. This includes a brand new rendering engine based on ThorVG (graphics/glaxnimate MR #84). This means the rendering is now hardware accelerated, which is faster than the old QPainter-based renderer. Additionally, Mattia improved the backend (graphics/glaxnimate MR #86) and built an experimental WASM renderer based on it for the web (graphics/glaxnimate MR #87).

Multimedia Applications

KPhotoAlbum KDE image management software

Randall Rude updated the documentation (graphis/kphotoalbum MR #73).

Developers Applications

Kate Advanced text editor

Leia uwu fixed Kate so that when renaming a file, any open tabs with this file will also be updated accordingly (utilities/kate MR #2043).

KDevelop Featureful, plugin-extensible IDE for C/C++ and other programming languages

Martin Bednar added support for noexcept in the autocompletion model of KDevelop (kdevelop/kdevelop MR #858).

Network Applications

NeoChat Chat on Matrix

James Graham continued working this week on improving and polishing the new rich text editor in NeoChat (network/neochat MR #2730, network/neochat MR #2729, network/neochat MR #2722, ...)

Joshua Goins disabled the search feature in encrypted rooms as the server is not able to search in them (network/neochat MR #2724).

Kaidan Modern chat app for every device

Melvin Keskin improved the usability of the emoji picker and mentioning participants in a group chat (network/kaidan MR #1522).

System Applications

Dolphin Manage your files

Albert Mkhitaryan added keyboard shortcut support for service menu actions (system/dolphin MR #1167). So now you can assign a shortcut to the context menu actions provided by other applications or user scripts. See doc

Nicolai Sehrt added an option for forcing all tabs in Dolphin to have the same width (system/dolphin MR #1154). Méven Car also updated Dolphin so that, by default, tab widths are automatically determined by their title length (system/dolphin MR #1170).

Méven Car also centered most settings pages to be a bit more consistent with System Settings (system/dolphin MR #1192).

Nekto Oleg improved support for the S3 protocol in KIO-enabled applications like Dolphin. While S3 is commonly associated with Amazon Web Services (AWS), the implementation now also supports custom endpoints and is no longer limited to AWS-compatible services (network/kio-s3 MR #7, network/kio-s3 MR #8 and network/kio-s3 MR #9). Additionally, a new System Settings page makes it possible to configure multiple S3 providers at the same time (network/kio-s3 MR #9 and network/kio-s3 MR #10).

…And Everything Else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out This Week in Plasma, which covers all the work being put into KDE's Plasma desktop environment every Saturday.

For a complete overview of what's going on, visit KDE's Planet, where you can find all KDE news unfiltered directly from our contributors.

Get Involved

The KDE organization has become important in the world, and your time and contributions have helped us get there. As we grow, we're going to need your support for KDE to become sustainable.

You can help KDE by becoming an active community member and getting involved. 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. There are many things you can do: you can help hunt and confirm bugs, even maybe solve them; contribute designs for wallpapers, web pages, icons and app interfaces; translate messages and menu items into your own language; promote KDE in your local community; and a ton more things.

You can also help us by donating. Any monetary contribution, however small, will help us cover operational costs, salaries, travel expenses for contributors and, in general, keep KDE continue bringing Free Software to the world.

To get your application mentioned here, please ping us in invent or in Matrix.

Hey there! I'm Vishesh Srivastava, and we're at the halfway mark of my SoK 2026 project — writing Appium-based UI tests for Lokalize. I was a bit late for the halfway mark, but we're still on track.

So what's Lokalize?

It's KDE's translation tool — the app that translators use to work with PO files and manage translation. It does its job well but it had zero UI tests. None. My job this SoK is to fix that.

The starting days (January)

My first task was Bug 514468 — where copyright year strings in PO headers would be very long like 2006, 2010, 2011, 2012, 2013, 2014, 2015, 2017, 2018, 2019, 2020, 2021 instead of the more concise 2006, 2010-2015, 2017-2021.

I was asked to write a failing test first. So I added a simplifyYearString placeholder function, wrote a unit test that expects the collapsed range output, and marked it with QEXPECT_FAIL since the actual implementation was going to be done by someone else. It was updated to expect to pass when the bug was fixed.

More importantly, this got me comfortable with KDE's setup, kde-builder, and how the testing framework works.

The main work: Appium tests (February – March)

This is where the real fun began. Lokalize had absolutely no Appium setup, so everything was built from the ground up.

First steps

My first tests were very simple. simple_open.py literally just opens Lokalize and closes it. That's the whole test. file_open.py was the next step: open the app, click File, click Open, and confirm the dialog shows up. Not much but you have to crawl before you can walk.

A bug I encountered

Here's something I found: Appium finds UI elements through accessibility properties, and Lokalize's editor text fields didn't have any (found using accessibilityinspector). So my test scripts were essentially blind — they could see menus and buttons but couldn't interact with the actual editor. I had to edit editorview.cpp to add object names and accessible names to the widgets to actually get Appium to see them.

Other KDE apps with Appium tests (Dolphin, KCalc) already had these, but nobody had needed them in Lokalize before. These were my reference for writing the code.

The workflow test (the one I'm actually proud of)

workflowtest.py is the test that simulates what a translator would actually do:

  1. Open a .po file with two untranslated entries
  2. Type a translation into the target field
  3. Hit "Approve and Go Next"
  4. Do the same for the second entry
  5. Check if the editor tab UI was updated successfully
  6. Check that the status bar says Not ready: 0 — meaning everything's translated
  7. Save the file

Below is a demo of this working:

It's a proper end-to-end test.

Integrating with CMake

To make it so that these tests run along with all other tests with kde-builder --run-tests, I added a CMakeLists.txt for the appiumtests directory and added it into the project's build system behind a BUILD_APPIUM_TESTS option:

kde-builder --run-tests lokalize --no-include-dependencies --no-src --cmake-options="-DBUILD_APPIUM_TESTS=ON"

Now the tests integrate with the Appium tests just like they do in other KDE apps.

Next steps

  • Writing failing tests for bugs
  • Edge case tests

Final thoughts (for now)

It's been a enjoyable experience and many thanks to Finley Watson for offering great help along the way.

Halfway there. Let's see what happens next.

digiKam 9.0.0 Running Under Linux

Dear digiKam fans and users,

After months of intensive development, bug triage, and feature integration, the digiKam team is thrilled to announce the stable release of digiKam 9.0.0. This major version introduces groundbreaking improvements in performance, usability, and workflow efficiency, with a strong focus on modernizing the user interface, enhancing metadata management, and expanding support for new camera models and file formats.


New Features and Major Changes

General Updates and Porting

digiKam 9.0.0 marks a significant milestone with the core code now fully ported to Qt 6.10.1 for the AppImage and macOS bundles, ensuring improved performance, security, and compatibility with modern operating systems. The Windows Qt6 bundle also benefits from the latest Qt 6.9.1 and KDE Frameworks 6.20.0.

Saturday, 7 March 2026

FOSDEM 2026

This year I had the chance to attend my first ever FOSDEM. My main objective there was the GCompris workshop in FOSDEM Junior track. It was an experimental one with the initiative from the organizer since it was only the third year that this track existed.

The workshop had way more adult attendees interested in GCompris for their children than children themselves. So, naturally, it turned more into a dev room than a workshop.

Me, together with the organizers came to a conclusion that GCompris isn't fit for the FOSDEM Junior, at least not in the form of: short presentation -> hands free experience.

Image from the workshop

The FOSDEM, for me, was very overwhelming. The amount of people in one place as well as having to choose from many different topics, navigating an unfamiliar city had me drained by the end of the first day. Mostly because of that, on the second day I had my workshop and attended only one talk.

Despite that, it was awesome to meet the people of KDE, experience solo travelling for the first time and get to know the core of open source.

Welcome to a new issue of This Week in Plasma!

This was another week of focusing on bug-fixing and UI polishing. Not massively flashy stuff, but critical for the long-term stability of the platform. Check out the work:

Notable UI improvements

Plasma 6.6.2

The arrows in Discover’s “See More” buttons are now in the right place and point in the right direction for both left-to-right and right-to-left languages. (Nate Graham, discover MR #1275)

Plasma 6.6.3

The Panel Spacer Widget no longer appears in the widgets sidebar, because it only makes sense to put on panels, and there’s already a dedicated button to do that. (Tobias Fella, plasma-workspace MR #6376)

Allowed some labels in the Task Manager widget’s tooltips to become multi-line instead of eliding. (Nate Graham, plasma-desktop MR #3598)

Plasma 6.7

Trying to save a color scheme with the name of an existing system color scheme no longer shows an accusatory and unclear error message; now it tells you you’ll need to choose a different name, and then prompts you to do so. (Akseli Lahtinen, plasma-workspace MR #6316)

Enabled the “Global Shortcuts” KRunner plugin by default. (Nate Graham, plasma-desktop MR #3590)

KRunner finding the “Toggle Overview” global shortcut

Notable bug fixes

Plasma 6.6.2

Fixed a bug that made KWin crash if you used the kscreen-doctor tool to create a custom modeline while already using a different custom modeline. (Vlad Zahorodnii, KDE Bugzilla #516452)

Spectacle no longer crashes when you try to share a rectangular region screenshot using KDE Connect. (Noah Davis, KDE Bugzilla #516717)

Fixed various issues with Plasma’s remote desktop server when accessed from a client running Microsoft Windows. (Nicolas Blackburn, krdp MR #148, krdp MR #149, krdp MR #150, and krdp MR #151)

Fixed a regression that made bridged Ethernet networks show an inappropriate icon in the Networks widget. VLANs still show the wrong icon though; hopefully that’ll be fixed next week. Networking is complicated! (Nate Graham, KDE Bugzilla #516712)

Fixed a bug that made day names in the Digital Clock widget’s tooltip not be capitalized with certain languages. (Alessio Bonfiglio, plasma-workspace MR#6289)

Plasma 6.6.3

Fixed a case where KWin could crash when using the kscreen-doctor tool to change the resolution of a virtual screen in certain ways. (Xaver Hugl, KDE Bugzilla #517198)

Fixed a bug that could make Plasma crash on login with certain multi-monitor setups. (Dobry Nikolov, KDE Bugzilla #516937)

Fixed a regression that prevented certain monitors from automatically dimming at the right times. (Xaver Hugl, KDE Bugzilla #516867)

Fixed a regression that made Spectacle sometimes crash when quitting, instead of quitting cleanly. (Noah Davis, KDE Bugzilla #517064)

Fixed a regression that could cause long-presses on desktop widgets to unexpectedly trigger interactive controls on them. (Marco Martin, KDE Bugzilla #517040)

Fixed two visual glitches affecting on/off switches in Plasma when using non-default Plasma styles. (Filip Fila, KDE Bugzilla #504116 and KDE Bugzilla #516542)

Plasma 6.7

Fixed a somewhat common way that Plasma would quit (not crash, actually quit) with a Wayland protocol error when certain monitors woke from sleep. (Vlad Zahorodnii, KDE Bugzilla #507691)

Fixed a bug that made Plasma’s file transfer progress notifications claim that the total number of files was 0 in cases where the actual number was very very large. (Kai Uwe Broulik, plasma-workspace #6369)

Fixed a funny bug that made auto-hidden Plasma panels unexpectedly un-hide when the password dialog appeared while the “Dim Screen for Administrator Mode” effect was in use, which it is by default. (Vlad Zahorodnii, KDE Bugzilla #516864)

Frameworks 6.23.1

Worked around a Qt bug that was causing Plasma to repeatedly crash on login for some people. (David Redondo, KDE Bugzilla #514098)

Fixed a bug that caused KDE’s desktop portal implementation to crash when copying certain content in a remote desktop session. (David Edmundson, KDE Bugzilla #515465)

Fixed various inter-related issues with the app database that could make favorite apps disappear from launcher menus and the Task Manager widget under certain circumstances, including when using certain JetBrains apps in auto-start mode. (Harald Sitter, KDE Bugzilla #516426 and KDE Bugzilla #507838)

PulseAudioQt 1.8.0

Fixed a bug that could make Plasma crash when you tried to access certain audio devices’ profiles menus. (Harald Sitter, KDE Bugzilla #496067)

Notable in performance & technical

Plasma 6.6.2

Made the Global Menu widget more robust in the face of apps that lie about having any menus. (Christoph Wolk, plasma-workspace MR#6345)

Plasma 6.6.3

Made KWin’s screencasting feature more robust when using PipeWire 1.6.0 or newer, which imposes stricter requirements compared to earlier versions. (Conn O’Griofa, kwin MR #8939)

Plasma 6.7

Let the kscreen-doctor tool modify the value of screens’ AutoRotatePolicy key. (Xaver Hugl, libkscreen MR #291)

Made the kscreen-doctor tool capable of targeting the active screen, so you don’t need to look up its technical ID. Also made it possible to toggle HDR and wide color gamut support simultaneously. (Yossef Rostaqi, libkscreen MR #294)

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.

Friday, 6 March 2026

Make sure you commit anything you want to end up in the KDE Gear 26.04 releases to them

Next Dates:  

  •   March 12 2026: 26.04 Freeze and Beta (26.03.80) tarball creation
  •   March 13 2026: 26.04 Beta (26.03.80) release
  •   March 26 2026: 26.04 RC (26.03.90) tarball creation
  •   March 27 2026: 26.04 RC (26.03.90) Release
  •   April  9 2026: 26.04 tarball creation
  •   April 10 2026: 26.04 packages released to packagers
  •   April 16 2026: 26.04 Release


https://community.kde.org/Schedules/KDE_Gear_26.04_Schedule 

Let’s go for my web review for the week 2026-10.


A new California law says operating systems need to have age verification

Tags: tech, law, surveillance

The stupid idea of age verification keeps spreading with ridiculous laws…

https://www.pcgamer.com/software/operating-systems/a-new-california-law-says-all-operating-systems-including-linux-need-to-have-some-form-of-age-verification-at-account-setup/


System76 on Age Verification Laws

Tags: tech, surveillance, law

Those dangerous and stupid laws keep popping out unfortunately. This is clearly a slippery slope as shown from the New York bill… We need to push back or the demands will keep growing. Let’s hope Free Software communities won’t try to preemptively comply, this would be short sighted and self-sabotage.

https://blog.system76.com/post/system76-on-age-verification


Ex-Meta lobbyist put in charge of EU’s digital rules

Tags: tech, europe, law, politics, gafam

What could possibly go wrong? This is really a weird appointment.

https://www.brusselstimes.com/1992574/ex-meta-lobbyist-put-in-charge-of-eus-digital-rules-tech-oligarchy-writing-its-own-rulebook


Breaking Free

Tags: tech, quality, law

Is Norway about to become one of the first countries to become serious about enshittification? Will more follow? This would be welcome.

https://www.forbrukerradet.no/breakingfree/


AI Translations Are Adding ‘Hallucinations’ to Wikipedia Articles

Tags: tech, wikipedia, ai, machine-learning, gpt, quality

This is concerning, hopefully the amount of issues which get through will be limited.

https://www.404media.co/ai-translations-are-adding-hallucinations-to-wikipedia-articles/


Text is king

Tags: tech, reading, culture, history, social-media

Yes there’s a dip, but this piece presents compelling evidence that it’s not the death of literacy we’re sometimes screaming at. It is also a love letter to reading and writing.

https://www.experimental-history.com/p/text-is-king?ref=DenseDiscovery-378


prek: ⚡ Better pre-commit, re-engineered in Rust

Tags: tech, version-control, git, tools, quality

This looks tempting. I guess I’ll try this one instead of pre-commit when I get the chance.

https://github.com/j178/prek


qman: A more modern man page viewer for our terminals

Tags: tech, documentation, unix, tools, command-line

Didn’t know about this one. Looks like a nice alternative to the venerable man command.

https://github.com/plp13/qman


Message Passing Is Shared Mutable State

Tags: tech, multithreading, reliability

Interesting piece which challenges the shared-memory vs. message-passing dichotomy. It message passing indeed gets rid of data races but nothing more. Of course this is nice already, but that doesn’t mean you can’t have the other families of concurrency bugs creeping in.

https://causality.blog/essays/message-passing-is-shared-mutable-state/


fast-servers

Tags: tech, server, services, performance

We got options beyond poll() nowadays.

https://geocar.sdf1.org/fast-servers.html


Rust zero-cost abstractions vs. SIMD

Tags: tech, rust, optimisation, simd

Yes, Rust like C++ comes with zero cost abstractions. Still they can get in the way of some compiler optimisations. This is an interesting case preventing vectorisation.

https://turbopuffer.com/blog/zero-cost


Hardware hotplug events on Linux, the gory details

Tags: tech, kernel, systemd, hardware

Wondering how udev communicates with the kernel? And then broadcast events? This covers the basics.

https://arcanenibble.github.io/hardware-hotplug-events-on-linux-the-gory-details.html


Log messages are mostly for the people operating your software

Tags: tech, logging

A reminder that logs are not for the developers first but for operation.

https://utcc.utoronto.ca/~cks/space/blog/programming/LogMessagesAreForOperation


Nobody Gets Promoted for Simplicity

Tags: tech, engineering, complexity, management

Rampant complexity in software is also a management issue. Are we sure we’re rewarding the right things?

https://terriblesoftware.org/2026/03/03/nobody-gets-promoted-for-simplicity/


Go Beyond the Test Pyramid: Test Desiderata 2.0

Tags: tech, tests, tdd

It’s been a while that I started to consider the test pyramid as fairly limiting for our thinking about tests. The dimensions proposed here give a more comprehensive model to reason about.

https://coding-is-like-cooking.info/2026/02/go-beyond-the-test-pyramid-test-desiderata-2-0/


Use the Mikado Method to do safe changes in a complex codebase

Tags: tech, refactoring, legacy

You probably want to complete this with a higher level plan if the goal is a larger modernization. That being said, it’s a good approach for mid-level to small goals you’d want to tackle.

https://understandlegacycode.com/blog/a-process-to-do-safe-changes-in-a-complex-codebase/


The Eternal Promise: A History of Attempts to Eliminate Programmers

Tags: tech, programming, history, ai, machine-learning, copilot

This fantasy regularly comes back. Yet, the tools evolve, might improve some things but the core difficulties of programming don’t change. At each hype cycle our industry over promises and under delivers, this is unnecessary.

https://www.ivanturkovic.com/2026/01/22/history-software-simplification-cobol-ai-hype/


Yes, and…

Tags: tech, programming, engineering, ai, machine-learning, gpt

Very good essay on why the developer profession is not going away. On the contrary we need to double down on essential skills and put in the work. This is long overdue anyway.

https://htmx.org/essays/yes-and/


I’m a philosopher who tries to see the best in others – but I know there are limits

Tags: philosophy, trust

Interesting point, looking for agency seems like a good criteria. It highlights it’s not a simple test though. I’d add that trust matters and that’s built over time.

https://theconversation.com/im-a-philosopher-who-tries-to-see-the-best-in-others-but-i-know-there-are-limits-273446



Bye for now!

Thursday, 5 March 2026

The latest Qt release, Qt 6.11, is just around the corner. This short blog post series presents the new features that QML tooling brings in Qt 6.11, starting with qmlls in this part 1. Parts 2 (available here) and 3 will present newly added qmllint warnings since the last blog post on QML tooling and context property configuration support for QML Tooling.

Over 180 individual programs plus dozens of programmer libraries and feature plugins are released simultaneously as part of KDE Gear.

Today they all get new bugfix source releases with updated translations, including:

  • kdeconnect: Fix clicking on plugin's row doesn't change plugin's status (Commit, fixes bug #514923)
  • neochat: Don't scroll the timeline when reacting to messages (Commit, fixes bug #515306)
  • umbrello: Fix crash when deleting a complete scene (Commit, fixes bug #516457

Distro and app store packagers should update their application packages.