Releases: StuartCameronCode/VapourBox
Dependencies 1.4.0
Linux dependency bundles (1.4.0): ffmpeg switched to a hardware-enabled static build (x64: QSV/NVENC/AMF/VAAPI; arm64: NVENC/AMF/V4L2M2M), still software-capable without a GPU/driver. macOS/Windows remain on deps-v1.3.0. Auto-downloaded by the app on first launch — not a VapourBox app release.
VapourBox 0.9.6
VapourBox 0.9.6
The big one: VapourBox now runs on Linux, and macOS ships as a single universal build covering both Apple Silicon and Intel.
What's New
- Linux support (x86_64 + aarch64) — VapourBox is now cross-platform across macOS, Windows, and Linux. It ships as a portable tarball; the VapourSynth/FFmpeg dependency stack downloads automatically on first launch (to
~/.local/share/VapourBox/), same as the other platforms. The full filter set is available. - macOS is now a Universal build — a single signed & notarized DMG runs natively on both Apple Silicon and Intel Macs (Intel support is new this release)..
Fixes
- Preview no longer breaks when toggling filters rapidly — fixed a race condition that could leave the preview stale or errored when filters were switched in quick succession.
- Clearer worker error reporting on Unix — process failures now report the terminating signal (e.g.
SIGSEGV) instead of an opaque exit code.
Downloads
- Windows:
VapourBox-0.9.6-windows-x64.zip - macOS (Universal — Apple Silicon + Intel): signed & notarized
VapourBox-0.9.6-macos-universal.dmg - Linux (x86_64):
VapourBox-0.9.6-linux-x64.tar.gz - Linux (aarch64):
VapourBox-0.9.6-linux-arm64.tar.gz
Dependencies
Dependencies (~185 MB) are downloaded automatically on first launch.
Under the hood
- New cross-platform CI test gate runs the full Rust + Flutter test suites on macOS (Apple Silicon + Intel), Windows, and Linux for every push and PR.
- Linux dependencies and the Linux
whisper-cliare built from source via dedicated CI workflows; macOS x64 deps now build natively on the Intel runner.
whisper-v1.8.3
whisper.cpp v1.8.3 whisper-cli binaries for Linux, built by build-whisper.yml. Fully static (glibc-only) for Ubuntu 22.04+ / glibc >= 2.35. Consumed by the app via assets/whisper-addon.json. macOS uses a Homebrew bottle and Windows the upstream release zip; this release covers Linux x64 + arm64.
VapourBox 0.9.5
VapourBox 0.9.5
What's New
- New lossless codecs: HuffYUV and FFVHuff, selectable for AVI/MKV output (fast lossless intermediates alongside FFV1).
- macOS builds are now (finally) signed and notarized with a Developer ID — open without Gatekeeper warnings.
Fixes
- #6 — MP4/MOV output no longer fails on sources with image-based (PGS/VobSub) subtitles; only text subtitles are mapped to mov_text, image-based tracks are skipped.
- Output paths now use the platform separator on Windows (no more mixed
D:\dir/file.mov). - Preview now reports a clear error on un-analyzed files instead of a cryptic
BlankClip: invalid width.
Downloads
- Windows:
VapourBox-0.9.5-windows-x64.zip - macOS (Apple Silicon): signed & notarized
VapourBox-0.9.5-macos-arm64.dmg
Dependencies
Dependencies (~185 MB) are downloaded automatically on first launch.
VapourBox 0.9.3
Hotfix v0.9.3
- Fix DVD extraction failing on Windows physical drives — root paths like
D:\produced illegal characters in temp filenames
From v0.9.2
Film Restoration Filters
- DeScratch — Remove vertical scratches from scanned film (spatial, single-frame analysis)
- SpotLess — Remove dust, dirt, and temporal spots using motion-compensated median filtering
Chroma Fixes
- Chroma Shift (Y/C Delay) — Precisely align chroma planes with sub-pixel accuracy for analog sources
- Fixed method dropdown showing alongside individual checkboxes in Chroma Fixes
Bug Fixes
- Fixed preview template unconditionally marking clips as field-based, causing resize errors with some filters
- Fixed DeScratch compatibility with field-based clips and non-8-bit formats
VapourBox 0.9.2
What's New
Film Restoration Filters
- DeScratch — Remove vertical scratches from scanned film (spatial, single-frame analysis)
- SpotLess — Remove dust, dirt, and temporal spots using motion-compensated median filtering
Chroma Fixes
- Chroma Shift (Y/C Delay) — Precisely align chroma planes with sub-pixel accuracy for analog sources
- Fixed method dropdown showing alongside individual checkboxes in Chroma Fixes
Bug Fixes
- Fixed preview template unconditionally marking clips as field-based, causing resize errors with some filters
- Fixed DeScratch compatibility with field-based clips and non-8-bit formats
Dependencies (deps-v1.3.0)
- Added DeScratch plugin (Windows DLL + macOS arm64 dylib)
- Added TemporalMedian plugin (Windows DLL + macOS arm64 dylib)
Uses dependencies from: deps-v1.3.0
Dependencies 1.3.0
Changes from 1.2.0
- Added DeScratch plugin (vertical scratch removal from film)
- Windows:
DeScratch.dllfrom vapoursynth/descratch R3 - macOS arm64: compiled from source
- Windows:
- Added TemporalMedian plugin (required by SpotLess filter)
- Windows:
libtemporalmedian.dllfrom dubhater/vapoursynth-temporalmedian v1 - macOS arm64: compiled from source
- Windows:
VapourBox 0.9.1
What's New
Bug Fixes
- Fix filter parameter values silently lost on UI round-trips due to schema-converter mismatches
- Fix resize kernel always resetting to default when saving/loading presets
- Fix MCTemporalDenoise settings param not passed to VapourSynth
- Fix QTGMC built-in denoising values ignored when set from noise reduction panel
- Remove dead blockSize/overlap fields from deblock filter
Improvements
- Add comprehensive schema-converter integration tests (98 tests) to prevent future mismatches
- Case-insensitive dropdown matching prevents silent enum fallback bugs
Dependencies
Uses deps release: deps-v1.2.0
VapourBox 0.9.0
What's New
DVD Disc Import
Import directly from DVD discs, VIDEO_TS folders, and ISO images. VapourBox extracts individual titles using libdvdread, with progress tracking and automatic cleanup of temp files. CSS decryption supported if the user installs libdvdcss separately.
OpenCL GPU Acceleration on macOS
QTGMC now automatically uses NNEDI3CL (OpenCL GPU) on macOS, where the CPU-only ZNEDI3/NNEDI3 plugins lack ARM NEON optimisations and run pure scalar C. This significantly speeds up the interpolation step on Apple Silicon.
Replace BestSource/FFMS2 with FFmpeg Pipe Source
BestSource's frame-accurate seeking could cause A/V desync on certain sources. This release replaces the entire source chain with a single FFmpeg pipe architecture:
- No more slow indexing — FFmpeg pipe starts immediately, no frame index needed
- Consistent preview and encode paths — preview uses the identical pipeline as conversion
- Preview respects encoding settings — chroma subsampling and other parameters reflected in previews
Advanced QTGMC Parameters Overhaul
All advanced QTGMC parameters are now optional with proper defaults matching havsfunc internals. When a checkbox is unchecked, the parameter is omitted entirely — letting QTGMC use its own preset-driven defaults (matching how tools like Hybrid handle these settings).
- 30 advanced parameters (TrueMotion, GlobalMotion, DCT, SubPelInterp, ThSAD1/2, ThSCD1/2, etc.) are now optional — previously always passed even when untouched
- All optional parameter defaults match the actual havsfunc function signatures, not custom presets
- User-adjusted values are preserved when disabling and re-enabling a parameter checkbox
- 5 parameters (Str, Amp, FastMA, ESearchP, RefineMotion) were not being passed to the script at all — now properly wired through
Bug Fixes
- Fix advanced settings optional parameter checkboxes not toggling (#4) — optional params had null defaults, so clicking the checkbox called
onChanged(null)which kept the parameter disabled - Fix 4 VapourSynth parameter name mismatches in deinterlace schema (BlockSize→Blocksize, SBB→Sbb, Device→device, OpenCL→opencl) that caused silent parameter drops
- Remove non-existent
vinverseSclparameter from Vinverse filter (havsfunc Vinverse only has sstr, amnt, chroma) - Fix all filter schema defaults to match actual havsfunc function signatures (dehalo, noise_reduction, sharpen, deband, chroma_fixes)
- Fix display aspect ratio for anamorphic DVD previews (SAR correction)
- Fix queue info dialog overflow when showing long DVD extraction logs
- Fix ffmpeg reading full audio track when exporting trimmed segments
- Fix orphaned vspipe process on cancel by calling vspipe-bin directly
- Fix progress tracking showing wrong frame count when trimming with in/out points
- Fix phase-aware progress tracking for telecine pipeline
- Fix whisper deadlock on long videos and subtitle-only output path bugs
- Fix
pipe_source.pynot bundled in release builds - Embed VapourBox version in output file metadata and preserve source subtitles
Testing
- Added schema-driven integration tests for all filter types (QTGMC, noise reduction, dehalo, deblock, deband, sharpen, chroma fixes, color correction)
- Tests verify every optional parameter name and value in the generated VapourSynth script against the filter schema
- Basic-mode test verifies no advanced parameters leak into the script when Advanced mode is off
- 12 new integration tests, all passing
Internal
- QTGMC parameters are now nullable —
nullmeans "let the preset decide" vs an explicit user override lastOptionalValuesinDynamicParameterspreserves user values across disable/re-enable cycles- Renamed
RestorationPipeline→ProcessingPipelineacross codebase - Filter category
restoration→cleanup - Removed FFMS2 and BestSource dependencies entirely — smaller dependency footprint
- Patched havsfunc EEDI3CL fallback for modern eedi3m plugin (no OpenCL EEDI3)
Dependencies: Uses deps-v1.2.0 — adds libdvdread, boost (for NNEDI3CL), removes FFMS2
Dependencies 1.2.0
Changes since deps-v1.1.0
- Removed FFMS2 and BestSource dependencies (replaced by FFmpeg pipe source)
- Added dvdbackup for DVD disc import support
- Smaller dependency footprint