v0.3.0
microsoft/agent-host-protocolv0.3.0Jun 6, 2026by github-actions[bot]
Upgrading?
Release notes summary
Adds full MCP server lifecycle management and changeset operation status tracking.
Key Highlights
- `McpServerCustomization` with full lifecycle states (starting, ready, authRequired).
- `ChangesetOperation` tracking status and error fields.
- `ToolCallBase.contributor` enum replacing `toolClientId` for better attribution.
- `changeKind` field on `Changeset` for grouping.
Breaking Changes
- Replaced `ToolCallBase.toolClientId` with `ToolCallBase.contributor`.
- Renamed `ChangesetSummary` to `Changeset`.
- Moved `changesets` catalogue from `SessionSummary` to `SessionState`.
New Features
- `McpServerAuthRequiredState` with authentication details.
- `InitializeParams.capabilities.mcpApps` field.
- `ChangesetOperationStatus.disabled` case.
- `SessionSummary.changes` aggregate file-change footprint.
Full Release Notes
## [0.3.0] — 2026-06-05 Implements AHP 0.3.0. ### Added - `McpServerCustomization` now exposes the full MCP lifecycle: `enabled`, the discriminated `McpServerState` enum (`.starting`/`.ready`/`.authRequired`/`.error`/`.stopped`), optional `channel` URI for the `mcp://` side-channel, and optional `mcpApp` block carrying `AhpMcpUiHostCapabilities` for MCP Apps. - `McpServerAuthRequiredState` carries `ProtectedResourceMetadata` plus `reason` / `requiredScopes` / `description` so the existing `authenticate` command can drive per-server auth. - `Customization.mcpServer` top-level case — hosts MAY surface bare MCP servers directly rather than only inside a plugin or directory. - `SessionMcpServerStateChangedAction` and matching reducer arm — narrow upsert of `state` + `channel` on an existing MCP server customization by id. Wired through both `Reducers.swift` and the protocol-based `NativeReducer.swift`. - `ClientCapabilities` struct on `InitializeParams.capabilities` with first entry `mcpApps`. - `changeKind` field on `Changeset` (well-known values: `'session'`, `'branch'`, `'uncommitted'`, `'turn'`, `'compare-turns'`). - `status` and `error` fields on `ChangesetOperation` and the `changeset/operationStatusChanged` action, tracking the `idle → running → error` lifecycle of a changeset operation. - `AgentCustomization._meta` provider metadata field. - Optional `changes` field on `SessionSummary` (`ChangesSummary` with optional `additions`, `deletions`, and `files` counts) summarising a session's file-change footprint. ### Changed - Renamed the `ChangesetSummary` type to `Changeset`. The on-the-wire shape is unchanged. - Moved the `changesets` catalogue from `SessionSummary` to `SessionState`. The `session/changesetsChanged` action now updates `state.changesets` directly instead of `state.summary.changesets`. ### Removed - Removed the `additions`, `deletions`, and `files` fields from `ChangesetSummary`. Aggregate counts now live on `SessionSummary.changes`; per-changeset views derive their own totals from `ChangesetState.files`. ### Changed - `ToolCallBase.toolClientId: String?` replaced by `ToolCallBase.contributor: ToolCallContributor?` (enum with `.client(ToolCallClientContributor)` and `.mcp(ToolCallMcpContributor)` cases). `SessionToolCallStartAction` carries the new `contributor` field as well. `Reducers.swift`, `NativeReducer.swift`, and `ToolCallStateExtensions.swift` follow the rename.
Related Repositories
openclaw/openclaw★ 392,881
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
morluto/rea★ 372,857
Reverse engineer anything with agents, from app behavior down to native binaries.
nilbuild/developer-roadmap★ 370,230
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
anomalyco/opencode★ 220,594
The open source coding agent.
n8n-io/n8n★ 208,408
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.