Skip to content

Tuesday, 4 February 2025

From 6th to 10th of September 2024, part of the Kdenlive Team was in Germany to attend the annual KDE convention Akademy and used that opportunity of being together at the same location to have a sprint. It was good to meet face to face and to sit down and tackle some issues together. One of the topic discussed was improving our communication towards users, so here is a much needed update on the status of our fundraiser! This post should have been published a few months earlier but there were so much things happening around Kdenlive that it was hard to follow, so sorry for the delay!

It’s been a bit more than 2 years since we launched our very successful fundraiser. This allowed us to fund some much wanted features, and as a side goal, allowed me to spend more time on Kdenlive. Thanks to your donations, I will be able to dedicate two days per week to Kdenlive instead of one. Note that this only sponsors part of my work as I spend much more time to Kdenlive, but hopefully this will relieve some stress and I will have a healthier weekly rhythm.

During this time, there were around 1,900 commits to the Kdenlive repository, meaning about 3.8 commits per day! We didn’t take that much vacation, did we? Also worth noting is that we handled the port to Qt6 during that time, which was a big task and took a lot of effort.

So now for the status of the fundraiser, here is what has been done so far and what is left. All major things were implemented in the 24.12 release so that we can move on to our next goals soon.

Timeline Nesting

merged in 23.04

This was by far the biggest update since 2019, and can now be enjoyed by all (we recommend using the upcoming 24.12.2 version for the best experience). What remains for this task is to do some code cleanup that will be done in the 24.12 cycle. On a side note, the feature was merged too early and caused some annoying instabilities that are now solved. And I promise we are working to improve our development processes.

Improving the effects workflow

Several changes were made to improve the user experience and make our effects more powerful.

Group effects

merged in 24.05

Ability to control the parameters affecting all effects within the group.

Built-in effects

merged in 24.12

The effects panel gives direct access to effect parameters, allowing to quickly and easily adjust them.

More Easing Modes

merged in 24.02

In addition to the existing easing modes (linear, smooth, and constant), we’ve added several new options like: Cubic In/Out, Exponential In/Out, Circular In/Out, Elastic In/Out, and Bounce In/Out for transitions and effects.

Transform effect improvements

The Transform effect now has a monitor grid to easily align clips – merged in 24.12

Added ability to directly select clips from the monitor overlay – merged in 24.08

Redesigned effects interface

merged in 24.12

The Effect Stack redesign enhances usability with clearer organization of keyframeable and non-keyframeable parameters, improved layout consistency, more compact and clean.

Help button

merged in 24.12

Added a contextual help button in the effect / transition stack which redirects to the effect’s documentation on our fantastic documentation website.

Performance boost

Performance improvements is an always running task, but among some of the recent changes you will find:

  • Spacer tool boost – merged in 24.05, the Spacer tool that was previously very laggy when moving more than 10 clips was optimized to allow almost instant move
  • Improve speed for audio or video only rendering – merged in 24.08, a small improvement in the way the rendering is passed to MLT means slightly faster render times for the timeline preview
  • Improve support for hardware encoders – cleanup and improve the detection of the GPU used for timeline preview and proxy clips – merged in 23.08
  • Optimize parts of the timeline qml code – merged in 24.05, we now better handle out of view items

But wait, there’s more!

Thanks to your support we managed to achieve more than planned. We worked in improving our automated testing as well as hired third party developers for extra features.

Regression Testing

One thing we wanted for a long time was a way to automatically check for rendering regressions. We are now entering the final phase of this automated tests and it will soon be run automatically. Hopefully this will make future releases more stable and avoid some of the issues we had in the last years!

Audio Waveform Upgrade

merged for 25.04

The next major release of Kdenlive brings a 300% performance boost for generating audio thumbnails, along with higher-resolution waveforms for greater precision and a refactored sampling method that accurately renders the audio signal. This work was done by Étienne Paul André, check out the in depth details about thew work done here.

OpenTimelineIO Integration

expected in 25.08

Darby Jonhston is working on implementing a native C++ OpenTimelineIO integration to allow importing and exporting project files to/from other applications implementing this open standard. This has many advantages over the currently existing but very broken Python adapter based OTIO integration.

Export features:

  • Export a timeline with multiple tracks and clips. (working)
  • Support for markers and guides. (working)
  • Support for transitions. (not started)

Import features:

  • Import a timeline with multiple tracks and clips. (working)
  • Support for markers and guides. (working)
  • Support for transitions. (not started)

What’s next

During our sprint in Germany, we also updated our roadmap so that it better reflects the current status of our development and goals. We have something big planned for this year so stay tuned.

On behalf of the team, we would like to thank you all for your support that helps make Kdenlive better every day!

Monday, 3 February 2025

KStars v3.7.5 is released on 2025.02.03 for Windows, MacOS & Linux. It's a bi-monthly bug-fix release with a couple of exciting features. Here are the release notes organized by developer.

Jasem Mutlaq

  • Added dome slit visualization on sky map. Specify the Dome Measurement parameters in the INDI Dome driver to see a live dome slit overlay in the Sky Map.

  • Implemented generic DBus methods for KStars options
  • Added SchedulerSleeping event
  • Added mutex protection for multi-threaded resources
  • Enhanced scheduler loading and settings management
  • Improved filter manager operations
  • Fixed video subframing. Up to 50x improvement in subframed video feeds.
  • Fixed multiple profile editor issues
  • Added VSCode development setup support

Hy Murveit

  • Fixed DMS delta angle calculation
  • Added mandatory settle to PAA
  • Improved imaging planner stability


  • Fixed pierside placeholder directory usage
  • Added START_AT scheduler test
  • Fixed Abell planetary nebula lookup
  • Enhanced PAA adjustment estimation

Wolfgang Reissenberger

  • Implemented video sequence capture. Preliminary support for capturing Video files as regular sequences in the Capture module. Great news for EAA.

  • Fixed focus options
  • Improved remote directory handling
  • Fixed flats with wall position
  • Enhanced filter wheel integration

John Evans

  • Enabled focuser controls when camera disconnected
  • Improved focus measure framing
  • Fixed focus advisor code warnings
  • Updated aberration inspector functionality

Toni Schriber

  • Fixed overshooting cosine in CachingDms calculation
  • Implemented calibration reuse after rotation. Guide calibration data can now be re-used between sessions after rotation.

Ben Cooksley

  • Removed CMake trace/debug logs from CI runs

György Balló

  • Set window icon

Oliver Kellogg

  • Fixed typo in FITS Viewer configuration

Akarsh Simha

  • Fixed right-click popup menu on deep stars

Technical Highlights

  • Improved capture sequence stability: Set 5-minute timeout for transient operations (dome motion, mount parking/unparking, dust cap operations, focusing, filter wheel changes) to prevent indefinite sequence stalling.
  • Improved mount rotation processing
  • Enhanced scheduler loading mechanism
  • Added mutex protection for multi-threaded resources
  • Improved capture operation timeout handling

Sunday, 2 February 2025

A new Craft cache has just been published. The update is already available for KDE's CD, CI (Windows/Android) will follow in the next days.

Please note that this only applies to the Qt6 cache. The Qt5 cache is in LTS mode since April 2024 and does not recieve major updates anymore. We highly recommend to port your Qt5 app packaged by Craft to Qt6 as soon as possible!

Changes (highlights)

General

We added CI for flake8, isort and black with the help of tox (which makes it easy to run them locally too) to all Craft repositories. To be able to do so we did a lot of best pratice cleanup beforehand like eg. removing star imports.

Craft Core

  • Drop support for MSVC 2017
  • Introduced a CraftBool helper. This allows handy things like self.subinfo.options.dynamic.withMyLib.asOnOff instead of 'ON' if self.subinfo.options.dynamic.withMyLib else 'OFF'
  • Fix: let the Meson build system respect the buildStatic option
  • Handle --enable-static --enable-shared in AutoToolsPackageBase instead of in every single blueprint
  • Python packages (Linux and Windows MSVC; macOS is work in progress):
    • Build them ourself instead of using the pre-build binaries from pypi.org
    • Use proper staging
    • Allow to deploy/package them
  • Properly set Craft env when branch is switched (eg. with Craft Master in CI)

Blueprints

  • libjpeg-turbo 3.0.3
  • Multiple fixes for build of shared vs. static libs
  • libvpx 1.15.0
  • Add minGW 14.2 (not the default yet!)
  • 7z 24.09
  • KShimgen 0.6.1
  • linuxdeploy-plugin-qt 2.0.0-alpha-1-20250119
  • qtkeychain 0.15.0

About KDE Craft

KDE Craft is an open source meta-build system and package manager. It manages dependencies and builds libraries and applications from source on Windows, macOS, Linux, FreeBSD and Android.

Learn more on https://community.kde.org/Craft or join the Matrix room #kde-craft:kde.org

Saturday, 1 February 2025

The Linux App Summit is a project we KDE created, together with GNOME and some other parties. We wanted a physical space where to discuss our platform to different stakeholders.

We have seen lots of progress since 2019. From a KDE perspective, we see our flatpaks and snaps. This adoption brings all sorts of users to our software that otherwise wouldn’t have been able to.

From the other side of the equation, linux distros have been evolving like ever. We have seen a myriad of distributions using technologies that we would have never dreamed of. And we can find them both on consumer and development devices. Even KDE Linux and GNOME OS are looking into tightening the other end of that software distribution loop.

Now, it’s time to take things even further.

This year we will have LAS 2025 in Tirana. Consider participating in LAS 2025! How you ask?

  • Join us! It’s free to attend and, dare I say, we are lovely people.
  • Send a talk! You can come and talk us about how you are helping linux apps be a reality or what kind of problems you found with your app and how you solved them. Here you can find some more ideas.
  • Sponsor! Does your organisation take part in the linux ecosystem? Take part in it!

You can follow LAS updates on the Attendees chat or here @LAS@floss.social on Mastodon.

Thursday, 30 January 2025

Wednesday, 29 January 2025

gcompris 25.0

Today we are releasing GCompris version 25.0.

As you can see, we are now basing the major version number on the release year. This makes sense as we are doing one major version per year. It is also a good occasion to do it now to celebrate the 25 years of GCompris.

This version adds translation for one more language: Sanskrit.

This new version contains 195 activities, including 5 new ones:

  • "Sketch" is an activity for drawing freely with multiple tools to let children explore their creativity.
  • "Calculate with ten's complement" is the continuation of the existing ten's complement activities. This one helps the children to swap the numbers to easily compute a sum.
  • "Vertical addition" is an activity to write an addition and solve it.
  • "Vertical subtraction", is similar to the addition activity but for subtraction with the borrowing by regrouping method.
  • "Vertical subtraction (compensation)", is similar to the subtraction one with the borrowing by compensation method.

It contains bug fixes and graphics improvements on multiple activities.

With the help of teachers, we rewrote a big part of the activities description to be clearer.

When we switch language in the menu, the new language is now applied directly, without having to restart GCompris.

On the technical side, it is also the first release using Qt6.

We have also set the graphical renderer to direct3d11 by default on Windows.

It is fully translated in the following languages:

  • Arabic
  • Bulgarian
  • Breton
  • Catalan
  • Catalan (Valencian)
  • Greek
  • Spanish
  • Basque
  • French
  • Galician
  • Croatian
  • Hungarian
  • Italian
  • Latvian
  • Malayalam
  • Dutch
  • Polish
  • Brazilian Portuguese
  • Romanian
  • Sanskrit
  • Slovenian
  • Swedish
  • Turkish
  • Ukrainian

It is also partially translated in the following languages:

  • Azerbaijani (90%)
  • Belarusian (86%)
  • Czech (98%)
  • German (88%)
  • UK English (99%)
  • Esperanto (99%)
  • Estonian (88%)
  • Finnish (91%)
  • Hebrew (96%)
  • Indonesian (93%)
  • Georgian (85%)
  • Lithuanian (92%)
  • Macedonian (83%)
  • Norwegian Nynorsk (94%)
  • Portuguese (89%)
  • Russian (92%)
  • Slovak (82%)
  • Albanian (98%)
  • Swahili (92%)
  • Chinese Traditional (88%)

You can find packages of this new version for GNU/Linux, Windows, Android and Raspberry Pi on the download page. This update will also be available soon in the Android Play store, the F-Droid repository and the Windows store.

Thank you all,
Timothée & Johnny

Today we're releasing Krita 5.2.9! This is a bug fix release, containing all bugfixes of our bug hunt efforts back in November. Major bug-fixes include fixes to clone-layers, fixes to opacity handling, in particular for file formats like Exr, a number of crash fixes and much more!

Special thanks to Doreene Kang, Ralek Kolemios, Pedro Reis, Guillaume Marrec, Aqaao, Grum999, Maciej Jesionowski, Freya Lupen, Dov Grobgeld, Rasyuqa A. H.

  • Add shortcuts to bezier curve and freehand path
  • Fix original offsets not being accounted for when copying from another document (Bug 490998)
  • Fix updates when copy-pasting multiple nodes into a new document
  • Fix infinite loop when trying to update pass-through nodes (Bug 493774, Bug 493830, Bug 493837)
  • Fix Photobash Crash
  • Bug fix: Added A1 and A2 sizes when creating a document
  • Fix a crash when trying to merge down a layer created after a reference image addition
  • Possibly fix saving EXR files with extremely low alpha values
  • Fix infinite loop when a clone layer is connected to a group with clones
  • Dynamic brush tool shouldn't load the saved smoothing configuration (Bug 493249)
  • Fix bogus offset when saving EXR with moved layers
  • Try to keep color space profile when saving EXR of incompatible type
  • Fix crash when re-importing the same resource, but changed (Bug 484796)
  • Fix range of Saturation and Value brush options (Bug 487469)
  • Check pointer before dereferencing. (Bug 479405)
  • Fix loading .kpp files with embedded top-level resources (Bug 487866, Bug 456586, Bug 456197)
  • Fix a crash when trying to clear scratchpad while it is busy (Bug 488800)
  • Fix the current preset thumbnail to be present in the preset save dialog (Bug 488673, Bug 446792)
  • JPEG XL: Fix potential lockup when loading multipage images
  • Set the correct shortcut for zoom in in the action file (Bug 484365)
  • Fixed: some tools is interrupted by recorder. (Bug 488472, Bug 477715, Bug 484783)
  • Make sure that the text tool is not interrupted by the recorder (Bug 495768)
  • Recover "Clean Up" button in the Krita's Recordings Manager (Bug 455207)
  • Fix a possible saving lockout due to incorrect ownership of the saving mutex (Bug 496018)
  • Fixes to the unit spinboxes, a new context menu has been added to change the unit.
  • Make vector and raster selections to behave in the same way when creating tiny selections (Bug 445935)
  • Fix unclosed paths when intersecting two rectangular selections (Bug 408369)
  • Fix crash when closing Krita while Calligraphy Tool is active (Bug 496257)
  • Fix following existing shape in the Calligraphy Tool (Bug 433288)
  • Fix "Copy into new Layer" action when working with vector layers (Bug 418317)
  • Make sure that eraser button is properly initialized on Krita start (Bug 408440)
  • Fix focus issues in Canvas Size dialog (Bug 474809)
  • Disable snapping to image center by default (Bug 466718)
  • Change case of AppImage packages: .appimage -> .AppImage (Bug 447445)
  • Make sure that point-based snap points have higher priority than line-based ones (Bug 492434)
  • Implement canvas decorations for Snap-to-guides feature -Don't allow lowering/raising a mask into a locked layer
  • Fix display profile conversion flags to be updated on settigns change (Bug 496388)
  • Switch color history in the popup palette to use last-used sorting (Bug 441900)
  • Add Unify Layers Color Space action
  • Fix incorrect action text for "Paste Shape Style" (Bug 497035)
  • Fix backward compatibility of Per-Channel filter (Bug 497336)
  • Fix rendering of the warning icon in the composite op selector
  • Simplify path point and control point move strategies.
  • Fix an assert when modifying Mesh Gradient on a shape (Bug 496519)
  • Fix aspect ratio of Resource Manager tooltips
  • Improve rendering of pattern thumbnails
  • Fix artifacts when painting under a gaussian blus layer in WA-mode (Bug 434938)
  • Fix an assert when undoing merging of locked layers (Bug 497389)
  • Remove ignoring of the mouse events in KoPathTool (Bug 411855)
  • Use traceback instead of cgitb (Bug 497859)
  • Fix ambiguous "break path" shortcut in Shape Edit Tool (Bug 429503)
  • Add position indepndent property to libraqm
  • Fix python Py_SetPath() deprecation by always using qputenv()
  • JPEG XL export: Fix unable to set EPF value to -1 (encoder chooses)
  • G'Mic has been updated to 3.5.0 stable.

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.

Linux

The separate gmic-qt AppImage is no longer needed.

(If, for some reason, Firefox thinks it needs to load this as text: right-click on the link to download.)

MacOS

Note: We're not supporting MacOS 10.13 anymore, 10.14 is the minimum supported version.

Android

We consider Krita on ChromeOS as ready for production. Krita on Android is still beta. Krita is not available for Android phones, only for tablets, because the user interface requires a large screen.

Source code

md5sum

For all downloads, visit https://download.kde.org/stable/krita/5.2.9/ and click on "Details" to get the hashes.

Key

The Linux AppImage and the source .tar.gz and .tar.xz tarballs are signed. You can retrieve the public key here. The signatures are here (filenames ending in .sig).

Tuesday, 28 January 2025

tldr; save the date for our QtCS25, May 7-8 in Munich.
Stay tuned for more information.

Monday, 27 January 2025

Qrca WiFi mode, Trust and Safety in Tokodon, and more

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

Due to FOSDEM happening next weekend, there won't be any "This Week in KDE Apps" post next week. If you are in Brussels during the event, the KDE team will be in building AW, next to our friends from GNOME. Come say hi, we will have some stickers and demo devices!

General Changes

The About page used in many Kirigami apps now uses a new FormLinkDelegate for entries that will open a link. (Carl Schwan, Kirigami Addons 1.8.0. Link)

Amarok Rediscover your music

Support for Digital Audio Access Protocol (DAAP) was fixed. (Tuomas Nurmi, 3.2.2. Link)

Akonadi Background service for KDE PIM apps

Loading IMAP tags was optimized. (Carl Schwan, 24.12.2. Link)

Some SQL queries were fixed so that they don't exceed the limits imposed by the SQL engines (e.g. when reindexing a big email folders). (David Faure, 24.12.2. Link)

Elisa Play local music and listen to online radio

Files will play automatically when opened from a different app (e.g. Dolphin). (Pedro Nishiyama, 25.04.0. Link)

KDE Itinerary Digital travel assistant

We improved the ticket extractor for PKP (Grzegorz Mu, 24.12.2, Link)

We fixed public transport data access from Entur in Norway (24.12.2, also affects KTrip).

Kaidan Modern chat app for every device

The onboarding workflow of Kaidan was completely overhauled. (Melvin Keskin. Link)

The QR-code scanner and generator of Kaidan now uses Prison, KDE's standard QR-Code library (Jonah Brüchert and Melvin Keskin. Link)

Calculator A feature rich calculator

The history feature was fixed. (François Guerraz, 24.12.2. Link)

Okular View and annotate documents

We fixed Okular freezing when opening a PDF file with a lot of entries in a choice field. (Albert Astals Cid, 25.04.0. Link)

Qrca Scan and create QR-Codes

Qrca gained a mode to only scan for Wifi QR-codes. Currently this can be triggered with the --wifi flag, but in the future this will be triggered directly from Plasma Network Management to scan for Wifi codes. Additionally when scaning the QR-code for an existing connection, instead of creating a new connection, Qrca will update the credentials of the existing connection. (Kai Uwe Broulik. Link)

We removed the option to share a QR-code and replace it with a button to copy the QR-code. (Jonah Brüchert. Link)

Tokodon Browse the Fediverse

We added a menu item under the "Filters" timeline action to configure filters. (Joshua Goins, 25.04.0. Link)

We improved the look of filtered posts significantly. (Joshua Goins, 25.04.0. Link 1)

Tags and polls are hidden when the post has a content notice. (Joshua Goins, 25.04.0. Link 1 and link 2)

As part of more trust and safety improvements, we added a button to mute a conversation, so that you don't get any notifications for conversations you are not interested too. (Joshua Goins, 25.04.0. Link)

We fixed voting in polls that was not working reliably. (Joshua Goins, 25.04.0. Link) and improved Tokodon when using a screen reader. (Joshua Goins, 25.04.0. Link)

Third Party Apps

BlueJay

Evan Maddock released the 1.0.0 and 1.0.1 of BlueJay. BlueJay is a Bluetooth manager written in Qt with Kirigami.

…And Everything Else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out Nate's blog about Plasma and be sure not to miss his This Week in Plasma series, where every Saturday he covers all the work being put into KDE's Plasma desktop environment.

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 just keep KDE bringing Free Software to the world.

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

Sunday, 26 January 2025

Project Description

In SoK 2025, I will be working on adding Pallanguzhi, a traditional Indian Mancala variant, into the Mankala Engine. Collaborating with Srisharan V S, my focus includes two key goals:

  1. Developing a computerized opponent to enhance player engagement and ensure a seamless gameplay experience.
  2. Creating a Text-Based User Interface (TUI) for gameplay.

What I Did This Week

The first step in my journey was setting up the Mankala Engine repository. I forked the repository to my local system, successfully built it, and resolved some warnings during the build process. Afterward, I delved into the codebase, analyzing the existing algorithms and understanding how they work for other Mancala variants.

Research on Implementing a Computerized Opponent

To create a robust computerized opponent for Pallanguzhi, I began researching potential algorithms that could best fit the game mechanics. Here are the three techniques I explored.

1. Reinforcement Learning

Reinforcement Learning (RL) is an exciting approach where an agent learns optimal strategies by interacting with the environment and improving over time. For Pallanguzhi, RL could enable the computerized opponent to adapt and improve its gameplay dynamically. However, as I am new to RL, implementing and training models for this variant will take some time and effort. Despite its challenges, RL remains a promising option for advanced gameplay enhancement.

2. Monte Carlo Tree Search (MCTS)

MCTS is a powerful algorithm widely used for decision-making in games. It works by simulating potential moves to build a decision tree and then selecting the best move based on statistical evaluation. For Pallanguzhi, MCTS could efficiently explore the vast game state space and make informed decisions. By carefully tuning the number of simulations and exploration parameters, this algorithm can provide a balanced and competitive computerized opponent.

3. Alpha-Beta Pruning with Iterative Deepening

Alpha-Beta Pruning with Iterative Deepening is a highly effective technique for optimizing decision trees by eliminating unnecessary branches. This method is already implemented in the Mancala Engine for other variants and has proven its efficiency. Leveraging this existing implementation for Pallanguzhi will allow us to quickly develop a working version of the game with a competent computerized opponent.

Conclusion for Now

The immediate plan is to integrate the Pallanguzhi variant into the existing Alpha-Beta Pruning implementation. This ensures we have a functional version of the game ready for any further work. Once the TUI implementation is complete, I plan to revisit Reinforcement Learning for Pallanguzhi. Working with RL models and training them is a learning-intensive process, and I am excited to gain experience in this area. Even if RL proves too challenging, we will still have a polished Pallanguzhi variant running on the existing algorithm.

What’s Next

Next week, I will work on adding the longer version of Pallanguzhi, which consists of multiple rounds, while Srisharan V S focuses on completing the shorter version. Together, we aim to make significant progress toward integrating and refining this traditional game within the Mankala Engine.

Stay tuned for updates!