[0.3.0] - 2026-05-22
First minor since v0.2; four new capability areas, no breaking changes for v0.2 users.
Added
subtitlecommand domain —dvr subtitle import <path.srt|.vtt>writes
subtitle cues to the active timeline's subtitle track;dvr subtitle export --output <path>reads them back. Format inferred from the suffix; unsupported
extensions (.ass,.ssa,.fcpxml, …) returnvalidation_errorwith the
supported list. Pure-function parsers / serializers insrc/dvr/subtitle.py.configcommand domain +~/.dvr/config.toml/<cwd>/.dvr/config.toml—
TOML-driven defaults merged with precedenceCLI flag > project > user > built-in.dvr config showreturns effective values with a per-field source
map;dvr config initdrops a commented sample. First default fields:
output_format / bin / preset / marker_color / marker_duration.dvr render submitnow accepts a missing--presetwhendefaults.presetis set in
config.dvr doctorreports the config layer's path & existence.- MCP HTTP/SSE transport —
dvr mcp --http [--port 50421] [--host 127.0.0.1]
starts a Starlette ASGI app over uvicorn, with a per-process bearer token
printed once to stdout. All requests must carryAuthorization: Bearer <token>; missing / wrong → 401. Binding to a non-loopback host emits a
SECURITY WARNINGon stderr. stdio MCP path is unchanged (v0.2 users keep
working). - New MCP tools —
subtitle.import,subtitle.export,config.show
(23 tools total).
Documentation
- README "Configuration" section between Cookbook and Troubleshooting.
- Capabilities at a glance table extended with
subtitleandconfigrows. examples/with-config.sh— sixth runnable recipe demonstrating a
project-local config.toml pinning defaults.docs/wi-research.md— full audit of Resolve's scripting surface for a
razor-cut / clip-move primitive. Conclusion: none exists;timeline cutand
timeline moveremain honest placeholders until Resolve ships a public API.
WI plumbing stays in place so the eventual landing is a small server.js change.
Tests
- 267 unit tests (was 203 at v0.2.9). +40 subtitle parser/serializer/command,
+12 config, +11 mcp-http, +1 doctor config section.
Deferred to v0.4+
timeline cut/timeline moveactual razor-cut and clip-move behavior
(gated on Resolve exposing the primitives).- Subtitle export of richer item metadata (currently emits one cue per
subtitle-track item). - mTLS for MCP HTTP transport.