Tuesday, 30 September 2025
Haruna version 1.5.0 is released.

The highlight of this release is the playlist, which got a lot of features:
- multiple playlists through tabs (Muhammet Sadık Uğursoy)
- drag and drop reordering (Muhammet Sadık Uğursoy)
- add files and folders through drag and drop (Muhammet Sadık Uğursoy)
- filtering (Muhammet Sadık Uğursoy)
- option to control playback behavior when a file ends: repeat playlist, repeat file, stop after last file in playlist, stop after current fille and play a random item
Another big change is to the Mouse settings, now you can use a mouse button + modifier key combo (ctrl + left click, shift + scroll up/down etc.).
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.5.0
Known issues
On Windows the Shortcuts and Custom Commands settings pages don't work.
Features
Settings
- General
- added single instance setting to play new file when appending to the playlist
- removed the "File dialog location setting"
- Playlist: added settings to control playback behavior
- Mouse
- changed to allow modifier keys
- added support for Mouse Forward and Back buttons
- Subtitles: if a relative folder name in the
Load subtitle fromlist starts with an * (asterisk) then subtitles will be searched in all folders contaning the folder name. Example: If theLoad subtitle fromlist contains an entry*suband you have the following folders next to the video filesubs,more subsandsubtitlesall of these folders will be searched. - the settings window now has a minimum width and height
PlayList
- added support for multiple playlists
- items can be reordered manually through drag and dropdown
- items can be selected, ctrl+click to select multiple items, shift+click to select a range
- items can be filtered
- added setings to control playback behavior when a file ends
- when saving the playlist the file extension is set to m3u
- can add files and folders through drag and drop
- multiple files can be added through the option in the header
- hide playlist when mouse leaves window while maximized, prevents opening the playlist when moving mouse to another monitor
Playback
- if a file can't be played now an error is shown and playback stops instead of trying to play the next file (prevents a potential infinite loop when no file in the playlist can be played)
- can play files starting with a dot (hidden files)
- an error is shown when failing to get youtube playlist
Other
- mpris: add support for Shuffle and LoopStatus
- changed the action selection popup to use Kirigami.SearchDialog
- replaced the spinning icon with a progress bar and label
- the drop area of the video is split in 2 parts now
- top part always appends to the default playlist
- bottom part clears the default playlist and adds the dropped files and folders, when only one file is dropped it behaves as the open file action (clears the playlist and loads sibling files if enabled in settings)
- recent files are now stored in a sqlite database
- time positions used to restore videos are also stored in the database
- sleep is blocked on Windows too
- all strings should be translatable now
Bugfixes
- fixed the loop action, osd was not showing and progress bar was not highlighting the loop range
- before loading check that the file exists
- fixed loading wrong subtitles when using recursive subs
- fixed the progress bar getting taller when the chapters menu becomes visible
- fixed a bug where the video would pause after clicking the progress/seek bar

Beginning of 2025 I was searching through the version history of Qt OPC UA - trying to find out when a certain issue got introduced. At some point I was curious: How long does this thing go back?! Turns out that the first git commit is dated 25th of September 2015. Which means we have been doing this for over 10 years now!
Saturday, 27 September 2025
Kirigami Addons is a collection of supplementary components for Kirigami applications. Version 1.10.0 is a relatively minor release, introducing KirigamiApp and some improvements on Android regarding the new edge-to-edge support introduced in Android 15.
New Features
Aleix Pol Gonzalez added a KirigamiApp component which removes quite a bit of boilerplate to setup a Kirigami applications.
It now looks like this and will setup theming, crash reporting and more automatically in one place:
int main(int argc, char *argv[])
{
KirigamiApp::App app(argc, argv);
KirigamiApp kapp;
// Set up KAboutData
// QCommandLineParser creation and processing
if (!kapp.start("org.kde.myapp", u"Main", new QQmlApplicationEngine)) {
return -1;
}
return app.exec();
}
Bug fixes
Volker Krause added edge-to-edge support to the BottomDrawer and the MaximizedComponents.
Packager Section
You can find the package on download.kde.org and it has been signed with my GPG key.
Monday, 22 September 2025
First maintenance release of the 25.08 series is out continuing the focus on stability and polish with many fixes for crashes and regressions as well as user interface and usability improvements.
Some packaging issues caused a small delay for this release announcement, sorry for the inconvenience. Thanks to all the people who help make Kdenlive more stable by reporting bugs, providing patches or sending constructive feedback.
For the full changelog continue reading on kdenlive.org.
Sunday, 21 September 2025
The beginnings
Over 24 years ago, our kwrite-devel@kde.org mailing list started with:
From: Scott Manson
To: kwrite-devel@max.tat.physik.uni-tuebingen.de
Date: Wednesday, February 21st, 2001 at 21:47
Subject: [Kwrite-devel] I just wanted to be the first to post here )
Welcome to kwrite-devel
I hope this is an active list and we can attract some more developers Anyone have any ideas on coding style,enhancements problems please feel free to post your questions/comments here.
or, depending which mail arrived faster in your inbox:
From: Waldo Bastian
Date: Wednesday, February 21st, 2001 at 21:50
Subject: [Kwrite-devel] Welcome to this mailinglist.
Hello,
Welcome to the kwrite development mailinglist. *test*test*
Cheers, Waldo
The journey
Like the first mail wanted, that list was very active for a long period of time.
The initial posters no longer are active in the project, but some people like me still stick around even after more than two decades.
A lot of important design decisions were discussed on the mailing list and many user questions got answered.
The end
The list traffic slowed down more and more over the last years even as the actual amount of contributions (and presumable the user base) did increase.
Reasons are for sure that for development, we use mostly our KDE GitLab instance for communication. It is just that easier to couple discussions with code there and link development issues to merge requests or commits. I can not remember any serious discussion on larger development topics outside our GitLab in the last years.
For users I assume mailing lists are just too arcane today. Perhaps that is a misconception I have, but at least from most people I know in real life, most of the online support questions went of to either websites or random other channels. Some people survive without any mail account beside the one needed to create some online accounts or install thei mobile phone.
I need to moderate away at least 10 to 100 spam mails for any real mail on the list, that is just a not needed overhead nobody should waste time with.
Therefore in the near future we will close that list, it will not get a 25 years birthday party :-)
But where to ask & discuss stuff now?
I already updated our documentation and web site to point to the current contact points.
In short:
Bug reports: like before - our KDE Bugzilla instance
User questions web site: use the Kate section on the KDE discourse server
User & developer questions chat: join our Kate Matrix channel
Development discussions and code: show up at our KDE GitLab instance
Many Kate developers and users are active on random social media and Co., too. But the above mentioned places are the ones that should be preferred.
Comments?
A matching thread for this can be found on r/KDE.
Like every year, one of the highlights is Akademy! This time we were in Berlin, making it quite easy to get there from Hamburg:) The weather was surprisingly nice, especially when heading out in the evening to try lots of different restaurants. And of course - since being in Berlin - you gotta try a local Döner there :D.
One talk I was particularly surprised about was Saturday’s keynote “Open by Design: How Governments Can Lead the Shift to Digital Sovereignty” by Alexander Rosenthal.
Besides the information about OpenSource-Software being used on different levels of federal/state/local, the aspects of OpenData.
This made me realize that software is not the only thing one should focus on being open.
Also, the huge amount of memes in the slides made the talk super refreshing and a nice start into Akademy!
Nate’s talk “Minding the Big Picture: Opportunity From Chaos” also fit this topic. OpenSource can provide a stable foundation and reduced dependence on individual companies.
My main development focus and also the most frequent topic of the blog is the Clazy project. Akademy is a good occasion to tell other people about it.
So I took the occasion and held a fast-track talk about Clazy to tell how awesome and useful it is.
It was also quite good to get people talking about it and share their ideas/problems.
I also did a decent amount of coding on Clazy. This included a request from aacid about Clazy not working properly with a Qt variant
that is build into a specific namespace. This was quite the rabbithole, but I managed to get the passing tests from 50% to 90%.
The last few edgecases are not as relevant if most of Clazy works properly.
For the use-arrow-operator-instead-of-data a false-positive is fixed where the check complains if you do a .data() call and then cast the pointer.
This is in most cases needed, if not, clang-tidy should warn about unneeded casts.
Finally, fixits for detaching-temporary and detaching-member are more reliable when multiple calls are chained.
The biggest surprise though came at the Akademy awards. I am very honored to have received one, this left me quite speechless.
Me finally catching some words after getting the Award <3
This also means I am responsible for choosing the person for next year’s award. So you better get busy doing cool stuff 😎👀.
Finally, I want to thank everyone who helped organize Akademy and made it as awesome as it was!
Saturday, 20 September 2025
Kaidan 0.13.0 is out now! And it comes with a bunch of shiny new features.
Most of the work has been funded by NLnet via NGI Zero Entrust with public money provided by the European Commission.
Multi-Account Support
Kaidan supports the simultaneous usage of multiple accounts now. Imagine you could use the same chat app at work and with your friends. All your favorite and accustomed features would always be accessible without switching apps. It is possible with XMPP and finally with Kaidan too!
In order to quickly distinguish the account a chat belongs to, there is a small avatar of the corresponding account in the corner of a chat’s avatar. Furthermore, Kaidan makes sure that you do not accidentally add a new contact to the wrong account. That is achieved by selecting the account before you enter the contact’s chat address or scan their QR code. The same applies to the group chat actions.
Secure Password Storage
The account passwords are stored in the device’s password manager. You do not need to keep passwords in your mind. Instead, you can use random ones. They are securely stored in a central place.
Mark Messages
If you already read the latest messages from a contact but do not have time now to respond, you can simply mark them. A separate counter is shown for the marked messages. Take your time and come back to those messages later. You will not forget to reply anymore!
Forward Messages
You can forward messages from one chat to another. After clicking the corresponding context menu button, you can choose a chat to forward the message to. By default, only the chats of the current account are listed to make it as simple as possible for you. But you are able to list chats of other accounts as well.
Once you selected a chat, the message is added to its input field. You can directly send it or adjust it beforehand.
Changelog
There are several other improvements. Have a look at the following changelog for more details.
Features:
- Add support for using multiple accounts simultaneously (melvo)
- List accounts and show button to add new accounts (melvo)
- Show dialog to select account for global action such as adding a contact (melvo)
- Allow to enable/disable accounts instead of connecting/disconnecting them manually (melvo)
- Update nicknames of own accounts once connected (melvo)
- Show small account avatars next to regular avatars if multiple accounts are used (melvo)
- Hide global drawer handle on chat if window is narrow (melvo)
- Use PNG/.png instead of JPEG/.jpg for thumbnails to allow transparency (melvo)
- Use AAC/.m4a instead of MP3/.mp3 for voice messages to improve compatibility (melvo)
- Provide size of sent images to recipients allowing receiving client to scale thumbnails to size of original image (melvo)
- Provide size of generated thumbnails to recipients (melvo)
- Increase size of generated thumbnails (melvo)
- Show circle instead of bar for upload/download progress (melvo)
- Try all providers on connection error during automatic registration (melvo)
- Add message forwarding (melvo)
- Enable voice message recording via Flatpak (melvo)
- Store account passwords encrypted if password manager is available (fazevedo)
- Apply consistent criteria for all message corrections (melvo)
- Add support to mark messages locally in order to reply to them later or to quickly find important messages (melvo)
- Reuse SASL 2 user agent and FAST token on every restart for faster connection establishment (melvo)
Bugfixes:
- Fix selecting media via long press in media overview (melvo)
- Fix OMEMO initialization (melvo)
- Fix displaying geo location map (melvo)
- Fix showing hints on invalid input of various input fields (melvo)
- Fix name/date of chat list item moving if counter for unread messages dis-/appears (melvo)
- Fix counter for unread messages (melvo)
- Fix handling removed message reactions (melvo)
- Fix canceling personal data sharing via contact details (melvo)
- Fix finding existing notifications for personal data sharing requests (melvo)
- Fix cursor behavior in message input field by allowing vertical cursor movements while participant picker is closed and prohibiting horizontal cursor movements while participant picker is open (melvo)
Notes:
- Kaidan requires QtKeychain 0.15 now
- Kaidan requires QXmpp 1.11 now
Download
Or install Kaidan for your distribution:
This post is to celebrate a few things despite the events that are clouding our feelings. 😠
Another thing to not celebrate is the slaughtering by Sourceforge of my developer web site, which they are calling "sunsetting", by October. I've already migrated it.
On the other, brighter hand, I'm celebrating this week La Mercè, which is the local festivity of Barcelona.
Another event to celebrate is the first 2 million downloads of VMPK for Linux, Windows and Mac. The Sourceforge statistics do not include the installs thru Flatpak, but you may realize that more than 75% of the Sourceforge downloads are the Windows packages. The 2 mil download happened some past day of this year 2025. I've promised a celebration, and now, I have released the Android port of VMPK under the GPLv3 license in GitHub.
You may download it from GitHub (source code and APK), or you may get it from the IzzyOnDroid repository which is available in the F-Droid app, but also on Neo-Store, Droid-ify, and the unofficial IzzyOnDroid app.
If you already have the F-Droid app, you only need to add the IzzyOnDroid repository in Settings>Repositories and install it today, or you may prefer to use the official F-Droid repo.
I would like to add to the celebration a video live streaming concerto, but I am too lazy and odd playing for that. Better use this wonderful rendering of the Tchaikovsky Violin concerto by TwoSet Violin, with Brett Yang playing the soloist and Eddy Chen the rest of the orchestra. Enjoy!
A few weeks ago was KDE’s Akademy which was hosted in Berlin, Germany this year! This was my first time visiting Berlin, which I’m surprised by considering I’ve been visiting Germany practically non-stop since 2023. There was lots of fun this year, and it’s always great seeing everyone again ❤️

Travel
Getting to Berlin for me and back was 100% uneventful, which is odd. (This time, the travel bug bit Nate Graham 😬) So much so, both arriving planes were early! Also because of the location of BER there was literally only one direction to go, so even the train travel was simple. Within the city, it was the S-Bahn all the time and the occasional U-Bahn.

Of course, I kept track of my itinerary is KDE Itinerary this year again. I only had to fix one bug with my United Airlines parser, that’s pretty impressive!
Hotel
Despite booking late, I did manage to snag a week-long reservation at the B&B Berlin-Tiergarten. It was close both to the venue at the TU, the Tiergarten and the Tiergarten S-Bahn station which was super useful. The hotel itself was nice, but ~€12 for cold cuts during breakfast was a bit much (I didn’t realize that were was a bakery close by until after I bought breakfast, whatever…)
This was also my first hotel where instead of a room key, you have to punch in a number on a keypad. Like no, literally one of these kinds of keypads:

The hotel also had a self check-in, very modern I guess. Kai Uwe added support for the keeping the access code in Itinerary already, so the next time I stay at a B&B I’ll use that instead of a photo!
Akademy
As it is every year, it’s a tough choice deciding which talks to attend. Fortunately we only have two tracks and livestreams, so you’re never missing too much but it’s always a choice. Here’s some of my favorites from this year, in bullet-list form! (They’re ordered by how they’re scheduled.)
- Plasma: Lessons Learned and Our Path Forward in 2026 and Beyond, given by David Edmundson.
- Handling Negative Feedback, given by Akseli Lahtinen.
- Getting Hired to Work on FOSS - The Do-s, Don’t-s and Pitfalls for Everyone Involved, given by Till Adam. (OK, he’s one of my bosses. But I still like the message of hiring friends does have a very real social cost involved.)
- Next-Gen Documentation Infrastructure for KDE, given by Nicolas Fella.
I gave a talk about bridging the gap between artists and Wayland, a lot of it being my own personal experience/journey and all that fun stuff. As I feared, there were one too many slides so unfortunately I skipped a few but I hope most it still came across. You can view the recording on PeerTube.
I spent quite a bit of time hacking on NeoChat, since all of the maintainers were in one (not so easily) accessible building. Some of my focus points were reporting content, our Android version and so many bugfixes! I also managed to sneak in a small bugfix for B&B hotels in Itinerary.
There were a lot more non-concrete hacking and discussion happening too, I’m glad to see some progress moving in the Kirigami and Add-ons space! Tokodon has become the testbed for a new way to declaratively create and use actions, which is something Tokodon already does but we wanted create a proper, centralized framework.
So overall, a pretty productive Akademy for the community I think! And not just on a technical level, but there’s a lot of talk about the CWG (Community Working Group) and handling community matters spearheaded by Victoria Fischer. I do just a bit of moderation work on our Discuss site, but it makes me so happy this is becoming a new focus. I think we as a community is already a pretty safe space, but that is absolutely something we should not take for granted especially during these times.
Day Trip

The day trip this year was Berlin! Instead of taking a bus somewhere, we were tasked with walking from the Tiergarten area to the Brandenburg Gate and take pictures. Unfortunately for me, during one morning I walked almost the same path accidentally so a lot of it wasn’t new to me. But it was still an overall fun experience, way more fun than falling asleep on a bus somewhere.

We also visited the Computerspielemuseum which was somewhat cool. I’m of the opinion that once you’ve seen one video game museum, you pretty much seen them all (this applies to anything computer-related in general.) However this one had cool statues, and a Painstation!

Another thing that made me happy is seeing new faces at Akademy, so if you have the means to travel to Europe and are even just interested in KDE - please join us for a weekend! (There is an RSS feed for Akademy news, a mailing list and more to keep track of us.)
I’m also just one guy, I recommend reading other people’s Akademy experiences this year at Planet KDE, they’re all fantastic of course. Now, back to hacking!
Like or comment on this post












