Changelog
What changed in each release of the CLI.
Releases of the Leakdown CLI, newest first. The full notes live in CHANGELOG.md ↗.
0.7.0
Latest releaseAssertions, 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.
--goalexits 0 (all passed), 1 (a session failed on the site) or 2 (could not run). - Write your own flows.
flows/<id>.yamlholds a journey as ordered steps.--validate-flowchecks them without a browser;--flow-fileruns one. Astop_afterstep ends the session completed when its text shows. - A/B on your laptop.
--variantlabels a run and--comparewritesCOMPARE.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.mdis written once per report.--doctorchecks ffmpeg.video.webmis deleted oncevideo.mp4exists (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.
- Goal tests can assert values.
0.6.0
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) andfilmstrip.htmlper session. - Rebrand. The command is
leakdown(wasclient-simulator). Env vars areLEAKDOWN_*;CLIENTSIM_*works for one more minor. Local state moved to.leakdown-state.json, and the lockfile is committed.
- Retina screenshots and playable video. 2560px step screenshots with settled fonts, recordings with reduced motion,
0.5.0
Where runs land, and getting around
- One folder per run.
runs/<site>/<date>/<time>/withwide/,verify/anddeep/seats, andRUN.md,AGGREGATE.md,DETAIL.md,VERIFIED.md,REPORT.md. - Getting around.
--history;--report,--fixand--replicationtake 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-mapskips it.--randomreplaces--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.
- One folder per run.
0.4.0
The map stage and the one-page report
- Map and aggregate. The crawler's view of the site with broken links, and
AGGREGATE.mdwithDETAIL.mdbehind it. - The ladder and more.
--ladder, website orders,analytics.jsoncalibration, the mail watchdog, and a usage limit that stops the queue and names itself.
- Map and aggregate. The crawler's view of the site with broken links, and
Earlier
The foundations
- Before 0.4.
--goalfor CI,--mailtest, shareable PDFs, per-model funnels, the expert panel, and the guard that never books a meeting.
- Before 0.4.