clients/go/v1.0.0
Osmantic/ODSclients/go/v1.0.0Oct 2, 2026by github-actions[bot]
Upgrading?
AI Summary
Implements the AHP 1.0.0 protocol with lightweight chat navigation, automation enhancements, and background work support. Includes OAuth token lifetime tracking, atomic chat transfers, and configuration schema updates.
Key Highlights
- Adds lightweight chat navigation data to `SessionSummary` without sessions.
- Introduces atomic stable-URI `moveChat` transfer and canvas synchronization.
- Enhances automation with `disableConditions` and client customization support.
- Exposes background work and changeset catalogs via new actions.
- Adds `McpServerStartingState.blocking` for background startup requests.
Breaking Changes
- SDK APIs using `FileEdit` and preview edits now use named models (JSON shapes remain unchanged).
- Historical `ToolResultTerminalContent.resource` subscriptions now return lazily reconstructed exited terminal state.
- Protocol compatibility baselines are now restricted to 1.0.0 and 0.9.0.
New Features
- `AuthenticateParams.expiresIn` for OAuth token lifetime.
- `SessionSummary.chats` and `SessionSummary.defaultChat` for lightweight navigation.
- `chat/isArchivedChanged` action for independent chat archiving.
- `ChatState.changesets` and `chat/changesetsChanged` for changeset catalogs.
- `AutomationDefinition.disableConditions` with `afterRuns` and `afterDate` rules.
- `ConfigPropertySchema.minItems` and `maxItems` for array cardinality.
- `McpServerStartingState.blocking` flag.
- `AutomationSessionTemplate.customizations` for client plugins.
- `chat/backgroundWorkSet` and `chat/backgroundWorkRemoved` actions.
- `ChatSummary.changes` and `ChatState.changes` for aggregate file-change counts.
- `SessionChatSummary.status` for per-chat archived state.
- `chat/isReadChanged` action and status bitset.
Full Release Notes
## [1.0.0] — 2026-10-02 Implements AHP 1.0.0. ### Added - `AuthenticateParams.expiresIn` carries an OAuth access token's remaining lifetime in seconds. - `SessionSummary.chats`, `SessionChatSummary.interactivity`, and `SessionSummary.defaultChat` expose lightweight chat navigation data without requiring a session subscription. - `chat/isArchivedChanged` action for archiving a chat independently of its session. - `ChatState.changesets` and `chat/changesetsChanged` expose each chat's changeset catalogue through the subscribed chat channel. - `AutomationDefinition.disableConditions` supports `afterRuns` (`max`) and `afterDate` (`date`) rules combined with logical OR, with at most one condition per kind. Host-owned `AutomationEntry.runCount` tracks the current scheduled-run allowance. Edit conditions through `automation/updateRequested`: omission leaves them unchanged, an array replaces them, and `[]` removes all conditions without re-enabling the automation. - `ChangesetStatus.Recomputing` distinguishes refreshes of a completed result from initial changeset computation. - `ConfigPropertySchema.minItems` and `ConfigPropertySchema.maxItems` express array cardinality for `type: "array"` config properties. (#432) - `McpServerStartingState.blocking` flag indicating that message processing may be held on the server, and the client-dispatchable `session/mcpServerBackgroundRequested` action asking the host to background such a startup. - `AutomationSessionTemplate.customizations` lets automations carry client plugins (skills, agents, prompts, rules) that the host captures when the definition is saved, with the host-owned copies reported in `AutomationEntry.customizations` and support advertised by `AutomationCapabilities.customizations`. - Hosts can advertise chat-owned canvas channel references and synchronize live presentation metadata and source URLs on experimental per-canvas channels. - Atomic stable-URI `moveChat` transfer and same-session ordering for host-authorized chats, with per-chat `movable` discovery and durable authoritative catalogs. - Expose chat-owned background work (background shells and subagents) in chat state, with `chat/backgroundWorkSet` and `chat/backgroundWorkRemoved` actions independent of turn lifetime. - `ChatSummary.changes` and `ChatState.changes` provide aggregate file-change counts without requiring a changeset subscription. - `SessionChatSummary.status` exposes per-chat archived state via `SessionStatus.IsArchived` in the lightweight chat catalog without requiring a session subscription. - `chat/isReadChanged` action and optional `SessionChatSummary.status` projection for independently tracking the status of any known chat, including the default chat; the status bitset replaces the unreleased `isRead` and `archived` catalog fields. - `SessionChatSummary.changes` exposes per-chat change counts in the lightweight chat catalog without requiring a session subscription. ### Changed - Historical `ToolResultTerminalContent.resource` subscriptions return lazily reconstructed exited terminal state with retained output. - `FileEdit` and preview `edits` now use named models in generated SDKs. This breaks affected SDK APIs but keeps JSON shapes unchanged. - Advertise only the 1.0.0 and 0.9.0 protocol compatibility baselines independently of the development version. Host-side negotiation helpers select the highest client-offered version within either caret-compatible range and report malformed offers explicitly.
Related Repositories
public-apis/public-apis★ 491,190
A collective list of free APIs
NousResearch/hermes-agent★ 256,045
The agent that grows with you
yt-dlp/yt-dlp★ 200,215
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,537
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,699
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.