v0.9.0
caddyserver/caddyv0.9.0Aug 28, 2026by github-actions[bot]
Upgrading?
AI Summary
Implements AHP 0.9.0, adding an automation catalogue, durable turn errors, and improved terminal session lifecycle management.
Key Highlights
- Automation catalogue and automation-run channels for shared trigger-based workflows.
- Turn errors are now durable response parts with resumable error handling.
- Annotations now carry an `origin` with required session URI.
- Terminal state uses explicit `running`/`exited` lifecycle.
- Removed session-level forking in favor of chat forking.
Breaking Changes
- Removed `error` from `changeset/contentChanged`.
- Removed session-level forking from `createSession`.
- Removed `ContentNotFound` as an exported AHP error code.
New Features
- Automation catalogue and automation-run channels.
- Turn errors as durable response parts.
- InitializeResult._meta for extension capabilities.
- Annotations with origin (session URI, optional chat URI, turn ID).
- Renamed failed session lifecycle value from `creationFailed` to `failed`.
- TerminalSessionClaim requiring chat URI.
- Terminal state explicit `running`/`exited` lifecycle.
- Unknown values preservation for nonexhaustive protocol enums.
- Narrowed tool-call state in SessionToolClientExecutionRequest.
- Automation catalogue snapshots using AutomationState.entries.
Full Release Notes
## [0.9.0] — 2026-08-28 Implements AHP 0.9.0. ### Added - Automation catalogue and automation-run channels, including self-contained host-defined event triggers and automation-origin messages, for shared trigger-based agent session workflows. - Turn errors are durable response parts, and resumable errors can reopen the same turn through `chat/turnResume`. - `InitializeResult._meta` for hosts to advertise implementation-specific extension capabilities in initialize responses. ### Changed - Annotations now carry an `origin` with a required session URI and optional chat URI and turn ID. - Renamed the failed session lifecycle value from `creationFailed` to `failed`. - `TerminalSessionClaim` now requires the chat URI that owns the terminal. - Terminal state now uses an explicit `running`/`exited` lifecycle that preserves exits without an exit code. - Generated clients now preserve unknown values for nonexhaustive protocol enums and their discriminated unions. - `SessionToolClientExecutionRequest.toolCall` is narrowed to a running tool-call state. - Automation catalogue snapshots now use `AutomationState.entries`, whose items are named `AutomationEntry`. ### Removed - Removed `error` from `changeset/contentChanged`; changeset failures are represented by `changeset/statusChanged`. - Removed session-level forking from `createSession`; use chat forking instead. - `ContentNotFound` is no longer an exported AHP error code; `-32006` remains reserved and unassigned. ### Fixed - Chat reducers now derive `modifiedAt` from turn action data instead of local wall clocks.
Related Repositories
asheshgoplani/agent-deck★ 359,427
Terminal session manager for AI coding agents. One TUI for Claude, Gemini, OpenCode, Codex, and more.
ollama/ollama★ 184,227
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.
fatedier/frp★ 110,060
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
infiniflow/ragflow★ 92,627
RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs
gohugoio/hugo★ 90,197
The world’s fastest framework for building websites.