Skip to content

Commit 6630d64

Browse files
committed
chore(release): bump version to 2.54.2
1 parent 5eed276 commit 6630d64

5 files changed

Lines changed: 28 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,30 @@
22

33
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.
44

5+
## What's New in v2.54.2
6+
7+
A destructive-overwrite bug in the installer (issue #71): the MCP client setup
8+
step could wipe a user's entire editor settings file instead of merging into it.
9+
10+
- **Fixed** `install.py` silently destroyed existing client config files whose
11+
contents weren't strict JSON. `read_json` swallowed `JSONDecodeError` and
12+
returned `{}`, so the subsequent "merge" wrote a file containing *only* the
13+
`davinci-resolve` server entry — wiping themes, terminal env vars, LSP
14+
settings, keybindings, everything else. Zed was the reported victim because
15+
its `settings.json` ships with `//` comments (JSONC), but the same latent
16+
risk existed for **every** supported client — VS Code and Continue also accept
17+
JSONC. The fix is centralized in the single read/merge path so all clients are
18+
covered:
19+
- `read_json` now best-effort strips JSONC `//` and `/* */` comments and
20+
trailing commas (string-aware, so comment markers inside string values are
21+
preserved), letting commented configs merge cleanly instead of being lost.
22+
- When a config file exists but still can't be parsed after that, the
23+
installer **refuses to overwrite it** and tells the user to add the entry
24+
manually — rather than silently replacing their settings.
25+
- **Added** regression tests covering JSONC merge, plain-JSON merge,
26+
refuse-to-overwrite on unparseable files, fresh-file creation, and
27+
string-aware comment stripping.
28+
529
## What's New in v2.54.1
630

731
One more instance of the enum-keyed silent-failure class (issue #70), plus a

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# DaVinci Resolve MCP Server
22

3-
[![Version](https://img.shields.io/badge/version-2.54.1-blue.svg)](https://github.com/samuelgursky/davinci-resolve-mcp/releases)
3+
[![Version](https://img.shields.io/badge/version-2.54.2-blue.svg)](https://github.com/samuelgursky/davinci-resolve-mcp/releases)
44
[![npm](https://img.shields.io/npm/v/davinci-resolve-mcp.svg?label=npm&color=CB3837)](https://www.npmjs.com/package/davinci-resolve-mcp)
55
[![API Coverage](https://img.shields.io/badge/API%20Coverage-100%25-brightgreen.svg)](docs/reference/api-coverage.md)
66
[![Tools](https://img.shields.io/badge/MCP%20Tools-34%20(341%20full)-blue.svg)](#server-modes)

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "davinci-resolve-mcp",
3-
"version": "2.54.1",
3+
"version": "2.54.2",
44
"description": "NPM bootstrapper for the DaVinci Resolve MCP Server.",
55
"license": "MIT",
66
"author": "Samuel Gursky <samgursky@gmail.com>",

src/granular/common.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@
8080
handlers=[logging.StreamHandler()],
8181
)
8282

83-
VERSION = "2.54.1"
83+
VERSION = "2.54.2"
8484
logger = logging.getLogger("davinci-resolve-mcp")
8585
logger.info(f"Starting DaVinci Resolve MCP Server v{VERSION}")
8686
logger.info(f"Detected platform: {get_platform()}")

src/server.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
python src/server.py --full # Start the 341-tool granular server instead
1212
"""
1313

14-
VERSION = "2.54.1"
14+
VERSION = "2.54.2"
1515

1616
import base64
1717
import os

0 commit comments

Comments
 (0)