v1.1.19
v1.1.19
Fix config layering regression
ue-mcp.yml and its overlays are now deep-merged into one effective config across a full layer cascade, lowest precedence first:
- built-in defaults
~/.ue-mcp/config.yml— new user-global, untracked config layer for personal defaults across every project<project>/ue-mcp.yml— tracked project config<project>/ue-mcp.{env}.yml— env overlay whenUE_MCP_ENVis set<project>/ue-mcp.local.yml— per-machine untracked override- env vars (
UE_MCP_CONTEXT_STRATEGY, ...) — highest
The whole ue-mcp: block (contentRoots, disable, nativeTools, context, http) now rides this cascade, matching the tasks: / flows: config that already did.
ue-mcp.local.yml is a live override layer again
It was previously treated as a dead 1.0.29 artifact and deleted on load. Now the legacy installedHooks key is lifted into ~/.ue-mcp/state.json and the rest of the file is preserved as a real override layer. A file holding nothing but installedHooks is removed once emptied.
Config vs. machine state
Declarative config layers in the yml files. Machine state the tool writes for itself (installed-hook paths, feedback mode) stays in ~/.ue-mcp/state.json, never in yml.