Track what changed without parsing raw release markdown first.
Stable releases stay easy to trust, while pre-releases are visible for testers who want to try experimental tracks early and send feedback.
v0.9.0-win.1 Pre-release May 25, 2026 2 grouped tracks
v0.9.0-win.1
CorridorKey v0.9.0-win.1 is a Windows NVIDIA RTX pre-release for tester validation across OFX hosts and Adobe After Effects. It ships the OFX online installer and the Adobe online installer from the same release cut, with the After Effects Blue runtime path stabilized for warm TorchTRT reuse.
OFX · Windows RTX
OFX installer for Resolve, Fusion, and Nuke on Windows with NVIDIA RTX 30 series and newer. This asset is part of a pre-release build and may change, fail, or be replaced before a stable release.
Adobe installer for After Effects on Windows with NVIDIA RTX 30 series and newer. This asset is part of a pre-release build and may change, fail, or be replaced before a stable release.
v0.8.5-win.1 Pre-release May 22, 2026 1 grouped tracks
v0.8.5-win.1
CorridorKey OFX v0.8.5-win.1 is a Windows NVIDIA RTX pre-release for DaVinci Resolve and Foundry Nuke. It promotes the dedicated Green and Blue OFX node split and refreshes the Windows online installer/runtime path for tester-facing validation.
OFX · Windows RTX
OFX installer for Resolve, Fusion, and Nuke on Windows with NVIDIA RTX 30 series and newer. This asset is part of a pre-release build and may change, fail, or be replaced before a stable release.
v0.8.4-win.1 Pre-release May 5, 2026 1 grouped tracks
v0.8.4-win.1
CorridorKey OFX v0.8.4-win.1 is a Windows NVIDIA RTX pre-release for DaVinci Resolve and Foundry Nuke. It ships the online installer as the public Windows artifact, with the installer downloading selected model and runtime packs from the verified distribution manifest.
OFX · Windows RTX
OFX installer for Resolve, Fusion, and Nuke on Windows with NVIDIA RTX 30 series and newer. This asset is part of a pre-release build and may change, fail, or be replaced before a stable release.
v0.8.3-win.2 Pre-release May 3, 2026 1 grouped tracks
v0.8.3-win.2
CorridorKey v0.8.3-win.2 unblocks Foundry Nuke 17 on Windows by shipping the Visual C++ Redistributable inside the bundle (root cause for the "Failed to prepare runtime session" wall reported in [issue #56](https://github.com/alexandremendoncaalvaro/CorridorKey-Runtime/issues/56)) and adds host-aware live feedback so users see what the plugin is doing on both Resolve and Nuke without digging through hidden menus.
OFX · Windows RTX
OFX installer for Resolve, Fusion, and Nuke on Windows with NVIDIA RTX 30 series and newer. This asset is part of a pre-release build and may change, fail, or be replaced before a stable release.
**`OfxProgressSuiteV2` modal during prepare/warmup.** First TensorRT engine compile of any quality (the documented 10–30 s cold-start) now surfaces as a modal "Loading..." dialog with a Cancel button on Nuke and as a status-bar progress on Resolve. Both hosts advertise this suite (openfx-misc README-hosts.txt); the channel was not wired up before.
**"Open Log Folder" push-button** at the top of the runtime group on both hosts. Opens `%LOCALAPPDATA%\CorridorKey\Logs` directly in Explorer for the rich per-frame telemetry (stage timings, GPU detection, TensorRT compile traces) — no PowerShell paste-and-pray, no hidden menu hunt.
**Spawned-PID capture + early child-death detection on Windows.** When the sidecar exits during the 10 s spawn window the plugin now surfaces *"OFX runtime server process (pid=N) exited during startup. See <log path>."* immediately, instead of waiting the full timeout. Saves the ~2 s Windows TCP connect-refused retry on a dead sidecar.
**`event=server_listen_failed` log line on the sidecar side.** Previous versions died silently if `bind/listen` failed; the log now always reflects why the process exited.
Changed
**Visual C++ Redistributable bundled app-local.** Foundry Nuke calls `SetDllDirectory()` at startup, which propagates into child processes. The CorridorKey sidecar previously loaded Nuke's `MSVCP140.dll` v14.36 instead of System32 v14.50 and crashed on missing exports before `listen()` ever ran. The bundle now ships `vcruntime140.dll`, `msvcp140.dll`, `msvcp140_1.dll`, `vcruntime140_1.dll` (and friends) inside `CorridorKey.ofx.bundle/Contents/Win64/` so the loader picks the version the binaries were built against. Microsoft's documented app-local deployment path. The release validator now hard-fails packaging if any redist DLL is missing (`scripts/validate_ofx_win.ps1` + `tests/regression/test_regression_0056_bundle_vcruntime.cpp`).
**Persistent-message dedup.** `setPersistentMessage` is what Foundry Nuke uses to paint the coloured node badge in the Node Graph and the alert in the Viewer. Nuke's Error Console pane appends each call rather than coalescing per `message_id`, so calling it every render frame was flooding the console (the "wall of WARNINGs" testers reported). The plugin now only re-emits when the (severity, body) pair actually changes — so the node badge stays accurate, but the Error Console gets one line per real state change. Resolve skips this channel entirely because openfx-misc README-hosts.txt:75 documents Resolve's `setPersistentMessage` as `NULL` / unreliable.
**Per-frame status fields hidden on Nuke.** `Last Frame`, `Guide Source`, `Runtime Path`, `Backend Work` are now `kOfxParamPropSecret=1` when the host is Foundry Nuke. `ofxParam.h:1088` forbids `paramSetValue` from the render thread, so on Nuke those fields could only ever lag the actual frame — showing them was dishonest UI. They remain visible on DaVinci Resolve, which permits mid-render `paramSetValue` and refreshes them live. openfx-misc README-hosts.txt:150 documents Nuke's "secret can never be revealed" rule, which is exactly the permanence we want for this host-aware decision.
**`is_process_alive` runs before each Health probe.** Previous logic burned the full 10 s timeout polling Health on a dead sidecar; the alive check now short-circuits the loop within ~50 ms.
Fixed
**Foundry Nuke 17 cold-start "Failed to prepare runtime session for Draft (512) using corridorkey_fp16_512.onnx: Timed out waiting for the OFX runtime server to start."** Root cause was the VC++ Redist DLL inheritance described above. Fixed by app-local deployment of the redistributable. ([#56](https://github.com/alexandremendoncaalvaro/CorridorKey-Runtime/issues/56))
**OFX runtime server process leaked across host crashes.** The plugin now always captures and tracks the spawned sidecar PID on every supported platform; previously the handle was closed and the PID discarded on Win32 and on POSIX, leaving no way to verify the child was alive.
v0.8.2-win.1 Pre-release April 30, 2026 1 grouped tracks
v0.8.2-win.1
Windows prerelease that ships full Foundry Nuke 17 compatibility on top of the v0.8.x track (Path B out-of-process runtime, INT8/CPU retirement, FP16-on-RTX-only ladder). DaVinci Resolve users see no behavioural change versus v0.7.6-win.1; Nuke users gain a usable parameter panel and a stable Alpha Hint render path. This is a prerelease intended for tester validation before the stable cut.
OFX · Windows RTX
OFX installer for Resolve, Fusion, and Nuke on Windows with NVIDIA RTX 30 series and newer. This asset is part of a pre-release build and may change, fail, or be replaced before a stable release.
**Foundry Nuke 17 best-effort host support**, validated end-to-end through the parameter panel and an Alpha Hint render. The plugin now negotiates host-specific paths so DaVinci Resolve keeps its rich OFX 1.5 surface (live status panel updates during render, host-managed colourspaces, output colourspace negotiation) while Nuke takes the canonical spec-strict path with manual sRGB / Linear handling.
Host-aware help routing, installer, and tutorial copy: NSIS installer detects Resolve and Nuke independently, the Help & Docs group surfaces a host-qualified tutorial label, and Foundry Nuke is documented as a best-effort host on Windows RTX.
Operator log instrumentation in the OFX plugin: `paramDefine` failures now log `name`, type, and OFX status; `kOfxActionSyncPrivateData` and `update_runtime_panel_values` log entry / exit with the deferral flags. A panel-empty or silent-hang report can now be diagnosed from `%LOCALAPPDATA%\CorridorKey\Logs\ofx.log` alone, without rebuilding with ad-hoc tracing.
Headless Nuke smoke probe in `scripts/validate_ofx_win.ps1` (optional path) that loads the plugin in a Nuke session as a release-time guard.
Changed
**Windows ladder is now FP16-only on RTX.** The INT8 ONNX rung and the CPU rendering path are retired across the OFX panel, the runtime, packaging, and user docs. Auto continues to respect the safe quality ceiling of the active GPU tier; manual fixed quality may attempt a higher packaged rung directly. The runtime / installer footprint shrinks accordingly.
Plugin DLL is isolated from ONNX Runtime imports (Path B refactor). All inference work runs in a separate `corridorkey_ofx_runtime_server.exe` process, which closed the auto-update / hot-reload hangs Resolve users hit on v0.7.5.
Runtime client bootstrap is deferred from `kOfxImageEffectActionCreateInstance` to the first `render()` call, matching the OFX 1.4 canonical pattern (Examples/Basic, openfx-misc Anaglyph). `createInstance` is now caching of handles only.
OFX 1.5 colour management properties (`kOfxImageEffectPropColourManagementStyle`, `kOfxImageClipPropPreferredColourspaces`, `kOfxImageClipPropColourspace`) are declared on Resolve and skipped on Foundry Nuke. Foundry Nuke 17.0 release notes do not advertise OFX 1.5 colour-management support, and the openfx-misc PIK reference chroma keyer (validated in Nuke + Resolve + Natron) does not declare these properties either; with the declarations active the Nuke panel rendered partially and crashed when an Alpha Hint clip was connected. Resolve keeps the rich negotiation; Nuke gets the manual sRGB / Linear path through the Input Color Space parameter. References: <https://learn.foundry.com/nuke/content/release_notes/17.0/nuke_17.0v1_releasenotes.html>, <https://github.com/NatronGitHub/openfx-misc/blob/master/PIK/PIK.cpp>.
Fixed
**Foundry Nuke parameter panel empty.** `kParamRuntimePath` and `kParamRuntimeBackendWork` were each defined twice in `describe_in_context` (in `runtime_group` and again in `runtime_details_group`). The OFX 1.5 spec requires every parameter name to be unique to all parameters in the plug-in (`vendor/openfx/include/ofxParam.h:912` verbatim "name -- unique name of the parameter"). Resolve silently kept the first definition; Nuke rejected the descriptor on the duplicate, leaving the panel empty after every other compatibility fix was already in place. The duplicates are removed.
**Foundry Nuke Alpha Hint render path stable.** Combined effect of the threading-model defer, the secret-polarity workaround (params declared as secret in `describe` can never be revealed afterwards on strict hosts; the update-banner params are now declared visible and forced secret at the end of `create_instance` per the Natron OFX advanced-issues guide), the OFX 1.5 colour-management host-branching, and the unique-name fix.
DaVinci Resolve compatibility regression from the Path B refactor: the placeholder `Backend::Auto` introduced when the plugin DLL was decoupled from ONNX Runtime caused the candidate-selection loop to iterate past the first FP16 success into INT8 fallback artifacts, and the runtime server crashed mid-prepare on INT8. `backend_matches_request` now treats `Auto` as a wildcard so the loop short-circuits exactly as it did before the Path B refactor.
`capture_host_name` no longer aborts on hosts whose property suite throws; `format_host_memory_fields` is cross-platform; `test_ofx_plugin_exceptions` no longer silently breaks under hardened strict mode.
v0.7.6-mac.4 Pre-release April 24, 2026 1 grouped tracks
v0.7.6-mac.4
Fourth macOS prerelease on the platform-qualified tag scheme. Fixes three behaviors surfaced in `v0.7.6-mac.3` logs: the broker silently downshifted the requested bridge (for example, 1024 -> 768) whenever host memory pressure reported the lower-ceiling path; prewarm ran at the silently-remapped `effective_resolution` while the render path still re-JITted at the user-selected `target_resolution`, paying the compile twice; and a 2048 bridge could compile for roughly three minutes with the `prepare_session` RPC hung the whole time. The replacement is a headroom-gated admission and prewarm policy: the broker now asks Metal how much memory it may use (the same `MTLDevice.recommendedMaxWorkingSetSize` signal used by PyTorch MPS, llama.cpp, and the MLX runtime), factors in MLX's own active allocations and cache, and respects the system memory-pressure source. When the requested shape will not fit, the broker returns `ErrorCode::InsufficientMemory` and the plugin shows a visible OFX alert instead of continuing at a reduced resolution. Prewarm runs in a detached worker bounded by the Prepare Timeout the user already configures in the plugin panel; render parks behind the same worker through a shared future so the first frame does not re-JIT.
OFX · macOS Apple Silicon
OFX installer for Resolve, Fusion, and Nuke on M-series Macs. This asset is part of a pre-release build and may change, fail, or be replaced before a stable release.
`metal_memory_probe` (`src/core/metal_memory_probe.hpp` / `.mm`) wrapping `MTLCreateSystemDefaultDevice().recommendedMaxWorkingSetSize`. The probe is the only backend-specific hook needed to drive the new admission policy; it returns zero on non-Apple builds or when the Metal device is unavailable, which the policy treats as fall-open so non-macOS environments do not regress.
`ErrorCode::InsufficientMemory` in the public `corridorkey::types` header. Returned by `OfxSessionBroker::prepare_session` when `can_admit_session` refuses the requested shape. The OFX plugin intercepts this code in both `create_instance` and `ensure_engine_for_quality` and calls the host's `post_message` with `kOfxMessageError` so the user sees an actionable alert rather than a silent resolution change.
`PrewarmMemorySnapshot`, `estimate_mlx_resident_bytes(shape_px)`, `estimate_mlx_peak_compile_bytes(shape_px)`, `can_admit_session(snapshot, shape_px)`, `PrewarmDecision`, `evaluate_prewarm_decision(snapshot, shape_px)`, and `prewarm_decision_label(PrewarmDecision)` in `src/app/ofx_session_policy.hpp`. Admission uses the steady-state resident estimate with a 1.5x safety margin and discounts MLX cache by 50% as reclaimable; the JIT peak is modeled at three times steady-state. The decision enum emits stable log tokens (`prewarm`, `skip_insufficient_headroom`, `skip_system_pressure`, `skip_telemetry_unavailable`) pinned by a regression test so log parsers stay stable.
`prepare_timeout_ms` field on `OfxRuntimePrepareSessionRequest`, serialized by `to_json` / `prepare_session_request_from_json` with backward-compatible parsing. The plugin sends 90% of its RPC prepare-timeout budget so the server has time to return an `InsufficientMemory` error (or a success) before the plugin-side transport gives up.
Changed
`OfxSessionBroker::prepare_session` replaces the `safe_bridge_ceiling_px` / `StickyBridgeCeilingState` path with an admission-then-prewarm flow: capture memory snapshot, clear MLX cache when under pressure, call `can_admit_session`, build the engine only on admission, evaluate `evaluate_prewarm_decision`, and hand the JIT to a detached worker whose completion is published through a `std::shared_future<void>` stored in the `SessionEntry`. `render_frame` waits on that future (instrumented as a `prewarm_wait` stage) before invoking `process_frame`, so the user-selected bridge is used end-to-end and the first rendered frame does not re-JIT.
`SessionEntry::engine` is now a `std::shared_ptr<Engine>` so the detached prewarm worker holds an independent lifetime reference and the broker's idle-session TTL cannot destroy the engine under a running compile.
`prepare_session` respects the Prepare Timeout that the user already exposes in the OFX panel. When the compile exceeds the timeout the RPC returns promptly with the session marked as not-yet-ready; the worker continues to completion and the next `render_frame` parks on `prewarm_ready` instead of starting a new JIT.
`ofx_runtime_client` forwards a reduced prepare timeout (90% of its RPC budget) through the new `prepare_timeout_ms` field for both first-time prepares and session recovery, so the client never observes a transport timeout before the server has a chance to respond.
Fixed
**User-selected bridge is the bridge that runs.** Previously, `prepare_session` could remap a requested 1024 bridge to 768 (or 768 to 512, and so on) without notifying the user, and the runtime snapshot reported the remapped resolution while the plugin UI still showed the original value. Admission now either runs the requested shape or returns `InsufficientMemory`; the plugin surfaces the error through the host alert.
**Prewarm target matches the render target.** Prewarm previously JITted against `effective_resolution` (the silently-downshifted value), so the first `render_frame` at `target_resolution` paid a second JIT. With the downshift removed, both paths use the same resolution and the first frame is not a compile boundary.
**Prepare Timeout is honored on macOS.** A bridge whose compile exceeded the timeout no longer blocks the RPC; the worker detaches, the plugin gets a prompt response, and subsequent render calls park on the shared future rather than racing the engine.
v0.7.6-mac.1 Pre-release April 22, 2026 1 grouped tracks
v0.7.6-mac.1
First macOS prerelease on the platform-qualified tag scheme (`vX.Y.Z-mac.N`). Fixes two distinct regressions that pushed per-frame latency in DaVinci Resolve from the 1.7s steady state into 30-120s stalls: (1) parent-thread QoS inheritance clamping the spawned runtime server into `QOS_CLASS_BACKGROUND`, and (2) macOS VM compressor thrash on 16 GB machines once MLX cached multiple GB of unused allocations while Resolve and other foreground processes contended for RAM. Both paths are now instrumented so a support log distinguishes them without a repro bench.
OFX · macOS Apple Silicon
OFX installer for Resolve, Fusion, and Nuke on M-series Macs. This asset is part of a pre-release build and may change, fail, or be replaced before a stable release.
**QoS escape over the `posix_spawn` taskgate.** `pthread_override_qos_class_start_np(pthread_self(), QOS_CLASS_USER_INITIATED, 0)` wraps `posix_spawn` in `src/plugins/ofx/ofx_runtime_client.cpp launch_server`, and `pthread_set_qos_class_self_np(QOS_CLASS_USER_INITIATED)` reasserts on the server's main thread in `src/cli/main.cpp`. The override is the documented libdispatch priority-inversion API and is the only Darwin path that raises the caller's effective QoS past the taskgate ceiling; `posix_spawnattr_set_qos_class_np` alone silently clamps to the parent's effective QoS.
**MLX memory governor (`src/core/mlx_memory_governor.{hpp,cpp}`).** Idempotent init on first MLX session calls `set_wired_limit(0)` (the `mlx-lm#883` kernel-panic class only triggers for non-zero wired limits), `set_memory_limit(hw.memsize * 0.75)` (hard ceiling MLX refuses to cross), and `set_cache_limit(hw.memsize * 0.15)` (soft buffer-cache ceiling so MLX cannot retain GB of unused allocations and starve Resolve's working set on a 16 GB box). Exposes `Policy { Normal, PressureWarn, PressureCritical }` that halves and zeros the cache limit and calls `clear_cache()` on transition.
**Dispatch memory-pressure monitor.** `src/app/ofx_runtime_service.cpp` now installs a RAII `DISPATCH_SOURCE_TYPE_MEMORYPRESSURE` source on a dedicated serial queue. On `WARN` the MLX cache cap drops to `baseline/4` and `clear_cache()` fires; on `CRITICAL` the cap drops to `0` and the cache is fully purged. This is the same signal `jetsam` and `memorystatus` use to decide when to terminate processes, so the governor reacts on the same edge the kernel would otherwise act on.
**Host-memory-aware bridge downshift.** `src/app/ofx_session_broker.cpp prepare_session` samples `host_statistics64(HOST_VM_INFO64)` (`free_count`, `compressor_page_count`) and, when pressure is detected, caps the effective bridge resolution: critical -> 512, warn -> 768, moderate -> 1024, normal -> no cap. This pre-empts thrash at session preparation instead of relying on the dispatch signal to land mid-render.
Changed
MLX bridge evaluation now splits `eval()` and `wait()` stages and instruments CPU resize so per-stage latency is visible in the log instead of collapsed into a single `mlx_bridge_ms`.
Release pipeline label shape for macOS is now `vX.Y.Z-mac.N`, matching the Windows track. The pipeline refuses any other form.
`scripts/release_pipeline_macos.sh` and `scripts/publish_github_release.sh` carry the same notes-file, dirty-tree, and tag-immutability guardrails Windows shipped in `v0.7.6-win.1`.
Fixed
**Scrubbing in DaVinci Resolve no longer stalls to 30-120s per frame from the QoS inheritance path.** Measured on Apple Silicon with `corridorkey_mlx_bridge_1024.mlxfn` at 1920x1080: steady-state per-frame latency is ~1.7s regardless of which Resolve thread pool triggered the spawn, down from 65-117s under `QOS_CLASS_BACKGROUND` inheritance.
**Per-frame latency no longer degrades from 1.7s to ~100s on 16 GB Apple Silicon under concurrent load** (browser + Resolve + scrub). Root cause: MLX's default cache sizing (effectively unbounded on 16 GB) let the buffer cache crowd the Metal-recommended working set, which tripped the macOS VM compressor into a state where every Metal submit blocked on compressor work. The governor caps, dispatch-source downshift, and bridge downshift now keep the active-plus-cache footprint below the compressor trigger on production concurrent workloads.
v0.7.6-win.1 Pre-release April 20, 2026 1 grouped tracks
v0.7.6-win.1
Windows prerelease that fixes the v0.7.5-21 regression where DaVinci Resolve could not load `CorridorKey.ofx` because the CUDA NPP runtime DLLs were missing from the bundle. Also ships a new platform-qualified prerelease tag policy and a regression guard so a missing transitive DLL can never reach users again.
OFX · Windows RTX
OFX installer for Resolve, Fusion, and Nuke on Windows with NVIDIA RTX 30 series and newer. This asset is part of a pre-release build and may change, fail, or be replaced before a stable release.
PE import scan in `scripts/validate_ofx_win.ps1` fails the release if `CorridorKey.ofx`, `corridorkey.exe`, or `corridorkey_ofx_runtime_server.exe` imports a DLL that is neither in the bundle nor on the Windows system allowlist.
`Publish-CorridorKeyGithubRelease` helper in `scripts/release_pipeline_windows.ps1` publishes with `--prerelease` or `--latest` based on the tag shape and refuses to re-publish an existing tag (tag immutability enforced at the pipeline).
Platform detection helpers (`current_platform_code`, `prerelease_platform_code`) and per-platform prerelease filtering in `src/app/version_check.cpp`.
Changed
Prerelease tag format is now platform-qualified: `vX.Y.Z-win.N` (also `-mac.N`, `-linux.N`). A suffix-only tag like `v0.7.5-22` is rejected by the pipeline. Each platform maintains an independent counter.
`version_check.cpp` now implements full SemVer 2.0.0 prerelease precedence (numeric identifiers compared numerically) and filters prerelease candidates to the current platform, so a Windows client never gets offered a macOS prerelease or a naked stable tag that only carries non-Windows assets.
Release assets are installers only: `.exe` on Windows, `.dmg` on macOS, `.deb` + `.rpm` on Linux. The Windows `.zip` portable and the Linux `.tar.gz` portable are no longer produced or published.
Root CMake `VERSION` bumped `0.7.5` -> `0.7.6` to start the new tag scheme at `v0.7.6-win.1`.
Fixed
OFX POST_BUILD in `src/plugins/ofx/CMakeLists.txt` now expands `$<TARGET_RUNTIME_DLLS:corridorkey_ofx>` so every transitive shared-library dependency (notably the CUDA NPP DLLs `nppc64_12`, `nppial64_12`, `nppidei64_12`, `nppig64_12`) is copied into `Contents/Win64/` alongside the plugin. This is the direct fix for the v0.7.5-21 regression where Resolve silently refused to load the plugin.
The root cause of the v0.7.5 auto-update misfire (a user on `v0.7.5-22` being offered "update" back to `v0.7.5`) is closed by the new platform-qualified tags plus SemVer 2.0.0 numeric precedence; a mutable shared `v0.7.5` tag no longer exists.
`Publish-CorridorKeyGithubRelease` now isolates the existence probe under `$ErrorActionPreference = 'Continue'` so `gh release view` returning non-zero on a missing release does not escalate to a terminating error.
This release keeps the OFX runtime timing panel useful during playback and now ships the matching Apple Silicon macOS installer for v0.7.3 with signed, notarized packaging.
OFX · Windows RTX
OFX installer for Resolve, Fusion, and Nuke on Windows with NVIDIA RTX 30 series and newer.
This Windows release updates the CorridorKey OFX workflow layout and ships the official Windows RTX package validated through the canonical release pipeline.
OFX · Windows RTX
OFX installer for Resolve, Fusion, and Nuke on Windows with NVIDIA RTX 30 series and newer.
This Windows release introduces the validated RTX Lite and RTX Full installers, with the Full track shipping a certified FP16 ladder through 2048. The Windows OFX quality ladder, packaging contract, and help content now match the runtime behavior that actually passed bundle validation.
OFX · Windows RTX
OFX installer for Resolve, Fusion, and Nuke on Windows with NVIDIA RTX 30 series and newer.
This Windows release consolidates the validated CorridorKey OFX publishing path around the RTX track and improves the Resolve panel layout for faster, clearer status reading.
OFX · Windows RTX
OFX installer for Resolve, Fusion, and Nuke on Windows with NVIDIA RTX 30 series and newer.
Default quality mode is now Draft (512) instead of Auto. Auto mode selected resolution dynamically based on hardware, which could cause unexpected first-render delays on lower-end GPUs. Users can still select Auto or any higher quality tier from the dropdown
Version 0.4.26 introduces a dual-output delivery strategy for the OFX plugin and a thread-safe shared frame cache that eliminates redundant inference when multiple nodes are used for pass isolation.
OFX · Windows RTX
OFX installer for Resolve, Fusion, and Nuke on Windows with NVIDIA RTX 30 series and newer.
Dual-output RGBA multiplexing as the default output: despilled foreground in RGB channels, core matte in Alpha, allowing signal routing with native host tools at zero cost
Output Mode dropdown with five modes: Processed (RGBA mux), Matte Only, Foreground Only, Source + Matte, and Linear Premultiplied RGBA
SharedFrameCache: thread-safe LRU ring-buffer (4 slots, shared_mutex) keyed on a FNV-1a hash of frame pixel data, inference parameters, model path, and screen colour — duplicate OFX nodes retrieve pre-computed passes with zero redundant inference
Fixed
Removed debug stderr traces from the three OFX C entry points (OfxSetHost, OfxGetNumberOfPlugins, OfxGetPlugin) that were writing to the host process in all build configurations
Version 0.4.25 stabilizes TensorRT inference for high-resolution models (1536 and 2048), ensuring reliable engine builds on all NVIDIA RTX GPUs. It also standardizes model naming and removes unnecessary runtime complexity.
OFX · Windows RTX
OFX installer for Resolve, Fusion, and Nuke on Windows with NVIDIA RTX 30 series and newer.
Version 0.4.21 hardens the Windows OFX release around TensorRT quality switching and runtime packaging, while making the runtime panel easier to read during real-world troubleshooting. It also extends timeout defaults so capable systems have more headroom for higher-resolution prepares.
OFX · Windows RTX
OFX installer for Resolve, Fusion, and Nuke on Windows with NVIDIA RTX 30 series and newer.
Added a dedicated `Frame Times` runtime panel field so per-frame timing stays visible without overloading the status line.
Added strict Windows TensorRT RTX execution probes for the packaged FP16 artifacts at 512, 768, 1024, 1536, and 2048 in the doctor diagnostics.
Changed
Changed the default OFX render and prepare timeouts to 60 seconds and 300 seconds, and aligned the runtime server idle/session timeout to 300 seconds.
Changed Windows packaging and validation to stage the full curated ONNX Runtime DLL set and report expected backend omissions as informational output.
Fixed
Fixed fixed-quality TensorRT RTX requests so `Ultra (1536)` and `Maximum (2048)` fail explicitly on exact engine compilation failure instead of silently downgrading.
Fixed repeated TensorRT RTX compile thrash by caching per-session quality compile failures by backend, device, quantization mode, and model bundle.
Fixed release/test staging so the packaged runtime and automated validation pick up the required backend DLLs consistently for RTX and DirectML variants.