Kdenlive 25.04.0 released - Kdenlive
Kdenlive 25.04.0 released
Monday, 28 April 2025
Jean-Baptiste Mardelle
#Release
We are proud to announce the release of Kdenlive 25.04.0. Here are some highlights of this major release:
Object segmentation
A new plugin based on the
SAM2
model now allows you to create object masks to remove the background of your videos or apply an effect only to an object.
All processing is done locally.
Improved audio waveforms in timeline.
A nice refactoring was done by
Etienne André
to make the audio thumbnails faster and more precise.
OpentimelineIO import/export
Darby Johnston rewrote our OpentimelineIO import and export function using the C++ library. Now you can exchange projects with other editing applications that support this open source file format. Please note that effects, filters, and transitions are not exported as each application uses its own standard.
Workflow improvements
Among the many small improvements, here are some of the noteworthy changes:
The duration of multiple adjacent clips can be changed in one operation
Allow vertical zooming of audio waveforms
Fixed proxy clips workflow for videos with an alpha channel
Added Shift+Click to expand/collapse all effects in the stack
It is now easier to find out which monitor is active as the time code widget now uses a different color
Added a search feature to the project notes, and made standard search shortcut work on all widgets
Fixed UI translations not appearing correctly despite being translated
Kdenlive now remembers the last used LUT files when doing color correction, making it easier to access them
Fixed Render widget hidden behind main window on Mac
Many other improvements made it into this release, and we closed more than 30 reported bugs. Please see the change log below for details.
Last minute fixes
Some last minute fixes have been included in our binaries:
Fixed a corruption when copying and pasting sequence clips to another project
Improved the Title Editor's text outline to follow the font curves more closely
Fixed an application freeze when trying to extract the last clip in a track
Made the Auto Save feature less aggressive by increasing the time intervals and fine tuning the triggers in order to prevent a severe lag in large projects
The work on the OpentimelineIO and audio waveform features was made possible thanks to all the people who contributed to our fundraising, see our
final campaign report
Give back to Kdenlive
Releases are possible thanks to donations by the community.
Donate
Need help ?
As usual, you will find very useful tips in our
documentation
website. You can also get help and exchange your ideas in our
Kdenlive users Matrix chat room
Get involved
Kdenlive relies on its community, your help is always welcome. You can contribute by :
Helping to identify and
triage bugs
Contribute to
translating
Kdenlive in your language
Promote Kdenlive in your local community
Full Changelog
Click to see the full changelog (English)
Ensure secondary bins are created after mainwindow is initialized.
Commit
Fix corrupted bin icon.
Commit
. Fixes issue
#1993
Fix crash duplicating a sequence with built-in effects enabled.
Commit
. Fixes issue
#1996
Temporarily disable exporting OTIO metadata on macos.
Commit
Snapcraft: sync fixes from master to release.
Commit
Don't search LUT file in all subdirectories.
Commit
. See bug
#502581
Fix GPU whisper script.
Commit
Show proper error message when trying to apply a mix and all tracks are disabled.
Commit
. Fixes bug
#502610
Fix qml typo.
Commit
Fix clip markers vertical pos.
Commit
Fix typo breaking timeline thumbnails.
Commit
Fix major slowdown to timeline operations (scroll, etc) on large projects using clip markers.
Commit
. See bug
#502610
Refactor qml around timeline mouse position.
Commit
Try to fix render dialog categories (xml extract does not work with i18nc).
Commit
. See bug
#502297
Add torchaudio for NVidia GPU whisper in case it is not automatically installed.
Commit
Fix Extract clip with multiple selection.
Commit
. Fixes bug
#485517
Don't enforce mapping audio or video streams if we anyways don't want them.
Commit
. See bug
#502437
Fix Clip monitor audio preview causing monitor image resize when not permanently enabled.
Commit
. See issue
#1984
Fix audio spectrum not correctly refreshing on color theme change.
Commit
Remove undocumented
tag in effects xml breaking translations.
Commit
. See bug
#502594
Fix documentation link to JogShuttle.
Commit
. Fixes bug
#502618
Cleanup track head tooltips, show track name on track tag hover when collapsed.
Commit
Make Slider in AudioMixer follow changes done in the SpinBox.
Commit
Fix cut-off text of dB scale values in AudioLevelWidget.
Commit
Additional OTIO missing media test.
Commit
Fixes for small clips.
Commit
Fix effect stack model crashes and undo move.
Commit
Fix deleting single bin clip effect when effect group is enabled.
Commit
Increase precision of BoxBlur to allow 1 pixel blur.
Commit
LUT: always list LUTS placed in the last opened folder.
Commit
. See issue
#1985
Fix timeline audio thumbnails for clips with multiple streams and different channel count.
Commit
. Fixes bug
#501280
Make Remove timeline preview work with undo/redo.
Commit
. Fixes bug
#502192
Fix timeline preview chunk incorrectly identified as missing bin clip.
Commit
Timeline preview: fix breakage with build-in effects and undo.
Commit
Fix clear history broken.
Commit
. Fixes bug
#499544
Fix glaxnimate connection not terminated on app close on Windows.
Commit
. Fixes bug
#473036
Text based edit: with multiple text selection, create multiple markers.
Commit
. Fixes bug
#498259
Fix markers on clips with negative speed seeking to incorrect position.
Commit
Fix variable fps message in clip properties using too much space.
Commit
Better default height for assets info box, remember its size.
Commit
. Fixes bug
#502089
Fix 1 frame offset in reverse clip.
Commit
Fix incorrect waveform on clips with negative speed.
Commit
. Fixes issue
#1981
Prevent loading MLT Qt5 modules crashing tests.
Commit
Ensure track state is correctly restored on undo hide.
Commit
Fix missing menu entry for hide track, cleanup and allow Shift+click to hide all audio/video tracks.
Commit
. See bug
#495921
Fix first background frame not displayed when opening a timeline clip in glaxnimate.
Commit
Correclty restore all audio streams in restore audio operation.
Commit
. Fixes bug
#474140
Ensure render dialog shows up even if it was minimized.
Commit
Try to move Render Widget on top when activated.
Commit
Fix audio targets not updating anymore after audio or video only drag from clip monitor.
Commit
Cleanup debug lines.
Commit
Add Quick Sync h264/265 render profile.
Commit
Ensure we don't delete a builtin effect.
Commit
Fix crash undoing delete all effects.
Commit
Fix crash trying to group a clip with a composition.
Commit
Enable Ctrl+F shortcut to focus search line in Bin, Guides and Effects/Transitions list.
Commit
Text based edit: don't use hardcoded colors in text search background, make standard shortcuts work (find, find next/previous).
Commit
Fix some effects/composition names appear untranslated - caused by i18n context.
Commit
. See bug
#473086
Fix tests after last commit.
Commit
When opening a project file with a custom effect that is not on the system, use the MLT base effect to correctly recover the project.
Commit
. Fixes bug
#460928
Correctly set audio flag for generator clips (don't pretend we have an audio track when we don't).
Commit
Fix autoclose attribute not properly set on playlists on rendering, causing huge memory usage.
Commit
. See bug
#501578
Fix some minor color palette issues in effect stack.
Commit
Remove unsupported html tags from notifications.
Commit
. Fixes bug
#174560
Improve our memory checks on rendering to use more sane values and be more visible on low memory.
Commit
Get rid of stylesheets for asset panel.
Commit
Ensure we use cpu by default for whisper if no device configured yet.
Commit
Fix speed dialog mnemonics and tab order.
Commit
. Fixes bug
#501565
Several monitor qml overlay fixes.
Commit
Fix profile change aborted when switching from empty project.
Commit
. Fixes bug
#500751
Insert space should move guides if they are not locked.
Commit
. Fixes bug
#500773
Add keyboard shortut for render filename field.
Commit
. Fixes bug
#500772
Fix rendering files with an ampersand in name is broken on linux.
Commit
. Fixes bug
#500794
Remove link character that is missing in many fonts.
Commit
Motion tracker: create keyframes with smooth_natural type instead of the deprecated smooth that caused cusps and could lead to empty area causing crashes.
Commit
. See bug
#500850
Add missing subfolders for translations.
Commit
. See bug
#473086
Fix saved tracker effect doesn't work.
Commit
. Fixes bug
#501227
Add OTIO tests for transitions and missing media.
Commit
Ensure Bin messages don't crash when running in headless mode (like tests).
Commit
Fix project monitor ruler not updating correctly on scene change.
Commit
Display black frame when seeking after last clip in timeline.
Commit
Display timecode in project monitor even if we are past the last clip.
Commit
Fix replacing color clip.
Commit
. Fixes bug
#501394
Reorganize timeline toolbar separators to be more coherent with feature.
Commit
. See issue
#1972
Re-enable the keep source default size feature now that qtblend is fixed.
Commit
Add some context info for built-in effects.
Commit
Fix crash on close with mask task running.
Commit
XML effect file corrections.
Commit
Add some contextual info buttons to plugins.
Commit
Fix transcoding and proxying of clips with cover art.
Commit
. Fixes bug
#496599
Add info message about SAM2's high memory usage.
Commit
Hide some built-in effects on color clips.
Commit
Fix incorrect properties keyword.
Commit
Disable exception handling to fix CD builds.
Commit
Clazy fixes.
Commit
Allow installing specific CUDA version for Whisper and SAM2.
Commit
Add OTIO support for color clips.
Commit
Add progress dialogs.
Commit
Revert "Allow testing checkerboard with MLT 7.30".
Commit
Improve error log on venv setup error.
Commit
Work around for header oddity with OTIO and Imath.
Commit
Update nightly Flatpak deps for OpenTimelineIO.
Commit
Fix OpenTimelineIO target names.
Commit
Ensure Bin effects keep their in/out when clip is inserted in timeline, like shape filter.
Commit
Fix alpha mask keyframes.
Commit
. See issue
#1964
Fix startup crash.
Commit
Fix mask not created on request.
Commit
Fix effectstack not showing up for color/image bin clips.
Commit
Misc Mask fixes, allow editing a missing mask to recreate it.
Commit
Temporarily disable otio test.
Commit
Test fix.
Commit
Add guides and markers test.
Commit
Refactoring.
Commit
Add more tests.
Commit
Wait for clips to load.
Commit
Add messages boxes for errors.
Commit
Add asserts.
Commit
WIP import transitions.
Commit
Remove old code.
Commit
WIP support for exporting mixes as OTIO transitions.
Commit
Set the profile.
Commit
Add basic test.
Commit
Add copyright header.
Commit
Move OTIO dependency into a subdirectory.
Commit
Add test file.
Commit
Refactoring.
Commit
Remove TODOs.
Commit
Get the resolution from the first video clip.
Commit
Update notes.
Commit
Use AV libs for timecode.
Commit
CMake fixes.
Commit
Add notes.
Commit
Refactoring.
Commit
Add guides support.
Commit
Refactoring.
Commit
Refactoring.
Commit
Import markers.
Commit
Better profile handling.
Commit
Export markers.
Commit
Account for gaps.
Commit
Remove QModelIndex traversal.
Commit
Use start time code from media.
Commit
Add FETCH_OTIO option.
Commit
Create a new document when importing.
Commit
Do not translate the file extension.
Commit
WIP import.
Commit
Add comment.
Commit
Initial attempt at importing.
Commit
Add basic OTIO export.
Commit
Try using kde_target_enable_exceptions() for OTIO.
Commit
Use FetchContent for OTIO.
Commit
Initial check-in.
Commit
Multiple fixes for background removal (you can now continue working while mask is being created).
Commit
Timeline highlight: switch from stylesheet to palette roles.
Commit
Get rid of focus timer hack breaking stuff.
Commit
Revamp python plugins install, fix downloading whisper model on first run if model folder does not exist.
Commit
Fix invert mask button.
Commit
. See issue
#1976
Fix audio playback breaks when switching between bin clips.
Commit
. See bug
#500491
. See issue
#1963
Remove debug.
Commit
Various fixes for background removal.
Commit
Fix playlist alpha proxy.
Commit
. See issue
#1556
Don't allow changing zone when monitor is in mask creation mode.
Commit
Fix coding style.
Commit
Fix seeking to zone start in bin clip when starting a mask.
Commit
Make proxy profile for clips with alpha configurable (globaly not per project).
Commit
. See issue
#1556
Enforce libvpx decoders when transcoding a file with alpha.
Commit
. See issue
#1556
Add basic alpha detection for playlist clips to disable automatic proxies.
Commit
. See issue
#1556
Try to fix CI tests freeze.
Commit
Cleanup built-in Mask task.
Commit
Ensure we don't add 2 mask effects.
Commit
Show mask progress and stop button in build-in widget.
Commit
Add remove background button in built-in effects.
Commit
Use deleteLater when switching monitor scene to avoid possible crash if a switch occurs while a qml action happens like mouse click.
Commit
Object masks: allow selecting mask color and adding a border.
Commit
Fix ClipLoadtask usage in tests.
Commit
Add a few tests for Timecode and GenTime.
Commit
Improve code to get start timecode of a clip.
Commit
Add scaleTimecode helper to deduplicate code.
Commit
Change icon for speech recogniation in subtitle trackhead.
Commit
Make active monitor timecode font bold.
Commit
Make monitor timecode color different if monitor is active.
Commit
. See bug
#471086
Fix align audio to reference always using first stream.
Commit
. Fixes issue
#1968
Fix audio stream index indicator in timeline clips.
Commit
Don't output hundreds of useless avformat warnings.
Commit
SAM: Add option to offload memory to CPU, allowing to create longer masks, useful for GPU with low VRAM.
Commit
Snapcraft: Use ffmpeg sdk for building.
Commit
Fix compilation.
Commit
SAM segmentation: Allow creating include / exclude points later in the video, display keyframes in monitor ruler.
Commit
Ask for confirmation when closing a project with running mask task.
Commit
Ensure shape masks gets correct parameters on start.
Commit
Remove useless debug.
Commit
Make sam2 process stay alive during mask creation.
Commit
Don't draw audio channel name if we merge channels.
Commit
Fix audiothumbs disappear on high zoom.
Commit
. Fixes issue
#1969
Fix dragging from clip monitor becomes audio or video only when passing over the buttons.
Commit
Use current stream for audio matching.
Commit
. See issue
#1968
Fix compile issue with fakeit template.
Commit
Fix effects with analysis step like loudness 2 pass and tracker broken on cut clips or on tracks.
Commit
. Fixes bug
#492729
. Fixes bug
#441451
. Fixes issue
#1789
[CI] Dependencies for @all.
Commit
CI: Add linux-qt6-next build.
Commit
Remove dead code to trigger rebuild.
Commit
Titler: fix horizontal center of text with letter spacing > 0.
Commit
Fix crash pasting clips with a same track transition (like dissolve).
Commit
Allow testing checkerboard with MLT 7.30.
Commit
Ensure proxy clips have a fixed frame rate (using vsync 1).
Commit
. Fixes bug
#499559
Fix Clip Monitor audi/video drag buttons.
Commit
Shift+Click to collapse/expand all effects.
Commit
Fix rotoscoping shape sometimes jumps to unexpected location when drag while playing.
Commit
Fix incorrect behavior / crash on single item deletion.
Commit
. Fixes bug
#499570
Fix crash trying to import invalid keyframe data from clipboard.
Commit
. Fixes bug
#499531
Fix keyboard focus lost on fullscreen monitor with rotoscoping and maybe other effect overlays.
Commit
Clip Monitor Background: add checkerboard option.
Commit
. Fixes issue
#833
Fix resetting rotoscoping effect is broken.
Commit
Don't try to update monitor overlay if effect is disabled.
Commit
Report proxy failure if process exit code != 0.
Commit
Hide split screen from 3 point balance (option is available from Kdenlive effect stack button).
Commit
Try having double and integer params have the same size in effects,.
Commit
Fix minor typo.
Commit
Remove unused qml param.
Commit
Add option to zoom audio waveforms. From the timeline menu or button in the first audio track header.
Commit
Fix clip monitor selection invisible on audio frame.
Commit
. See bug
#499365
Fix crash setting empty name for folder.
Commit
. Fixes bug
#499070
Fixes to rectangle keyframes (fix possible crash) and add configurable limit to automatic keyframes, for example only every 10 frames.
Commit
Ensure the keyframe position is correct in case we move a rectangle over monitor while playing.
Commit
Cleanup communication with qml monitor rectangle.
Commit
Better fix for expand library clips broken with proxies.
Commit
. Fixes bug
#499171
Revert "Correctly fix path for proxied clip inside a playlist clip like in library".
Commit
Correctly fix path for proxied clip inside a playlist clip like in library.
Commit
. See bug
#499171
Fix clip monitor default zone does not include last frame.
Commit
Try to fix Whisper models folder on Flatpak.
Commit
. See bug
#499012
Ensure CTRL+end goes after the last frame to allow inserting new clips.
Commit
Fix effect param slider misbehaving after effect reset.
Commit
Don't try to delete ui file elements on subtitlemanager close.
Commit
Fix minor typo (remove an extra period).
Commit
Fix tags.
Commit
Object mask: fix minor monitor overlay issues (rectangle selection incorrect when zoomed).
Commit
Add shortcut to focus bin search.
Commit
Fix effect stack widget not properly resizing.
Commit
. See issue
#1957
New XML files, updates, fixes, UI improvements.
Commit
Fix whisper not working if device is empty. Don't unnecessarily reset monitor scene when changing monitor preview resolution, fix progress in frame export.
Commit
Add a proper meltjob class to handle SAM2 frame export.
Commit
Fix crash on some systems while extracting frames for a mask.
Commit
Testing some sam2 fixes.
Commit
Update config tooltip.
Commit
Fix compilation with Qt < 6.7.
Commit
Fix whisper/sam system python not correctly stored.
Commit
Improve control points visibility for object masks, allow moving a point.
Commit
Fix SAM rect selection.
Commit
Fix remaining incorrect ffmpeg path on Mac.
Commit
Cleanup speech scripts, fix hardcoded ffmpeg path breaking whisper and vosk on Mac, add system packages checkbox.
Commit
. See bug
#498949
Update automask tooltip to say you can also draw a box.
Commit
SAM segmentation: allow drawing a rectangle on monitor to select object, fix system python package, related to #1944.
Commit
Add option to use system packages for SAM (Whisper will come later).
Commit
. See issue
#1944
Another round of clazy fixes.
Commit
Change icon back from "red trash can" to "red X".
Commit
Another round of Clazy fixes.
Commit
Clazy fixes.
Commit
Ensure built-in effects reset button is enabled.
Commit
Typo fix in setTimelineProperty method name.
Commit
Ensure vidstab external files are correctly listed and archived.
Commit
Ensure mask files are correctly listed in Project settings / Archive widget.
Commit
Added 2 decimals for the rotation parameter (addresses bug #498586).
Commit
Rescale 48-apps-kdenlive.png to 48x48.
Commit
Fix effects layout broken on resize.
Commit
. Fixes bug
#498749
Fix possible crash on exit.
Commit
Reassemble proxy profile elements in the correct order after validation.
Commit
. Fixes bug
#485356
Fix the spinbox range for title position and size.
Commit
. Fixes bug
#487950
Fix handling of null frames in audiolevels generation.
Commit
Remove debug print.
Commit
Fix memory leaks in generatelibav.
Commit
Fix crash on audio zoomed in view with merged channels.
Commit
Change: Whisper, «Uninstall model» to «Remove model».
Commit
Fix: Make more delete icon consistent.
Commit
Workaround crash switching or zooming in merged audio channel view.
Commit
Audio waveform (audiolevels) rewrite.
Commit
Fix typo builtin to built-in.
Commit
Update to icon "edit-delete".
Commit
Make monitor opengl interpolation independant for clip and project monitors.
Commit
When zooming in the monitor view, use linear scaling so we can see individual pixels (linux only for now).
Commit
Fix rendering progress not shown when rendering a zone.
Commit
Snapcraft: symbolic link to proper home in packaging dir.
Commit
Nightly Flatpak: Add inih dep for exiv2.
Commit
Nightly Flatpak: remove movit dependency.
Commit
Nightly Flatpak: update deps.
Commit
Nightly Flatpak: don't install srt and vosk anymore.
Commit
SAM-2: pull as archive, not from git.
Commit
AbstractPythonInterface: cleanup venv check.
Commit
PythonInterface: remove unused installDisabled option.
Commit
Small tweaks to timeline resize handles and fix subtitles track head anchor issue.
Commit
Timeline: make resize handle slightly larger.
Commit
Fix error in last commit breaking tests and more.
Commit
Work/sequenceresize.
Commit
Ensure sequence clips in timeline are not resized to smaller when hiding a track.
Commit
. Fixes bug
#498178
Snapcraft: Move to core24.
Commit
Allow more than 9 layouts.
Commit
Fix crash saving effect stack.
Commit
. Fixes bug
#498124
Fix layout order with > 9 layouts.
Commit
Fix use after free from last commit.
Commit
Fix reload or proxy clip losing tags, markers, force aspect ratio.
Commit
. Fixes bug
#498014
Some mask fixes, including error reporting.
Commit
Show log on mask creation error.
Commit
Fix mask creation on Windows.
Commit
Fix label without layout.
Commit
Show notification in mask manager when creating a mask.
Commit
Fix bin clips effects sometimes incorrectly applied to timeline instance.
Commit
Fix minor typos.
Commit
Don't enable vos_optimized on CUDA < 8.
Commit
Fix sam config layout issue.
Commit
Fix image mask creation after first install.
Commit
Don't move selection when dropping a bin clip on another bin.
Commit
Automatic object segmentation.
Commit
. See issue
#1919
Update message when trying to proxy a clip with alpha.
Commit
Fix track resizing.
Commit
Add MAC videotoolbox HW rendering profiles.
Commit
Fix line return when pasting text with timecodes inside project notes.
Commit
Warn and fix proxying of alpha clips.
Commit
Fix delta display when resizing clip, add duration info when resizing from start.
Commit
Fix transparent rendering ffv1 profile.
Commit
Add ripple checkbox to clip duration dialog.
Commit
Save effect preset screen positions in percents.
Commit
Bring back presets to build in effects.
Commit
Fix titlewidget animation tab layout.
Commit
Clazy fixes part two.
Commit
Clazy fixes part one.
Commit
Assetlistwidget buildLink use const ref for argument 'id'.
Commit
Don't allow adding master only effect to timeline clips/tracks.
Commit
Add small transform button in top left timeline monitor when build-in effects enabled to easily trigger a resize.
Commit
Fix incorrect code change that broke tests.
Commit
Add shortcut to extract clip from timeline.
Commit
Add some debug info for random failing tests.
Commit
Fix minor typo: you -> your.
Commit
Fix crash loading project with effect zone.
Commit
Fix placeholder.
Commit
Add campaign infos to our website links.
Commit
Drop useless CMAKE stuff from kiss_fft.
Commit
Effects XML changes to include keyframes.
Commit
Docs: Add some Qtmodules as deps for building.
Commit
Update build.md with dependencies for Ubuntu 24.10.
Commit
Fix effect value comparison now that sepia is keyframable.
Commit
Make multiple effect parameters keyframable.
Commit
Comments