TestVibe 0.4.10
All release notes · Self-hosted upgrade guide
The appliance upgrade path is fixed. Every appliance OS disk through 0.4.9 mounted the data disk by a filesystem UUID unique to its own build, so the documented upgrade — swap the OS disk, keep the data disk — could never actually work: a newer OS disk booted against an older data disk showed "DATA DISK NOT ATTACHED" on a disk that was attached the whole time. All four artifacts are published: containers, Helm chart, VHDX and OVA.
- The documented appliance upgrade finally works. The 0.4.10 OS disk mounts the data disk by
the filesystem label
testvibe-data, which every appliance build since 0.4.0 has written, so it accepts any 0.4.2+ data disk — not just the one it shipped with. The image build now refuses to seal an OS disk whose fstab pins the data disk by UUID again, and the hypervisor console banner tells "attached but not mounted" apart from "not attached" (and warns when two attached disks both carry thetestvibe-datalabel — what a fresh import plus your own data disk looks like). - A first-class Mailbox. Write
@testvibe_emailin a scenario and the run is provisioned a unique, disposable email inbox; what arrives is listed on a Mailbox tab on the project and on run detail, with a one-click open of a verification link. Sign-up and email-verification flows become testable without pointing tests at a real mailbox. - Thresholds on simple load tests now run. A gate on a simple (browser-VU) load test was accepted, displayed and never evaluated — only advanced k6 tests enforced them. Setting one now gates the run. The two default gates every simple test was silently seeded with are removed by migration (they were k6-shaped bounds nobody chose); any gate you typed yourself is left alone — and now enforced, so review simple tests' gates if you relied on them being decorative.
- A story import that pauses on a clarifying question now says so — the ticket comment states an answer is needed instead of reading "Drafting tests from this story…" forever, and Review in TestVibe lands on the drafted feature instead of a list.
- Six pre-written starter checks on every new project — site-agnostic, runnable immediately, no Assistant generation pass or authoring charge; running these checks is still metered — so a fresh project has something to run before the first generated test.
- A batch of CLI fixes.
testvibe --versionprints the version instead of crashing;--waitis bounded by a single--timeoutbudget with exit code 3 for a run that reached no verdict;generate --watchstops exiting 0 on a failed generation;features list --groupactually filters; load-run results andverify --summaryare readable from the CLI and ops API; andruns diagnoseno longer prints signed artifact URLs into your terminal scrollback. - Fixes you will notice while using it: the recorder never navigates the TestVibe tab you launched it from; a duplicate project name gets a plain message instead of a raw Postgres error; and a story imported through a connector no longer drafts a required value the project does not have.
Upgrading: Docker — take this release's docker-compose.yml first, then pull and
docker compose up -d; the migrate service applies the schema before web starts. Kubernetes —
helm upgrade to chart 0.4.10, passing the same secrets you installed with. Appliance — replace
the OS disk with the 0.4.10 one and keep your data disk; this works from any 0.4.2+ data disk.
If you were stuck mid-upgrade with "DATA DISK NOT ATTACHED" on an older image pair, use the 0.4.10
OS disk; if you must stay on an older OS image, rescue-boot and change the data-disk /etc/fstab
line from UUID=… to LABEL=testvibe-data.
Schema migrations: five (V0278–V0282) apply on upgrade from 0.4.9 — the story loop's
awaiting_input state, clearing the two never-enforced default load thresholds, the Mailbox table,
reserving mailbox as a URL word, and a webhook idempotency journal (unused unless you connect
Wisej Cloud). Forward-only; take a backup first.