github OpenShot/openshot-qt v3.5.0

5 hours ago

Highlights & Features:

  • New default timeline: The new QWidget timeline is now the default, with much smoother zooming, scrolling, dragging, trimming, snapping, and multi-clip editing, especially on larger projects.
  • New keyframe panel and major timeline polish: The keyframe panel is now part of the default editing experience, with smoother dragging, better selection behavior, improved snapping, high-DPI thumbnails, live trim feedback, and many workflow refinements.
  • Smaller export file-sizes: Export presets were improved for smaller files and better quality, Blender GPU rendering is now enabled by default for Animated Titles, and hardware decoding checks are more reliable and user-friendly.
  • Experimental ComfyUI integration for advanced AI workflows: OpenShot 3.5 adds a major first pass at ComfyUI integration, including generation workflows, tracking and segmentation tools, custom JSON workflows, progress reporting, and better remote-server handling.
  • Improved stability, testing: This release includes expanded unit tests, new UI and replay-based testing tools, better missing-file dialogs, improved autosave and packaging reliability, smoother project loading, and a long list of bug fixes across the app.

openshot-qt Changelog (Version: 3.5.0)

  • 27a3af7 2026-03-18 Jonathan Thomas Packaging libsndfile in AppImage, to prevent some audio issues on systems with incompatible system libsndfile libraries HEAD, origin/release-20260316
  • 09267c3 2026-03-18 Jonathan Thomas Fixing small regression failure in our new unit tests (on Linux gitlab runner)
  • b32bfea 2026-03-18 Jonathan Thomas Making qwidget keyframe dragging silky smooth, and fixing issue with disappearing partial thumbnails during trimming.
  • b45b052 2026-03-18 Jonathan Thomas Fixing a bunch of qwidget clip and thumbnailing issues: - trimming of re-timed clips - thumbnailing system big refactor, use time keyframes, and volume keyframes - lots of new unit tests around thumbnailing and clip sizes - new squash/stretch thumbnail behavior when re-timing - new trim thumbnail behavior on start, and start-end
  • b81275c 2026-03-16 Jonathan Thomas Translating docs in all website languages
  • 681ff04 2026-03-16 Jonathan Thomas Bumping version to 3.5.0, minimum libopenshot version to 0.6.0. Major upstream release of OpenShot!
  • a2f4d21 2026-03-16 Jonathan Thomas Updating donors and supporters
  • b941d9b 2026-03-15 Jonathan Thomas Merge pull request #5963 from OpenShot/new-testing origin/develop
  • 169726a 2026-03-15 Jonathan Thomas Fixing more Codacy nitpicks
  • c648e6d 2026-03-15 Jonathan Thomas Fixing Codacy nitpicks about /tmp/ file paths being hardcoded.
  • cb07ea9 2026-03-15 Jonathan Thomas Fix gitlab-ci to only sign windows builds when all builds succeed
  • 9bd2a76 2026-03-15 Jonathan Thomas Fixing test failures on github and gitlab ci's
  • bb87e7f 2026-03-15 Jonathan Thomas Added new unittest coverage for json_data, project_data, main_window, and timeline helpers. Actions and GitLab Linux CI to run full test discovery command.
  • 55d53a0 2026-03-15 Jonathan Thomas Merge pull request #5962 from OpenShot/transition-resource
  • ae79560 2026-03-15 Jonathan Thomas Removing legacy "resource" attribute on transitions, which break on project save for AppImages (due to /tmp/.mount/ folder locations changing between runs)
  • e7c3821 2026-03-14 Jonathan Thomas Merge pull request #5959 from OpenShot/missing-file-dialog
  • 2adb872 2026-03-14 Jonathan Thomas - Recent Projects now normalizes paths, removing Windows slash-mismatch duplicates. - Missing-file paths now display cleanly, wrap better, and Browse picks a folder instead of a file.
  • 45589a9 2026-03-13 Jonathan Thomas Merge pull request #5952 from OpenShot/audio-transition
  • fb1030b 2026-03-13 Jonathan Thomas Merge pull request #5954 from OpenShot/qwidget-dragging
  • 991e4a2 2026-03-13 Jonathan Thomas Merge pull request #5953 from OpenShot/dropdown-constant-keyframes
  • 57a360e 2026-03-13 Jonathan Thomas Merge pull request #5955 from OpenShot/trim-stop-playback
  • f58abe4 2026-03-13 Jonathan Thomas Stop playback when trimming starts, and reset play button correctly
  • 33fd84d 2026-03-13 Jonathan Thomas Improving dragging multiple selections on qwidget timeline backend, to ensure they are moved as an atomic unit, with no drift during fast dragging and dropping.
  • 6631411 2026-03-13 Jonathan Thomas Fixing transition snapping direction to correctly handle overlapping clips
  • 13d57a0 2026-03-13 Jonathan Thomas When dropdowns are used to keyframe a value, use constant interpolation, since these values always represent binary choices (like types, enums, modes), and never ranges (linear, bezier).
  • 70117d7 2026-03-13 Jonathan Thomas Add fade_audio_hint to transitions created automatically, which informs the Timeline to fade audio as well as the image. If the transition is on the left side of a clip, it will fade in audio. If the transition is on the right side of a clip, it will fade out audio. And if the transition is overlapping 2 clips, it will fade out one, and fade in the other, using an equal-power curve.
  • eff3bfc 2026-03-12 Jonathan Thomas Merge pull request #5932 from OpenShot/comfy-ui
  • 794163e 2026-03-12 Jonathan Thomas Merge branch 'develop' into comfy-ui
  • 777d8d7 2026-03-12 Jonathan Thomas Improved ComfyUI async request checking on launch to avoid lagging when checking for server availability in the UI.
  • c064d7a 2026-03-12 Jonathan Thomas Fixing snap regression which caused snapping on the qwidget timeline to stop working after zooming into the timeline (CTRL+Scroll Wheel)
  • 2567805 2026-03-11 Jonathan Thomas Adding missing webp dependencies for windows freeze.py, to move them into the root so windows can find them when loading the webp imageformat.
  • d08ea92 2026-03-11 Jonathan Thomas Renaming Comfy UI to ComfyUI in translations as well
  • 127ada7 2026-03-11 Jonathan Thomas Renaming Comfy UI to ComfyUI.
  • 89e22fa 2026-03-11 Jonathan Thomas Updating all translations for the next release of OpenShot, including the full set of website languages 100% translated.
  • a8069b9 2026-03-11 Jonathan Thomas Updating some Qt packaging changes for imageformat dependencies, to move them into the root folder so the imageformat plugins do not fail to load at runtime.
  • 2cc6cc6 2026-03-11 Jonathan Thomas Updating language template POT file with new English strings from Openshot
  • 76848ed 2026-03-11 Jonathan Thomas Fixing a few tiny media path differences between JS and qwidget timeline backends (attempting to fix a JPEG issue on Windows)
  • dd4dc43 2026-03-11 Jonathan Thomas Improving the Check Hardware decoding button to use a new libopenshot method for verifying hardware decoding actually worked
  • c868402 2026-03-11 Jonathan Thomas Fixing a bug in the autosave system, if not modifications happened since last time
  • 94f50f3 2026-03-11 Jonathan Thomas Removed Experimental label from Blender GPU acceleration
  • 503db24 2026-03-10 Jonathan Thomas Removing "Transform" menu from OpenShot, since it's not the default (always-on) behavior when selecting a clip (or multiple clips). Also updating the documentation.
  • b0fcaff 2026-03-09 Jonathan Thomas Adding live previewing to transition trimming, for both static and animated masks, to give more feedback to what portion of the mask will be used after trimming.
  • 292d006 2026-03-09 Jonathan Thomas Incorporating Raffi's suggestions into documentation. Updating a few annotated screenshots with arrows, moving some sections around, and other small refactors.
  • 7cc3b4d 2026-03-09 Jonathan Thomas - Mask handling now uses has_single_image to split static wipes from animated masks. - Animated masks keep real start/end and remove wipe brightness keyframes. - start/end now show for effects that use a video mask source. - Split-file mask sources now apply their saved start/end.
  • a876d9e 2026-03-08 Jonathan Thomas Huge update of documentation / user guide, updating every single screenshot, improving tables / descriptions, and links. All screenshots now use Cosmic Dusk theme, and also improved ai.rst a bunch, adding new images and new content.
  • 1c87457 2026-03-08 Jonathan Thomas Large refactor of preferences and categories, to simplify and clarify some settings. Also fixing some cosmic dusk theme issues related to preferences, and making the comfyui URL check button use a green checkmark, instead of a dialog popup. Lastly, defaulting to new timeline (qwidget - no longer called experimental), and adding a legacy web timeline option - if a user needs to use the old webengine or webkit timeline. Also, defaulting thumbnail style to "Entire" as the default value. Lastly, removing "Auto Transform" from preferences, and making that enabled perminetely (since OpenShot is very buggy feeling with it disabled).
  • 67d953a 2026-03-08 Jonathan Thomas Small bug fix for placeholder on profile edit dialog, where formatting was being escaped
  • b542353 2026-03-06 Jonathan Thomas Clear export dialog settings cache when the project profile is changed, to prevent confusion when switching profiles - we don't want to use old, cached export of our old profile.
  • 0e8f3b8 2026-03-06 Jonathan Thomas Adjusting mp4/webm and many common export presets to use crf quality settings, and setting options for software codecs to use improved values for "gop", "allow_b_frames" and "max_b_frames". The end result is smaller file sizes across the board, improved quality for med/low quality settings, and similar export times. Some are faster, some are slower by a few %, but file sizes are reduced across the board.
  • 5b11388 2026-03-06 Jonathan Thomas Fixing duration calculation on new libopenshot handling of mp3 files (with has_single_image = true)
  • 3a7f7b3 2026-03-05 Jonathan Thomas Support high DPI thumbnails on qwidget experimental timeline
  • b7ebd0c 2026-03-05 Jonathan Thomas Adding new docs *.rst file for timeline usage, including keyframe panel.
  • 8ae7785 2026-03-05 Jonathan Thomas Adding modifiers to the keyframe panel "Insert Keyframe" buttons: ALT = bezier, CTRL = constant, SHIFT = linear. Also fixed a few bugs with keyframe right click menu inside the keyframe panel, for single and multiple selections.
  • c4dcf55 2026-03-05 Jonathan Thomas Fixing regression in SHIFT click on qwidget timeline backend, to correctly select a range of clips/transitions.
  • 9af195b 2026-03-04 Jonathan Thomas Fix regression which clamped playhead to max frame on timeline.
  • 2f468c8 2026-03-04 Jonathan Thomas Fix small regression to the split file / preview / cutting dialog, so it restores normal functionality
  • c2eb1c1 2026-03-04 Jonathan Thomas Adding QToolTip support for qwidget experimental timeline backend, for clips, effects, transitions, and track icons.
  • 4b45998 2026-03-04 Jonathan Thomas Small fix to our GetMaxFrame calculation, to clamp seeking (next/prev buttons) to the start of the last frame, not after the last frame. This prevents a strange bug which can allow playback to go past the last frame.
  • 854c3a9 2026-03-04 Jonathan Thomas Removing noisy log thumbnailing missing on qwidget timeline backend
  • 8f7c78c 2026-03-04 Jonathan Thomas Fixing selection when single clicking on multiple selections, to unselect the other items.
  • 476e6a2 2026-03-03 Jonathan Thomas Display file reader "file_name" attribute, which can differ from the actual original file name. For example, emoji's have their emoji name (for readability), and Split File dialog can have user-defined file names, and file names with timestamps (if no name is given). These custom names now appear in the properties dock dropdown for clarity.
  • ceb797a 2026-03-03 Jonathan Thomas Fixing missing loop icon on Windows builds (hopefully)
  • 99e7de2 2026-03-03 Jonathan Thomas Fixing bug in "Add to Timeline" for JS timeline backend, probably a regression from all the qwidget changes)
  • 91aebf4 2026-03-03 Jonathan Thomas Fixing qwidget experimental timeline to drag all selected clips, even when they are outside of the viewable area. Also, improving our mp3/audio file detection, so thumbnails are faster loading when thumbnail style set to "entire" mode.
  • 436c039 2026-03-03 Jonathan Thomas Improving transform in video preview widget to handle multiple clips better, even if they don't all intersect the playhead - still create keyframes at the same relative points in all selected clips.
  • db7995e 2026-03-03 Jonathan Thomas Improving timeline auto extend duration when using "Add to Timeline" dialog or dragging large or multiple files past the right edge of the project/timeline. Also, dragging a clip past the right edge now smoothly extends the project automatically.
  • 45af6cb 2026-03-03 Jonathan Thomas Removing noisy logs in video transforms
  • c969076 2026-03-02 Jonathan Thomas - Snapping is now 12px. - Trim snapping is directional and stable (left/right both work). - Out-of-range keyframes (including frame 1 / 0.0) now snap correctly. - Preview drag updates are smoother (less seek throttling).
  • 90b35f6 2026-03-02 Jonathan Thomas Fixing regressions on JS timeline backend seeking/playhead movement, to correctly seek and clear cached frames.
  • e494656 2026-03-02 Jonathan Thomas Adding a new trace UI recorder, which can assist in automated UI testing and validation.
  • 6c4e4f5 2026-02-27 Jonathan Thomas Upgrading text to video to wan2.2 family, 5B model
  • a82e228 2026-02-27 Jonathan Thomas Fixing some minor regressions on ComfyUI models that mention a prefix path (removing the prefix), and preventing an invalid SRT file path from being set as the file's caption - if Whisper fails.
  • 6566191 2026-02-27 Jonathan Thomas Fixing bug which caused the property selection dropdown to not show clip's effects, when a clip was selected in the Experiemntal qwidget timeline.
  • ff842b2 2026-02-27 Jonathan Thomas Auto generate waveforms for audio-only files when adding them to the timeline. Also, on the qwidget experimental timeline, correctly display the audio thumbnail when in thumbnail mode.
  • 88df734 2026-02-27 Jonathan Thomas Updating documentation with ComfyUI / Advanced AI, Animated effect mask support, and more doc updates.
  • bca28c7 2026-02-27 Jonathan Thomas Fixing CTRL+Click, SHIFT+Click, ALT+Click handling on experimental qwidget timeline backend.
  • a9eba7f 2026-02-27 Jonathan Thomas Removing older legacy pipeline code and support for ComfyUI, since we split them into JSON files. Also removing usage of turbo model.
  • 0bb9afc 2026-02-27 Jonathan Thomas Fixing regression in Seek Next/Prev buttons due to caching fixes and stronger seek protections (for smooth caching and playhead movement)
  • ee34287 2026-02-26 Jonathan Thomas Fixed tracked-object selection consistency so Object Detection property edits/transform handles target the selected object (supports both legacy index keys and new - IDs), preventing misaligned or delayed box updates. Also fixed region preview seek-signal compatibility by allowing QueueSeek to accept both int and int,bool, and kept ESC handling simple/local in SelectRegion (no global focus/event hacks).
  • c60a48a 2026-02-26 Jonathan Thomas Fixing a couple seek / refresh frame regressions, which were not previewing our property changes for clips/effects
  • 3076c89 2026-02-26 Jonathan Thomas - Timeline/seek call sites were updated to use SeekSignal(frame, start_preroll) consistently, so commit seeks explicitly pass True. - Playhead dragging logic was simplified and made deterministic: emits preview/commit seeks directly, avoids duplicate emits, and forces a final commit on release. - Preview thread seek handling was switched to a thread-safe latest-wins queue, so rapid scrubs don’t backlog stale seeks. - A small timeline mouse-move path fix ensures playhead drag events are handled immediately. - Temporary debug noise in this repo was cleaned up (notably playback-mode and cache-thread toggle logs).
  • 6ea5e82 2026-02-24 Jonathan Thomas Merge branch 'develop' into comfy-ui
  • 795d3f9 2026-02-24 Jonathan Thomas Merge pull request #5937 from OpenShot/fix-recursive-paint
  • 3766232 2026-02-24 Jonathan Thomas Fixing qwidget timeline backend to allow for clips to drop beyond the duration of the project (i.e. past the right edge of the timeline) and extending the timeline automatically.
  • 658f0ad 2026-02-24 Jonathan Thomas Fixing "Add to Timeline" dialog bug which did not correctly extend the timeline when files extend past the duration of the timeline.
  • dc3730d 2026-02-24 Jonathan Thomas Improving missing file dialog to be more clear, adding instructions, and making long paths use relative paths, with a bold file name.
  • ffa5c76 2026-02-24 Jonathan Thomas Modifying the launch.py script to append lib/PyQt5 path to the environment variable on Windows. This is gated for windows only, to fix an issue with our packaging of imageformats not loading due to the dependencies not being found on the PATH. This impacted JPEG and other image formats.
  • 8a67877 2026-02-23 Jonathan Thomas Fixing mixed slashes in windows paths for Transition extra JPG files, due to the /extra/ folder. These paths need to be normalized. This only was breaking in the Experimental timeline though, but this fixes it.
  • 6a0f1f2 2026-02-23 Jonathan Thomas Merge pull request #5939 from OpenShot/duplicate-imports
  • c0ab634 2026-02-23 Jonathan Thomas Unselect a project file when dropping it on the timeline, and focus the timeline widget. This allows the user to drop a file on the timeline and press DELETE immediately, and it only deletes the new clip (not the previously selected Project File too)
  • 685f6e8 2026-02-23 Jonathan Thomas Populating project files on "Open Project" is now batched, and populates the model much faster (30%+ on some larger projects).
  • e3e6bc4 2026-02-23 Jonathan Thomas Fixing duplicate file importing bug, where a user can import the same file after opening a project - but then it prevents further importing until the next time you open the project. Weird.
  • 9adca88 2026-02-23 Jonathan Thomas Improve missing file prompt, to have a "Skip File", "Skip All", and "Browse..." button. Also, check some additional spots in the project file where file paths are used, and better duplicate prevention when a file is used on multiple things (transition effect path and a clip path... for example)
  • 26817e8 2026-02-22 Jonathan Thomas Patched a likely root cause for this Windows-only crash: synchronous QWidget.repaint() calls during active paint/update cycles. - Replaced repaint() with update() in playback/zoom-heavy paths:
  • b2adc3f 2026-02-22 Jonathan Thomas Fixing playhead snapping inaccuracy on the Experimental timeline, which snapped +1 frame after the playhead instead of on top of the playhead frame.
  • 3493483 2026-02-22 Jonathan Thomas Fixing Retro theme and removing theme specific code from our region dialog.
  • c6e8fde 2026-02-22 Jonathan Thomas Improvements to theming for AI context menus, generate dialog, and region dialog (for tracking)
  • 69faf4c 2026-02-22 Jonathan Thomas Make meta batches for tracking objects with SAM2 use dynamic batch size (so we minimize chance for OOM on higher resolution videos)
  • 2d6b311 2026-02-22 Jonathan Thomas Fixing SAM2 tracking on images to mirror the functionality on videos: - Track -> Blur - Track -> Highlight - Track -> Mask
  • f350a18 2026-02-22 Jonathan Thomas Fixing selection handling after a generated file was added and auto selected
  • c41c222 2026-02-22 Jonathan Thomas - Added Music... ACE 1.5 template + music icon. - Renamed Audio... to Sound.... - Fixed music runs: random seeds, no stale output reuse, and prompt-to-tags/lyrics handling.
  • 58afbf2 2026-02-21 Jonathan Thomas - Prevented cross-job state contamination with a per-run cache key for windowed SAM2 state. - Improved chunk-boundary stability using richer carries (point+bbox) plus 4-frame boundary replay. - Added detailed DINO/SAM2 debug logging (currently always on).
  • 5da1f6a 2026-02-21 Jonathan Thomas Added a loop icon on video preview dialog, and SPACE now controls play/pause, and the play button resets correctly when end of video is reached.
  • 1b6aa17 2026-02-21 Jonathan Thomas - Fixed Track Object output routing: Blur/Highlight now only import final video, Mask only imports mask; blocked fallback paths that were re-adding extra outputs. - Fixed filename prefix handling so openshot_mask/openshot_gen suffixes are preserved (with payload appended), enabling reliable output filtering. - Expanded Generate/Highlight UX: simplified Prompt + Tracking tabs, added Qt color pickers, plus new Mask Brightness and Background Brightness controls wired end-to-end.
  • e959c07 2026-02-21 Jonathan Thomas - Region UI now supports multi-tool annotations (pos/neg points + rects), frame markers, and clear-all, plus new toolbar icons. - Generate + SAM2 workflows now pass full tracking JSON (seed frame + per-frame points/rects/auto) instead of seed-only inputs. - Tracker preprocess flow was fixed (dialog parenting + guards/imports) to avoid region selection crashes/regressions.
  • 6aa3abd 2026-02-20 Jonathan Thomas - Comfy scene splitting now returns range metadata and OpenShot creates split-style file entries from it, reusing the original source path with start/end trims (no duplicate segment MP4 imports). - Scene split file names now match Split File dialog format exactly (base (start to end)), with only start and end attributes applied.
  • 6803d8c 2026-02-20 Jonathan Thomas Replaces the WAN-based image workflow with a standard SDXL graph (CheckpointLoaderSimple, CLIPTextEncode, KSampler, VAEDecode, SaveImage). - The image model/settings are now quality-oriented SDXL Base: ckpt_name = sd_xl_base_1.0.safetensors, steps = 28, and cfg = 6.5.
  • 8e7fa85 2026-02-20 Jonathan Thomas - Replaced built-in txt2img-basic and txt2video-svd workflows with WAN-based graphs (UNET/CLIP/VAE loaders, ModelSamplingSD3, WAN model paths), and set video defaults to 832x480, 16 fps, length: 64 (~4s). - Switched these template IDs (and img2video-svd) off legacy Python workflow generation so OpenShot now uses JSON templates directly at runtime. - Added WAN node types to template classification, renamed the image-to-video menu label to Image to Video (WAN 2.2 TI2V), and added/used a new img2video-svd WAN 2.2 TI2V template in the Enhance flow.
  • 0c5eefc 2026-02-20 Jonathan Thomas - Fix Comfy progress tracking for meta-batch follow-up prompts and cleaner WS event selection. - Add queue progress metadata (progress_detail, sub_progress) and improve fallback behavior when /progress is unavailable. - Switch blur-anything SAM2 workflow to OpenShot windowed/chunked nodes with masked blur and 96-frame batching.
  • 84b6063 2026-02-18 Jonathan Thomas - Harden Comfy progress updates after sleep/wake: detect stale WS, reconnect with backoff (60s -> 300s), and fallback to /progress when WS is quiet. - Fix template input rewriting for multi-loader workflows by matching both file/video (and audio/file) keys. - Tune Blur Anything defaults: switch to sam2.1_hiera_tiny, keep model loaded, reduce batch size to 32.
  • 9f1b9f6 2026-02-17 Jonathan Thomas Check more known paths used in effects and clip effects, and properly call find_missing_files() flow - to prompt the user, or remove the effect if asset can not be found. Also it logs when assets/effects are removed.
  • 45ffff7 2026-02-17 Jonathan Thomas Fix recursive paint on Experimental timeline by adding repaint_after_paint
  • 5c9f81b 2026-02-17 Jonathan Thomas - Added new SAM2 Blur Anything templates: - src/comfyui/image-blur-anything-sam2.json - src/comfyui/video-blur-anything-sam2.json - Added Comfy availability gating + URL validation: - Hide AI menus when Comfy is unreachable - Preferences now has Check for comfy-ui-url - Added Comfy error truncation/sanitizing so failures don’t dump huge payloads in UI dialogs. - Enabled proper maximize/min-max behavior for Region and Split dialogs. - Moved Queued badge to the bottom of file thumbnails (list + tree views).
  • e9397a8 2026-02-16 Jonathan Thomas Merge branch 'develop' into comfy-ui
  • 0efc207 2026-02-16 Jonathan Thomas Merge pull request #5936 from OpenShot/auto-selections
  • ab7f0e8 2026-02-16 Jonathan Thomas Large refactor to support user-defined ComfyUI JSON files in .openshot_qt/comfyui/ folder, and write a debug.json file (what we send to ComfyUI for debugging purposes). Also split out all our built-in workflows as simple JSON files, with a few overrides to help menus/categories. Also now use the category icon when generating new items (audio icon, image icon, etc...). Menu is now dynamic, and will load user-defined JSON workflows as well.
  • 0dccef2 2026-02-16 Jonathan Thomas Add OS-dropped file on Drag-Enter on the Experimental timeline, so the clip is draggable like a normal clip.
  • 976ea28 2026-02-16 Jonathan Thomas Auto show properties when a clip or transition is double-clicked (all timeline backends supported)
  • 2fa5c20 2026-02-16 Jonathan Thomas Integrating recent fix from comfy-ui branch, to resolve accidentally unselecting Project Files (multiple selections) when right clicking.
  • 3520f08 2026-02-16 Jonathan Thomas Fixing automatic selections when adding files from OS (file explorer), Add to Timeline, and Dropping emojis and files on timeline (Experimental qwdiget timeline backend)
  • e08b0a3 2026-02-16 Jonathan Thomas Fixing file multi-selections in this branch (so right click doesn't not clear them)
  • 68793f4 2026-02-15 Jonathan Thomas Merge branch 'develop' into comfy-ui
  • fc12521 2026-02-15 Jonathan Thomas Merge pull request #5931 from OpenShot/smoother-drags
  • cc41c4e 2026-02-15 Jonathan Thomas Fixing qwidget timeline clip selections, so that multiple clips can be right clicked on without unselecting most of them. However, the clip menu button does unselect other clips. Also, wrapping a transaction around "Remove Clip" menu so a single UNDO will bring all removed clips back.
  • 503990e 2026-02-15 Jonathan Thomas Fixed some issues with file tree/list selection, and clicking off the selects (margin or empty spot) now deselects items correctly. Also, fixed preview window to correctly close on ESC/reject async (fast shutdown, and stops playback)
  • 71951d9 2026-02-15 Jonathan Thomas Large refactor of ComfyUI context menus, trying to simplify and improve integration with many of the AI tasks. Also, new icons.
  • af05981 2026-02-15 Jonathan Thomas Lowering quality and fps of text to video (for now)
  • 2eca529 2026-02-14 Jonathan Thomas Add TransNet scene segmentation template and robust segment import handling
  • a20d997 2026-02-14 Jonathan Thomas - Add Comfy templates for img2video-svd and RIFE 2x frame interpolation, with full workflow wiring. - Use remote Comfy node/model discovery (RIFE + flexible SVD checkpoint selection). - Show immediate generation progress in Project Files (including queued state) without mutating file names.
  • 263dd13 2026-02-14 Jonathan Thomas Adding support for Whisper/SRT subtitles to the Generate dialog. Also, auto Caption effect when a file has caption data already.
  • a881607 2026-02-14 Jonathan Thomas Merge branch 'develop' into comfy-ui
  • bedb978 2026-02-13 Jonathan Thomas - Normalize transition drag payload paths and restore robust transition reader loading on drop (deferred preview still uses lightweight path-only reader metadata). - Harden deferred transition drop finalization to detect/log failed inserts and only refresh timeline state after successful commits.
  • 48eb351 2026-02-13 Jonathan Thomas Merge branch 'develop' into smoother-drags
  • db5b765 2026-02-13 Jonathan Thomas Autoplay when preview window is opened. Seems like we are just saving users a click, lol.
  • 13425ab 2026-02-13 Jonathan Thomas Merge pull request #5930 from OpenShot/experimental-transitions
  • c64a129 2026-02-13 Jonathan Thomas Fix auto transition when adding new emoji or file to experimental timeline
  • da778eb 2026-02-13 Jonathan Thomas Fixing region dialog used by Tracker effect to select a region (this was broken in a recent commit due to a new signal that was not implemented)
  • 5243543 2026-02-13 Jonathan Thomas qwidget timeline: defer drag inserts until drop, keep real preview
  • 4ce8c85 2026-02-13 Jonathan Thomas Do not delete new items (clips and transitions) when mouse goes over track name (annoying), for example when trying to drop a new item at position 0.0 (next to the track name). Also, select items (and unselect others) when the menu icon is clicked (similar to our JS timeline backend)
  • a113b63 2026-02-13 Jonathan Thomas Adding some additional protection and logging around transition readers and drag data handling for transitions (trying to fix a windows specific bug where transitions fail to drag)
  • 798a00a 2026-02-13 Jonathan Thomas Merge pull request #5926 from OpenShot/timeline-playback-length
  • 46fc0a8 2026-02-13 Jonathan Thomas Fix playback state checks and refresh behavior
  • e277bcf 2026-02-12 Jonathan Thomas Improve split-file UX and fix export correctness for split clips
  • 83b3c88 2026-02-12 Jonathan Thomas Refactoring auto transitions so they work the same in our JS and qwidget experimental timeline backends, by overlapping 2 clips.
  • 559aa8c 2026-02-12 Jonathan Thomas Add Comfy audio/video generation pipelines and generalized output import
  • 32af63a 2026-02-12 Jonathan Thomas Refactoring Comfy UI service code to it's own file, improving code to work with remote servers (i.e. LoadFile -> Upload files). Updating file headers with correct header and copyright. Updating some base/default models for image generation and upscaling. Much more stable now at reconnecting, losing connection, and not giving up.
  • 1db7aa4 2026-02-11 Jonathan Thomas Initial ComfyUI pipeline and client implementations. - Generate with no input file - Generate with 1 input image - Progress displayed in "Project Files" - Cancel Job menu - Full circle generations and editing proven
  • 13be43b 2026-02-11 Jonathan Thomas timeline(qwidget): polish transition visuals and live resize feedback
  • fb283cd 2026-02-11 Jonathan Thomas Fix transition auto-direction and keyframe handling on drag/trim
  • d0e5959 2026-02-11 Jonathan Thomas Timeline(qwidget backend): fix keyframe panel sync/selection across drag, snap, tracks, and multi-clip edits
  • 841e6c1 2026-02-11 Jonathan Thomas • Improve QWidget timeline theme parity and keyframe panel styling across Humanity Dark/Retro
  • cb745b6 2026-02-10 Jonathan Thomas - Adjusting lock colors for JS timeline backends (dimmer version of normal track style and border style). - Moving thumbnails downward on Experimental timeline (Humanity Dark and Retro themes) - Adding lock functionality to Experimental Timeline (undraggable, undeletable)
  • 5a5c130 2026-02-10 Jonathan Thomas - Fix many dragging / snapping related issues on the Experimental timeline keyframe panel. - Remove / Reorder track buttons on Experimental timeline (Lock, Keyframe Panel) - Improve selection box on keyframe panel, so the tiny gaps between the property rows do not unselect the clip.
  • 90650c7 2026-02-10 Jonathan Thomas Adding the name of the emoji as the Project Files name, which is much easier to read (instead of the real file name of the emoji SVG file)
  • fc12cd9 2026-02-10 Jonathan Thomas Fixing a regression which broke the preview and split file screen from appearing. Not sure when this broke, but this feels like a merge regression.
  • 8247130 2026-02-10 Jonathan Thomas Merge pull request #5922 from OpenShot/enable-blender-hw-acceleration
  • 6f746e0 2026-02-10 Jonathan Thomas Removing debug code causing feature branches to upload artifacts to GitHub daily builds
  • fe1feda 2026-02-09 Jonathan Thomas Enable "Use Blender GPU rendering for Animated Titles" setting by default (seems very stable now)
  • 6c14535 2026-02-09 Jonathan Thomas Merge pull request #5921 from OpenShot/mac-new-cert
  • a207de2 2026-02-09 Jonathan Thomas Merge pull request #5920 from OpenShot/cache-before-playhead
  • ccecc90 2026-02-09 Jonathan Thomas Temporary test the develop branch only upload and mktorrent logic for our new code sign job
  • 988c69b 2026-02-09 Jonathan Thomas Hiding a gitlab ci "re-init-builders" job, and gating it behind a release branch filter.
  • 56ab458 2026-02-09 Jonathan Thomas Renaming windows gitlab ci job names, and splitting the code signing job by architecture (x64 vs x86)
  • 42746cb 2026-02-09 Jonathan Thomas Fixing python executable name on new code signing commands in gitlab ci
  • ba1c243 2026-02-09 Jonathan Thomas Adding msys bin to path for code signing gitlab ci job
  • 4121753 2026-02-08 Jonathan Thomas Fixing yml syntax error on gitlab ci section for code signing
  • 9c051e0 2026-02-08 Jonathan Thomas Updating Windows code signing flow, to separate the gitlab runner jobs, so another server can sign and upload.
  • 6b1884f 2026-02-08 Jonathan Thomas Updating developer certification for Mac code
  • 9cd51d7 2026-02-07 Jonathan Thomas Merge pull request #5917 from OpenShot/fix-effect-undo
  • ed649e9 2026-02-07 Jonathan Thomas Fixing many Codacy nitpicks, and protecting against a missing timing mode "reader" attribute in a clip (which happened to break while testing these changes)
  • 580886e 2026-02-07 Jonathan Thomas Adding transaction around adding multiple clips to the timeline, so a single CTRL+Z will undo them all.
  • af361df 2026-02-07 Jonathan Thomas Adding transaction to emoji adding (adds a file and a clip), so a single CTRL+Z should undo this
  • a15c2f2 2026-02-07 Jonathan Thomas Removing noisy debug logs for property model updates
  • c0c9d50 2026-02-07 Jonathan Thomas Removing incorrect log during project save, which claimed to copy title assets when they were already copied.
  • 3be2e31 2026-02-07 Jonathan Thomas Fixing project title update during an export (i.e. auto save firing during an export caused an error)
  • 30b4dfc 2026-02-07 Jonathan Thomas Improving thumbnailing on qwidget timeline backend (more stable thumbnail slots, less flicker, better handling of tiny clip widths). This applies improvements to all thumbnail styles (start, start/end, entire clip).
  • 4f0994c 2026-02-05 Jonathan Thomas Removing delay on thumbnail trimming refresh, so preview is updated immediately after clip is trimmed.
  • d555759 2026-02-05 Jonathan Thomas General improvements to caching and playback: - New caching defaults (0.5 play ahead cache, 768 MB limit, 900 frames max) - Seek playhead to trim position after trimming is done, and refresh preview only one time (more stable preview after trimming)
  • d8d4295 2026-02-05 Jonathan Thomas Merge pull request #5915 from OpenShot/prevent-qwidget-timeline-crash-exit
  • d04431d 2026-02-05 Jonathan Thomas Fixing crash on deleting clips with effects, and fixing regression that causes effects to break the UNDO/REDO system - not allowing the user to undo an effect added to a clip.
  • 6eaf5fe 2026-02-04 Jonathan Thomas Merge pull request #5914 from OpenShot/better-missing-files
  • d92194d 2026-02-04 Jonathan Thomas Merge pull request #5916 from OpenShot/rotate-ctrl-key
  • 7a92fa5 2026-02-03 Jonathan Thomas Adding CTRL and SHIFT modifiers to snap rotation in the video preview transform handles. We snap by 15 degree increments only when pressing the modifier key.
  • e0e6480 2026-02-03 Jonathan Thomas Prevent a crash on shutdown when using the qwidget timeline backend (by ensuring the thumbnail thread is properly shut down first)
  • f45a09f 2026-02-03 Jonathan Thomas Merge pull request #5913 from OpenShot/reduce-emoji-grid
  • 1dbc9d6 2026-02-03 Jonathan Thomas Sort missing files before prompting the user to find the missing files.
  • 9e70dba 2026-02-03 Jonathan Thomas Improving missing file prompts to be less annoying, and adding a 'cancel' button which stops prompting the user, and no longer prompts per "clip", only per "file". Less prompts, easy bail out.
  • 6313cb5 2026-02-03 Jonathan Thomas Fixing title editor to correctly edit titles or duplicate titles from our primary Project Files context menu (this is a regression from our tabstop branch)
  • d6487d0 2026-02-03 Jonathan Thomas Silence more theme misses (when applying theme colors, icons, and styles)
  • 403de33 2026-02-03 Jonathan Thomas Reduce grid size of Emoji list view (they have too much horizontal padding/margin)
  • 08cefd6 2026-02-03 Jonathan Thomas Quite theme miss logs (too noisy at the moment)
  • c71cbcd 2026-02-02 Jonathan Thomas Merge pull request #5912 from OpenShot/tabstops
  • dcb5f22 2026-02-02 Jonathan Thomas Merge branch 'develop' into tabstops
  • 61f826e 2026-02-02 Jonathan Thomas Merge pull request #5910 from OpenShot/translated-docs
  • 7f9ec36 2026-02-01 Jonathan Thomas Calling apt-get update on GitHub translations action, since it is failing with a 404 trying to install dependencies for qttranslations5-l10n python3-pyqt5
  • 9dc1cac 2026-02-01 Jonathan Thomas Fixing a few focus-related colors on Cosmic Dusk, so checkboxes, browse buttons, and tabs (horizontal and vertical) look more distinctive, for easier TAB/keyboard navigation.
  • 9ccd755 2026-02-01 Jonathan Thomas Fixing a bunch of Codacy nitpicks on out new tabstop code
  • 8e574d0 2026-02-01 Jonathan Thomas Fixing a new regression in our test_translations.py script, due to changing our "Line %s" substitutions with QLocale
  • fdb04f7 2026-02-01 Jonathan Thomas Making ENTER on Preferences window close the dialog - not press the "Restore Defaults" button
  • 859333f 2026-02-01 Jonathan Thomas Improvements to the top menu styling for Cosmic Dusk, adding a focus style (to ALT allows you to see which menu is focused using keyboard and arrow keys). Also improving the top menu's PINK debug focus border (OPENSHOT_DEBUG_FOCUS=1). Also fixing many Property related keyboard editing issues (SPACE/ENTER now being editing the value OR show the dropdown menu). Pressing a ,.0-9 numeric key enters edit mode, and types that key value.
  • 4423b20 2026-02-01 Jonathan Thomas Improvements to the top menu styling for Cosmic Dusk, adding a focus style (to ALT allows you to see which menu is focused using keyboard and arrow keys). Also improving the top menu's PINK debug focus border (OPENSHOT_DEBUG_FOCUS=1)
  • 6f1f8e4 2026-02-01 Jonathan Thomas Updating translations for our 25 fully translated website languages (adding missing emojis and missing translations)
  • ee84d18 2026-02-01 Jonathan Thomas Improving numeric translation in OpenShot, for patterns like "Track " + number, "Transition " + number to use QLocale().toString() instead, so we can natively support different number systems.
  • a1b4f4e 2026-02-01 Jonathan Thomas Standardizing the template text in our SVG titles (Replacing UPPER version with Title casing), and adding them to translation template (so "Title", "Sub-Title" and similar text values will be included in the translation system.
  • 9ab6ff7 2026-02-01 Jonathan Thomas Fixing a regression on set_single_column mode for screen readers (like Orca). Now our Thumbnail and Detail views work great with screen readers (and no longer duplicate the icon text next to the Thumbnail) since both views have their own Proxy now.
  • af8431d 2026-01-31 Jonathan Thomas Improving focus styles for cosmic dusk on main window, to work well with hover and click styles, and toggle buttons (like snapping, razor, timing)
  • 92fde95 2026-01-31 Jonathan Thomas Adding focus styles into main window toolbars, so it's more clear what has focus when pressing TAB.
  • 8ae1178 2026-01-31 Jonathan Thomas Improvements to Export dialog TAB order, and pink debug outline for Advanced Tabs added.
  • 094aa16 2026-01-31 Jonathan Thomas Improvements to Export dialog TAB order, and pink debug outline for Advanced Tabs added.
  • e34c9f1 2026-01-30 Jonathan Thomas Fixing some pink debug TAB styles, consolidating some treeview padding styles in base.py theme, fixing checkboxes and a few other pink outline issues.
  • 36a7073 2026-01-30 Jonathan Thomas Improving TAB order on main window - better logic to ensure order goes from TOP LEFT to BOTTOM RIGHT and adjusts dynamically to changes in dock position.
  • 3af5213 2026-01-30 Jonathan Thomas Fixing some Codacy nitpicks, code complexity, some unused imports, etc...
  • 4d9488b 2026-01-30 Jonathan Thomas Fixing some missing focus debug pink borders (for spinners and sliders) for OPENSHOT_DEBUG_FOCUS=1, and fixing some TAB order issues in Animated Titles screen.
  • 8ebe6ef 2026-01-30 Jonathan Thomas Fix creeping timeline height on launch - timeline dock should restore to the same height as the previous size when OpenShot is closed
  • e8a667f 2026-01-30 Jonathan Thomas Improvements to list views (transitions, emojis, files, effects) to output the correct name for screen readers (in thumbnail views), and the dock icons now have a name.
  • 6d59489 2026-01-29 Jonathan Thomas Allow for pressing buttons with SPACE key when buttons are focused, so timeline doesn't steel control of the space bar. This allows for dock buttons to be TAB'ed to and SPACE closes a dock. Also, Allow for any # numeric value to edit a property value in our property dock (0-9,.)
  • bab374d 2026-01-29 Jonathan Thomas Improvements to tabstop on main window, and added an env variable: OPENSHOT_DEBUG_FOCUS=1 to clearly show a pink bright focus border for debuggin.
  • 9ecf098 2026-01-29 Jonathan Thomas Stop blender from rendering when cancel is pressed. Also, prevent Animated Title screen from jumping focus back to listview after thumbnail preview is generated
  • e1f6111 2026-01-29 Jonathan Thomas Adding Title and Animated title to our tabstop improvements - both screens now work great with TAB key.
  • 5bdde46 2026-01-29 Jonathan Thomas Adding initial tabstop implementation, to improve the tab order (i.e. using TAB key to jump through the various screens). This commit improves the Preferences, Export, Title, and Animated Title screens.
  • 8311221 2026-01-29 Jonathan Thomas Removing auto update sphinx docs - due to translations and git pulls on production website
  • 576bd66 2026-01-26 Jonathan Thomas Completing more translations for other domains (transitions, blender, emojis) for our 25 website languages
  • 6fbce62 2026-01-26 Jonathan Thomas Completing 100% translations on the 25 languages translated on openshot.org, to match our website fully
  • ef09a1e 2026-01-25 Jonathan Thomas Adding GA4 tracking to sphinx updates on website (gitlab-ci)
  • 6e3ecf7 2026-01-25 Jonathan Thomas Adding GA4 tracking instructions for user-guide documentation for openshot.org website
  • 43ed835 2026-01-24 Jonathan Thomas Adding instructions for generating all user-guide translations for the openshot website, and adding a toggle to make the html docs use relative parent paths for (_static, _images, _sources) for easier serving of the user-guide translations.
  • 37c6191 2026-01-24 Jonathan Thomas Fixed latex user-guide pdf output for most languages, including bn and ar - still RTL issues though, and a few languages still have issues: "ar" "hi" "ja" "ko"
  • 863da8b 2026-01-23 Jonathan Thomas Adding fully translated languages for user-guide: - ro - ru - tr - uk - vi - zh_hans - zh_hant - pt
  • b42e340 2026-01-23 Jonathan Thomas Adding fully translated "nl", "nb", "pl" languages for user-guide
  • d7c5e16 2026-01-23 Jonathan Thomas Adding fully translated "it", "ja", "ko" languages for user-guide
  • a18383f 2026-01-23 Jonathan Thomas Adding fully translated "hr", "id", "is" languages for user-guide
  • 713a35f 2026-01-23 Jonathan Thomas Adding fully translated "hi", "fi" languages for user-guide
  • 0a761a8 2026-01-22 Jonathan Thomas Adding fully translated "de", "es", and "fa" languages for user-guide
  • 47a8aae 2026-01-22 Jonathan Thomas Adding translations for ar and bn lang codes
  • 64345a8 2026-01-22 Jonathan Thomas Adding initial po files for all website supported languages - to our user-guide will initially match up with these 25 languages
  • d0fe2ed 2026-01-22 Jonathan Thomas Updating README.md instructions
  • c5c2ad7 2026-01-22 Jonathan Thomas Reverting invalid icon names in French translation
  • 89d628a 2026-01-22 Jonathan Thomas Removing doc folder from make html command in README.md
  • 1573365 2026-01-22 Jonathan Thomas Initial POT english templates for user-guide for v3.4 of OpenShot, and initial French translation - for testing.
  • 8204a24 2026-01-19 Jonathan Thomas Merge pull request #5900 from OpenShot/metric-tracking
  • 65dd475 2026-01-08 Jonathan Thomas Experimental ssl and crypto libraries included in AppImage freeze to prevent ssl errors on newer distros
  • 2007bf4 2026-01-07 Jonathan Thomas Replace old universal analytics tracking code with updated GA4 tracking - for basic anonymous usage tracking and exception reporting
  • 29fbdab 2025-12-17 Jonathan Thomas Merge pull request #5881 from OpenShot/fixing-launchpad-builds
  • c1e2fb8 2025-12-17 Jonathan Thomas Added a safe deepcopy override to JsonDataStore (src/classes/json_data.py) that skips deep-copying compiled regex objects (which Python 3.6 can’t clone)
  • f2db969 2025-12-17 Jonathan Thomas Merge pull request #5880 from OpenShot/fixing-launchpad-builds
  • 2422615 2025-12-17 Jonathan Thomas Importing typing for Tuple for python 3.6 compatibility
  • 9c265a0 2025-12-17 Jonathan Thomas Merge pull request #5879 from OpenShot/fixing-launchpad-builds
  • accfac6 2025-12-17 Jonathan Thomas Removing annotation import for python 3.6 compatibility (for bionic build server on launchpad)
  • bf57a09 2025-12-17 Jonathan Thomas Merge pull request #5878 from OpenShot/fixing-launchpad-builds
  • 9504050 2025-12-17 Jonathan Thomas Adding a few more shims for importing modules in our new qwidget timeline backend, to prevent errors on launchpad
  • fe8d1a6 2025-12-17 Jonathan Thomas Merge pull request #5876 from OpenShot/fixing-launchpad-builds
  • a7020a9 2025-12-17 Jonathan Thomas Fixing an import error with this shim, to resolve an error on debian build servers, including launchpad build server for our PPA.
  • e917021 2025-12-17 Jonathan Thomas Removing @DataClass usage in new experimental timeline, due to older Python 3.6 not supporting this (bionic build server)
  • bacd3dd 2025-12-16 Jonathan Thomas Merge pull request #5787 from OpenShot/release-20250612

Don't miss a new openshot-qt release

NewReleases is sending notifications on new releases.