Skip to content

v16.0.0

Choose a tag to compare

@dyoshikawa dyoshikawa released this 29 Jul 00:09
Immutable release. Only release title and notes can be modified.
bbaf60c

What's Changed

⚠️ Breaking Changes

  • Goose: the .gooseignore ignore target is removed — upstream retired the file ("removed some time ago in favour of other ignore things like gitignore etc"), so generating it gave a false sense of protection. Stale outputs stay gitignored. Subagents also moved from the inert sub-recipe YAML under .goose/recipes/subagents/ (a location Goose's agent discovery never scanned) to Goose's custom-agent Markdown surface at .goose/agents/ (project) and ~/.config/goose/agents/ (global). #2460
  • Junie: the permissions allowlist is now global-only (~/.junie/allowlist.json; Junie CLI never reads a project-scope file), every rule group is emitted as the AllowListRuleSet object Junie's parser actually accepts (the previous bare-array form failed the whole-file parse and made Junie overwrite the allowlist), and junie.defaultBehavior is restricted to the allow/ask enum Junie enforces. The legacy array form is still tolerated on import. #2454
  • Devin: the project root rule is now emitted to the project-root AGENTS.md that Devin CLI / Devin Local actually reads, instead of .devin/rules/ (which remains the non-root Cascade directory). #2458
  • Zed: MCP servers are now translated into the context_servers shapes Zed parses (disabledenabled: false, httpUrlurl, array command flattened; sse/ws servers are skipped with a warning), the canonical * permission category maps onto agent.tool_permissions.default, and the global config lands in %APPDATA%\Zed on Windows. #2450
  • Cline: subagent description is required (Cline refuses to load an agent without one); a canonical subagent that omits it gets a generated fallback, and legacy description-less files are repaired on import. #2459
  • Vibe: follows the v2.21.0 hook type rename and three further upstream drifts. #2441
  • Rovo Dev: per-tool permissions are nested under toolPermissions.tools (the previous location never applied) and MCP transports are translated. #2442
  • Reasonix: the sse transport is written verbatim, and retired keys are no longer authored. #2445

New Features

  • feat(mcp): add a per-server enabled generation filter to the canonical config — keep a server defined in .rulesync/.mcp.json{c} while emitting it to no tool config at all by @dyoshikawa in #2461
  • feat(init): add Playwright MCP to the scaffolded .rulesync/.mcp.json by @dyoshikawa in #2462
  • feat(warp): emit commands onto the skills surface (/{skill-name} invocation), translate MCP cwd to working_directory by @dyoshikawa in #2452
  • feat(roo): global commands, skill modeSlugs round-trip, AGENTS.local.md (final EOL-state parity) by @dyoshikawa in #2456
  • feat(devin): model the full SKILL.md frontmatter (permissions, allowed-tools, triggers, …) for skills and command-skills by @dyoshikawa in #2458
  • feat(takt): support checks as quality gates and author the workflow security policies by @dyoshikawa in #2443
  • feat(kimi-code): emit the config.toml [mcp] timeout defaults and [tools] switch by @dyoshikawa in #2438
  • feat(grokcli): write non-root rules to .grok/rules, and stop dropping skill flags and http hooks by @dyoshikawa in #2447
  • feat(cline): emit global modular rules to ~/Documents/Cline/Rules by @dyoshikawa in #2459

Bug Fixes

  • fix(kilo): a { enabled: false } MCP toggle entry no longer aborts the entire --targets kilo run; transport-less servers, per-tool filters and the steps type are handled correctly by @dyoshikawa in #2448
  • fix(amp): emit the globs: frontmatter Amp's conditional loading actually reads (the TOON applyTo value alone was advisory) by @dyoshikawa in #2455
  • fix(qwencode): map the MessageDisplay hook event, model the five documented skill frontmatter fields, coerce scalar paths to the array Qwen Code requires, expose tools.visible by @dyoshikawa in #2457
  • fix(factorydroid): filter prompt-type hooks Droid cannot run, make the plugin-bootstrap settings (extraKnownMarketplaces, enabledPlugins, hooksDisabled) authorable by @dyoshikawa in #2453
  • fix(hermesagent): carry ssl_verify/skip_preflight/sampling through MCP (no longer destroyed on regenerate), drop the dead delegate_task toolsets argument by @dyoshikawa in #2451
  • fix(hermesagent): honor HERMES_HOME globally by @dyoshikawa in #2394
  • fix(generate): stop creating empty shared config files by @dyoshikawa in #2431
  • fix(agentsskills): emit spec-conformant SKILL.md and diagnose name/description violations by @dyoshikawa in #2435
  • fix(agentsmd): import nested AGENTS.md files and stop competing for .agents/skills/ by @dyoshikawa in #2436
  • fix(replit): accept the Agent Skills spec's string forms for allowed-tools and compatibility by @dyoshikawa in #2437
  • fix(pi): accept the Agent Skills spec's string forms and map postCompact by @dyoshikawa in #2440
  • fix(augmentcode): support PromptSubmit, stop clobbering hook args and metadata, import .agents/commands by @dyoshikawa in #2444
  • fix(deepagents): correct the rules anchor in the research reference by @dyoshikawa in #2449
  • fix(devcontainer): keep init.sh setup resilient under set -e by @dyoshikawa in #2396

Contributors

Full Changelog: v15.1.0...v16.0.0