Skip to content

v16.7.0

Choose a tag to compare

@dyoshikawa dyoshikawa released this 04 Aug 14:58
· 1119 commits to main since this release
Immutable release. Only release title and notes can be modified.
4ce14e5

What's Changed

Bug Fixes

  • Skills: binary companion files are no longer corrupted. Supporting files beside a directory-layout SKILL.md (images, archives, any non-text asset) are now copied byte-faithfully on import and generate instead of being round-tripped through UTF-8 with a trailing newline appended, by @greenhands-always in #2568 and refined in #2575
  • MCP server: binary skill files survive get/put. Skill other-file entries now carry an encoding: "utf-8" | "base64" flag so binary assets round-trip byte-identical through the MCP surface; the 1MB limit is evaluated on decoded bytes in #2582
  • Goose: global MCP generate no longer deletes builtin extensions. The extensions: map in Goose's config.yaml is managed via owned-keys semantics, so developer/memory builtins and unrecognized extension types survive; import no longer rewrites builtin/platform extensions as unstartable stdio entries, and a canonical "*" hook matcher now collapses to a matcher-less rule instead of an invalid regex Goose drops silently in #2579
  • Claude Code plugins: hooks and agents follow upstream rules. Plugin hook commands now use ${CLAUDE_PLUGIN_ROOT} instead of $CLAUDE_PROJECT_DIR (and round-trip on import), and plugin-shipped agents drop the unsupported hooks/mcpServers/permissionMode fields and non-worktree isolation with warnings; a colon in any subagent name now warns instead of aborting the run in #2571
  • Claude Code skills: nested skills keep their subtree scoping on import. A skill discovered under e.g. apps/web/.claude/skills/ gets claudecode.paths: ["apps/web/**"] derived from its discovery root (author-declared paths are preserved verbatim) in #2574
  • Zed: inert permission entries are no longer emitted. Canonical read/grep/glob no longer produce tool_permissions.tools entries Zed never consults, and the file-formats guidance that directed users to author them is corrected in #2581
  • GitHub Copilot: rules frontmatter is no longer dropped on import. CopilotRuleFrontmatterSchema is now a loose object, with unknown fields riding the copilot: section both ways in #2580

Enhancements

  • Factory Droid: four documented surfaces followed. disabledSkills in the permissions override, skill enabled/allowed-tools frontmatter in both directions, a group-level commandRegex hook filter, and generated commands no longer emit the unsupported allowed-tools key in #2572
  • GitHub Copilot: skill frontmatter parity. argument-hint, user-invocable, disable-model-invocation and context are now representable for the copilot target, resolved through the shared invocation-gate helpers (also aligned for copilotcli) in #2580
  • Codex CLI: hook additionalContextLimit round-trips. Modeled as a non-negative integer via a new number passthrough kind in the shared hooks converter in #2576
  • Grok CLI: per-handler hook env round-trips. Command hooks carry an environment map via a new record passthrough kind, with key/value validation in both directions in #2577

Refactoring

  • Unify the oxfmt invocation behind a shared runOxfmt helper with pinned-version (--no-install) and Windows handling in #2569

Contributors

Full Changelog: v16.6.0...v16.7.0