v0.5.2
microsoft/agent-host-protocolv0.5.2Jul 9, 2026by github-actions[bot]
Upgrading?
Release notes summary
This release implements AHP 0.5.2, adding typed convenience methods for resource handling, new metadata fields for customizations, and enhanced session management for MCP servers and input requests.
Key Highlights
- Added typed `resource*` convenience methods (`resourceRead`, `resourceWrite`, etc.) to `AHPClient`.
- Introduced optional `enabled`, `reviewed`, and `meta` fields across customization types.
- Added session actions for controlling MCP server lifecycle (`session/mcpServerStartRequested`).
- Implemented `InputRequestResponsePart` to persist resolved chat input results.
New Features
- Typed `resource*` convenience methods on `AHPClient` (read, write, list, copy, delete, move, resolve, mkdir, request, watch).
- ToolResultTerminalCompleteContent for terminal-style completion metadata.
- Optional `enabled` field on child customizations (`AgentCustomization`, `SkillCustomization`, etc.).
- Optional `reviewed` field on `ChangesetFile` and `changeset/filesReviewedChanged` action.
- Optional `meta` field on all customization types (including `PluginCustomization`).
- Optional `serverInfo` on `InitializeResult` and `clientInfo` on `InitializeParams`.
- Optional `version` field on `PluginCustomization`.
- Session actions `session/mcpServerStartRequested` and `session/mcpServerStopRequested`.
- InputRequestResponsePart and ResponsePart.inputRequest for persisting chat input.
Full Release Notes
## [0.5.2] — 2026-07-09 Implements AHP 0.5.2. ### Added - Typed `resource*` convenience methods on `AHPClient`: send wrappers (`resourceRead`, `resourceWrite`, `resourceList`, `resourceCopy`, `resourceDelete`, `resourceMove`, `resourceResolve`, `resourceMkdir`, `resourceRequest`, `createResourceWatch`) and inbound server-request handling via `setServerRequestHandler(_:)` / `setResourceRequestHandlers(_:)` (new `ServerRequestHandler` typealias and `ResourceRequestHandlers` type). Inbound server-initiated requests are answered by the installed handler (still `MethodNotFound` when none is set). - `ToolResultTerminalCompleteContent` for terminal-style completion metadata in tool results. - Optional `enabled` field on the child customization types (`AgentCustomization`, `SkillCustomization`, `PromptCustomization`, `RuleCustomization`, `HookCustomization`). - `disableUserInvocation` on `SkillCustomization`, plus `disableModelInvocation` and `disableUserInvocation` on `AgentCustomization`. - Optional `reviewed` field on `ChangesetFile`. Omitting it (or setting it to `nil`) signals that the server does not support the file "review" functionality. - `changeset/filesReviewedChanged` action for servers to update the `reviewed` flag of one or more changeset files. - Optional `meta` (wire `_meta`) provider-metadata field on every customization type, moved from `AgentCustomization` up to the shared customization base so `PluginCustomization`, `ClientPluginCustomization`, `DirectoryCustomization`, `SkillCustomization`, `PromptCustomization`, `RuleCustomization`, `HookCustomization`, and `McpServerCustomization` all carry it. - Optional `serverInfo` on `InitializeResult` and `clientInfo` on `InitializeParams`, each an `Implementation` (`name`, optional `version`, optional `title`), identifying the implementation and build behind either side of the handshake. Informational only — MUST NOT be used for feature detection. - Optional `terminalCommandPrefix` on `InitializeResult` for hosts that support interpreting `!`-prefixed user messages as terminal commands. - Optional `version` field on `PluginCustomization` (inherited by `ClientPluginCustomization`), carrying the plugin's semver sourced from the Open Plugins manifest. Provenance / display only. - `session/mcpServerStartRequested` and `session/mcpServerStopRequested` actions for clients to ask the host to start or stop MCP servers; stopping moves an `authRequired` server to `stopped` so it no longer waits on authentication. - `InputRequestResponsePart` and the `ResponsePart.inputRequest` case. The reducer now records a resolved input request in the active turn's `responseParts` on `chatInputCompleted` — embedding the resolved `ChatInputRequest` (final `answers`) and the `response` (`accept`, `decline`, or `cancel`) — so the outcome persists after the live request is removed. Abandoned requests still record nothing (#324). ### Changed - The `session/customizationToggled` reducer now toggles any top-level customization (`plugin`, `directory`, or top-level `mcpServer`) or an individual child by `id`, setting that entry's `enabled`.
Related Repositories
openclaw/openclaw★ 392,873
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
morluto/rea★ 372,577
Reverse engineer anything with agents, from app behavior down to native binaries.
nilbuild/developer-roadmap★ 370,231
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
anomalyco/opencode★ 220,569
The open source coding agent.
n8n-io/n8n★ 208,401
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.