Skip to content

v2.37.0

Choose a tag to compare

@samuelgursky samuelgursky released this 09 Jun 22:13

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) into GetRenderCodecs, GetRenderResolutions, and SetCurrentRenderFormatAndCodec, which expect the format id (e.g. mov). GetRenderCodecs("QuickTime") returned empty, so probe_render_matrix reported no QuickTime codecs and prepare_render_job could not target ProRes (e.g. ProRes422LT proxy renders). Display names and format ids are now both accepted as input and normalized to the id for Resolve API calls; probe_render_matrix rows include format_id. Closes #59.
  • The destructive confirm-token gate referenced a stale function name, silently ignoring the destructive.require_confirm_token preference and always falling back to the default.
  • media_analysis now accepts vision: true/false boolean shorthand (normalized to the full options dict).
  • timeline_markers.get_thumbnail returns a structured error instead of raw None when no thumbnail is available.

Added

  • timeline.detect_missing_media returns a diagnosis block: 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. Optional sanitized/sanitize_paths redacts raw media paths.
  • timeline.build_relink_plan is 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 with max_depth, max_seconds (default 20s), and max_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 (--json supported).

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 including Apple ProRes 422 LT / ProRes422LT; probe_render_matrix(formats=["QuickTime"]) reports format_id: "mov" with full codec coverage. No project state was modified.