clients/go/v0.5.0
microsoft/agent-host-protocolclients/go/v0.5.0Jun 26, 2026by github-actions[bot]
Upgrading?
Release notes summary
Implements AHP 0.5.0 for the Go module, flattening SessionState and adding active client management.
Key Highlights
- SessionState metadata inlined (no longer nested Summary).
- SessionState.ActiveClients replaces ActiveClient.
- ChatDraftChangedAction and ChatState.Draft support.
- ProgressParams for generic progress notifications.
- SessionSummary.Meta for presentation hints.
Breaking Changes
- SessionState structure flattened.
- SessionState.ActiveClient replaced by ActiveClients.
- SessionActiveClientChangedAction renamed to SessionActiveClientSetAction.
- ConfigPropertySchema.Enum type changed to []json.RawMessage.
- ModelSelection.Config type changed to json.RawMessage.
- SessionSummary no longer carries model/agent.
- ChatState no longer carries model/agent.
New Features
- ChatDraftChangedAction and ChatState.Draft.
- Message.Model and Message.Agent.
- ChatActivityChangedAction.
- ProgressParams with ProgressToken.
- SessionModelInfo MaxOutputTokens and MaxPromptTokens.
- SessionSummary.Meta.
- SessionActiveClientRemovedAction.
Full Release Notes
## [0.5.0] — 2026-06-26 Implements AHP 0.5.0. ### Added - `ChatDraftChangedAction` (wire `chat/draftChanged`) and `ChatState.Draft` (`*Message`) for syncing a chat's in-progress input draft; `ApplyActionToChat` sets or clears `state.Draft` without stamping `ModifiedAt`. - `Message.Model` and `Message.Agent` optional fields recording the model / agent selection a message was composed with. - `ChatActivityChangedAction` (wire `chat/activityChanged`) for updating a chat's current activity description independently of the session summary. - `ProgressParams` struct (wire `root/progress`) — a generic progress notification correlated by a `ProgressToken` (added on `CreateSessionParams`). Used today for the lazy first-use download of an agent's native SDK. - `SessionModelInfo.MaxOutputTokens` and `SessionModelInfo.MaxPromptTokens` optional fields for communicating model token limits. - `SessionSummary.Meta` (wire `_meta`) optional provider metadata field for lightweight session-list presentation hints. - `SessionActiveClientRemovedAction` (wire `session/activeClientRemoved`) to release a single active client by `ClientId`. ### Changed - `SessionState` no longer embeds a `Summary` sub-struct; its metadata fields (`Provider`, `Title`, `Status`, `Activity`, `Project`, `WorkingDirectory`, `Annotations`) are now inlined directly on `SessionState`, which no longer carries `Model`, `Agent`, `CreatedAt`, or `ModifiedAt`. `ApplyActionToSession` reads and writes these flat fields and no longer stamps a session `ModifiedAt`. - `SessionSummary` is now a root-only catalog struct; its `CreatedAt` / `ModifiedAt` are ISO-8601 strings (previously numeric) and it no longer carries `Model` / `Agent`. - `ChatState` and `ChatSummary` no longer carry `Model` / `Agent`. - `SessionState.ActiveClients` (`[]SessionActiveClient`, required) replaces the single pointer `SessionState.ActiveClient`; `ApplyActionToSession` upserts and removes entries keyed by `ClientId`. - `SessionActiveClientChangedAction` is renamed to `SessionActiveClientSetAction` (wire `session/activeClientSet`) with upsert-by-`ClientId` semantics; it no longer unsets the active client (dispatch `session/activeClientRemoved` instead). - `ConfigPropertySchema.Enum` field is now `[]json.RawMessage` instead of `[]string`, allowing numeric, boolean, and null enum values. - `ModelSelection.Config` values are now `json.RawMessage` instead of `string`, allowing numeric, boolean, and null configuration values. ### Removed - `SessionModelChangedAction` (wire `session/modelChanged`) and `SessionAgentChangedAction` (wire `session/agentChanged`); session model / agent are no longer part of the protocol surface. - `SessionActiveClientToolsChangedAction`. An active client now updates its published tools by re-dispatching `SessionActiveClientSetAction` with its full, updated entry.
Related Repositories
openclaw/openclaw★ 392,878
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
morluto/rea★ 372,734
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,584
The open source coding agent.
n8n-io/n8n★ 208,403
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.