Skip to content

Releases: OpenUTV/utv

UTV Release 2026.5

Choose a tag to compare

@github-actions github-actions released this 15 Sep 23:22

OpenUTV 2026.5

OpenUTV 2026.5 introduces high-performance SIMD PNG decoding via libspng, self-contained Windows deployment with bundled MSVC C++ runtime libraries, live timeline metadata tracking in the Qt Media Information inspector, expanded codec and container format support, native SVG vector rendering, and cross-platform GPU hardware acceleration.


Ultra-Fast SIMD PNG Sequence Decoding (libspng)

  • Hardware-Accelerated PNG Reader (io_png): Integrated libspng directly into the PNG image reader with zero-copy decoding straight into OpenUTV's internal FrameBuffer.
  • 3–4× Playback Speedup: Leverages hardware SIMD acceleration (NEON on ARM64 / Apple Silicon, AVX2 / SSSE3 on x86_64) for dramatic performance improvements when playing back heavy 8-bit and 16-bit PNG image sequences.
  • Complete Color & Metadata Fidelity: Fully preserves sRGB chunk flags, embedded ICC color profiles, gamma values, chromaticity data, and pixel aspect ratios.
  • Intelligent Fallback Architecture: Automatically and transparently falls back to libpng if libspng encounters non-standard or proprietary chunk structures.

Dynamic Media Information & Timeline Inspector

  • Live Viewport & Playhead Tracking: The native Qt Media Information dialog (Ctrl+I / Cmd+I) now dynamically tracks the active image or video clip in the viewport as playback traverses multi-clip timelines, EDL cuts, and frame sequences.
  • Timeline Media Dropdown: Added an interactive Media: dropdown to the dialog header. Switch effortlessly between ✦ Auto (Active Viewport / Playhead) and any individual clip loaded in the session graph (e.g. sourceGroup000000 (shot_010.exr)).
  • Multi-Strategy Metadata Extraction: Robust fallback querying resolves image attributes directly from leaf source nodes and proxy headers even for clips not currently drawn to the active framebuffer.
  • Multi-Format Metadata Export: Copy complete metadata attributes directly to the system clipboard with one click as Formatted Text, spreadsheet-ready CSV, or structured JSON.
  • Live Search Filtering: Instantly search and filter through hundreds of EXIF, color mastering, audio, and container attributes in real time.

Native Scalable Vector Graphics (SVG) Support

  • Built-in SVG Vector Reader (io_svg): Integrated a lightweight, zero-dependency native SVG rasterizer using NanoSVG.
  • First-Class Timeline Integration: Open, inspect, playback, and composite vector graphics (.svg) directly inside OpenUTV sessions, timeline stacks, and command-line tools (utvls, utvio) without external rendering utilities.

Expanded Video, Audio & Camera RAW Formats

  • Extended Video Containers: Added native playback support for WebM (.webm), Ogg Video (.ogv), MPEG Transport Streams (.ts, .mts, .m2ts), DVD VOB (.vob), Windows Media Video (.wmv, .asf), Y4M (.y4m), IVF (.ivf), and MPEG (.mpeg).
  • High-Fidelity Audio Tracks: Added playback for Free Lossless Audio Codec (.flac), Advanced Audio Coding (.aac), Opus (.opus), MPEG-4 Audio (.m4a), and Windows Media Audio (.wma).
  • Expanded Professional Camera RAW: Added Panasonic Lumix RAW (.rw2), Sony RAW (.sr2), Hasselblad RAW (.3fr), Phase One RAW (.iiq), Samsung RAW (.srw), and Nikon RAW (.nrw).
  • Modern Image Formats: Added Canon/Sony HEIF (.hif) and the Quite OK Image format (.qoi).

Cross-Platform Auto-GPU Acceleration & Intelligent Fallback

  • Zero-Configuration Hardware Acceleration: Automatically detects host GPU hardware and initializes hardware-accelerated decode/encode pipelines:
    • macOS: Apple VideoToolbox with native ProRes, HEVC, and H.264 acceleration.
    • Linux: NVIDIA NVDEC / NVENC with automatic fallback to Intel/AMD VAAPI.
    • Windows: NVIDIA NVDECODE / NVENC with automatic fallback to Microsoft D3D11VA and DXVA2.
  • Intelligent CPU Fallback: Automatically and seamlessly falls back to high-performance multi-threaded CPU decoding if GPU allocation fails, VRAM limits are exceeded, or an unsupported codec profile is encountered.
  • Hardware-Accelerated Apple Silicon HEIC: Added native Apple Silicon CoreGraphics / ImageIO hardware decoding for HEIC/HEIF with full P3 and Rec.2020 color fidelity.

Windows Deployment & Modernization

  • Self-Contained CRT Deployment: Deployed modern MSVC C++ runtime redistributable DLLs (msvcp140.dll, vcruntime140.dll, vcruntime140_1.dll, etc.) app-locally into the Windows distribution package, eliminating missing DLL crashes on systems without pre-installed redistributables.
  • Broader Dependency Discovery: Expanded discovery logic in UTV.bat to automatically search %LOCALAPPDATA% and root directories for OpenUTVDeps.
  • Session Manager Qt Signals: Fixed Qt 6.11 re-entrancy issues in edit modes (Stack, Switch, SourceGroup) by isolating checkbox state signals during UI updates.
  • Robust Exception Handling: Hardened Python RV command wrappers against untyped runtime exceptions across all event listeners.

Installation

macOS (Homebrew Cask)

brew tap OpenUTV/utv https://github.com/OpenUTV/utv
brew install --cask utv

To upgrade an existing installation:

brew upgrade --cask utv

macOS (Standalone Archive)

Download UTV-2026.5-macOS-arm64.zip below, extract UTV.app, and move it to /Applications.

Windows (Standalone Archive)

  1. Download UTV-2026.5-windows-x64.zip below and extract the archive (e.g. to C:\Users\<User>\Downloads\utv-windows-x64 or C:\Program Files\OpenUTV).
  2. Download and extract the runtime dependencies from OpenUTVDeps-2026.3-windows-x64.zip into the OpenUTV folder or %LOCALAPPDATA%.
  3. Launch bin\utv.exe.

UTV Release 2026.4

Choose a tag to compare

@github-actions github-actions released this 15 Sep 22:37

OpenUTV 2026.4

OpenUTV 2026.4 introduces major enhancements to media inspection, expanded codec and container format support, native SVG vector rendering, cross-platform GPU hardware acceleration with seamless fallback, and Windows build modernization.


Dynamic Media Information & Timeline Inspector

  • Live Viewport & Playhead Tracking: The native Qt Media Information dialog (Ctrl+I / Cmd+I) now dynamically tracks the active image or video clip in the viewport as playback traverses multi-clip timelines, EDL cuts, and frame sequences.
  • Timeline Media Dropdown: Added an interactive Media: dropdown to the dialog header. Switch effortlessly between ✦ Auto (Active Viewport / Playhead) and any individual clip loaded in the session graph (e.g. sourceGroup000000 (shot_010.exr)).
  • Multi-Strategy Metadata Extraction: Robust fallback querying resolves image attributes directly from leaf source nodes and proxy headers even for clips not currently drawn to the active framebuffer.
  • Multi-Format Metadata Export: Copy complete metadata attributes directly to the system clipboard with one click as Formatted Text, spreadsheet-ready CSV, or structured JSON.
  • Live Search Filtering: Instantly search and filter through hundreds of EXIF, color mastering, audio, and container attributes in real time.

Native Scalable Vector Graphics (SVG) Support

  • Built-in SVG Vector Reader (io_svg): Integrated a lightweight, zero-dependency native SVG rasterizer using NanoSVG (zlib-licensed).
  • First-Class Timeline Integration: Open, inspect, playback, and composite vector graphics (.svg) directly inside OpenUTV sessions, timeline stacks, and command-line tools (utvls, utvio) without external rendering utilities.

Expanded Video, Audio & Camera RAW Formats

  • Extended Video Containers: Added native playback support for WebM (.webm), Ogg Video (.ogv), MPEG Transport Streams (.ts, .mts, .m2ts), DVD VOB (.vob), Windows Media Video (.wmv, .asf), Y4M (.y4m), IVF (.ivf), and MPEG (.mpeg).
  • High-Fidelity Audio Tracks: Added playback for Free Lossless Audio Codec (.flac), Advanced Audio Coding (.aac), Opus (.opus), MPEG-4 Audio (.m4a), and Windows Media Audio (.wma).
  • Expanded Professional Camera RAW: Added Panasonic Lumix RAW (.rw2), Sony RAW (.sr2), Hasselblad RAW (.3fr), Phase One RAW (.iiq), Samsung RAW (.srw), and Nikon RAW (.nrw).
  • Modern Image Formats: Added Canon/Sony HEIF (.hif) and the Quite OK Image format (.qoi).

Cross-Platform Auto-GPU Acceleration & Intelligent Fallback

  • Zero-Configuration Hardware Acceleration: Automatically detects host GPU hardware and initializes hardware-accelerated decode/encode pipelines:
    • macOS: Apple VideoToolbox with native ProRes, HEVC, and H.264 acceleration.
    • Linux: NVIDIA NVDEC / NVENC with automatic fallback to Intel/AMD VAAPI.
    • Windows: NVIDIA NVDECODE / NVENC with automatic fallback to Microsoft D3D11VA and DXVA2.
  • Intelligent CPU Fallback: Automatically and seamlessly falls back to high-performance multi-threaded CPU decoding if GPU allocation fails, VRAM limits are exceeded, or an unsupported codec profile is encountered.
  • Hardware-Accelerated Apple Silicon HEIC: Added native Apple Silicon CoreGraphics / ImageIO hardware decoding for HEIC/HEIF with full P3 and Rec.2020 color fidelity.

Legacy Subsystem Modernization & Bug Fixes

  • Image Subsystem Modernization: Deprecated legacy redundant image plugins in favor of modern OpenImageIO 3.x with direct EXIF metadata extraction.
  • Session Manager Qt Signals: Fixed Qt 6.11 re-entrancy issues in edit modes (Stack, Switch, SourceGroup) by isolating checkbox state signals during UI updates.
  • Robust Exception Handling: Hardened Python RV command wrappers against untyped runtime exceptions across all event listeners.
  • Windows Platform & CI Overhaul: Modernized MSVC build pipeline with Ninja, Vulkan presentation support, Python 3.14 C-extension modules, and MSI packaging.

Installation

macOS (Homebrew Cask)

brew tap OpenUTV/utv https://github.com/OpenUTV/utv
brew install --cask utv

To upgrade an existing installation:

brew upgrade --cask utv

macOS (Standalone Archive)

Download UTV-2026.4-macOS-arm64.zip below, extract UTV.app, and move it to /Applications.

UTV Release 2026.3

Choose a tag to compare

@mcoliver mcoliver released this 13 Sep 23:04

OpenUTV 2026.3

macOS Launcher & Dependency Self-Healing

  • Native Terminal Script Execution (.command): Replaced AppleScript-based terminal launching in UTVLauncher.mm with a native temporary .command executable opened via macOS NSWorkspace. Bypasses macOS TCC / Automation permissions entirely, ensuring terminal windows immediately execute the installation sequence without silent drops or permission errors.
  • Clipboard Command Auto-Copy: Automatically copies the exact brew install ... && brew link --overwrite ffmpeg-full command directly to the macOS pasteboard (NSPasteboard) so it is immediately available if preferred.
  • Dynamic Remote Dependency Manifest: Integrated dynamic dependency resolution querying https://raw.githubusercontent.com/OpenUTV/utv/main/deploy/dependencies.json with a 1.5-second timeout and offline fallback. Allows instant formula adjustments, naming updates, and workarounds on GitHub without recompiling the application.
  • Dependency Conflict Healing: Automatically runs brew link --overwrite ffmpeg-full during dependency setup to resolve linking conflicts when standard ffmpeg is pre-installed.
  • Deduplicated Dependency Checks: Deduplicated detected missing packages while preserving optimal installation order.

Diagnostics & Issue Reporting

  • Automated Diagnostic Packager (openutv-diagnostics): Added an automated diagnostic tool that bundles system hardware specifications (CPU, RAM, GPU Metal device), macOS version, Homebrew environment and formula versions (qt, boost, ffmpeg-full, openjpeg, openimageio, openexr, pyside), OpenUTV logs (~/Library/Logs/OpenUTV/UTV.log), recent crash reports (~/Library/Logs/DiagnosticReports/UTV*.ips), and user preferences into a timestamped zip archive in ~/Downloads.
  • Integrated GitHub Issue Reporting: Added Help -> Report Issue on GitHub... and a launcher fallback button that generates the diagnostic archive, reveals it in Finder, and opens the pre-filled GitHub Bug Report template ready for attachment.
  • Manual Diagnostics Export: Added Help -> Collect Diagnostics Package... to export debug bundles at any time.

Version Upgrade Checker

  • GitHub Release Checker (openutv-check-updates): Added an update checker that queries the GitHub Releases API for new OpenUTV releases.
  • 1-Click Homebrew Cask Upgrade: If OpenUTV was installed via Homebrew Cask, the update prompt offers a 1-click option to launch Terminal and run brew upgrade --cask utv.
  • In-App Menu: Added Help -> Check for Updates... to check for newer releases at any time.

Intelligent Caching & Video Playback

  • Intra-Frame Video Auto-Bypass: Formats like Apple ProRes and Avid DNxHR/DNxHD route to No Caching (NeverCache) by default for instant real-time playback without RAM saturation.
  • Inter-Frame Video & Image Sequences: Automatically engages Look-Ahead Cache (BufferCache) for smooth frame-accurate playback.
  • Zero-Wait Buffer Overrun: Default Look-Ahead wait time is set to 0.0s, allowing on-the-fly decoding without stalling.
  • Dynamic Hardware RAM Ceiling: Automatically clamps cache size to safe limits (85% physical RAM).

Code Signing & Apple Notarization

  • Apple Notarization & Stapled Tickets: Fully signed with Developer ID Application certificate and notarized by Apple with stapled tickets.
  • Hardened Runtime: Built and codesigned with macOS Hardened Runtime and valid entitlements.

Installation

macOS (Homebrew Cask)

brew tap OpenUTV/utv https://github.com/OpenUTV/utv
brew install --cask utv

To upgrade an existing installation:

brew upgrade --cask utv

macOS (Standalone Archive)

Download UTV-2026.3-macOS-arm64.zip below, extract UTV.app, and move it to /Applications.

UTV Release 2026.2

Choose a tag to compare

@github-actions github-actions released this 13 Sep 03:30

OpenUTV 2026.2

Initial Release Community Callout

  • Community Issue Tracking: Added a prominent callout to the community to stress-test UTV and report broken codecs, visual glitches, performance bottlenecks, unexpected behaviors, and feature requests via GitHub Issues.

Hardware Decoding & Video Playback

  • Expanded VideoToolbox Hardware Acceleration: Accelerated decoding via Apple Silicon VideoToolbox now supports H.264, HEVC (H.265), Apple ProRes, VP9, and AV1 out of the box.
  • ProRes 422 Green Screen Fix: Resolved a 10-bit VideoToolbox decoding bug where ProRes 422 files (P210LE semi-planar) decoded with a solid green tint due to an unshifted 6-bit shift offset and incorrect plane line-stride calculations.
  • Runtime Silicon Capability Detection: Integrated dynamic VTIsHardwareDecodeSupported() queries per codec so unsupported hardware formats seamlessly fall back to CPU software decoding.
  • Zero-Crash Software Fallback: Automatically and gracefully falls back to multi-threaded CPU software decoding if hardware decoding encounters stream limits or decoder allocation errors.
  • Hardware Decoding Preferences & Controls:
    • Added a new Hardware Video Decoding preference under Preferences -> Caching (Auto (All Supported Codecs), ProRes Only, Disabled (Software CPU)).
    • Added pipeline environment variable control via OPENUTV_HWACCEL / UTV_HWACCEL (all, prores, none).

Intelligent Caching & Memory Architecture

  • Auto Smart Media Caching: Introduced an intelligent auto-caching engine (Auto (Smart Media Detection)) in Preferences and CLI (-ac):
    • Fast Intra-Frame Video (Apple ProRes, ProRes RAW, Avid DNxHR/DNxHD, JPEG 2000, Motion JPEG): Automatically routes to No Caching (NeverCache) for instant real-time playback without RAM saturation.
    • Image Sequences (EXR, DPX, TIFF, etc.) & Inter-Frame Video (MPEG-1/2, H.264, HEVC, AV1, VP9): Automatically engages Look-Ahead Cache (BufferCache) to ensure smooth playback and prevent audio clock drops.
    • Emits informative console logs identifying the media format and the selected caching strategy.
  • Zero-Wait Buffer Overrun (0.0s): Set default Look-Ahead wait time to 0.0s across preferences and CLI options, allowing playback to decode on-the-fly when cache buffers are overrun rather than pausing.
  • Hardware Memory Protection: Query physical RAM on Apple Silicon dynamically using sysctl HW_MEMSIZE and clamp cache allocations to a safe ceiling of 85% of physical memory to prevent system freezes.
  • Playback Stall Notifications: Added rate-limited console notices with actionable troubleshooting tips if buffer starvation ever interrupts playback.
  • Intra-Frame Seek Optimization: Cleaned FFmpeg slow random access classifications, ensuring NLE codecs are recognized as fast random access and eliminating erroneous slow access flags.

Application Versioning & Metadata Alignment

  • Dynamic Release Version Resolution: Replaced the legacy hardcoded 2026.9.10 placeholder in CMakeLists.txt with dynamic Git tag resolution matching semantic releases (e.g. 2026.2).
  • Clean Version Display: Updated the About dialog, CLI tools (-version), and macOS bundle metadata (CFBundleShortVersionString, CFBundleVersion) to cleanly display 2026.2 without appending redundant patch numbers when the patch level is 0.

Bundled Python Runtime & Packaging

  • Self-Contained Site-Packages: Bundled all runtime Python dependencies (opentimelineio, six, numpy, PyOpenGL, requests, certifi, pydantic, etc.) directly into UTV.app/Contents/lib/python3.14/site-packages/.
  • Standalone Execution: Launching UTV.app from Finder or standalone archives functions out of the box with full plugin support without requiring local pip installs or virtual environments.
  • Clean Release Packaging: Excluded macOS extended metadata / AppleDouble ._* dot-files from release archives to ensure clean extraction and reliable plugin discovery.
  • Path Discovery: Hardened rv_commands_setup.py, DarwinBundle.mm, and QTBundle.cpp to discover and prioritize bundled site-packages with fallbacks for Homebrew and developer virtualenvs.
  • Python 3 Modernization: Converted source_setup.py, retimeExportHook.py, and otio_writer.py to use standard library urllib.parse and math.isclose.

Branding, Copyright & Metadata

  • Downstream License Compliance: Updated macOS bundle metadata (Info.plist) with explicit OpenUTV ownership while honoring historical attribution: Copyright © 2026 OpenUTV Contributors. Portions Copyright 2022-2023 Autodesk, Inc., and 2001-2022 Tweak Software.
  • Bundle Identifiers: Modernized bundle identifiers across all targets from com.autodesk to com.OpenUTV.

Code Signing & Apple Notarization

  • Apple Notarization & Stapled Tickets: Fully signed with Developer ID Application certificate and notarized by Apple with stapled tickets.
  • Hardened Runtime: Built and codesigned with macOS Hardened Runtime, valid entitlements, and verified signature seals. Eliminates Gatekeeper warnings.

macOS Launcher & Dependency Validation

  • Native Objective-C Launcher (UTVLauncher.mm): Replaced direct bundle executable entry with a native launcher linking only to system Cocoa frameworks to prevent dyld termination on missing dylibs.
  • Dependency Validation: Verifies required Homebrew packages (qt, python@3.14, ffmpeg-full, opencolorio, openexr, imath, etc.) prior to binary execution, providing a native macOS dialog to install missing components.

Display & Color Pipeline

  • 10-Bit Color Pipeline: Native 10-bit Metal presentation pipeline, extended sRGB color space, and EDR calibration for Apple Liquid Retina XDR and HDR displays (plus 10-bit Vulkan surfaces on Linux and Windows).
  • 10-Bit Diagnostics: Added depth verification tool and test pattern generator (tools/diagnostics/10bit/).
  • Metal Viewport Hardening: Fixed checkerboard flicker during mouse tracking and cursor motion in QtMetalVideoDevice.

Media Codecs & Playback

  • Native PDF Document Support: Added multi-page reader powered by macOS CoreGraphics with automatic page cropping.
  • Apple ProRes RAW: Added 16-bit half-float (64RGBAHalf) decoding via AVFoundation and FFmpeg.
  • MPEG & Inter-Frame Playback: Resolved stutter and repetitive header error logging in MovieFFMpeg.
  • JPEG 2000 & HTJ2K: Support via OpenJPEG and FFmpeg.

Qt 6.11 Compatibility & Upstream Ports

  • Qt 6.11 Stability: Resolved Session Manager reentrancy crashes during model updates.
  • Ported OpenRV PR 1350: Resolved EXR + WAV audio/video playback synchronization stutter.
  • Ported OpenRV PR 1321: Hardened display screen selection against invalid monitor indices.
  • Ported OpenRV PR 1393: Bound missing QAction / QToolButton APIs and modernized SignalSpy for Qt 6.11.

Installation

macOS (Homebrew Cask)

brew tap OpenUTV/utv https://github.com/OpenUTV/utv
brew install --cask utv

macOS (Standalone Archive)

Download UTV-2026.2-macOS-arm64.zip below, extract UTV.app, and move it to /Applications.

UTV Release 2026.1

Choose a tag to compare

@github-actions github-actions released this 01 May 01:45

2026.0 - 2026-04-30

Features

  • Integrate NDI SDK locally with dynamic loading (c33d508)
  • Integrate Blackmagic SDK headers locally for dynamic discovery (c3e3e5a)
  • Update app icons to new UTV Polaris logo (d6c94e8)
  • add build.sh support for passing BMD and ProRes SDK paths and update documentation. (a844622)
  • update FPS menu options and reformat generated about string (47a3946)
  • add ProRes encoder variants and enable slice-based multithreading in MovieFFMpeg while updating build metadata (980befe)
  • rebrand OpenRV to UTV (303a395)
  • complete UTV modernization and build system overhaul (028cb39)

Bug Fixes

  • Update Info.plist to point to correct UTV.icns icons (217b8f5)
  • handle MXF timecode rates and restrict timecode lookup to video streams in FFMpeg movie parser (fcc39a4)
  • correct frame orientation for 90-degree clockwise rotation in MovieFFMpeg (11de66f)
  • Stabilize UTV build (3f78664)
  • resolve build errors and compiler warnings across UTV (452f6bf)
  • resolve compiler warnings in Mu engine (87e9610)

Build System

  • upgrade Qt version to 6.11.0 in macOS CI workflow (71fd581)
  • format cmake dependency scripts (6096067)
  • ensure link stability across Homebrew upgrades (847dc4a)
  • modernize installation logic for system-linked distribution (cbc4b33)
  • fix Imath and OpenEXR system dependency integration (ffd23a4)
  • replace alias-based rvcmds.sh with standard build.sh script (6ce99ad)

GitHub Actions

  • Force CMake to detect Apple SDK via SDKROOT (4a0e61d)
  • Bump cache, upload-artifact, and action-gh-release to latest versions (5a98eba)
  • Update checkout and setup-python actions to v6 (449890c)
  • Update all legacy actions/checkout usages to v4 (d50f1a7)
  • Add concurrency control to automatically cancel redundant workflow runs (21d52bb)
  • Opt-in to Node.js 24 for all GitHub Actions to resolve deprecation warnings (26a757b)
  • Implement weekly rolling cache for Homebrew to capture upstream updates (e928c55)
  • Add CCache and Homebrew caching to dramatically reduce build times (4459b2d)
  • Use Homebrew for Qt and doctest, removing slow Qt action (80acbb3)
  • Update hardcoded repository owner checks to makaisystems (53ee292)
  • Fix YAML syntax error in release-pr workflow (452a58c)
  • Add Dependabot configuration for GitHub Actions and Python dependencies (eeedd45)
  • Update QT_HOME path to match Qt 6.11.0 (9b98972)
  • Professionalize macOS CI/CD pipeline (f26510b)
  • Include version number in macOS zip artifact name (aa656b3)
  • Implement unified macOS build and release workflow (a986168)

Documentation

  • Remove emojis from README headings (e916537)
  • Fix OpenRV attribution in Notice.txt (9f27853)
  • Rewrite README and establish Homebrew Cask tap (15379ef)
  • ensure Apache 2.0 compliance for UTV modifications (2fd4fd1)