Skip to content

v10.0.0

Choose a tag to compare

@dyoshikawa dyoshikawa released this 15 Jul 13:15
Immutable release. Only release title and notes can be modified.
1fed6eb

What's Changed

Breaking Changes

  • MCP per-server targets is now enforced (and deprecated): the per-server "targets" array in .rulesync/mcp.json was previously parsed but never applied; it now actually filters which tools receive the server, and logs a deprecation warning pointing at the new tool-scoped blocks. If your mcp.json carries stale targets values, servers may disappear from other tools' generated configs — migrate them to {toolname}.mcpServers blocks (#2259)

New Features

  • Tool-scoped permission blocks: every permissions-capable tool now accepts a canonical {toolname}.permission block in .rulesync/permissions.json, merged over the shared permission block per category for that tool only — mirroring {toolname}.hooks. kiro-cli/kiro-ide alias to the kiro key and hermesagent to hermes (#2259)
  • Tool-scoped MCP server blocks: .rulesync/mcp.json now accepts {toolname}.mcpServers blocks — a named entry replaces/adds a server wholesale for that tool, and null removes a shared server for that tool. Targets sharing one output file (the Kiro trio, claudecode/claudecode-legacy, and the Antigravity pair) resolve identically so shared files never depend on generation order (#2259)
  • JSONC source variants: .rulesync/mcp.jsonc, .rulesync/hooks.jsonc, and .rulesync/permissions.jsonc are now accepted (comments and trailing commas); the .jsonc variant wins when both exist. rulesync fetch picks them up, the rulesync MCP server tools refuse to silently shadow them, and rulesync import warns when its output would be shadowed (#2259)
  • Init scaffolding: rulesync init now creates a sample .rulesync/permissions.json with conservative defaults, and rulesync gitignore delimits its managed block with markers (#2256)

Bug Fixes

  • Codex CLI config preservation: unmanaged keys inside the rulesync-managed [permissions.rulesync] profile of .codex/config.toml (e.g. network proxy/SOCKS settings, workspace_roots) now survive regeneration and are surfaced with a warning; regression tests lock in that unmanaged top-level keys such as model are never touched (#2259)
  • Hardening: JSONC parsing drops prototype-pollution keys, and tool-scoped blocks are stripped from the effective MCP config so translators that spread the whole source JSON cannot leak other tools' blocks (#2259)

Contributors

Full Changelog

v9.8.0...v10.0.0