It contains bug fixes and improvements on many activities.
It is fully translated in the following languages:
Arabic
Bulgarian
Breton
Catalan
Catalan (Valencian)
Greek
Spanish
Basque
French
Hebrew
Croatian
Italian
Lithuanian
Latvian
Malayalam
Dutch
Polish
Brazilian Portuguese
Russian
Slovenian
Albanian
Swedish
Turkish
Ukrainian
It is also partially translated in the following languages:
Azerbaijani (87%)
Belarusian (83%)
Czech (98%)
German (93%)
UK English (96%)
Esperanto (96%)
Estonian (86%)
Finnish (92%)
Galician (97%)
Hungarian (97%)
Indonesian (98%)
Georgian (88%)
Kannada (85%)
Macedonian (81%)
Norwegian Nynorsk (89%)
Portuguese (85%)
Romanian (97%)
Sanskrit (97%)
Slovak (78%)
Swahili (88%)
Tamil (84%)
Chinese Traditional (85%)
You can find packages of this new version for GNU/Linux, Windows, Android, and Raspberry Pi on the download page. Also this update will soon be available in the Android Play store, the F-Droid repository and the Windows store.
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.
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).
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).
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:
Open a .po file with two untranslated entries
Type a translation into the target field
Hit "Approve and Go Next"
Do the same for the second entry
Check if the editor tab UI was updated successfully
Check that the status bar says Not ready: 0 — meaning everything's translated
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:
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.
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.
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.
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.
After implementing five different parallel programming models for the Mankala game engine's alpha-beta search, I discovered a fundamental limit: no matter how many cores I threw at the problem, there was a hard ceiling on performance. Our best implementation, OpenMP, achieved 2.73x speedup with 6 th…
Note that 6.0.0-beta3 has more issues, especially on Linux and Wayland, than 5.3.0-beta3. If you want to combine beta testing with actual productive work, it's best to test 5.3.0-beta3, since 5.3.0 will remain the recommended version of Krita for now.
To learn about everything that has changed, check the release notes!
5.3.0-beta3 Download
Windows
If you're using the portable zip files, just open the zip file in Explorer and drag the folder somewhere convenient, then double-click on the Krita icon in the folder. This will not impact an installed version of Krita, though it will share your settings and custom resources with your regular installed version of Krita. For reporting crashes, also get the debug symbols folder.
The Linux AppImage and the source tarballs are signed. You can retrieve the public key here. The signatures are here (filenames ending in .sig).
6.0.0-beta2 Download
Windows
If you're using the portable zip files, just open the zip file in Explorer and drag the folder somewhere convenient, then double-click on the Krita icon in the folder. This will not impact an installed version of Krita, though it will share your settings and custom resources with your regular installed version of Krita. For reporting crashes, also get the debug symbols folder.
A project that I had planned for quite some time came to fruition last year, now I finally found time to document the result. My livingroom sideboard looked messy and kind of boring while not blending in anymore with the updated style of my living room. I wanted to turn it into a striking centerpiece of the room. The plan was to install a sound-reactive lighting system. I wanted the light effects to be detailed and not disturbed by ambient sound in the living room, i.e. it sound not react to people’s voices, just the music playing.
My living room sideboard is an off-the-shelf product from IKEA that I bought many years ago. It didn’t have doors installed, but I was delighted that I could still buy matching doors with windows in them. To realize the light effects, I’ve installed frosted plexi glass inside the windows.
Getting technical…
To control the LEDs, I’m using an ESP32-based LED controller with a line-in module and an ADC (analog-digital converter). After some experimenting, I’ve found this board to work well. I’ve connected 6 WS2812B LED strips to 3 pins and installed them with an aluminium profile into the doors. The frosted windows and profiles diffuse the light nicely so you can’t make out individual LEDs really. On the software side, I’m using a sound-reactive port of the WLED project. WLED is Free and Open Source software, of course. Though its user interface can be a little unwieldy, it’s also very powerful and integrates nicely with homeassistant, so it can be controlled automatically.
Inside view
The ESP32, being a rather powerful dual-core microcontroller, can process the incoming audio signal on one core (using fast-fourier transformation) and compute complex LED effects on the other core. Rendering up to 200 frames per second to 2 times 210 LEDs is no problem while power consumption of just the controller stays well under 1W. Pretty impressive! Depending on the LED effects (number of LEDs lit up at a given time and their colors), the whole thing hardly ever reaches 10W of power consumption.
ESP32-based LED controller
Another functional goal of this project was to solve cooling issues of my amplifier once and for all. The amp would run really hot and shut off after playing at higher volume for some time. I installed a bunch of 12cm fans which suck air through the amplifier and blow it out on the backside. Both amp and and fans are connected to smartplugs. I turned to my homeassistant and set up an automation which turns the fans on whenever the amp’s power consumption reaches a certain level. This works really nicely, since the fans never spin at lower volumes (when you could hear them through the music) and keep everything cool and running stable at higher volume when it’s necessary — without human interaction.
Cooling system
Walnut finish
The outer shell of the sideboard is made of walnut wooden panels with an oil and varnish finish, thanks to my friend Joris. The oil gives it a darker look and accentuates the grain, matching the speaker system. The matte varnish finish (Skylt, highly recommended for its durability and natural look) allows me to sleep well even if people put their drinks on it.
Done and dusted
I love it when a plan comes together!
I’m really happy with the result. While I had thought it out for a long time already, it’s always a lot more impressive when you see the final result in action. The WLED firmware allows me to create interesting light effects. I can run the 3 doors as one, but also easily split them up into segments so each door panel renders its own effect. WLED has ca. 200 different LED effects, many of them react to sound. Each effect can be combined with one of 50 color palettes, some of the palettes are sound-reactive in their own right leading to a very dynamic display. One cool feature is that the processed sound data can be broadcast across the network (over UDP) and received by other WLED controllers, so I can have multiple LED displays in the house, each rendering their own effect to the music, creating a more immersive experience.