For the next digiKam releases, the digiKam team needs photographs for digiKam and Showfoto splash-screens. Proposing photo samples as splash-screens is a simple way for users to contribute to digiKam project. The pictures must be correctly exposed/composed, and the subject must be chosen from a real photographer’s inspiration. Note that we will add a horizontal frame to the bottom of the image as in the current splashes.
Saturday, 4 April 2026
The Kdenlive 26.04 Release Candidate is ready for testing. Many bug fixes and workflow adjustments should make your editing sessions nicer. It is also worth noting that we had quite a few new contributors helping our small team on this, so thanks to all those who helped us!
Please remember that this is an RC version, not yet final, to be used only for testing and reporting issues.
Features highlights:
- Added animated previews for transitions
- Added a feature to mirror the monitor to an external monitor, allowing you to see the image in the usual interface, while duplicating the output to a secondary monitor
- Added an entry in the timeline context menu to directly import a clip to the project and add it at click position
- Added an option to always zoom on the mouse position instead of the timeline playhead
- Generate audio thumbnails for sequences
- Dropping a transition to timeline will automatically adjust its duration to the above/below clips
- Allow changing speed of multiple clips
Feedback Needed
Now is your chance to test it and let us know if you encounter any bugs or have suggestions to help us polish the final release. Share your feedback in the comments below
Available Binaries
The AppImage and Windows versions can be downloaded through the links below. Update: the MacOS binaries are now also available
Download the binaries from below and give it a spin!
Pre-release binaries can be downloaded here.
Friday, 3 April 2026
Tuesday, 31 March 2026
Today we're releasing Krita 5.3.1 and 6.0.1.
This release mainly fixes an issue for Windows users: some applications, like Microsoft Windows Powertoys' Fancy Zones or the Google Drive plugin cause problems for Krita. These applications query all running applications for their accessibility abilities.
Until Qt6, Qt's QML module, which is used extensively in the new text tool, would then recursively query all active screen objects, like comboboxes or buttons, and up and down the entire class hierarchy for accessibility features. This slowed down Krita to the point where even menus would be slow to open.
It was extremely tricky to figure this out, since none of the Krita developers actually use these external applications... But it should be fixed now!
There are more fixes in this release:
- The mutator shortcut is now Ctrl-alt-shift-m instead of Z in accordance with the plugin's manual.
- On Android, the canvas will not pan up when you use the text tool
- On Android, the OnePlus stylus middle click button works
- Animation Key Frame copy pasting now works in Krita 6
- On Wayland, drag and drop is fixed (Wayland clears the clipboard when a new window is opened, so now we have to cache the data.)
- The canvas resize dialog now works correctly when changing units (bug: 517857)
- The Incremental Backup/Version saving function now works in Krita 6.
- On Android, text fields should no longer block stylus movements, pressing spacebar should work as a shortcut and the view should no longer turn blue when pressing a keyboard key. These issues only occurred on some devices.
Check out the release notes for a full overview of all the new features in Krita 5.3 and 6.0.
⚠️ Warning
One again, we consider Krita 5.3.1 suitable for productive work; 6.0.1 is, because of the many changes from Qt5 to Qt6 more experimental.
5.3.1 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.
ⓘ Note
We are no longer making 32-bit Windows builds.
64 bits Windows Installer: krita-x64-5.3.1-setup.exe
Portable 64 bits Windows: krita-x64-5.3.1.zip
Linux
Note: starting with recent releases, the minimum supported distro versions may change.
⚠️ Warning
Starting with recent AppImage runtime updates, some AppImageLauncher versions may be incompatible. See AppImage runtime docs for troubleshooting.
- 64 bits Linux: krita-5.3.1-x86_64.AppImage
MacOS
Note: minimum supported MacOS may change between releases.
- MacOS disk image: krita-5.3.1-signed.dmg
Android
Krita on Android is still beta; and is meant to run on chromebooks and tablets only.
Source code
For source archives, please download one of the 6.0.1 archives and build with Qt5.
md5sum
For all downloads, visit https://download.kde.org/stable/krita/5.3.1/ and click on "Details" to get the hashes.
Key
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.1 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.
ⓘ Note
We are no longer making 32-bit Windows builds.
64 bits Windows Installer: krita-x64-6.0.1-setup.exe
Portable 64 bits Windows: krita-x64-6.0.1.zip
Linux
Note: starting with recent releases, the minimum supported distro versions may change.
⚠️ Warning
Starting with recent AppImage runtime updates, some AppImageLauncher versions may be incompatible. See AppImage runtime docs for troubleshooting.
- 64 bits Linux: krita-6.0.1-x86_64.AppImage
MacOS
Note: minimum supported MacOS may change between releases.
- MacOS disk image: krita-6.0.1-signed.dmg
Android
Krita 6.0.1 is not yet functional on Android, so we are not making APK's available for sideloading.
Source code
ⓘ Note
Note for distributions: if you package both PyQt5 and PyQt6, you will want to patch our source code with this patch: Disallow importing conflicting version of PyQt
md5sum
For all downloads, visit https://download.kde.org/stable/krita/6.0.1/ and click on "Details" to get the hashes.
Key
The Linux AppImage and the source tarballs are signed. You can retrieve the public key here. The signatures are here (filenames ending in .sig).
Friday, 27 March 2026
Hi all! Just finished up the last bit of work for my Season of KDE task of automating data collection for the KDE promotional team.
Since the midterm blogpost I've been assigned no new tasks. That means my final deliverables are a follower/post count scraping script for specific social media websites, a Reddit Insights page scraper that totals weekly insight data for a given subreddit, and an article evaluation script that reads articles found by the Google Alerts system and evaluates their sentiment on KDE and its software.
Follower and post counts scraper
Nothing much has changed here outside of some better error handling, consistency in argument help strings, and improved readability of log messages. The script has run well on its weekly timer and seems to show no signs of giving up. I do think I can improve it by making it more extensible to accommodate the scrubbing of new websites and accounts, but as of now it functions well for the links we're most worried about.
Reddit Insights page scraper
In the prior blogpost I mentioned worries about getting the script to run on a headless server. The script has since been made capable of running headlessly through use of a Docker image which wraps the program run with an Xvfb display server. Xvfb enables this by running display requirements in virtual memory, allowing for the use of headful software in a headless environment.
Shoutouts to Sean Pianka's repo containing dockerfiles used to run Xvfb-wrapped Selenium scripts and Selenium's own Docker images used for Selenium Grid server project. Without those resources it would have taken me a lot longer to hack together the requirements for a Docker image that could run Selenium headfully.
Along with the headless runs being solved, I also implemented plenty of bug fixes and improvements to user-facing messages. Many of the bugs came from not properly exiting Selenium during handled errors which I found out from the server having hundreds of open Firefox instances. Hopefully I've cleaned all those up.
Google Alerts evaluator
This task was a fairly large undertaking involving plenty of research and implementation steps. There were three major requirements:
- Develop a pipeline to take in Google Alerts emails and pre-process them into articles the model can read.
- Evaluate lightweight sentiment analysis models that can run on a server for their ability to analyze articles on KDE products.
- Parse model output into a human-readable and easy to work with data format.
The final result is a pipeline that
- Reads Google Alerts emails
- Pre-processes the articles into Markdown files for model reading
- Feeds them to a local LLM configured to provide sentiment analysis output
- Takes the LLM output and sends it into a CSV file (if possible)
You can see how this task could take a lot of time out of people, so hopefully this pipeline can significantly alleviate that time spent.
Google Alerts email reading and processing
This was no issue as Google Alerts are all sent through Gmail and Google itself provides a very useable Gmail API for extracting emails from Gmail accounts. After generating the required credentials, fetching emails was as easy as using tools built specifically for this job in a Python package that contained bindings for the Gmail API in Python. The emails were all formatted in XML, so past experience with webscraping from the last two tasks played a part in making fetching article links from the emails painless to implement. After the article links were extracted from the emails, their contents were then fetched in Markdown format for use with the decided model.
Model evaluation
We very quickly looked towards some local large-language models (LLMs) to serve the sentiment analysis task. There were more than a few sentiment analysis fields that would be difficult for more basic models and it simplified implementation greatly. After the evaluation of some small-footprint models, by far the best at both conforming to the desired output format and performing sentiment analysis on the articles was Qwen3 with 4 billion parameters. It is lightweight enough to run on an older CPU in decent time, and while it doesn't agree amazingly with human judgement it more often errs on the side of caution, such as deciding more articles are related to KDE than aren't which wastes time but doesn't exclude relevant articles.
Designing model output and post-processing
It turns out that LLMs come in different flavors, and some, specifically instruct models, are much better at conforming to instructions than others. Many attempts were made to make other types of models provide output in a strict format and, if you need specific output, it's a headache you should definitely consider avoiding by choosing instruct models from the start.
An instruct model coupled with a well-constructed system prompt (the meta prompt that sets initial instructions for the model) and grammar file written in GBNF format can cause model output to be very predictable. The system prompt written for this task is specifically constructed to bound model output by asking it to output sentiment analysis features in a Python formatted array of strings. Even with the above methods, instruct models still do botch output occasionally, so the script contains plenty of post-processing and error handling steps before model output is processed into the output CSV file.
Experience and lessons learned
I've learned a significant amount about web scraping and how to navigate data troubles. I'm definitely a lot more confident about using developer webtools, HTML processing, and browser automation frameworks as a result of my SoK experience. Also after working on the Google Alerts sentiment analysis task, and I certainly feel more educated on AI topics and how they are used and deployed.
My project was a little unusual in that I wasn't working on an existing KDE software but utility scripts that were built from ground-up for KDE community members. This made things fun through the freedom I had with implementing solutions, but I feel the scripts are not fully developed or as problem-free as possible. I'd hate to just leave them as is while feeling that way, so I'll continue working on the already made scripts as well as new ones so long as I can help out.
Huge thanks to Paul Brown for mentoring me through this project and being a pleasure to work with, as well as the KDE community for hosting this great event. I had a lot of fun working on these scripts and am glad I could help out by contributing something to this awesome community.

Framework supports free open-source software and becomes KDE's latest patron!
Framework manufactures and sells modular computers that are easy to maintain, repair and upgrade. By sponsoring FLOSS projects like KDE, Framework further confirms their commitment to to putting users in control of their machines.
"KDE is extremely popular in the Framework community, and we're excited to help support KDE's efforts to make the best possible Linux desktop." says Nirav Patel, Founder of Framework.
"I am excited to see Framework become a KDE Patron," says Aleix Pol, President of KDE e.V.. "It's a good continuation to our collaboration with different hardware manufacturers and distributors to ensure we can deliver systems to our users with an experience up to our expectations. Furthermore, Framework’s commitment to repairability strongly aligns with our values and is vital for building a more sustainable industry."
Framework joins KDE e.V.'s other patrons: Blue Systems, Canonical, g10 Code, Google, Kubuntu Focus, Mbition, Rocky Linux, Slimbook, SUSE, Techpaladin, The Qt Company and TUXEDO Computers, who generously support FOSS and KDE's development through KDE e.V.
Eight weeks, a deep dive into KDE's architecture, and one completely fried motherboard later, my Season of KDE (SoK) journey has officially come to an end!
For the past couple of months, I've been working on KDE's computer-aided translation tool, Lokalize, under the mentorship of Finley Watson. What started as a simple UI ticket ended up teaching me a ton about open-source development, community collaboration, and user experience.
Fixing the "Jumping" Menubar
If you use Lokalize, you’ve probably run into this bug: the menubar reshuffles every time you switch tabs. Go from the Editor to the Project Overview, and suddenly the Edit, Go, and Sync menus disappear or swap places. It totally breaks muscle memory. As part of my Season of KDE project, my task was to fix it.
Instead of just hacking together a quick fix, I restructured how Lokalize handles its menus globally. I created a "Global Skeleton" layout that reserves a permanent spot for every menu, regardless of which tab is open. I then wrote logic that hooks into the application's tab-switching events. Now, if a menu isn't needed for your current tab, it simply greys out instead of disappearing completely. The result is a much more predictable UI!
Ghost Actions & The Bookmark Manager
While exploring the codebase, I discovered a graveyard of "ghost actions"—UI buttons that existed on the screen but had zero backend code making them work. After surveying the KDE translators' mailing list to understand their daily workflows, I got to work building them:
- Core Editing & Batch Actions: I built the backend logic to make Cut, Copy, Paste, and Alternate Translations work seamlessly. I also implemented batch actions (Save All, Close All, Revert All), complete with a safe shutdown sequence that prompts users for unsaved changes so they never lose their work.
- The Bookmark Manager (In Review): Translators lacked a good way to review multiple flagged lines in large files. I designed a brand-new, interactive Bookmark Manager dialog that lists all bookmarked entries with text previews and checkboxes. Currently, this feature is under active discussion with the KDE Visual Design Group (VDG) to ensure the UX aligns perfectly with KDE's design guidelines.
What I Learned
Writing code was really only half the experience. My biggest takeaways from SoK were:
- Navigating Legacy Code: I learned how to read, trace, and respect a massive, established C++ codebase rather than trying to rewrite everything from scratch.
- Community-Driven Development: Talking to the translators and getting feedback from the design team taught me that building what users actually need is just as important as writing the code to make it work.
List of Contributions
Merged:- Menubar Standardization: Fix inconsistent menubar ordering across tabs
- Edge Case Fixes: Lokalize: Refresh top-level menu availability on Welcome screen
- UX Improvements: editor: focus relevant tab before unsaved changes prompt in fileOpen()
- Ghost Actions I: editor: implement cut/copy/paste and alternate translation attach
- Ghost Actions II: editor: implement file save/revert/close all actions
- New Feature: editor: add edit bookmarks action and dialog (Currently in UX review with VDG)
What's Next?
While Season of KDE is over, my time with Lokalize isn't! I will keep contributing to get the Bookmark Manager completed, and I am currently drafting my proposal for Google Summer of Code (GSoC).
Special Thanks
A very special thank you to my mentor, Finley Watson. None of this would have been possible without your guidance. Thank you for the incredibly thorough code reviews, your endless patience, and for being so supportive when my hardware literally went up in smoke. Thank you for making this such a great first experience with KDE.
Finally, a huge thank you to the translators on the mailing list who helped shape these features, and the entire KDE community for being so welcoming.
See you in the KDE Git logs!







