This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+1 more
Summary
AI summaryUpdates Performance, Hardened, and Tests across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Performance | Medium |
Control panel shows connection state immediately from /api/boot handshake. Control panel shows connection state immediately from /api/boot handshake. Source: llm_adapter@2026-06-02 Confidence: high |
— |
| Performance | Medium |
Parallel, cached file-existence probing replaces serial stat() calls for network clips. Parallel, cached file-existence probing replaces serial stat() calls for network clips. Source: llm_adapter@2026-06-02 Confidence: high |
— |
| Performance | Medium |
Background polls reuse cached Media Pool walk instead of re‑running GetClipProperty. Background polls reuse cached Media Pool walk instead of re‑running GetClipProperty. Source: llm_adapter@2026-06-02 Confidence: high |
— |
| Performance | Medium |
ETag/304 on inventory endpoint skips transfer when nothing changed. ETag/304 on inventory endpoint skips transfer when nothing changed. Source: llm_adapter@2026-06-02 Confidence: high |
— |
| Performance | Medium |
Persisted snapshot caches last good inventory for instant reload. Persisted snapshot caches last good inventory for instant reload. Source: llm_adapter@2026-06-02 Confidence: high |
— |
| Performance | Medium |
Background warm‑up builds first inventory in a daemon thread at server start. Background warm‑up builds first inventory in a daemon thread at server start. Source: llm_adapter@2026-06-02 Confidence: high |
— |
| Bugfix | Medium |
Serialized Resolve scripting‑API access behind re‑entrant lock prevents thread‑unsafe calls. Serialized Resolve scripting‑API access behind re‑entrant lock prevents thread‑unsafe calls. Source: llm_adapter@2026-06-02 Confidence: high |
— |
| Bugfix | Low |
One‑time environment and sys.path setup memoized to avoid repeated initialization. One‑time environment and sys.path setup memoized to avoid repeated initialization. Source: llm_adapter@2026-06-02 Confidence: high |
— |
| Refactor | Low |
Added regression tests for path‑existence probing, inventory cache reuse, project‑switch detection, and lock reentrancy. Added regression tests for path‑existence probing, inventory cache reuse, project‑switch detection, and lock reentrancy. Source: llm_adapter@2026-06-02 Confidence: high |
— |
Full changelog
v2.27.1
Faster control-panel startup when DaVinci Resolve source media lives on network storage (issue #50), plus related performance and thread-safety hardening. No public MCP tool surface changed. Live-validated against DaVinci Resolve Studio 20.3.2 with a disposable project and synthetic media.
Fixed
- Control panel no longer sits on "connection pending" while media loads. The overview and diagnostics panels now derive the connection state from the
/api/boothandshake (live as soon as the Resolve bridge responds) and show media inventory loading as a separate state. Previously the UI only treated Resolve as connected once the full inventory finished — slow when clipFile Pathvalues point at network storage.
Performance
- Parallel, cached file-existence probing —
os.path.existsfor each clip now runs in a thread pool and is memoized for a short TTL, replacing two serialstat()calls per clip (the dominant cost on mounted network storage). - Background polls reuse the cached Media Pool walk — the recurring poll no longer re-runs the per-clip
GetClipPropertypass; it reuses the last walk and re-applies only the local, disk-backed analysis-status overlay. A lightweight project-id check still catches a project switched directly in Resolve; manual refresh always does a full walk. - ETag / 304 on the inventory endpoint skips transfer and table re-render when nothing changed.
- Persisted snapshot — the last good inventory is cached client-side and painted instantly on reload instead of showing "pending".
- Background warm-up builds the first inventory in a daemon thread at server start.
Hardened
- Serialized Resolve scripting-API access behind a re-entrant lock. The dashboard runs on a threaded HTTP server, so
/api/boot,/api/projects, and/api/resolve/mediacould fire concurrent thread-unsafe Resolve calls at startup — now closed. One-time environment/sys.pathsetup is memoized.
Tests
- New regression coverage in
tests/test_media_analysis.pyfor path-existence probing, inventory cache reuse, project-switch detection, and lock reentrancy.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Beta — feedback welcome: [email protected]