Skip to content

v0.2.0 (2026-06-18)

v0.2.0 is a large structural release. Where v0.1.0 was the minimum needed to make The Test Cabinet work as a CLI plus a public gallery, v0.2.0 fills in most of the surrounding system: a centralized backend, remote execution, interactive runner/reporter consoles, reviewer workflows, and end-to-end observability.

This is still pre-1.0 software intended primarily for project developers, and much of the new surface area is rough. The goal for v0.2.0 is breadth — getting the major components in place and talking to each other — not polish.

GitHub Release

The earlier “git-as-a-db” design — where run records were committed straight into the site’s dataset — has been replaced by a single private backend. It serves as the canonical source of test case definitions for runners and records published run results. The public site stays fully static: publishing exports a public snapshot that the gallery builds from, so the site keeps no live dependency on the backend.

A new worker component exposes the core’s run functionality over an HTTP API, so test cases can be executed on a remote machine instead of only on the operator’s own laptop. Workers are the execution backend for the new web console.

The Tauri desktop app is now a full runner and reporter: it launches runs, streams them live, reviews them, and publishes — all in one place. A new browser-based web console provides the same console experience backed by remote workers rather than a built-in local runner. Both the desktop and web UIs are now aligned with the public gallery’s look and feel.

The frontend has been reorganized around a shared @test-cabinet/ui package that hosts the full routed gallery application plus the presentational primitives. The public site, the web console, and the desktop app are now thin hosts over this shared code, which is what keeps their UIs consistent.

Test cases can now carry reviewer checklists. The desktop and web consoles present these as a guided review with a completeness gate, and verdicts are published inline with a run so they show up on the gallery’s verdict view. See test cases.

Runs can now be watched as they happen: a live, virtualized harness-event feed with follow-along scrolling, a listing of in-progress runs, and a notifications bell. Completed runs surface their recorded events on the run detail page.

Harness container images are now distributed through a container registry (GHCR) and pulled by digest, rather than being fetched through the backend. Each runner resolves images from its own environment configuration, and run records pin the resolved digest for reproducibility. See harnesses.

The Test Cabinet now ships opt-in OpenTelemetry instrumentation through a shared telemetry crate. The core, CLI, worker, backend, and desktop app emit traces and metrics with context propagated across process boundaries, the web console adds browser tracing, and the devcontainer can spin up a local Grafana LGTM stack for inspecting it all.

v0.2.0 introduces documentation and templates for running The Test Cabinet’s always-on services — the backend and workers — as remote staging and production deployments, alongside guides for running everything locally, backups, and telemetry in production.

A number of issues found while building out the above were fixed along the way, including run start/visibility failures, live-feed crashes and an infinite loop on run completion, serialization errors, and assorted readability and layout problems in the consoles.

The web console and public site are still not designed for mobile use.

The Playwright browser-download hang reported in v0.1.0 is resolved: the project has moved to Playwright 1.61.0 and dropped the browser-download workaround.