|
2 | 2 |
|
3 | 3 | Release history for the DaVinci Resolve MCP Server. The latest release is summarized in the root README; older entries live here to keep the README focused. |
4 | 4 |
|
| 5 | +## What's New in v2.24.0 |
| 6 | + |
| 7 | +**Host-chat vision protocol (V2)** — `analyze_*` actions now use |
| 8 | +`vision.provider="host_chat_paths"` by default. The analyze response is a |
| 9 | +deferred payload with absolute `frame_paths`, a per-shot `shot_table`, and a |
| 10 | +JSON schema; the host chat reads each frame as a local image, produces JSON per |
| 11 | +the schema, and calls `media_analysis(action="commit_vision", params={clip_id, |
| 12 | +visual, vision_token})` to finalize. `commit_vision` merges the visual report, |
| 13 | +rebuilds Media Pool clip markers, publishes metadata to Resolve, and preserves |
| 14 | +human corrections via `corrections.json`. Skipping the commit leaves the run in |
| 15 | +`pending_host_vision_analysis` — surfaced explicitly rather than silently |
| 16 | +downgraded. The legacy `chat_context`/`mcp_sampling` providers still resolve to |
| 17 | +the same host-chat path. |
| 18 | + |
| 19 | +**Trust-by-default analysis defaults** — `analyze_media` defaults to |
| 20 | +`include_transcription=true`, `persist=true`, `publish_metadata=true`, and |
| 21 | +`timed_markers="ask"` so source-safe no longer means underpowered. Agents that |
| 22 | +need a technical-only or read-only run must explicitly pass |
| 23 | +`include_visuals=false`, `include_transcription=false`, `publish_metadata=false`, |
| 24 | +`timed_markers="no"`, `session_only=true`, or `dry_run=true`. The |
| 25 | +`analyze_media` prompt and SKILL.md spell out the anti-regression rule. |
| 26 | + |
| 27 | +**Control panel: Review surface (Phase B)** — The local browser control panel |
| 28 | +gains a Review tab backed by new endpoints: `/api/clips`, `/api/clips/<id>`, |
| 29 | +`/api/clips/<id>/shots`, `/api/clips/<id>/shots/<index>`, |
| 30 | +`/api/clips/<id>/frames/<n>`, `/api/clips/<id>/transcript`, |
| 31 | +`/api/clips/<id>/corrections`, `/api/clips/combined`, `/api/clips/export`, |
| 32 | +`/api/panel_state`, `/api/update/status`, `/api/update/apply`, and |
| 33 | +`/api/resolve/open_clip`. The UI ships a bin grid with thumbnails, a clip |
| 34 | +detail with shot strip, a shot detail with grouped V2 fields + frame grid, |
| 35 | +inline correction editors per subjective field, transcript correction + |
| 36 | +regeneration, an Open-in-Resolve bridge, and 2-second chat ↔ panel state |
| 37 | +polling. |
| 38 | + |
| 39 | +**Control panel MCP actions** — `resolve_control.open_control_panel`, |
| 40 | +`control_panel_status`, and `close_control_panel` manage the local panel |
| 41 | +subprocess via a pidfile. `save_state` / `restore_state` snapshot and restore |
| 42 | +Resolve playhead + selection state. `get_panel_state`, `set_panel_state`, and |
| 43 | +`session_start_context` share panel focus between chat and the UI through |
| 44 | +`panel_state.json`. |
| 45 | + |
| 46 | +**Correction tools** — New `media_analysis` actions for editing analysis |
| 47 | +without re-running it: `update_shot_field`, `update_clip_field`, |
| 48 | +`get_field_history`, `revert_field`, `list_corrections`. Writes land in |
| 49 | +`{clip_dir}/corrections.json` with append-only changelog + provenance |
| 50 | +(mirrors the V2 DB schema). `commit_vision` merges corrections on top of the |
| 51 | +fresh visual report so human edits survive re-analysis. |
| 52 | + |
| 53 | +**Media Pool item open-in-viewer** — `media_pool_item.open_in_viewer` selects |
| 54 | +a clip on the Media page and loads it into the source viewer, optionally |
| 55 | +setting mark in/out and bringing Resolve to the foreground via OS-level |
| 56 | +window activation. Useful for chat → Resolve hand-off. |
| 57 | + |
| 58 | +**Source-trust prompt grading** — `source_trust` parameter |
| 59 | +(`auto`/`filename`/`low`/`medium`/`high`) on analyze actions tunes the vision |
| 60 | +prompt to hedge identity/intent/value for archival or thin-evidence clips. |
| 61 | + |
| 62 | +**Analysis memory layer** — New `src/utils/analysis_memory.py` introduces |
| 63 | +per-project memory + heartbeat + bin summary + soul scaffolding under the |
| 64 | +analysis root. `regenerate_bin_summary_from_manifest` aggregates per-clip |
| 65 | +fields (primary use, select potential, style, energy arc, top tags/locations) |
| 66 | +into a bin briefing. Auto-initialized on analyze. |
| 67 | + |
| 68 | +**Control-panel polish** — Diagnostics + Overview restyled with a status-pill |
| 69 | +design system, navbar dropdowns fixed so top-level buttons no longer navigate |
| 70 | +on their own, Preferences consolidated (Dashboard Convenience + Storage pages |
| 71 | +removed), summary-style enum renamed to `full`/`concise`/`creative`/ |
| 72 | +`technical` with backwards compat, navbar version badge + update modal, |
| 73 | +source-trust dropdown wired through. |
| 74 | + |
| 75 | +**Server-side bug fixes** — `commit_vision` auto-publish now reflects per-row |
| 76 | +status correctly (no silent-lie pending), compact analyze responses by default |
| 77 | +(`verbose: true` for the full manifest), `resolve_output_root` skips slug |
| 78 | +append when the configured base already terminates in the slug, frame sampler |
| 79 | +reserves per-shot budget so shot starts aren't starved by flash candidates, |
| 80 | +and machine markers are no longer written to Resolve (V2 architecture). |
| 81 | + |
| 82 | +**Path hardening for GUI launches** — `media_analysis` now augments `PATH` |
| 83 | +with the standard tool dirs (`/opt/homebrew/bin`, `/usr/local/bin`, etc.) so |
| 84 | +ffprobe/ffmpeg resolve even when the MCP server is launched by a GUI app |
| 85 | +(Claude.app, Dock/Spotlight) that inherits launchd's bare PATH. |
| 86 | + |
| 87 | +**Documentation** — `AGENTS.md` adds the "Media Analysis Defaults Are |
| 88 | +Mandatory" section. `docs/SKILL.md` rewrites the `analyze_media` prompt |
| 89 | +guidance for the host-chat-paths protocol and adds the anti-regression rule. |
| 90 | +`docs/guides/media-analysis-guide.md` covers the deferred vision payload and |
| 91 | +commit step. New design docs under `docs/design/`: |
| 92 | +`v2-control-panel-design.md`, `v2-db-schema.sql`, |
| 93 | +`v2-implementation-gameplan.md`, `v2-shot-schema-spec.md`, |
| 94 | +`control-panel-polish-gameplan.md`. |
| 95 | + |
| 96 | +**Validation**: static import checks, API parity audit, focused |
| 97 | +media-analysis + marker/range/v232/v233 unit tests, npm CLI smoke, |
| 98 | +`npm pack --dry-run`, and `git diff --check` all passed. No source media was |
| 99 | +modified. Resolve scripting behavior is additive (new actions; existing |
| 100 | +actions unchanged); live Resolve validation covered the control-panel + |
| 101 | +open_in_viewer + commit_vision auto-publish + corrections-merge paths during |
| 102 | +the V2 push sessions logged in MEMORY.md. |
| 103 | + |
5 | 104 | ## What's New in v2.23.1 |
6 | 105 |
|
7 | 106 | **Control panel navigation fixes** — The local browser control panel now keeps |
|
0 commit comments