tapstateDocs
Release notes

v0.4

Install the v0.4 preview CLI, resume saved sessions, diagnose sync startup, and recover interrupted downloads.

Released September 2026 · Current preview: v0.4.5

v0.4 keeps tapstate in its single-node, in-memory preview phase while adding a resumable connected CLI workflow, earlier validation boundaries for synchronization pipelines, version-aligned playground components, and recoverable installer downloads. Use it with non-production systems and sample data.

See the GitHub releases for the published CLI archives, individual SHA-256 files, checksums.txt, and platform-minimums.txt.

What changed

v0.4.5

  • Report structured diagnostics for rejected issuer discovery. When a CLI connects to an older server that does not serve /.well-known/tapstate, it reports cli.issuer-discovery-rejected with the target seed and failure reason instead of failing unhandled.

v0.4.4

  • Disclose installation telemetry and provide an opt-out. The CLI installer notifies users on standard error before downloading and supports TAPSTATE_TELEMETRY=off to suppress reporting and local ID generation.
  • Support pointed-at document nesting and explicit row keys. nest transforms can embed shared rows with automatic direction inference and single-copy storage, allow explicit row identity via embed.key, and report unambiguous diagnostics for ambiguous keys or fanout limits.

v0.4.3

  • Recover interrupted downloads automatically. The CLI installer and Quickstart script now stage downloads in temporary .part files and resume partial transfers on retry, preventing incomplete files from corrupting installations.

v0.4.2

  • Align preview components across the Quickstart stack and installer, ensuring the CLI, server image, and connector artifacts run from the same release path.
  • Fail fast during Quickstart initialization. If setup or authentication fails, the script prints CLI diagnostics and exits immediately instead of proceeding to downstream validation.

v0.4.1

  • Release packaging and automated testing maintenance. This patch contains no changes to user-visible tapstate behavior; an environment running 0.4.0 behaves identically to 0.4.1.

v0.4.0

  • Save a named server context and resume a connected CLI session instead of entering connection details and signing in after every restart. Use tapstate context to manage saved contexts, and the CLI authentication commands to inspect or remove a saved session.
  • Before starting a serve.sync pipeline, discover the schema for every pipeline source. If a source schema is missing, the start is refused before data-plane components start and the pipeline reports actuation.source-schema-not-discovered. This condition applies to sync startup, not to view discovery. See view and serve.
  • Identify the running builds before troubleshooting a connection. Use tapstate version for the local CLI and connected server, GET /version before REST authentication, or the MCP system_version tool before an agent reasons about supported operations.

Release components

The release includes native CLI bundles for macOS and glibc-based Linux on arm64 and x64. The release metadata recommends macOS 15.0 and glibc 2.34 or newer; these are warnings from the installer, not compatibility gates. Verify a manually downloaded archive against its .sha256 file or checksums.txt before extracting it.

The Quickstart downloads the current preview CLI and server image alongside the connector preview assets. These artifacts support local reference evaluation; they are not a production deployment method or a general connector support contract.

Known limitations and issues

This remains a preview rather than a production deployment target. Delivery for a change the connector reads is at least once, not exactly once. An insert-only target can receive duplicates when snapshot and CDC overlap, and a change written while a change stream positions itself around the initial snapshot can be missed.

  • In-place upgrades do not resume a pipeline. After an in-place upgrade, a pipeline can report RUNNING without carrying data and cannot start again. Stop it and start it again to reload from the beginning. Track progress in issue #98.
  • Purge and reload cannot remove rows deleted while the pipeline was down. A new full load writes current source rows but has no event for a historical deletion. If retaining delete propagation matters, stop without purging state so the next run resumes from its recorded position. Track progress in issue #104.

Get started

On this page