Skip to content

chore(release): v0.22.0 — tool/MCP integration hardening#26

Merged
CocoRoF merged 1 commit intomainfrom
release/v0.22.0
Apr 20, 2026
Merged

chore(release): v0.22.0 — tool/MCP integration hardening#26
CocoRoF merged 1 commit intomainfrom
release/v0.22.0

Conversation

@CocoRoF
Copy link
Copy Markdown
Owner

@CocoRoF CocoRoF commented Apr 20, 2026

Summary

What's in 0.22.0

Breaking:

  • MCP tools are always namespaced mcp__{server}__{tool} (no bare names).
  • MCP lifecycle is fail-fast; a broken server blocks session start with MCPConnectionError instead of silently degrading.
  • MCPServerConnection.call_tool returns str | list[dict] (was str).
  • ToolRegistry.register warns on same-name-different-instance.
  • Default router emits structured {error: {code, message, details}} payloads.

Additive:

  • ToolError / ToolFailure / ToolErrorCode + validate_input jsonschema helper.
  • Pipeline.from_manifest_async (MCP-aware, fail-fast).
  • MCPManager.add_server / remove_server with registry sync.
  • AdhocToolProvider Protocol + ToolsSnapshot.external whitelist for host-supplied tools that can't round-trip through AdhocToolDefinition.
  • Pipeline.from_manifest[_async](adhoc_providers=, tool_registry=) kwargs.

Dependency: adds jsonschema>=4.0.

Migration (briefest form)

  • Rename prompt/log references: read_filemcp__filesystem__read_file (etc).
  • Audit mcp_servers entries for stale / misconfigured servers — these now fail loudly at session start.
  • Replace result.content.startswith("Error:") with result.is_error + content["error"]["code"] checks.
  • Adopt Pipeline.from_manifest_async(adhoc_providers=[…]) to consolidate env_id / non-env_id sessions onto one path (optional but recommended).

Full details in CHANGELOG.md.

Test plan

  • pytest tests/unit tests/contract tests/integration → 1003 passed, 5 skipped.
  • import geny_executor; print(geny_executor.__version__)"0.22.0".
  • Tag v0.22.0 after merge.

🤖 Generated with Claude Code

Bundles four breaking changes from the tool/MCP integration hardening
cycle:

- #22  feat(tools): structured ToolError + jsonschema validation
- #23  feat(mcp): always namespace MCP tools as mcp__{server}__{tool}
- #24  feat(mcp): fail-fast lifecycle + Pipeline.from_manifest_async
- #25  feat(tools): AdhocToolProvider protocol + tools.external

See CHANGELOG.md for migration notes. Downstream Geny pins
`geny-executor>=0.22.0,<0.23.0` as part of the Phase C cutover.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@CocoRoF CocoRoF merged commit 694fee0 into main Apr 20, 2026
5 of 6 checks passed
@CocoRoF CocoRoF deleted the release/v0.22.0 branch April 20, 2026 05:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant