Repository navigation
v0.42.0
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 --bisectanswers 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_piwiandget_release_notesgive 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_piwiandget_release_notesMCP tools (1912e56, 8a37a76) - app: suggest extension URL patterns per environment, grouped by environment (e510f12, afe7a2b)
Docs
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
-gpattern (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-Keysopiwicommands 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)