Skip to content

v2.2.2

Choose a tag to compare

@Patrickjaillet Patrickjaillet released this 24 Sep 12:55
· 8 commits to main since this release

Fixed

  • FFmpeg Process leak when Process.Start() throws, which left the export service permanently stuck until the app was restarted
  • Video texture cache key ignoring target resolution — a real GPU memory corruption risk when previewing then exporting a shader with a video texture at a different resolution
  • "Disk full" error incorrectly reclassified as transient, causing pointless export retries
  • FFmpeg SHA-256 integrity check only performed once at startup (TOCTOU); now re-verified before every launch
  • iMouse, iDate, and iChannelResolution uniforms always reading zero
  • Render queue's export loop running on the UI thread, freezing the interface during batch exports
  • No global unhandled-exception handlers
  • ShadertoyJsonParser crashing on valid but unexpectedly-shaped JSON
  • Path traversal in iChannel asset resolution
  • No handling of GPU device loss (DXGI device removed/reset)
  • Output filename not guarded against CLI flag confusion
  • Hardware encoder probe failures silently swallowed
  • Transient COM pixel shader leak on shader compilation failure
  • Unprotected async void handler for video drag-and-drop
  • MainWindowViewModel memory leak from never unsubscribing its event handlers
  • Removed dead, unused single-pass rendering duplication

Added

  • New Videotoy.Tests xUnit project (wired into CI) with regression tests for the FFmpeg transient-error classifier, the resolution-aware video frame cache key, and Shadertoy JSON parsing

Full Changelog: v2.2.1...v2.2.2