Skip to content

v0.42.0

Choose a tag to compare

@PhenX PhenX released this 29 Sep 21:59
c04e7ed

This release lets the Flake Lab run its experiments: reproduce a flaky test and bisect it from the desktop app, mark the fixes that hold as verified, and see the page as it was at a failure, DOM included, beside its screenshot.

Full diff: v0.41.0…v0.42.0

✨ Highlights

  • 🧪 Flake Lab experiments — The project page gains a Flake Lab tab, and the desktop app runs a flake lab session in a worktree to reproduce a flaky test.
  • 🔎 Flake-aware bisect — The desktop app bisects a flake with its lab arm, and piwi flake verify --bisect answers each step.
  • ✅ Verified flake fixes — A verified flake fix shows as "Verified fixed" on the Flakiness tab, the flaky list and in quarantine, leaves the ranking until the test flakes again, and proposes releasing the quarantine.
  • 🖼️ The page at the failure — The failing step's DOM snapshot sits beside its screenshot in tabbed views, rendered at the moment the screenshot shows, and opens the picker from that DOM.
  • 🗑️ Delete runs in bulk — Select several runs and delete them together, following each one's progress; a project deletion shows its progress too.
  • 🔑 Browser sign-in for the editors — The VS Code and JetBrains extensions connect from a settings page with a browser sign-in, one key per instance.
  • 🤖 Two more MCP tools — describe_piwi and get_release_notes give an agent a description of Piwi and its release notes.

Features

Flake Lab

  • add the flake lab to diagnose and fix flaky tests, with its experiment runner and dashboard integration (c40b133, 5229925)
  • ui: add a Flake Lab tab to the project page, and a verified flake fix to the demo (e9f3fc9, a04c33e)
  • desktop: run a flake lab session and a flake-aware bisect in a worktree (333eca4)
  • app, desktop: add Reproduce this flake and the flake-aware bisect, with its lab arm, to the desktop app (cb11b52, 1b9110b)
  • reporter: answer a bisect step with piwi flake verify --bisect (ff55ca0)

Verified flake fixes

  • app: mark verified flake fixes on the flaky list and propose quarantine release (5dba253)
  • app: show verified fixed on the Flakiness tab, the flaky list and in quarantine (e34318c)
  • app: take a verified-fixed flaky test off the ranking until it flakes again (260ba0c)
  • demo: seed a verified flake fix and link the flake lab examples from the docs (8bae29f)

Failure evidence

  • ui: show the failing step's DOM snapshot beside its screenshot (dd25109)
  • ui: show the page at the failure as tabbed views and open the picker from its DOM (92dc8b3)
  • track caught errors and error locations in step traces (aaba845)

Runs & projects

  • app: open a project's latest run from its sidebar status badge (a207f38, 75e0819)
  • ui: delete a selection of runs and follow each run's deletion progress as it goes (5aaa89f, 87fb230)
  • app: show a project deletion's progress while it runs (4f68257)

Editors, agents & Piwi Picker

  • app: let the editor extensions sign in through the browser (5abe67c)
  • ide: connect from a settings page with a browser sign-in, one key per instance (d741eb4, 85216bc)
  • app: add the describe_piwi and get_release_notes MCP tools (1912e56, 8a37a76)
  • app: suggest extension URL patterns per environment, grouped by environment (e510f12, afe7a2b)

Docs

  • docs: link feature pages to demo examples from one checked registry (c70d70a, b4cc149)

Bug Fixes

Failure analysis & clusters

  • app: anchor failure analysis on the step that failed the test (031e383), closes #695
  • app: render the failure-time DOM at the moment the failure screenshot shows (f7833a6)
  • app: group per-row locator failures into one cluster (9e8814e)
  • app: list every affected test in cluster exports and share pages (02c154f)
  • ai: spend the auto-diagnose budget on clusters that need a diagnosis (256a03c)

Flaky tests & Flake Lab

  • app: assign a root cause to flaky tests on a real instance (c7bbe78)
  • app: escape test titles in the verify command's -g pattern (979dc35)
  • app: word verified fixes "Verified fixed" in quarantine and on the tab (3bb00cc)
  • demo: cover the pairing routes in the demo check and pass the lab source (8f89391)

Server, access & integrations

  • app: apply PIWI_* settings to the built server at runtime (215fbe6)
  • app: accept the desktop token in X-API-Key so piwi commands reach the app (c16f82a)
  • auth: grant all-projects access only on the upgrade that adds project access (b29450c)
  • app: make project access backfill resilient to failures (403ed7c)
  • app: send aspnetcore backend logs in the shape the dashboard reads (047567d)
  • app: give the tracker sync task one result shape (b627a29)
  • app: stop counting merged auto-heal PRs against max open PRs (ca82749)
  • reporter: use the offline cache by project name and keep shards in one run (deb7f37)
  • desktop: land on the folder section from Link folder (3baf728)

Notifications

  • notifications: keep the owners filter when creating a subscription (267a703)
  • notifications: send a full email for fixed and regressed clusters (6143417)

Interface & docs

  • app: correct in-product text the docs audit found out of date (36ce877)
  • app: resolve the code bugs found while checking the docs (d16a6fe)
  • ui: hide the Jira screenshot switches that do nothing (140cdb2)
  • ui: label the spec-health execution count as executions (6c08d62)
  • ui: stop pointing the empty function catalog at recordings (7c541b1)
  • docs: drop the MCP tool count from the ecosystem diagram (c5b1e14)
  • docs: list polished release notes on the What's new page (e6233f6)