Skip to content

Releases: lithoscomputer/whirl

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 09 Sep 02:41
411ed4d
  • Record the installing Whirl version in the shim bundle. An upgraded binary refuses a stale bundle with a runtime error naming whirl install, and whirl doctor reports the same, instead of running an older shim silently.
  • Replace named inline HTTP actions with structured HTTP entries. Requests can run before VISIT, use multiline JSON or fenced text bodies, and assert or capture their response without a name. Whirl warns when an HTTP entry has no status assertion.

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 08 Sep 23:45
a814e34
  • Record Chromium video at 60 frames per second by default through a screencast recorder, with --video-fps (1 to 60) to choose the rate. Firefox and WebKit keep Playwright's 25 fps recorder and warn when a rate is requested. Reports record the recorded rate as runtime.videoFps, and whirl doctor checks for ffmpeg.

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 05 Sep 03:21
ca0019b

Whirl can now combine saved reports and show expected scenarios that have no evidence.

whirl report first.json second.json --expected expected.json --html evidence.html

expected.json is an ordered array of recorded flow paths. Whirl selects the latest attempt using execution timestamps, including newer failures. It never uses file modification times. Missing scenarios show Not run. Setup history and other flows remain separate. Each result retains its source report, timestamps, browser, source hash, metadata, and media directory. Combined evidence does not claim that one complete suite passed.

Author metadata now accepts plain-text details, such as application commits and fixture checksums. Save that context with --report-metadata context.json --report-json report.json without rendering HTML.

Single-report rendering remains compatible. Saved reporting requires no browser runtime. Ambiguous timestamps fail without replacing the output.

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 05 Sep 00:47
f0e1399

Generate portable HTML from saved results:

whirl report report.json --html evidence.html
whirl report report.json --html evidence.html --metadata context.json

The command needs no flow sources or browser runtime. It preserves the original results and execution context. Use --working-directory DIR to resolve relative media paths in a copied project tree.

New JSON and HTML reports record UTC run and flow timestamps, SHA-256 hashes of parsed flow sources, and separate requested/setup roles. Copied JSON files retain their execution time. Older version 1 reports remain readable.

Validated with the full repository checks, saved-report CLI tests, real browser playback on desktop and mobile, and an adversarial review.

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 04 Sep 23:54
f01aca2

Whirl now produces portable HTML reports with embedded browser recordings and screenshots.

whirl --video --report-html evidence.html flows/

Reports include flow outcomes, execution checkpoints, step timings, failure details, captures, and browser environment information. They open offline and can be moved without the original artifacts directory. Missing recordings remain separate from test results.

Use --report-metadata context.json to add a report title, scope note, and flow descriptions. The metadata is also included when JSON output is requested. See HTML reports for the format.

HTML text is escaped, media is streamed into an atomic report write, and destinations are checked for conflicts with flows and artifacts. Embedded media retains the same contents as the original recordings and screenshots. Trace and HAR files remain external.

Validation: the full repository check gate, nine HTML CLI acceptance tests, desktop and mobile browser checks, offline media playback, and an adversarial review.

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 04 Sep 23:04
13d651d
  • Add HTTP requests with explicit headers and bodies, isolated from browser cookies, using existing response assertions and captures.

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 04 Sep 22:55
a9f129e
  • Add chrome, firefox, and safari user-agent aliases to flow options and the CLI, and record the resolved string in JSON reports.

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 04 Sep 22:18
dd128bf
  • Add RESPONSE to observe requests made by the browser, with status, header, JSON Pointer assertions, and response captures.

  • Add named popups with POPUP, explicit tab selection with TAB, CLOSE, and tab:name closed assertions.

  • Add frame: locator segments for cross-origin and nested iframes in actions, assertions, and captures.

  • Allow selected browser installation and add whirl doctor with repair commands.

  • Add JSON check diagnostics, stable error codes, runtime report metadata,
    and --rerun-failed for complete failed flows and their setup.

  • Add a runnable sample shop and a CI task with reports and failure artifacts.

  • Keep actionability details in failures and add whirl show-trace.

  • Reject input paths that select no flow files.

  • Preserve presence assertions before checks that accept an absent element.

  • Bound shim lifecycle operations and request writes so an unresponsive shim
    cannot stall a run indefinitely.

  • Move filesystem preparation off async workers and improve worker shutdown.

  • Accept a popup closing during a click only when its target received the
    click; a closure before delivery still fails.

  • Add opt-in diagnostic logging through WHIRL_LOG, with sensitive values
    excluded from log fields.

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 04 Sep 14:07
fcb95da
  • Add the reduced-motion option, which sets what the page's
    prefers-reduced-motion media query reports, so pages that honor it skip
    animations and background video.
  • SCREENSHOT and SNAPSHOT names may contain hyphens, so
    SCREENSHOT after-verification-code writes after-verification-code.png.
  • Lint warns about a count >= 1 assert directly followed by a check on the
    same locator; the second check already waits for the element.

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 04 Sep 11:40
b76394a
  • Add the setup option: a flow that runs first, once per invocation, whose
    saved state every file naming it starts from, and whose captures those
    files read as {{setup.name}}. A failed setup flow fails its dependents
    with a [setup] case without running them. whirl check validates setup
    references against the setup flow's captures.