|
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.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 | + |
5 | 29 | ## What's New in v2.54.1 |
6 | 30 |
|
7 | 31 | One more instance of the enum-keyed silent-failure class (issue #70), plus a |
|
0 commit comments