Skip to content

Releases: coder/chat

Release list

v0.2.0

Choose a tag to compare

@ThomasK33 ThomasK33 released this 28 Aug 00:30
42b8a86

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 / MaxDetachedPerTenant cap retained detached work; over-bound events are rejected observably with ErrAdmissionRejected instead 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

  • HistoryReader capability (#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

Choose a tag to compare

@ThomasK33 ThomasK33 released this 27 Aug 10:13
2dd8ade

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/chat v0.1.0 — core runtime, Slack adapter, Linear app-actor adapter, memory state.
  • github.com/coder/chat/state/nats v0.1.0 — NATS JetStream KV state adapter.
  • github.com/coder/chat/state/postgres v0.1.0 — Postgres state adapter.
  • github.com/coder/chat/state/redis v0.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