v2.37.0
v2.37.0
Render format-id fix, offline-media diagnosis, and a setup doctor.
Fixed
- Render helpers passed the display name from
GetRenderFormats()(e.g.QuickTime) intoGetRenderCodecs,GetRenderResolutions, andSetCurrentRenderFormatAndCodec, which expect the format id (e.g.mov).GetRenderCodecs("QuickTime")returned empty, soprobe_render_matrixreported no QuickTime codecs andprepare_render_jobcould not target ProRes (e.g.ProRes422LTproxy renders). Display names and format ids are now both accepted as input and normalized to the id for Resolve API calls;probe_render_matrixrows includeformat_id. Closes #59. - The destructive confirm-token gate referenced a stale function name, silently ignoring the
destructive.require_confirm_tokenpreference and always falling back to the default. media_analysisnow acceptsvision: true/falseboolean shorthand (normalized to the full options dict).timeline_markers.get_thumbnailreturns a structured error instead of rawNonewhen no thumbnail is available.
Added
timeline.detect_missing_mediareturns adiagnosisblock: deduplicated missing Media Pool items, volume/folder mounted checks, a primary cause (volume_not_mounted/folder_not_found/files_missing_or_renamed), and a recommended next step. Optionalsanitized/sanitize_pathsredacts raw media paths.timeline.build_relink_planis now bounded: it skips the broad scan by default when a source volume (e.g. a camera card) is not mounted, dedupes missing basenames, and caps the search withmax_depth,max_seconds(default 20s), andmax_files_scanned(default 50k), reporting per-candidate scan stats.scripts/doctor.py: a read-only setup diagnostic that checks the checkout, Python, Resolve app/scripting paths, and MCP client configs, and probes the scripting bridge end to end with OK/WARN/FAIL output (--jsonsupported).
Validation
- Full offline unit suite: 1,019 tests, 0 failures. Static checks (import, API parity, npm pack, node launcher) clean.
- Live read-only validation on DaVinci Resolve Studio 21.0.0.47: raw
GetRenderCodecs("QuickTime")reproduces the empty result; the normalized path returns 77 codecs includingApple ProRes 422 LT/ProRes422LT;probe_render_matrix(formats=["QuickTime"])reportsformat_id: "mov"with full codec coverage. No project state was modified.