# Changelog

> What changed in each release of the CLI.

Releases of the Leakdown CLI, newest first. The full notes live in [CHANGELOG.md ↗](https://github.com/0xSarnavo/leakdown-cli/blob/main/CHANGELOG.md).

-

## 0.7.0

Latest release17 September 2026

Assertions, could-not-run, your own flows, A/B

- **Goal tests can assert values.** `--expect "total=$96.00"`, repeatable, makes a completion count only when the page shows the value. The report's Assertions section quotes what it found.
- **"Could not run" is its own verdict.** An unreachable page, a model that stops answering or a setup error no longer reads as a guardrail stop. `--goal` exits 0 (all passed), 1 (a session failed on the site) or 2 (could not run).
- **Write your own flows.** `flows/<id>.yaml` holds a journey as ordered steps. `--validate-flow` checks them without a browser; `--flow-file` runs one. A `stop_after` step ends the session completed when its text shows.
- **A/B on your laptop.** `--variant` labels a run and `--compare` writes `COMPARE.md`: sessions, completed, leaked, an interval per variant, and one verdict.
- **Ready for outside testers.** `--version`; a mistyped flag is an error. Every report carries the version. `VERDICTS.md` is written once per report. `--doctor` checks ffmpeg. `video.webm` is deleted once `video.mp4` exists (37% less disk per session). Scrolling no longer waits for the network, up to a minute faster per long page.
- **Reports say how sure they are.** Every wall and repeated element ref carries its count with a 95% interval. Under three sessions it says too few to call.
-

## 0.6.0

15 September 2026

Sharper evidence, and the Leakdown name

- **Retina screenshots and playable video.** 2560px step screenshots with settled fonts, recordings with reduced motion, `video.mp4` (with ffmpeg) and `filmstrip.html` per session.
- **Rebrand.** The command is `leakdown` (was `client-simulator`). Env vars are `LEAKDOWN_*`; `CLIENTSIM_*` works for one more minor. Local state moved to `.leakdown-state.json`, and the lockfile is committed.
-

## 0.5.0

14 September 2026

Where runs land, and getting around

- **One folder per run.** `runs/<site>/<date>/<time>/` with `wide/`, `verify/` and `deep/` seats, and `RUN.md`, `AGGREGATE.md`, `DETAIL.md`, `VERIFIED.md`, `REPORT.md`.
- **Getting around.** `--history`; `--report`, `--fix` and `--replication` take a site name. A run ends by printing the one number and the first wall.
- **Runs.** Every run re-crawls once and asks before rebuilding; `--no-map` skips it. `--random` replaces `--runs`. Per-model reports are always written.
- **Personas.** Generated prospects get lesser-known mythological names, so a report never reads as quoting a real person.
-

## 0.4.0

14 September 2026

The map stage and the one-page report

- **Map and aggregate.** The crawler's view of the site with broken links, and `AGGREGATE.md` with `DETAIL.md` behind it.
- **The ladder and more.** `--ladder`, website orders, `analytics.json` calibration, the mail watchdog, and a usage limit that stops the queue and names itself.
-

## Earlier

The foundations

- **Before 0.4.** `--goal` for CI, `--mailtest`, shareable PDFs, per-model funnels, the expert panel, and the guard that never books a meeting.

---
Source: https://docs.leakdown.dev/changelog
