Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package openshot-qt for openSUSE:Factory checked in at 2026-04-14 17:49:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openshot-qt (Old) and /work/SRC/openSUSE:Factory/.openshot-qt.new.21863 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openshot-qt" Tue Apr 14 17:49:01 2026 rev:9 rq:1346411 version:3.5.1 Changes: -------- --- /work/SRC/openSUSE:Factory/openshot-qt/openshot-qt.changes 2025-01-27 20:57:18.135698733 +0100 +++ /work/SRC/openSUSE:Factory/.openshot-qt.new.21863/openshot-qt.changes 2026-04-14 17:49:33.038592921 +0200 @@ -1,0 +2,616 @@ +Wed Apr 08 06:16:33 UTC 2026 - Paolo Stivanin <[email protected]> + +- Update to version 3.5.1: + * Fixing some Codacy nitpicks in our unit tests mostly. + * Translating "User Interface Scale" in UI and documentation + * Adding User Interface Scale to preferences, to allow users to easily change the scale of OpenShot. When Enabling the Legacy Timeline it disables this option, and sets it back to 100% scale (our legacy web timeline backends have ugly artifacts when using some fractional scales) + * Fixing SHIFT+Scroll Wheel regression, where our new qwidget timeline backend did not scroll horizontally when SHIFT was pressed. Added unit tests as well. + * Align razor icon with mouse position hotspot in QCursor (qwidget timeline backend). It was offset incorrectly, so the dotted line was not aligned with the actual cursor position, thus cutting in the wrong place. + * Invalidate all qwidget timeline clip thumbnail caching when "Edit Title" is used, so thumbnails of titles stay in sync after edits (dragging thumbnail, initial timeline thumbnail, and dropped thumbnail) + * Updating file menu image used in docs, due to missing "Optimize" option in the menu. Updating README.md to add missing English PDF for website. + * Updating supporters.json file with credits from donations. + * Fixing a regression which added Preview->Optimize to the main windows top menu - oops. + * Fixing many Codacy nitpicks and complaints. Mostly minor changes - I validated all the code still works and tests pass. + * Adding final 3.5.1 translation compiled files (qm files) + * Adding missing translatable strings for Optimize feature + * Bumping version to 3.5.1, minimum libopenshot version to 0.7.0 + * Fixing sphynx syntax error on korean user-guide translation + * Fixing broken language headers in user guide po files + * Updating user-guide translations in all po website po files. + * Improving test_translations.py to also check user-guide translation syntax, for missing placeholders, accidental unescaped % signs, and gettext correctness. Updating README.md with better instructions. + * Updating user-guide language README instructions, for calling `make gettext` and merging those template changes into all *.po files. Also, updating all po files with new pot tepmlate changes. + * Updating user-guide docs translation templates + * Updating core OpenShot translation templates for new release + * Fixing regression on auto-play preview dialog (was slow to open, resize event was fighting auto-play signal), now it's faster to start playback, and still resizes correctly when window changes sizes. + * Updating a few more user-guide images to have white backgrounds instead of black (for alpha) + * Updating a few more user-guide images to have white backgrounds instead of black (for alpha) + * - Updating all preferences images in user-guide to use white background, and updating preview tab image with new optimized video settings. - Refactoring asset moving code, to be sure we remove the assets as we move them (titles, optimized videos, protobuf files, thumbnails, etc...) - New Unit tests + * Fixing some Optimize issues found during testing: - Optimize on an unlinked file, just links it again - Delete & Unlink now works again (broke due to file path issues) - Fixed a backup_assets/ folder path issue, when a backup.osp is used (it just just resolve to the .openshot_qt/ folder. - Added a main window, Edit->Clear->Optimized Videos option (if optimized files exist) + * Lots of improvements to optimize feature, renaming menu, updating docs, improving file name matching for "Link to Existing" to more closely match behavior of other common suffixes and established/expected patterns. + * Fixing a regression on the preview dialog - so SVG images stay sharp and auto playback still works + * Adjusting preview dialog, split file, and region dialogs to use proxy_reader (optimize preview) when available, for performance. + * Fixing build failure related to executor (and possibly older verison of python) - our Linux builder was failing. + * Integrating new, faster thumbnailing, with a 3X thumbnail size max decode (so our Thumbnail function can still scale it down with higher accuracy - clearer picture) + * Add to Timeline dialog now selects clips after adding them to the timeline - similar to dragging files directly onto the timeline (identical behavior now) + * Improving zooming on timeline (CTRL+Scroll Wheel, and CTRL+Press Scroll Wheel) to leave playhead at existing position, and center zoom around that position. Also fixing a small snapping regression. + * Fixing thumbnail cache issues on qwidget timeline backend, causing some thumbnails to flicker when smooth zooming + * - Add new Proxy Service to manage a new "Optimize Preview" feature - Optimize Preview intercepts JSON to libopenshot, and substitutes lower resolution preview media, and manages this process (generating new low-resolution files, linking pre-existing low-resolution files, removing low resolution proxy files. - Moving thumbnails into folders per file id - New unit tests - New settings to manage "Optimize" process (in Preview tab on preferences) + * Applying new thread preference clamps (2 to 3X cpu count), logging on thread init, and a more descriptive "Copy Version Info" context menu - with way more system info (and cache settings). + * Adding link to our step by step guide on installing ComfyUI: Advanced AI server for OpenShot. + * - Upgraded Change Video Style... to WAN VACE with reference image + depth/Canny control. - Added Extract -> Depth and Extract -> Lines for images and videos. - Added reference image to generate dialog: Reference tab. - Renamed img2video-svd to img2video-wan and updated docs/icons. + * Fixing transitions / clip paint artifacts, during updates (which sometimes caused a tiny glitch in the UI when resizing them) + * Updating docs with multi-selection trimming / re-timing notes. + * Preview the correct clip/transition when multiple clips are selected and being trimmed/re-timed. Which ever item initiated the trim, will be the one previewed. + * Improving transition resizing and retiming, to always show the static keyframes for brightness, and ensure they are still visible after resizing. Also, some cleanup work around this same feature. + * Fixing multi-item trims/retiming to use the same exact position for all items, to prevent drift as updates are applied and mouse is still moving. + * Fixing first and last thumbnail slots (on Entire mode) to use center of slot as the frame #, instead of anchoring to the start/end frames - which was causing all sorts of issues. This is simpler, and consistent with how the other slots report their center frames. + * Only adding overlay play icon to video file types (in Project Files), and leaving images and audio just thumbnails - so each has a distinct look, and we no longer use the film strip edges for videos. + * Adding retries to Project Files thumbnailing, better support for device pixel scaling and ui-scale support, and support for a new thumbnailing override (scale_mode), so our thumbnails no longer have black bars based on aspect ratio (they zoomin enough to remove black bars) making thumbnails appear clearer. + * Improving the cursor waiting / spinner behavior to be more reliable, and less likely to spin forever. + * Improving thumbnailing with some experimental overlay changes, and dynamic icons in Project Files + * - Added Ctrl + middle-drag smooth zoom to the qwidget timeline (smooth scroll) - Multi-selection now only resizes/retimes on shared outer edges; interior edges drag instead. - Grouped trim/retime now applies correctly to aligned selected clips. - Preview during grouped resize/retime follows the topmost clip. - Fixed grouped resize mouse-release flashing. - Reduced zoom thumbnail churn, while keeping retimed clip thumbnails stable. - Added focused helper tests for zoom, grouped edge targeting, trim, and retime. + * Sentry bug fix: Protect save_recovery() - now returns immediately if file_path does not exist yet + * Sentry bug fix: Protecting AddTransition from None item_ids list (similar bug to AddClip was fixed) + * Sentry bug fix: Fixing advanced title editor launch error handling, to not over verbose report this to Sentry + * Sentry bug fix: Missing blender exe error logging was too verbose, and moving from log.error to log.info + * Sentry bug fix: Protect int formatting on properties tableview, to avoid a formatting error: %d format: a number is required, not str. + * Sentry bug fix: protecting item_ids attribute, so we don't get a 'NoneType' object has no attribute 'clear' exception. + * - UpdateManager sets a simple in-progress flag while undo/redo is running - any re-entrant undo() / redo() call returns immediately instead of touching history - history entries are removed by stable index with pop(), not by object lookup with remove() + * Fixing sentry bug: Removing old reference to actionPause on Tutorial (no longer exists), the actionPlay just toggles the icon now. + * Fixing Sentry bug: TimelineView.dragLeaveEvent() now delegates to TimelineWidget.dragLeaveEvent() on the qwidget backend, instead of running the legacy cleanup path that could leave item_ids in the wrong state. + * Fixing multi-selection drags of transitions to not apply any auto-direction updates (just move them). Also, apply clip moves first, and then apply transition moves, to keep things in batches and process them in a better order. This fixes a bug where by moving a bunch of clips + transitions, it could reverse the transitions due to invalid ordering. + * Fixing a bug on launch, where scale is compared for equality, but it's a float, so 14.99999999 != 15.0, and it causes the initial empty project to be "dirty" and show a save project dialog. Using tolerance check now. + * Additional logging to identify what updates mark the project as dirty, and log using debug level. Trying to identify why Windows thinks project has changed on launch. + * Fixing Qt compatibility helpers for Ubuntu 18.04 (our oldest supported launchpad PPA build), which was missing 2 functions from later versions of Qt, and crash when painting a clip on the timeline. + * Do not mark project dirty, if default sample rate changes on launch (on some environments this is more common) + * Fixing keyframe detection logic to better detect keyframes (even empty ones with no points), for example when you delete all keyframes for a clip using the keyframe panel. Now, all keyframes available still appear when right clicking on the keyframe panel. Also, some log adjustments have been made around deleting keyframes. + * Animate>Reset menu now clears rotation, shear_x/y, origin_x/y, as well as location_x/y, and scale_x/y. + * Updating translations for all core translation files (website languages) + * Updating translation template + * - Larger FPS fraction limits in File Properties, Export, and Edit Profile. - Live calculated FPS (2 decimals) labels added to all three dialogs, so you can understand easily that 30000 / 1001 = 29.97. - File Properties now shows live Duration above Frame Rate. - FPS editing is image-sequence-only + * Updating gitlab artifact expiration from 4 weeks to 2 weeks, running out of space. + * Fixing recent projects unit test to be deterministic, and not fail at certain times of the day. Take 2. + * Fixing recent projects unit test to be deterministic, and not fail at certain times of the day (oops) + * Fixing sphinx configuration to be backwards compatible for older Ubuntu versions: config-inited / builder-inited + * Fixing sphinx configuration to be backwards compatible for older Ubuntu versions: add_css_file and add_js_file methods. + * More work on making unit tests more compatible with build servers, which are headless (no display). Take 4. + * Ensuring webengine is not required for python unit tests (take 3) + * I added a test bootstrap in src/tests/__init__.py that runs before unittest discover imports the Qt-heavy test modules. It now: + * - Added a shared test helper at src/qt_test_app.py so tests can retrofit an existing Qt app instance with the OpenShot-like methods/state they need. - Changed src/language/test_translations.py to create its QCoreApplication lazily instead of at import time, which removes the discovery-order poison pill. + * Updating ai.po translations for user-guide doc translations + * Fixing some typos on ai.rst (ComfyUI docs), primarily where to find the setting for ComfyUI URL. + * Fixing missing razor icon on qwidget timeline backend, and also enhancing the razor to also cut transitions. + * Bumping version to 3.5.0-dev + * Fixing an issue in our deploy script, if a GitHub release asset already exists. + * Packaging libsndfile in AppImage, to prevent some audio issues on systems with incompatible system libsndfile libraries + * Fixing small regression failure in our new unit tests (on Linux gitlab runner) + * Making qwidget keyframe dragging silky smooth, and fixing issue with disappearing partial thumbnails during trimming. + * 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 + * Translating docs in all website languages + * Bumping version to 3.5.0, minimum libopenshot version to 0.6.0. Major upstream release of OpenShot! + * Updating donors and supporters + * Fixing more Codacy nitpicks + * Fixing Codacy nitpicks about /tmp/ file paths being hardcoded. + * Fix gitlab-ci to only sign windows builds when all builds succeed + * Fixing test failures on github and gitlab ci's + * 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. + * Removing legacy "resource" attribute on transitions, which break on project save for AppImages (due to /tmp/.mount/ folder locations changing between runs) + * - 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. + * I patched src/classes/sentry.py so sentry.init_tracing() fails closed: if Sentry transport setup throws, OpenShot logs a warning and continues without telemetry. + * Stop playback when trimming starts, and reset play button correctly + * 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. + * Fixing transition snapping direction to correctly handle overlapping clips + * 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). + * 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. + * Improved ComfyUI async request checking on launch to avoid lagging when checking for server availability in the UI. + * Fixing snap regression which caused snapping on the qwidget timeline to stop working after zooming into the timeline (CTRL+Scroll Wheel) + * Adding missing webp dependencies for windows freeze.py, to move them into the root so windows can find them when loading the webp imageformat. + * Renaming Comfy UI to ComfyUI in translations as well + * Renaming Comfy UI to ComfyUI. + * Updating all translations for the next release of OpenShot, including the full set of website languages 100% translated. + * 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. + * Updating language template POT file with new English strings from Openshot + * Fixing a few tiny media path differences between JS and qwidget timeline backends (attempting to fix a JPEG issue on Windows) + * Improving the Check Hardware decoding button to use a new libopenshot method for verifying hardware decoding actually worked + * Fixing a bug in the autosave system, if not modifications happened since last time + * Removed Experimental label from Blender GPU acceleration + * 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. + * 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. + * Incorporating Raffi's suggestions into documentation. Updating a few annotated screenshots with arrows, moving some sections around, and other small refactors. + * - 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. + * 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. + * 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). + * Small bug fix for placeholder on profile edit dialog, where formatting was being escaped + * 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. + * 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. + * Fixing duration calculation on new libopenshot handling of mp3 files (with has_single_image = true) + * Support high DPI thumbnails on qwidget experimental timeline + * Adding new docs *.rst file for timeline usage, including keyframe panel. + * 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. + * Fixing regression in SHIFT click on qwidget timeline backend, to correctly select a range of clips/transitions. + * Fix regression which clamped playhead to max frame on timeline. + * Fix small regression to the split file / preview / cutting dialog, so it restores normal functionality + * Adding QToolTip support for qwidget experimental timeline backend, for clips, effects, transitions, and track icons. + * 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. + * Removing noisy log thumbnailing missing on qwidget timeline backend + * Fixing selection when single clicking on multiple selections, to unselect the other items. + * 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. + * Fixing missing loop icon on Windows builds (hopefully) + * Fixing bug in "Add to Timeline" for JS timeline backend, probably a regression from all the qwidget changes) + * 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. + * 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. + * 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. + * Removing noisy logs in video transforms + * - 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). + * Fixing regressions on JS timeline backend seeking/playhead movement, to correctly seek and clear cached frames. + * Adding a new trace UI recorder, which can assist in automated UI testing and validation. + * Upgrading text to video to wan2.2 family, 5B model + * 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. + * Fixing bug which caused the property selection dropdown to not show clip's effects, when a clip was selected in the Experiemntal qwidget timeline. + * 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. + * Updating documentation with ComfyUI / Advanced AI, Animated effect mask support, and more doc updates. + * Fixing CTRL+Click, SHIFT+Click, ALT+Click handling on experimental qwidget timeline backend. + * Removing older legacy pipeline code and support for ComfyUI, since we split them into JSON files. Also removing usage of turbo model. + * Fixing regression in Seek Next/Prev buttons due to caching fixes and stronger seek protections (for smooth caching and playhead movement) + * Fixed tracked-object selection consistency so Object Detection property edits/transform handles target the selected object (supports both legacy index keys and new <effect-uuid>-<index> 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). + * Fixing a couple seek / refresh frame regressions, which were not previewing our property changes for clips/effects + * - 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). + * 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. + * Fixing "Add to Timeline" dialog bug which did not correctly extend the timeline when files extend past the duration of the timeline. + * Improving missing file dialog to be more clear, adding instructions, and making long paths use relative paths, with a bold file name. + * 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. + * 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. + * 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) + * Populating project files on "Open Project" is now batched, and populates the model much faster (30%+ on some larger projects). + * 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. + * 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) + * 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: + * Fixing playhead snapping inaccuracy on the Experimental timeline, which snapped +1 frame after the playhead instead of on top of the playhead frame. + * Fixing Retro theme and removing theme specific code from our region dialog. + * Improvements to theming for AI context menus, generate dialog, and region dialog (for tracking) + * Make meta batches for tracking objects with SAM2 use dynamic batch size (so we minimize chance for OOM on higher resolution videos) + * Fixing SAM2 tracking on images to mirror the functionality on videos: - Track -> Blur - Track -> Highlight - Track -> Mask + * Fixing selection handling after a generated file was added and auto selected + * - 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. + * - 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). + * 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. + * - 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. + * - 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. + * - 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. + * 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. + * - 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. + * - 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. + * - 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. + * 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. + * Fix recursive paint on Experimental timeline by adding repaint_after_paint + * - 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). + * 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. + * Add OS-dropped file on Drag-Enter on the Experimental timeline, so the clip is draggable like a normal clip. + * Auto show properties when a clip or transition is double-clicked (all timeline backends supported) + * Integrating recent fix from comfy-ui branch, to resolve accidentally unselecting Project Files (multiple selections) when right clicking. + * Fixing automatic selections when adding files from OS (file explorer), Add to Timeline, and Dropping emojis and files on timeline (Experimental qwdiget timeline backend) + * Fixing file multi-selections in this branch (so right click doesn't not clear them) + * 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. + * 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) + * Large refactor of ComfyUI context menus, trying to simplify and improve integration with many of the AI tasks. Also, new icons. + * Lowering quality and fps of text to video (for now) + * Add TransNet scene segmentation template and robust segment import handling + * - 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. + * Adding support for Whisper/SRT subtitles to the Generate dialog. Also, auto Caption effect when a file has caption data already. + * - 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. + * Autoplay when preview window is opened. Seems like we are just saving users a click, lol. + * Fix auto transition when adding new emoji or file to experimental timeline + * 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) + * qwidget timeline: defer drag inserts until drop, keep real preview + * 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) + * 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) + * Fix playback state checks and refresh behavior + * Improve split-file UX and fix export correctness for split clips + * Refactoring auto transitions so they work the same in our JS and qwidget experimental timeline backends, by overlapping 2 clips. + * Add Comfy audio/video generation pipelines and generalized output import + * 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. + * 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 + * timeline(qwidget): polish transition visuals and live resize feedback + * Fix transition auto-direction and keyframe handling on drag/trim + * Timeline(qwidget backend): fix keyframe panel sync/selection across drag, snap, tracks, and multi-clip edits + * • Improve QWidget timeline theme parity and keyframe panel styling across Humanity Dark/Retro + * - 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) + * - 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. + * 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) + * 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. + * Removing debug code causing feature branches to upload artifacts to GitHub daily builds + * Enable "Use Blender GPU rendering for Animated Titles" setting by default (seems very stable now) + * Temporary test the develop branch only upload and mktorrent logic for our new code sign job + * Hiding a gitlab ci "re-init-builders" job, and gating it behind a release branch filter. + * Renaming windows gitlab ci job names, and splitting the code signing job by architecture (x64 vs x86) + * Fixing python executable name on new code signing commands in gitlab ci + * Adding msys bin to path for code signing gitlab ci job + * Fixing yml syntax error on gitlab ci section for code signing + * Updating Windows code signing flow, to separate the gitlab runner jobs, so another server can sign and upload. + * Updating developer certification for Mac code + * Fixing many Codacy nitpicks, and protecting against a missing timing mode "reader" attribute in a clip (which happened to break while testing these changes) + * Adding transaction around adding multiple clips to the timeline, so a single CTRL+Z will undo them all. + * Adding transaction to emoji adding (adds a file and a clip), so a single CTRL+Z should undo this + * Removing noisy debug logs for property model updates + * Removing incorrect log during project save, which claimed to copy title assets when they were already copied. + * Fixing project title update during an export (i.e. auto save firing during an export caused an error) + * 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). + * Removing delay on thumbnail trimming refresh, so preview is updated immediately after clip is trimmed. + * 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) + * 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. + * 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. + * Prevent a crash on shutdown when using the qwidget timeline backend (by ensuring the thumbnail thread is properly shut down first) + * Sort missing files before prompting the user to find the missing files. + * 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. + * 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) + * Silence more theme misses (when applying theme colors, icons, and styles) + * Reduce grid size of Emoji list view (they have too much horizontal padding/margin) + * Quite theme miss logs (too noisy at the moment) + * Calling apt-get update on GitHub translations action, since it is failing with a 404 trying to install dependencies for qttranslations5-l10n python3-pyqt5 + * 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. + * Fixing a bunch of Codacy nitpicks on out new tabstop code + * Fixing a new regression in our test_translations.py script, due to changing our "Line %s" substitutions with QLocale + * Making ENTER on Preferences window close the dialog - not press the "Restore Defaults" button + * 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. + * 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) + * Updating translations for our 25 fully translated website languages (adding missing emojis and missing translations) + * 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. + * 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. + * 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. + * Improving focus styles for cosmic dusk on main window, to work well with hover and click styles, and toggle buttons (like snapping, razor, timing) + * Adding focus styles into main window toolbars, so it's more clear what has focus when pressing TAB. + * Improvements to Export dialog TAB order, and pink debug outline for Advanced Tabs added. + * Improvements to Export dialog TAB order, and pink debug outline for Advanced Tabs added. + * Fixing some pink debug TAB styles, consolidating some treeview padding styles in base.py theme, fixing checkboxes and a few other pink outline issues. + * 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. + * Fixing some Codacy nitpicks, code complexity, some unused imports, etc... + * 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. + * Fix creeping timeline height on launch - timeline dock should restore to the same height as the previous size when OpenShot is closed + * 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. + * 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,.) + * 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. + * Stop blender from rendering when cancel is pressed. Also, prevent Animated Title screen from jumping focus back to listview after thumbnail preview is generated + * Adding Title and Animated title to our tabstop improvements - both screens now work great with TAB key. + * 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. + * Removing auto update sphinx docs - due to translations and git pulls on production website + * Completing more translations for other domains (transitions, blender, emojis) for our 25 website languages + * Completing 100% translations on the 25 languages translated on openshot.org, to match our website fully + * Adding GA4 tracking to sphinx updates on website (gitlab-ci) + * Adding GA4 tracking instructions for user-guide documentation for openshot.org website + * 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. + * 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" + * Adding fully translated languages for user-guide: - ro - ru - tr - uk - vi - zh_hans - zh_hant - pt + * Adding fully translated "nl", "nb", "pl" languages for user-guide + * Adding fully translated "it", "ja", "ko" languages for user-guide + * Adding fully translated "hr", "id", "is" languages for user-guide + * Adding fully translated "hi", "fi" languages for user-guide + * Adding fully translated "de", "es", and "fa" languages for user-guide + * Adding translations for ar and bn lang codes + * Adding initial po files for all website supported languages - to our user-guide will initially match up with these 25 languages + * Updating README.md instructions + * Reverting invalid icon names in French translation + * Removing doc folder from make html command in README.md + * Initial POT english templates for user-guide for v3.4 of OpenShot, and initial French translation - for testing. + * Experimental ssl and crypto libraries included in AppImage freeze to prevent ssl errors on newer distros + * Replace old universal analytics tracking code with updated GA4 tracking - for basic anonymous usage tracking and exception reporting + * 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) + * Importing typing for Tuple for python 3.6 compatibility ++++ 319 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/openshot-qt/openshot-qt.changes ++++ and /work/SRC/openSUSE:Factory/.openshot-qt.new.21863/openshot-qt.changes Old: ---- openshot-qt-3.3.0.obscpio New: ---- openshot-qt-3.5.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openshot-qt.spec ++++++ --- /var/tmp/diff_new_pack.yJPyno/_old 2026-04-14 17:49:35.666701551 +0200 +++ /var/tmp/diff_new_pack.yJPyno/_new 2026-04-14 17:49:35.666701551 +0200 @@ -1,7 +1,7 @@ # # spec file for package openshot-qt # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %define appname org.openshot.OpenShot Name: openshot-qt -Version: 3.3.0 +Version: 3.5.1 Release: 0 Summary: Non-linear video editor with broad format support License: GPL-3.0-or-later @@ -76,9 +76,6 @@ %suse_update_desktop_file -r %{appname} AudioVideo AudioVideoEditing %fdupes -s %{buildroot}%{python3_sitelib} -%check -python3 -B ./src/tests/query_tests.py -platform minimal - %files %doc README.md %license COPYING ++++++ _service ++++++ --- /var/tmp/diff_new_pack.yJPyno/_old 2026-04-14 17:49:35.706703205 +0200 +++ /var/tmp/diff_new_pack.yJPyno/_new 2026-04-14 17:49:35.710703370 +0200 @@ -2,17 +2,11 @@ <service name="obs_scm" mode="manual"> <param name="url">https://github.com/OpenShot/openshot-qt.git</param> <param name="scm">git</param> - <param name="revision">v3.3.0</param> + <param name="revision">v3.5.1</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="changesgenerate">enable</param> </service> <service name="set_version" mode="manual"/> - - <service name="tar" mode="buildtime" /> - <service name="recompress" mode="buildtime"> - <param name="file">*.tar</param> - <param name="compression">xz</param> - </service> </services> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.yJPyno/_old 2026-04-14 17:49:35.738704528 +0200 +++ /var/tmp/diff_new_pack.yJPyno/_new 2026-04-14 17:49:35.746704858 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/OpenShot/openshot-qt.git</param> - <param name="changesrevision">8672b30defd0530d3aea8269d4400dab3d6b4391</param></service></servicedata> + <param name="changesrevision">ad3cb296d9066cd60e910cc816b07afe710cd72d</param></service></servicedata> (No newline at EOF) ++++++ openshot-qt-disable-sending-metrics.patch ++++++ --- /var/tmp/diff_new_pack.yJPyno/_old 2026-04-14 17:49:35.766705685 +0200 +++ /var/tmp/diff_new_pack.yJPyno/_new 2026-04-14 17:49:35.770705850 +0200 @@ -1,14 +1,14 @@ -Index: openshot-qt-3.2.0/src/settings/_default.settings +Index: openshot-qt-3.5.1/src/settings/_default.settings =================================================================== ---- openshot-qt-3.2.0.orig/src/settings/_default.settings -+++ openshot-qt-3.2.0/src/settings/_default.settings -@@ -379,7 +379,7 @@ - "restart": true +--- openshot-qt-3.5.1.orig/src/settings/_default.settings ++++ openshot-qt-3.5.1/src/settings/_default.settings +@@ -515,7 +515,7 @@ + "restart": false }, { - "value": true, + "value": false, "title": "Send Anonymous Metrics and Errors", "type": "bool", - "category": "Debug", + "category": "Advanced", ++++++ openshot-qt.obsinfo ++++++ --- /var/tmp/diff_new_pack.yJPyno/_old 2026-04-14 17:49:35.802707173 +0200 +++ /var/tmp/diff_new_pack.yJPyno/_new 2026-04-14 17:49:35.806707339 +0200 @@ -1,5 +1,5 @@ name: openshot-qt -version: 3.3.0 -mtime: 1734835066 -commit: 8672b30defd0530d3aea8269d4400dab3d6b4391 +version: 3.5.1 +mtime: 1775428957 +commit: ad3cb296d9066cd60e910cc816b07afe710cd72d
