reference

Release compatibility

Match the exact Kestrel 0.8 package line and verify CLI, Desktop, Kestrel One, platform, persistence, and deployed identities.

RuntimebeginnerCurrent releases
Verified 2026-08-20View sourceReport a docs issue

Compatibility rule

Use the exact package versions shown below across Runtime, Protocol, Conversation, Files, SDK, Memory, Next.js, AI SDK, Observability, Workspace Skills, and compatible clients. First-party compatibility follows the exact dependency contracts declared by each owning package, not equal semantic version numbers. Products such as Desktop and Kestrel One release independently and do not need to share package versions.

Package matrix

SurfaceCompatible lineContract note
Runtime0.8.8Runtime and CLI distribution; package compatibility follows its declared dependencies
Protocol0.8.5Owns execution, conversations, executable plugins, approvals, recovery, Mission Control, and events
Conversation0.8.5Projects durable turns, streaming presentation, queues, composer actions, and typed host interactions
Files0.8.5Classifies uploaded media and extracts bounded host-side representations
SDK0.8.5Consumes the exact matching runner and protocol contracts
Memory0.8.5Provides governed memory contracts, backends, and retrieval helpers
Next.js0.8.5Adapts SDK results to server routes
AI SDK0.8.5Adapts runner streams to AI SDK presentation events
Observability0.8.5Carries compatible trace context and correlation
Workspace skills0.8.5Installs and verifies portable workspace guidance
CLI0.8.8Install the canonical npm artifact on macOS arm64 or Linux x64 with Node.js 22
Desktop0.8.6Signed and notarized macOS arm64 application with stable OTA support
Kestrel One0.8.5Versioned source plus an invitation-only Lumi-hosted deployment

All ten public npm artifacts are now available. Runtime/CLI is 0.8.8; Protocol, Conversation, Files, SDK, Memory, Next.js, AI SDK, Observability, and Workspace Skills are 0.8.5. A package may remain optional to an application, but every installed Kestrel package must match the versions shown above. Do not combine 0.7 and 0.8 contracts or add an application-side shim for removed APIs.

Product matrix

CLI/TUI uses Runtime 0.8.8 and supports Node.js 22 on macOS arm64 and Linux x64. Desktop 0.8.6 is an independently versioned signed macOS arm64 application available by DMG and stable OTA. Kestrel One source is tagged 0.8.5; Lumi hosting runs an identified deployment of that product version.

Runtime/CLI 0.8.8 preserves job_input_v1 and adds strict job_input_v2, job preflight, and immutable execution-profile binding. Clients that need assignment-time compatibility proof must require the V2 Local Core capability and must not downgrade to V1 after a failed preflight.

Platform matrix

SurfaceRelease-verified platform
CLI/TUImacOS arm64, Linux x64
DesktopmacOS 13+ on Apple silicon
SDK packagesNode.js 22 server runtimes supported by each package
Kestrel One sourcerepository development environment
Lumi-hosted Kestrel OneLumi-operated Vercel, worker, and Fly targets

Persistence and migrations

Desktop and Local Core preserve their owned settings, credentials, projects, sessions, and history across the upgrade. Desktop creates a one-time pre-v12 settings backup before migrating Apps and MCP connections to plugin records. Hosted operators apply only pending migrations and verify application/worker compatibility before promotion.

Unsupported combinations

  • Mixed 0.7 and 0.8 Kestrel package graphs
  • Removed Board/Task or project snapshot write APIs
  • Desktop downgrade after schema 12 without first restoring the pre-v12 settings backup
  • Broad approvals reused for a different action
  • A hosted deployment whose actual Vercel result, Machine image tag, or tenant operation was not verified

Historical releases

The 0.7 upgrade guide remains available as history. It is not current integration guidance.

Verify a deployed system

For hosted operation, record the Vercel deployment and migration result, the operator-selected tag and provider result for each changed Machine, the exact tenant operation when applicable, and one successful terminal result. Do not infer one target's state from another target's result.