v2.54.2
v2.54.2
Fixes a destructive-overwrite bug in the installer (#71): the MCP client setup
step could wipe a user's entire editor settings file instead of merging into it.
Fixed
install.pysilently destroyed existing client config files whose contents
weren't strict JSON.read_jsonswallowedJSONDecodeErrorand returned
{}, so the subsequent "merge" wrote a file containing only the
davinci-resolveserver entry — wiping themes, terminal env vars, LSP
settings, keybindings, and everything else. Zed was the reported victim
because itssettings.jsonships with//comments (JSONC), but the same
latent risk existed for every supported client — VS Code and Continue
also accept JSONC. The fix is centralized in the single read/merge path so
all clients are covered:read_jsonnow best-effort strips JSONC//and/* */comments and
trailing commas (string-aware, so comment markers inside string values are
preserved), letting commented configs merge cleanly instead of being lost.- When a config file exists but still can't be parsed, the installer
refuses to overwrite it and tells the user to add the entry manually —
rather than silently replacing their settings.
Validation
- Unit/static checks run:
test_import, API parity audit, the three drift
guards, full unit suite (1244 passed),npm pack --dry-run,git diff --check. - New regression tests cover JSONC merge, plain-JSON merge, refuse-to-overwrite
on unparseable files, fresh-file creation, and string-aware comment stripping. - No Resolve behavior changed (installer only); live test not required.