Releases: nao1215/atago
Release list
v0.11.0
atago v0.11.0
atago tests real CLI behavior from plain YAML: commands, files, snapshots,
and interactive terminals.
Every artifact is signed and ships with an SBOM and build provenance — see
Verifying release integrity.
Changelog
Features
- 6fdb413: feat(website): add self-hosted Pagefind search with a lazy-loaded nav search box (#256) (@nao1215)
- d90e430: feat(website): landing h1, right-ratio social card, favicon, sitemap/robots, search-intent tool titles (#253) (@nao1215)
- 1fc1a60: feat(website): lazy copy buttons, content-visibility, skip link, focus-visible, and real table semantics (#254) (@nao1215)
- c2f8912: feat(website): sticky TOC sidebar and a live cookbook recipe filter (#255) (@nao1215)
Bug fixes
- d7fcb8a: fix(ci): allow release smoke without local latest tag (#266) (@nao1215)
- cc9f9ae: fix(cli): harden finishRun against incomplete results (#265) (@nao1215)
- 21cdb8d: fix(e2e): gate redis scenarios on both redis-server and redis-cli (#257) (@nao1215)
- 98b11f7: fix(engine): honor teardown security violations, guard leaked refs, atomic snapshot writes, converged retry changes (#252) (@nao1215)
- 3aa7eb1: fix(engine): mask secrets and guard unresolved refs in suite setup/teardown steps (#258) (@nao1215)
- a2d73d1: fix(spec): collect suite service env/ready vars and surface them in the manifest (#259) (@nao1215)
Documentation
- fa167d8: docs(changelog): prepare v0.11.0 release (@nao1215)
- 62de656: docs: add a copy-pasteable 30-second trial to README and the site (#261) (@nao1215)
Others
- 4ff8a7a: build(release): publish multi-arch image to ghcr (#264) (@nao1215)
- b8f8c95: refactor(assert): attach checkFile failure artifacts via one deferred hook (#260) (@nao1215)
- 018a872: refactor(assertdesc): share assert describers across docgen and explain (#263) (@nao1215)
- f7a54c6: refactor(cli): split runCmd into parseRunFlags and finishRun (#262) (@nao1215)
Full changelog: v0.10.0...v0.11.0
v0.10.0
atago v0.10.0
atago tests real CLI behavior from plain YAML: commands, files, snapshots,
and interactive terminals.
Every artifact is signed and ships with an SBOM and build provenance — see
Verifying release integrity.
Changelog
Features
- 73b7979: feat(report): name the spec file and surface stderr in failure blocks (@nao1215)
- 978cc32: feat(service): bound log retention with max_log_bytes, stop quadratic probes (@nao1215)
- 6150947: feat(website): add LLM prompt page, llms.txt, and tasteful visual polish (@nao1215)
- 118d46a: feat(website): add hosted documentation website built with Hugo (@nao1215)
- 2d63801: feat(website): add logo, name origin, and Sponsors link (@nao1215)
- 3e497c9: feat(website): add spec-key reference, merge cookbook and examples, drop LLM page (@nao1215)
Bug fixes
- c0f538b: fix(cli): order the dispatch table exactly as the usage text (@nao1215)
- 9a03de2: fix(cli): selector-aware no-match note, and fail empty selections under --ci (@nao1215)
- 926a167: fix(docs): correct stale references and guard reference subcommand table (@nao1215)
- 007931a: fix(engine): honor ssh step timeouts, guard shell env refs, preserve mock request logs (@nao1215)
- a713e5b: fix(loader): position union-shape errors at the offending value (@nao1215)
- 7b87f40: fix(pty): defuse vt10x crash and hang on adversarial screen transcripts (@nao1215)
- 9c856b0: fix(service): key the log-probe rescan off total bytes written, not retained length (@nao1215)
- b15838e: fix(ssh): lock the output builders against a kill-resistant remote (@nao1215)
- 2353e8f: fix(website): guard clipboard use and align a cookbook header with its JSON body (@nao1215)
- 1f66e1c: fix(website): keep pre-merge cookbook anchors working and guard the merge split (@nao1215)
Documentation
- d26b4cb: docs(cookbook): add 34 task recipes covering record, snapshot, TUI, and peers (@nao1215)
- c97e6ce: docs(cookbook): add six recipes and a troubleshooting section (@nao1215)
- 2711362: docs(e2e): regenerate atago.md after the main merge (@nao1215)
- 0ff23c5: docs(readme): drop release-integrity section and link real-world suites to the website (@nao1215)
- c901e4b: docs(schema): describe every property in the spec JSON Schema (@nao1215)
Others
- 44715c6: Merge origin/main into feat/service-log-bounds (@nao1215)
- 612633c: Merge origin/main into fix/loader-union-error-locations (@nao1215)
- 93eff9b: Merge origin/main into fix/selector-no-match-ux (@nao1215)
- 48d8cf2: Merge origin/main into test/interrupt-parallel-ledger (@nao1215)
- 47abeb4: Merge remote-tracking branch 'origin/main' into test/interrupt-parallel-ledger (@nao1215)
- eac5c28: build(deps): bump actions/deploy-pages from 4.0.5 to 5.0.0 (@dependabot[bot])
- 6722eb3: build(deps): bump actions/upload-pages-artifact from 4.0.0 to 5.0.0 (@dependabot[bot])
- 6fe7acf: build(deps): bump golang.org/x/crypto from 0.53.0 to 0.54.0 (@dependabot[bot])
- ff4ce18: build(deps): bump golang.org/x/image from 0.43.0 to 0.44.0 (@dependabot[bot])
- ca277da: refactor: consolidate duration validation, retry loops, and rerun ledger logic (@nao1215)
Full changelog: v0.9.0...v0.10.0
v0.9.0
atago v0.9.0
atago tests real CLI behavior from plain YAML: commands, files, snapshots,
and interactive terminals.
Every artifact is signed and ships with an SBOM and build provenance — see
Verifying release integrity.
Changelog
Bug fixes
- 4e263d4: fix(assert): hint brace globs, escape backslashes, and track unreadable files (@nao1215)
- 827312a: fix(cli): keep the rerun ledger portable, versioned, and fail loudly on an unusable artifacts dir (@nao1215)
- 1880eed: fix(cli): preserve recorded failures a run did not execute (@nao1215)
- 26f0bd4: fix(docgen): render OS gate names as proper nouns (@nao1215)
- 42e2737: fix(docgen): resolve non-ASCII anchors, render env/command gates, end docs with a newline (@nao1215)
- 0d682ac: fix(record): keep recorded specs valid for quoted metacharacters, control-byte commands, and "?" output (@nao1215)
- 86aa124: fix(security): collect secrets from all env sources and stop snapshot leaks (@nao1215)
- 3e48c4b: fix(security): mask both line-ending forms of a multi-line secret (@nao1215)
Documentation
- 82d0593: docs(changelog): record the hardening fixes under Unreleased (@nao1215)
- 0fcd268: docs(changelog): stamp v0.9.0 (@nao1215)
- 6d71d49: docs(examples): show how to escape glob metacharacters in changes entries (@nao1215)
- 57c06b6: docs: add a task-oriented cookbook and split example indexes out of the README (#198) (@nao1215)
- b319b11: docs: guard the real-world index against rot and document the .atago.yml suffix (@nao1215)
Full changelog: v0.8.0...v0.9.0
v0.8.0
atago v0.8.0
atago tests real CLI behavior from plain YAML: commands, files, snapshots,
and interactive terminals.
Every artifact is signed and ships with an SBOM and build provenance — see
Verifying release integrity.
Changelog
Features
- b9e07b7: feat(record): bound record --pty with a --timeout so it never hangs forever (#195) (@nao1215)
Bug fixes
- d7db71b: fix(assert): correct dir symlink membership, changes glob UX, and PDF safety/hex (@nao1215)
- 35489c3: fix(cli): harden --rerun-failed ledger and run flag bounds (@nao1215)
- c327279: fix(cli): resolve symlinks when matching a rerun path to the ledger (@nao1215)
- 27c2116: fix(cli): route explicit subcommand --help to stdout (@nao1215)
- a8ae478: fix(engine): expand stdout_to/stderr_to and guard an unresolved cwd (@nao1215)
- 63f3ff6: fix(loader): explain matrix name collapse instead of a bare duplicate error (@nao1215)
- 90fd628: fix(loader): reject a not_matches pattern that matches the empty string (@nao1215)
- 7791dfe: fix(record): round-trip non-UTF-8 output via a !!binary scalar (@nao1215)
- 709bde7: fix(report): count setup-errored suites in the GHA notice summary (@nao1215)
- c997179: fix(report): label suite.setup failures correctly, not "service setup" (@nao1215)
- dfd31a5: fix(report): surface CRLF-only diffs instead of a blank rendering (@nao1215)
- 631b9fc: fix(snapshot): keep Normalize idempotent and mask secrets after a CRLF fold (@nao1215)
Documentation
- 3876461: docs(changelog): record the hardening sweep under Unreleased (@nao1215)
- 016728d: docs(changelog): stamp v0.8.0 (@nao1215)
- 3acdb81: docs(report): correct sanitizeControlBytes junit-parity claim (@nao1215)
- 18a184c: docs: regenerate README demo GIFs (@nao1215)
Full changelog: v0.7.0...v0.8.0
v0.7.0
atago v0.7.0
atago tests real CLI behavior from plain YAML: commands, files, snapshots,
and interactive terminals.
Every artifact is signed and ships with an SBOM and build provenance — see
Verifying release integrity.
Changelog
Features
- 53b91f9: feat(pty): run pty steps on Windows via a self-contained ConPTY runner (@nao1215)
- aea581d: feat(record): support record --pty on Windows via a shared ConPTY package (#191) (@nao1215)
- a23acdc: feat(service): tear down the whole service process tree on Windows via a job object (#190) (@nao1215)
Bug fixes
- 0bae61e: fix(pty): set STARTF_USESTDHANDLES so the ConPTY child does not grab the parent console (@nao1215)
- 04dd4ca: fix(pty): terminate an empty ConPTY env block with a double NUL and fix spelling (@nao1215)
Documentation
Others
- 6379873: build(deps): bump github.com/ohler55/ojg from 1.28.1 to 1.28.2 (#165) (@dependabot[bot])
- b905678: refactor(record): share one cross-platform terminalSize helper across capture backends (#192) (@nao1215)
Full changelog: v0.6.1...v0.7.0
v0.6.1
atago v0.6.1
atago tests real CLI behavior from plain YAML: commands, files, snapshots,
and interactive terminals.
Every artifact is signed and ships with an SBOM and build provenance — see
Verifying release integrity.
Changelog
Bug fixes
- a5e0126: fix(assert): fold CRLF in every stream text matcher (@nao1215)
- 9bfe013: fix(assert,engine): recover from a JSON parser panic on malformed output (@nao1215)
- 97ffb6c: fix(cli): name snapshot update in its own error messages, not run (@nao1215)
- 7c4e7a0: fix(cmd): create the parent directory for a nested stdout_to / stderr_to target (@nao1215)
- c8b8e14: fix(cmd): report 128+signal exit code for a signal-terminated run command (@nao1215)
- ccdea19: fix(cmd): split no-shell argv on newlines to match POSIX on Windows (@nao1215)
- 66fe6a1: fix(loader): recover from a decoder panic on malformed YAML (@nao1215)
Documentation
- a1e2acf: docs(changelog): stamp v0.6.1 (@nao1215)
- 0535b18: docs(readme): drop the Go Report Card and Star History badges (@nao1215)
- 344b825: docs(readme): refresh the demo gif with the current suite size (@nao1215)
Full changelog: v0.6.0...v0.6.1
v0.6.0
atago v0.6.0
atago tests real CLI behavior from plain YAML: commands, files, snapshots,
and interactive terminals.
Every artifact is signed and ships with an SBOM and build provenance — see
Verifying release integrity.
Changelog
Features
- bde3ee0: feat(assert): accept a list of checks under one json/yaml matcher (#156) (#163) (@nao1215)
- 8e58628: feat(assert): byte-exact file equals and equals_file matchers (#155) (#161) (@nao1215)
- 1026a96: feat(store): capture a whole stream or file without a regex (#158) (#162) (@nao1215)
Bug fixes
- b7b4228: fix(cmd): unify single-quote tokenization across Windows and POSIX (#154) (#160) (@nao1215)
Documentation
- c9a696f: docs(changelog): stamp v0.6.0 (#164) (@nao1215)
- c063edc: docs(readme): name the real fixture source key content: (#157) (#159) (@nao1215)
Full changelog: v0.5.1...v0.6.0
v0.5.1
atago v0.5.1
atago tests real CLI behavior from plain YAML: commands, files, snapshots,
and interactive terminals.
Every artifact is signed and ships with an SBOM and build provenance — see
Verifying release integrity.
Changelog
Bug fixes
- 0ee84c0: fix(security): refuse symlink-escaping I/O and honor zero readiness timeout (#151) (@nao1215)
Documentation
Full changelog: v0.5.0...v0.5.1
v0.5.0
atago v0.5.0
atago tests real CLI behavior from plain YAML: commands, files, snapshots,
and interactive terminals.
Every artifact is signed and ships with an SBOM and build provenance — see
Verifying release integrity.
Changelog
Features
- a9387d9: feat(assert): let stream text matchers compose in one block (@nao1215)
- 0ea29d6: feat(snapshot,repeat): add scrub normalization and classify partial-repeat runs as flaky (#139) (@nao1215)
Bug fixes
- 97c230a: fix(assert): compare large JSON integers exactly and stop a boolean matching its string spelling (@nao1215)
- a6729ff: fix(loader): reject misplaced mock_server, unknown exit_code keys, invalid dir.glob, and negative durations (@nao1215)
- 07df35c: fix(record): anchor pty replay on raw-substring text and coalesce typed input bursts (@nao1215)
- 0876463: fix(report): correct zero-count diff headers, tap message escaping, junit time, and the parallel summary duration (@nao1215)
- 6d8a0c0: fix(run): apply --fail-fast across spec files, make --tag/--skip-tag repeatable, and report real elapsed time (@nao1215)
- 447d71e: fix(security): mask overlapping secrets without leaking a shared tail (@nao1215)
- babf504: fix(snapshot): disambiguate symlink manifests and mask path prefixes on a component boundary (@nao1215)
- c2c1864: fix: address review feedback across the correctness sweep (@nao1215)
Documentation
- 4e44d02: docs(changelog): record the record, snapshot, report, loader, assert, and run fixes (@nao1215)
Others
- ee764d6: build(goreleaser): distribute deb, rpm, and apk Linux packages (#135) (@nao1215)
- a9f45de: release: v0.5.0 (@nao1215)
Full changelog: v0.4.2...v0.5.0
v0.4.2
atago v0.4.2
atago tests real CLI behavior from plain YAML: commands, files, snapshots,
and interactive terminals.
Every artifact is signed and ships with an SBOM and build provenance — see
Verifying release integrity.
Changelog
Bug fixes
- 6cc9b55: fix(assert): compare large JSON integers exactly and render whole floats plainly (@nao1215)
- 8088377: fix(assert): treat json.Number as numeric in equals (@nao1215)
- b553ca7: fix(loader): reject empty regexps and negative length/duration bounds (@nao1215)
- b1fb079: fix(report): fold captured control bytes so tap and gha stay well-formed (@nao1215)
Documentation
- 9e899b7: docs(changelog): record the assert, loader, and report edge fixes (@nao1215)
- 0294bed: docs(changelog): stamp v0.4.2 (@nao1215)
Full changelog: v0.4.1...v0.4.2