Skip to content

v0.16.1

Latest

Choose a tag to compare

@Kim2091 Kim2091 released this 13 May 22:45

Vapourkit 0.16.1

Vapourkit now has a website along with extensive documentation!!

This release is a small follow-up to 0.16.0 — this release also bundles everything from 0.16.0 below, since the two ship back-to-back.

Bug fixes (new in 0.16.1)

  • Fixed "Cannot read properties of null (reading 'execute')" crash on upscale — when something canceled or restarted an upscale while it was probing the video for frame count (manually cancelling, starting a new run from the queue, etc.), the executor reference would get nulled mid-flight and the next step would crash. The handler now captures a local reference and bails cleanly if a cancel happened during the probe. Same fix applied to the preview-segment path.
  • Fixed silent stall during "Getting frame count" — on a cold BestSource cache, the frame-count probe could sit silently for a minute or more while indexing, looking like a hang. Indexing progress now streams through the same progress bar used on first video load, and gets logged to the queue item log too. No more guessing whether it's stuck.

Vapourkit 0.16.0

Important note:

No more manual plugin reinstall this release! Setup now installs plugins automatically as its final step, so the "reinstall your plugins from the top-left menu" dance from 0.15.0 is gone. If you're upgrading and setup detects missing plugins, it will install them on first launch — just sit through the progress bar.

33 commits since 0.15.0.

New features

  • Privacy mode — new lock icon in the header that hides previews, input/output filenames, queue thumbnails and item names, and the editing-queue banner behind clickable veils. Notification toasts also become generic ("Error", "Notification", "Details hidden by privacy mode") so filenames don't leak to screen. Resolution / fps / duration stay visible. State is persisted across launches.
  • Descriptive output filenames — output names now reflect your workflow instead of _processed. Example: EpisodeName-colorimetry_denoise_4x_resize2160.mkv. Includes applied filters, AI model scale, and output resolution. Auto-truncates at 32 chars. Manually choosing an output path disables auto-generation for that file. Toggle lives in Settings → Processing. Thanks @fs10102020!
  • No-filters safety — a persistent banner now sits above the Upscale button when no filters are enabled, describing exactly what encoding will do, and a confirm dialog fires if you try to upscale anyway. The old "default-upscale" silent fallback (which would secretly run whichever AI model happened to be selected first) has been removed.
  • Video indexing progress bar — BestSource indexing progress now streams to the UI as a progress bar under the video drop zone, so you can see what's happening on long initial loads instead of staring at a frozen panel.

Setup & installation reliability

  • Auto-install plugins at end of setup — plugins are installed as the last step of first-run setup, with auto-retry-once on transient failures and explicit Retry / Continue-without-plugins recovery if it hard-fails. The PluginsModal stays for ongoing management from the menu.
  • Fixed "Failed to initialize VSScript" on fresh installs — pinned vapoursynth==72 and vsjetpack==1.1.0 to prevent pip from silently upgrading the bundled Python binding to a newer ABI-incompatible version. Recent vsjetpack releases require vapoursynth>=73, which was clashing with the bundled R72 runtime DLL.
  • Fixed vsview launch error — switched from python -m vsview to the vsview.exe Scripts wrapper (the vsview package has no __main__.py).

Filters

  • Temporal Fix filter renamesTemporal Fix V2 is now TemporalFix (AI), and the classic version is now TemporalFix (Classic). Filter definitions revised.

UI & UX

  • Descriptive-naming regen now respects your configured default output folder (was previously clobbering it with the input video's directory on first render).
  • No-filters confirm dialog replaced with a persistent banner — fewer dialog interruptions, clearer wording about what encoding will actually do.

Under the hood

  • New BestSource stderr progress parser with tests covering lastIndex reset and negative-percentage edge cases.
  • New video-index-progress IPC channel; stdout/stderr handlers split in the frame-count probe to preserve descriptive error messages.
  • pluginInstaller progress is routed through setup-progress while in setup mode, with a new retry-setup-plugins IPC and installing SetupProgress variant.
  • New installDependenciesForSetup with auto-retry-once; "All Dependencies complete" emission moved out of dependencyManager.
  • Content-length header narrowed to string before parseInt (fixes type error under newer @types/axios).

To help fund development, I have chosen to host the binaries for free on my Ko-fi page here:

Download Vapourkit

Vapourkit is 100% free, and there are build instructions included in the GitHub repository if you'd rather build it yourself!

Consider joining the Discord server! Alternatively, we now have a Fermi/Spacebar guild.