Releases: coder/chat
Release list
v0.2.0
Second minor release: the full ADR 0012 concurrency strategy suite, a deferred-dispatch admission bound, hardened Slack interactivity, a feature-complete experimental Linear adapter, and a Diátaxis docs restructure.
Runtime & Concurrency
- Deferred-dispatch admission bound (ADR 0015, #56):
MaxDetached/MaxDetachedPerTenantcap retained detached work; over-bound events are rejected observably withErrAdmissionRejectedinstead of growing retention without limit. - Full ADR 0012 strategy suite:
ConcurrencyDebounce,ConcurrencyConcurrent,LockScope(thread/channel), and universal lease-loss cancellation (ErrPreempted) landed in #38;ConcurrencyBurst— windowed batching under a single lock hold, delivery-preserving, bounded by the admission bound — landed in #57. All five upstream-aligned strategies now ship; force/steerability preemption is rejected for v0.x per ADR 0015 with the names reserved.
Slack
- Interaction identity fix (#51): per-activation interaction identity plus normalized selection values, surfaced as
Interaction.Value/Interaction.Values. OpenModalFromRaw(#42): open modals from the Raw escape hatch.
Linear
HistoryReadercapability (#37): ADR 0009 parity with the Slack adapter.- Typed proactive sessions (#52): typed proactive session creation,
SuggestRepositories, and worked capability examples.
Docs & DX
- Diátaxis restructure (#11): maturity tiers, non-goals, a tutorial, and per-adapter how-tos.
- Submodule consumability (#15): state submodules are externally consumable (v0.1.0 requires + Dependabot coverage).
- ADR 0015 (#54): deferred-dispatch admission bound decided; cross-instance coalescing rejected for now behind an explicit reopening bar.
Adapter maturity
- Slack: supported — production-grade, hardening-tested.
- Linear: experimental — hardened and feature-complete, but the upstream Linear Agent API is itself a Developer Preview.
- Teams: spike (#6) — ADR 0007 approach validated (stdlib JWT, no new deps); no adapter ships yet.
Full changelog: v0.1.0...v0.2.0
Generated with mux • Model: anthropic:claude-fable-5 • Thinking: xhigh
v0.1.0
First tagged release. Chat SDK Go is a Go-native semantic subset of Vercel Chat SDK's conversation runtime: platform adapters, normalized events, threads, subscriptions, state-backed dedupe, and thread-scoped replies.
This tag exists primarily to make the repo externally consumable: submodules previously required a never-published v0.0.0 and could not be fetched with go get at all (#13).
Modules in this release
github.com/coder/chatv0.1.0— core runtime, Slack adapter, Linear app-actor adapter, memory state.github.com/coder/chat/state/natsv0.1.0— NATS JetStream KV state adapter.github.com/coder/chat/state/postgresv0.1.0— Postgres state adapter.github.com/coder/chat/state/redisv0.1.0— Redis state adapter.
examples/slack-*-state are clone-and-run documentation, not importable modules, and are intentionally untagged.
Honest status
This is a pre-1.0 release: the public surface is early and may change without compatibility guarantees between 0.x tags.
- Slack adapter — the most mature surface: production-shaped MVP with public contract tests (mentions, subscriptions, commands, interactions, Block Kit, modals).
- Linear adapter — experimental: a narrow app-actor slice for Linear agent sessions.
- State adapters — memory (tests/local), Redis, Postgres, and NATS JetStream, all exercised by a shared state contract suite; Redis/Postgres/NATS run integration tests against real backends.
- AI streaming, pattern handlers, middleware, and several Vercel Chat SDK concepts are not implemented yet — see the alignment table in the README.
Docs
- README — overview, Vercel Chat SDK alignment table, design goals.
- CONTEXT.md — domain glossary.
- docs/adr — architecture decision records.
Generated with mux • Model: anthropic:claude-fable-5 • Thinking: xhigh