We are excited to announce the availability of the latest Kdenlive 23.04.0 version. This is a very special milestone for us as this marks the first release since the start of our successful fundraising. Kdenlive is an open source project, and as such we try to be as transparent as possible on how the development is going and where the money from the campaign is going. A detailed transparency report will be published in the next days.
The big highlight in today’s release is the support for nested timelines. This allows you to open several timeline tabs to work on different sequences of your project. These sequences can then be assembled to create a final project. Another addition is the support of the Whisper speech to text engine, in addition of the already supported VOSK back-end. This brings an improved accuracy, support for many languages, and the possibility to translate to English on the fly. And we also finally fixed a longstanding issue that caused the Kdenlive UI to show texts in English instead of the requested language.
A lot of polishing and bug fixing work has been done in this release, some highlights include: improved handling of imported clips with huge sizes, snappier playback of clips in timeline, added option to render in full color range, added warning when cached data exceeds 1GB, improved filtering of the Project Bin to mention a few. Some great work was also done by the MLT team on our video back-end, meaning that the audio cracks that could happen on some projects should be fixed in the latest MLT development version used in our binary packages (AppImage, Mac and Windows).
Many exciting changes are also on our roadmap for this year! For the next release, we will improve the effects workflow, and for the end of the year, we should hopefully have the Qt6 version with improved GPU support.
With nested timelines, you can work on individual parts of your project separately, and then combine them into a larger project once you’re done. This feature can help you to be more efficient and productive when working on complex video projects. Overall, nested timelines are a valuable addition to Kdenlive that has been planned ever since the timeline refactoring milestone (version 19.04) and we hope that they will help you to create more sophisticated video projects with ease.
This release comes with OpenAI’s Whisper speech recognition system which handle punctuations flawlessly, supports many languages and has the option to automatically translate generated texts to English. Do note that for a better experience it is recommended to have a GPU for processing. Whisper can be used in the Text to Speech widget or for generating subtitles.
Whisper can be easily setup by a config wizard in the settings panel.
Subtitle generation widget
Text Editor widget
This release comes with a variety of improvements and fixes to the effect and transition stack. New parameters (crop, adjust scaling and aspect ratio) have been added to the defish effect, the color value in many effects is now keyframeable and an improved audio normalizer. For those who require finer adjustments, pressing shift while dragging sliders now allows for adjustments on a one-by-one step basis, providing greater control and accuracy.
NEW TIMER EFFECT
The new timer filter allows to add a counter overlay on your videos with the possibility to style the font, position, format and more. It can count up or down according to the duration of your clip. You may add it to a track or on master as well.
Â
Â
NEW TRANSITIONS
This version comes with new keyframeable directional (up, down, left and right) transitions such as slide, wipe, push, barn door, circle and rect.
Slide left
Push right
Wipe up
Barn wipe horizontal
Circle wipe
Rect wipe
KDE STORE
Wait there’s more! The KDE Store has a new category for Kdenlive project files allowing to download nifty animated templates made by the community.
SUBTITLES
Kdenlive 23.04 brings several significant improvements to subtitle handling. When importing subtitles, if encoding cannot be confidently detected it defaults to UTF-8. A drop-down list has been added with available encoding formats in case it needs to be overridden.
When cutting subtitles with the razor tool (x) or cut clip function (shift + r) there is now an option in the settings to either duplicate the subtitle text or split them after the first line.
Duplicate text
Split after first line
Full Log
- Clear undo history after deleting a sequence since undoing more would crash. Commit.
- Delay settings dialog script checks to make Settings dialog appear faster. Commit.
- Fix incorrect argument type. Commit.
- Fix Whisper combobox device too narrow to read text. Commit.
- Fix startup crash caused by last commit. Commit.
- Fix tests. Commit.
- Fix broken click in timeline after dropping effect on a clip. Commit.
- When finding a timeline clip from bin context menu, also activate its track. Commit.
- Fix possible crash on add clip. Commit.
- Rebuild timewarp and timeremap sequence producers if missing on load. Display sequence tmp files in the cache data dialog. Commit.
- Add missing create clip entries in project menu. Commit.
- Fix crash on app close. Commit.
- Fix compile warning. Commit.
- Cleanup creation of media browser, store last location in project settings. Commit.
- Add config buttons to Stabilize and Speed clip jobs. Commit.
- Make Bin filter use an OR when filtering in the same category. Commit.
- Cleanup unused code. Commit.
- Add proper UTF8 suffix to locale. Commit.
- Fix warning. Commit.
- Fix encoding error on keyframes paste. Commit.
- Copying keyframes with no selection should copy all keyframes, not none, fix crash on paste. Commit.
- Fix crash when a missing clip is on an audio track (caused by link_swresample). Commit.
- Don’t freeze ui when fixing missing clips on project open. Commit.
- Bin: allow filtering by sequence type. Commit.
- Correctly recover projects with timewarp producers having incorrect Kdenlive:id. Commit.
- Fix recursive search on missing project files. Commit.
- Fix proxied clips using producer instead of chain. Commit.
- Fix missing clips incorrectly detected on load. Commit.
- Fix titler outline covering text. Requires latest MLT git. Commit.
- Fix changing custom project folder does not enable Apply Settings. Commit.Fixes bug #468156
- Reuse thumbs producer for thumbnail creation. Commit.
- Fix project profile not checked after first clip transcoding. Commit.
- Fix fps not appended to transcoded clip name. Commit.
- Don’t incorrectly show warning message when disabling project proxies. Commit.
- Fix thumbnail not updated on rotate. Commit.
- Refactor save title to use QSaveFile instead of QTemporaryFile + KIO job. Commit.See bug #467917
- Fix bin filter button not working with unused filter. Commit.Fixes bug #468038
- Fix incorrect tooltip in Clip Monitor toolbar. Commit.
- Subtitle style, use QStringList to avoid comma separator mistakes. Commit.
- Fix subtitle position breaking opaque background. Commit.Fixes bug #467745
- Fix sequence clips description. Commit.
- Made descriptions of projectclips editable again. Commit.
- Nicer look for clip monitor jobs overlay. Commit.
- Hide on monitor clip jobs when no clip is selected. Commit.
- Improve timeline scrolling when dragging from project bin, fix vertical scroll on drag. Commit.
- Don’t draw a frame around timeline when tabs shown. Commit.
- Fix another crash closing sequence clip. Related to #1401. Commit.
- Fix various crashes on quit or sequence clip deletion. Commit.
- Ensure audio is correctly added / removed to timeline sequence when audio tracks are added/removed. Commit.
- Workaround MLT freeze on mp3 files with png cover art. Commit.
- Ensure the “Monitor Config” menu does not replace Settings dialog on Mac, update syntax for KStandardAction. Commit.
- Fix audio detection on playlist clips, fix creating library item from selection messes transition tracks. Commit.
- Select new Library item when added. Commit.
- Attempt to fix missing icons on hover. Commit.
- Fix monitor background color on Wayland. Commit.
- Add a thumbnailer-deprecated folder for KF < 5.100. Commit.
- Fix tests. Commit.
- Fix composition paste broken. Commit.
- When saving project with cache data in project folder, abort proxy operation. Commit.
- Fix crash reordering track effects. Commit.
- Resize composition on expand playlist zone. Commit.
- Expand : correctly crop in/out of the sequence on expand. Commit.
- Fix compositions broken in library clips. Commit.
- Ensure new clips are inserted in correct library folder when another clip is selected. Commit.
- Ensure clips added to library go inn the active folder. Commit.
- Refactor python install script (used for opentimeline and speech recognition engine) to run in non blocking mode and display output to user. Commit.
- Add enum to avoid confusion in Settings Pages. Commit.
- Fix crash on sequence close/reopen and project close. Commit.
- [Clip Jobs] Multiple fixes and improvements. Commit.
- Ensure images are using an MLT::Producer, not a Chain. Commit.
- Fix razor line incorrect offset on subtitle track. Commit.
- Fix crashes with duplicated sequences, incorrect warning message about missing audio tracks when opening new sequence. Commit.
- Create sequence from selection: add context menu entry, propose the correct number of tracks, fix bug canceling creation. Commit.
- Various fixes for the clip job manager. Commit.
- Allow nesting a timeline sequence (from the timeline menu > Create sequence with selection). Commit.
- Better hig conformance for speech config. Commit.
- Add check config button to Whisper settings page. Commit.
- Fix Qt6 compilation. Commit.
- Don’t show log button if log is empty. Commit.
- Fix compilation with KF < 5.100. Commit.
- Several fixes and improved feedback for whisper speech recognition. Commit.
- Add “Cut subtitle after first line”. Commit.
- Ensure sequence clips are not counted as unused and not deleted by project clean. Commit.
- Next try to fix build for KF < 5.100. Commit.
- Try to fix build for KF < 5.100. Commit.
- Fix crash trying to duplicate first unsused sequence. Commit.
- Add support for whisper speech recogition engine for automated subtitling. Commit.Fixes bug #467172
- [Code Gardening] Another round to fix compiler warning. Commit.
- [Code Gardening] more fixes. Commit.
- [Code Gardening] Fix compiler warnings. Commit.
- Don’t advertise GUI as built before all main widgets are really built – as advised by Ondrej Popp. Commit.
- Fix audio and target tracks in sequence clips. Commit.
- Remove unused param. Commit.
- Move Full Color Range rendering to a checkbox in render dialog. Commit.
- Fix drag and drop erratic behavior. Commit.
- Fix timecode display with fps > 100. Commit.Fixes bug #466486
- Disable multicam mode when switching timeline tab or closing the project. Commit.
- Fix crash dragging grouped clips. Commit.
- Fix possible crash on new project. Commit.
- Fix color properties name. Commit.
- Add some debug if file loading fails. Commit.
- What’s This, second round, fix typos. Commit.
- [Effects] Color params are keyframable since MLT 7.12. Commit.
- Bump minimum MLT requirement to 7.14.0. Commit.
- Attempt to fix full luma range render, add a “color range” parameter to render profiles. Commit.
- Allow adding a playlist with a different fps to a project (allowed since MLT 7.14). Commit.
- When subtitle encoding cannot be confidently detected, default to UTF-8. Blindly trust results for tests. Commit.
- Fix subtitle preview not displayed when opening the import dialog. Commit.
- Subtitles import: allow overriding detected codec through a list of available codecs, show preview to make choice easier. Commit.
- Add timer effect. Commit.
- Fix detection of audio in timeline/playlist clips. Commit.
- Add button to create new timeline sequence in timeline’s tab bar. Commit.
- Fix projects aways opening on first sequence. Commit.
- Fix speed effect on sequence clips. Still seems a bit crashy though… Commit.
- Fix timeline sequence with speed effect set as invalid on project close. Commit.
- Fix regression in last commit (sequence bin clip not synced with its timeline). Commit.
- Refresh sequence clip thumbnail when switching tab, only refresh sequence clip if the sequence changed. Commit.
- Allow setting a bin sequence clip thumbnail from the project monitor context menu (set current image as thumbnail). Commit.
- Add context menu option to define default sequences folder. Commit.
- Store Bin zoom level in project settings. Related to #1401. Commit.
- Fix bin clip renaming inconsistencies. Now you cannot set an empty name on a sequence clip. Commit.
- Double click a sequence now opens its tab and seeks to the correct position. Commit.
- Fix timeline tab settings not correctly stored (zoom, scroll position, zone). Commit.
- Fix crash dragging a clip effect onto another timeline tab, related to #1401. Commit.
- Use default number of A/V tracks when creating a new sequence. Commit.
- Fix duplicate sequence clip and cleanup. Commit.
- Revert prefill change until properly fixed in MLT. Commit.
- Fix clip in timeline menu when switching tab. Commit.
- Open/close a timeline tab is now integrated with undo/redo. Commit.
- When a sequence clip had no audio tracks, don’t insert an audio part when dragging in another timeline. Commit.
- Fix script rendering subtitles broken. Commit.Fixes bug #466232
- Fix timeline menu contains duplicate/broken entries. Commit.
- Display sequence tracks count in clip properties widget. Commit.
- Fix confusing use of clip_type property and small mem leak in sequence creation. Commit.
- Fix sequence clips not deleted when closing project. Commit.
- Fix tests. Commit.
- After a crash, if movit is enabled propose to disable it instead of deleting the config file. Commit.
- Consistent use of Mlt::Profile to build MLT objects, fixes a few memleaks. Commit.
- Fix tests. Commit.
- Fix crash on new project, timewarp and thumbnails for sequence clips. Commit.
- Fix white thumb on newly created sequence clips. Commit.
- Convert the last emit to Q_EMIT. Commit.
- Fix build with KF < 5.98.0. Commit.
- Fix test. Commit.
- Unfortunately I missed a bunch of stuff in the last commits. Commit.
- Enable latest version of KDECompilerSettings. Commit.
- [Code Gardening] Port emit, signals, slots to Q_*. Commit.
- [Code Gardening] Port away from Qt foreach. Commit.
- Port away from deprecated KDeclarative. Commit.
- [CD] Add GitLab jobs for AppImage and Windows binary. Commit.
- What’s This, second round. Commit.
- [Flatpak] Increase timeout for flatpak. Commit.
- [Archive Project] Don’t crash on error, show more useful messages. Commit.
- Docs: specify version 7 of mlt packages in build instructions. Commit.
- Allow copy/paste of a sequence clip between projects. Commit.
- Fix transcoding for sequence clips. Commit.
- Fix copy/paste of sequence clips in same project. Commit.
- Fix Bin clip deletion broken regression. Commit.
- Double click a sequence clip in timeline will open its timeline tab. Commit.
- Fix deleting of sequence clips. Commit.
- Correctly store newly created sequences and update window title on sequence rename. Commit.
- Display timeline sequence name in window title if there is only 1 sequence opened. Commit.
- Fix crash opening project with a bin clip missing a kdenlive:id reference or missing folder. Commit.
- Fix project archiving with nested timelines. Commit.
- Fix check profile on first clip broken and various regressions linked to switch from MLT producer to chain. Commit.
- Fix closing/reopening of timeline tabs. Commit.
- Timelinepreview test: print out available formats on failure. Commit.
- Fix use-after-free in ThumbnailCache::remove(). Commit.Fixes bug #463764
- If timelinepreview test fails, list available ffmpeg formats. Commit.
- [Tests] Fix rendermodeltest. Commit.
- Ensure there are always guide categories available. Commit.
- Do not allow to accept MarkerDialog if no category available. Commit.
- Fix disappearing timeline cursor. Commit.
- Fix missing line causing subtitle crash. Commit.
- [nightly flatpak] Update more dependencies. Commit.
- [nightly flatpak] Split out dependencies. Commit.
- [nightly flatpak] update dependencies. Commit.
- Enforce timeline preview parameters for tests. Commit.
- Fix composition text. Commit.
- More tests cleanup. Commit.
- Ensure timeline preview test uses a progressive profile for mpeg rendering. Commit.
- Indentation fixes. Commit.
- Cleanup timeline preview test. Commit.
- Fix tests. Commit.
- Refactoring JobSent method. Commit.
- Add a basic subtitles overlap test. Commit.
- Switch from Producer to Chain to support improved audio normalizer. Commit.
- Fix subtitle track not loading correctly on project open. Commit.
- Fix track compositing with black background. Commit.
- Fix subtitle track not showing on first click of “Show subtitle track”. Commit.
- Fix timeline duration when opening older project file. Commit.
- Ensure project notes works with multiple timelines. Commit.
- [Flatpak nightly] Add x-checker-data for auto update detection. Commit.
- Fix timeline properties lost on older KdenliveDoc opening (zone, guides, groups,…). Commit.
- Fix initial timeline settings (zone, etc). Commit.
- Bump Kdenlive document version. Commit.
- Ensure nested sequences have a transparent background. Commit.
- Fix loading of timeline preview. Commit.
- Fix rendering of nested sequences. Commit.
- Ensure a timeline sequence never accepts a drop of another sequence embeding it. Commit.
- Refactoring of the Kdenlive project file format to correctly handle nested timelines. Commit.
- Fix typo in Contrast Adaptive Sharpen Filter. Commit.Fixes bug #465068
- Ensure subtitle models are correctly shown/hidden for each timeline tab. Commit.
- Improve audio on playback start (backported from Shotcut). Commit.
- Disable some clip actions for sequences that do not make sense. Commit.
- Fix crash opening project. Commit.
- Use edit-select-* instead of kdenlive-*select-all. Commit.
- Use snap instead of kdenlive-snap. Commit.
- Use application-menu instead of kdenlive-menu. Commit.
- Use edit-delete instead of kdenlvie-deleffect. Commit.
- Use selection-raise/lower instead of kdenlive-up/down. Commit.
- Use lock and unlock instead of kdenlive-*lock. Commit.
- Replace kdenlive-align-* icons with align-*. Commit.
- Replace kdenlive-zindex-* icons by object-order-*. Commit.
- Fix handling of group data for secondary timelines. Commit.
- Fix changing profile crash. Commit.
- Save sequence specific properties. Commit.
- Fix crash adding a subtitle after changing timeline tab. Commit.
- Fix various load/save issues. Commit.
- Ask for sequence name on add sequence. Commit.
- Ensure we render the active timeline tab. Commit.
- Show render duration in render dialog, correctly update on timeline tab switch. Commit.
- Fix monitor zone out and duration indicator. Commit.
- Fix Qt6 compilation. Commit.
- Fix reopening timeline tabs on project open. Commit.
- Fix track not active and targets not set when switching to new timeline tab. Commit.
- Fix reopening project with nested timeline. Commit.
- Fix tests. Commit.
- Ensure initial playlist duration is correctly set. Commit.
- Create initial sequence on startup, store onened timeline tabs in project file. Commit.
- Fix crash on open new project. Commit.
- Add more “What’s this?” texts. Commit.
- Don’t use deprecated KMessageBox::sorry. Commit.
- Don’t try setting marker model on empty timeline. Commit.
- Fix tests. Commit.
- Store marker model in monitor instead of fetching it for each frame. Commit.
- Try to fix timewarp test. Commit.
- Fix tests. Commit.
- Start fixing tests. Commit.
- Make subtitleModel depend on TimelineModel instead of KdenliveDoc and TimelineController. Commit.
- Move timeline preview to timelinemodel to prepare multiple timeline. Commit.
- Rename Timeline clips to “Sequences”. Commit.
- Don’t allow inserting a timeline sequence onto itself. Commit.
- Use Timeline 1 for first timeline tab. Commit.
- Fix editing extra timeline broken after reopen. Commit.
- Fix saving project with a secondary timeline opened. Commit.
- Implement nesting v2. Commit.
- Don’t try setting marker model on empty timeline. Commit.
- Fix tests. Commit.
- Store marker model in monitor instead of fetching it for each frame. Commit.
- Try to fix timewarp test. Commit.
- Fix tests. Commit.
- Start fixing tests. Commit.
- Make subtitleModel depend on TimelineModel instead of KdenliveDoc and TimelineController. Commit.
- Move timeline preview to timelinemodel to prepare multiple timeline previews (for nesting), add basic timeline preview test. Commit.
- Rename Timeline clips to “Sequences”. Commit.
- Make description of cmd options better understandable. Commit.
- Reorder main function. Commit.
- Add missing license header. Commit.
- Warn user when low on memory. Commit.
- Port away from deprecated ThumbCreator. Commit.
- Use Timeline 1 for first timeline tab. Commit.
- Don’t allow inserting a timeline sequence onto itself. Commit.
- Fix editing extra timeline broken after reopen. Commit.
- Don’t show rescale filter in UI, it is internal to MLT. Commit.
- Fix saving project with a secondary timeline opened. Commit.
- Add xml files for new frei0r transitions and updated defish0r parameters. Commit.
- Implement nesting v2. Commit.
- Directly use timeline model to get guides. Commit.
- New camera proxy for Akaso. Commit.
- Merge 22.12. Commit.
- Update copyright year to 2023. Commit.
- Add optional Clip Job overlay in clip monitor allowing to view and cancel the current clip jobs. Commit.
- Add new dialog to configure clip jobs. Commit.
- Fix possible freeze on aborting edit-friendly transcoding request. Commit.
- [Rendering] Fix “Render at preview resolution” sometimes not considered. Commit.
- [Rendering] Move some code to allow testing, add tests. Commit.
- [Render Settings] Reduce conversion between String and Map. Commit.See bug #462650. See bug #458718
- [Render Presets] Use map for params in model. Commit.
- [Render Presets] First step to use a map for parameters. Commit.
- [Render Model] more tests and fixes. Commit.
- [Export Guides] Better window title. Commit.
- Fix(reuse): Use generic phrase for copyrights for .po files. Commit.
- No need to mention Kdenliven authors for this file as it is just re-uploaded here. Commit.
- Fix(reuse):use proper comment syntax for cmake file. Commit.
- Chore(reuse): add IP info in some header. Commit.
- Fix(icons): update mime-type icons with current logo. Commit.
- Chore(reuse): add IP info in dep5 for po/ folder. Commit.
- Chore(reuse): Add BSL license and fix header. Commit.
- Chore(reuse): Add IP info for /dev-docs. Commit.
- [Tag Widget] Fix crash if no category exists. Commit.
- Fix and improve render preset parameter splitting with whitespaces. Commit.
- [Qt6] Fix build. Commit.
- Add initial tests for render model. Commit.
- Fix compilation and use new timelinemodel related method to get guidesModel. Commit.
- [Render Presets] Fix UI options for ratecontrol. Commit.
- Cleanup: remove unused arg. Commit.
- Preview chunks should be sorted by integer. Commit.
- Fix timeline preview incorrectly stopping when moving a clip outside preview zone. Commit.
- QMetaObject::invokeMethod should be used with Qt::DirectConnection when expecting a return argument. Commit.
- Fix designer plugin crash. Commit.
- Disable parallel processing on 32bit systems. Commit.
- Fix pressing Esc during timeline drag corrupts timeline. Commit.
- Fix guides incorrectly moved when unlocked. Commit.
- Update mouse position in timeline toolbar on zoom and scroll timeline. Commit.
- Fix crash dropping an effect with a scene (rotoscoping, transform,…) on the project monitor. Commit.
- Fix zoom sometimes behaving incorrectly on very low zoom levels. Commit.
- Fix zoom on mouse not working as expected when zooming after last clip. Commit.
- Restrict guides to integer position on paint to avoid drawing artifacts. Commit.
- Fix resize zone conflicting with move on low zoom levels. Commit.
- Harmonize effect sliders suffix (space is now automatically inserted between value and suffix), add rotation button to rotation sliders. Commit.
- Fix title clip line break sometimes pushing text outside item rect. Commit.
- Fix rendering when using an MLT properties file with a space in it. Commit.Fixes bug #462650
- Effect slider: press shift while dragging will adjust values one by one. Commit.
- Fix monitor overlay sometimes incorrectly placed. Commit.
- Ensure on monitor marker color is updated even if 2 markers have the same text. Commit.
- Add status bar tooltip for zone resize. Commit.
- Cleanup monitor zone resize. Commit.
- [kdenlive_render] Remove unused code. Commit.
- [kdenlive_render] Use qDebug() also if DBus JobViewServer not available. Commit.
- [kdenlive_render] Make destination argument optional. Commit.
- [kdenlive_renderer] Ensure xml file is open for reading. Commit.
- [kdenlive_render] Use qDebug() if socket not connected (NODBUS only yet). Commit.
- [kdenlive_render] Simplifiy code by using QStringList::takeFirst(). Commit.
- [kdenlive_render] Drop –in and –out parameter. Commit.
- [kdenlive_render] Remove workaround for MLT bug that is fixed since long. Commit.
- Adjust Kdenlive rendering to recent changes in kdenlive_render. Commit.
- [kdenlive_render] Port kdenlive_render to QCommandLineParser. Commit.
- [kdenlive_render] Remove leftover of unused player parameter. Commit.
- Fix guides missing on document open. Commit.
- Fix guides color not updated in timeline when the category color was updated. Commit.
- Refactoring: move guidesmodel in timelinemodel (required for nesting). Commit.
- Better debug info on failed proxy for small images. Commit.
- Update README.md. Commit.
- Fix MaxOS compilation. Commit.
- Fix minor typo. Commit.
- Be more clever finding resources paths when the project was relocated (for example opened from an external drive). Commit.
- Fix crash on document open. Commit.
- Fix possible crash on document open. Commit.
- Store mark in/out as private members instead of recreating them. Commit.
- Add zone-in/zone-out to contextual mouse menu for clip monitor(issue 1508). Commit.
- Audio graph filters are keyframable now. Commit.Fixes bug #459554
- Auto-call taskManager.taskDone() when run() ends. Commit.