Skip to content

Releases: PiwiTests/piwi

v0.63.0

Choose a tag to compare

@PhenX PhenX released this 29 Oct 19:22
cb463d0

Features

  • app: add Debug in my editor beside a failure's failing line (c9a8313)
  • app: collect a whole run for an offline export (2b903fc)
  • app: desktop notifications with no setup, and no server-only settings in the desktop app (18ecc58, b07a0dd)
  • app: give the offline exports and the quality report a clearer layout (034c2f0)
  • app: let coding agents follow, steer and read the desktop app's own runs from its MCP server (8368926)
  • app: let each desktop run hold its failures with a Hold failures switch (c143df5)
  • app: make the desktop server the hub of the runs its shell starts (02b3a9a)
  • app: offer End the test in the desktop app's Local runs tray (f1bc418)
  • app: one test selection per cluster, CI re-run of one test, and clearer local re-runs (f9c9dc9)
  • app: refresh the offline exports and the quality report, and export a whole run (82e2b0a)
  • app: render a whole run in the offline exports (94ded87)
  • app: say on a run's running tests that nobody shares it live, and how to (bcfb040, de3fef4)
  • app: say what each desktop re-run runs, and re-run an execution from its header (e0787be)
  • app: say what each re-run runs, and re-run one test from its execution page (3688315)
  • app: serve the desktop app's runs to agents from its MCP server (d82491f)
  • app: share a run live from the desktop app's Local runs tray (b1dffbc)
  • app: show a run a developer shares live, and end its views when they stop (337d13a)
  • app: show the desktop app's runs live in its window, with their code to copy (90b625f)
  • app: watch each worker of a live CI run from the run page, in a project that turns it on (79964d9)
  • app: watch each worker of a live run from the run page, in a project that turns it on (7526c3c)
  • demo: calm the showcase cut's camera, enlarge its dashboard, and harden the take and cut (7145afe)
  • demo: film the showcase on a virtual screen and cut it into the video (c8adc58)
  • desktop: name the bundled server as the hub of each run the shell starts (e1856f8)
  • desktop: name the bundled server as where the runs' picks go (a443836)
  • extension: list the desktop app's runs in the Runs window (c1ebf3f)
  • extension: offer End the test in the Runs window, and mark a terminal's runs (9c377e4)
  • extension: share a run live from Piwi Picker's Runs window (e1dfca5)
  • extension: watch and steer a headless stopped page live, pick on its image, reach remote windows (584b64d)
  • ide: end the test at a stop, and steer the runs started in a terminal (4afdf31)
  • ide: give a JetBrains IDE's agents the runs' MCP server, and share a stop with Playwright (bd204b9)
  • ide: let a run control host hold no failure of a run, and name itself to the workers (e916a80)
  • ide: list the runs' MCP server for VS Code's agent, and share a stop with Playwright (2759f7f)
  • ide: read on the hub that a stop is one an agent asked for (416d46c)
  • ide: run a failed test from a debug link, stopping once at its failing line (5739ecb)
  • ide: serve the agents' run tools in a host's own words, and give back the code made (0339284)
  • ide: serve the editor window's runs to agents as an MCP server (508f860)
  • ide: serve the runs to agents as the service starts, and keep a failure's title apart (c24ba8c)
  • ide: share a run live from VS Code and JetBrains, and stop sharing it (fd5dd02)
  • ide: share a run live, or stop, from the editor service and the run hub (4af73c3)
  • ide: share a run on your machine live with the team instance, from any surface, at any time (e9f7e8b)
  • notifications: show outcomes, history and failing code in emails, Slack and Teams (a6931a5)
  • notifications: show outcomes, history and failing code in Slack and Teams messages (ca6bcde)
  • notifications: show outcomes, history and highlighted code in notification emails (1f8364e)
  • reporter: end a stopped test, and follow the editor from a run started in a terminal (317c628)
  • reporter: let a run on a developer's machine be shared live on the team instance (e2344b5)
  • reporter: name a run on its run channel by PIWI_RUN_REF before PIWI_ORIGIN_REF (1b9a393)
  • reporter: play the click count of a viewer's button down and up, and say so as input-clicks (dbd6082)
  • reporter: read and act on a stopped page for an agent, and share its browser (c6c4f84)
  • reporter: send each worker's page to the instance's live view while someone watches (ed9a046)

Bug Fixes

  • app: clear the run channel folders a killed desktop server left behind (eb7441e)
  • app: close the desktop gaps the review found (3bf1898)
  • app: count what the desktop window has not read on its runs' stream (30df947)
  • app: end each worker's view on the run page, whatever ends the run's live view (6b2d4e3)
  • app: find a fix's verify and bisect tests by title, and fix what the re-run review found (c75405b)
  • app: give the desktop runs' picks a token that opens their route alone (bb5775d)
  • app: hold a desktop run's failure only where the person opened it, never in a lab ...
Read more

v0.62.0

Choose a tag to compare

@PhenX PhenX released this 27 Oct 22:20
085a373

Features

  • app: close the browser tab after handing a link to the desktop app (0bd85b3)
  • app: close the handed-off browser tab, and move the dev server to port 7494 (699591f)
  • app: pick the runs that set a project's status with a status filter (eee75af, 0ea692c)
  • extension: follow and steer the editor's runs from a runs window and a global shortcut (0efe109)
  • extension: follow and steer the editor's runs from piwi picker's runs window (78188a9)
  • extension: show in the runs window what each code from a stop came to (efc5e32)
  • extension: write code from a stopped test in the runs window, and show a failure held there (edc560f)
  • ide: let piwi picker find the editor's runs and steer them through a local hub (32c85cc)
  • ide: pause, step and resume a running test from vs code and the jetbrains ides (25e4d0f)
  • ide: render the code made at a stopped test and send it to the client to write (8ff645c)
  • ide: tell piwi picker what each code from a stop came to, and a failure's error (ce8a281)
  • ide: write assertions and mocks from a paused test, and hold a failure for a watched run (7fc8c44)
  • ide: write code at a stop from a JetBrains IDE, count the caret's locator, show a held failure (5ce43e8)
  • ide: write code at a stop from VS Code, count the cursor's locator and show a held failure (3b814cc)
  • reporter: do a stopped test's page work for code from a stop, and hold a failure (9b92f78)
  • reporter: find servers, processes and more piling up; show resources on the failure timeline (070bd97)
  • reporter: name the error of a failure held at its line (d838663)
  • reporter: place servers and child processes at their line and see more piling up (168c0ed)
  • reporter: start the pause bar's pick and recording at a stop from the editor (f39ac1b)
  • ui: draw the test's worker resources on a failed execution's timeline (b3af9e4)
  • ui: show the way a guide takes to each stop and number the parts it explains (ce5d3de, 609f222)

Bug Fixes

  • app: read step locations relative to the project and name the test's own slow HTTP call (6691411)
  • app: read step locations relative to the run's working directory (916ca4d)
  • app: resolve status filters in one query and tighten their edge cases (eec3695)
  • auth: authenticate before looking up a route's id (aee379a)
  • close the review findings in the editor, cli, extension, server and attachment reads (c5f4417)
  • demo: load Playwright and Chromium in the demo media scripts as the other scripts do (a9f1fe2)
  • demo: regenerate the dev seed without rewriting the committed seed version (25bba51)
  • deps: keep OpenTelemetry on SDK 2 so the Windows installers build again (43a34f1)
  • extension: bind a page's replay origin to its frame as well as its tab (e40a7cb)
  • extension: follow the runs only while a runs window is open, and say code was sent, not written (6a3b831)
  • extension: hide a mock's credentials by one written rule, keeping a url's host and ids (cbd28b1)
  • extension: hide every credential a mock writes, by name and by shape (27ad79f)
  • extension: prove the editor on its live route and keep the runs window's controls in place (3e3da57)
  • extension: start a replay from a page only on that page's origin (ec5ec2d)
  • ide: count the locator again when the caret comes back, and write in a jetbrains file once open (bb56715)
  • ide: draw the paused line's icon with the editor's own icons (715a721)
  • ide: have the editor prove it holds the pairing's token, and harden the hub (1b8697c)
  • ide: hide the credentials in every url of a stopped test's requests (238b76b)
  • ide: hold a failure only while a runs window follows, and write a rerun's code where it stands (bd07ebf)
  • ide: name the code actions shorter above the stopped line, so the stop's row fits (c29f034)
  • ide: read a spec's tests past comments, and take the only case of a title (c48f1c8)
  • ide: read the bundled service's discovery file once it is renamed into place (3433b5e)
  • ide: run the test at the cursor by its describe blocks, not by its title alone (e5b34fc)
  • ide: say on the hub that a stop whose page is not known has no image (c0f6c15)
  • ide: skip only commented-out lines, read regex literals, and fall back narrowly (568840d)
  • ide: tell no client of a failure nobody watches, and name the locator a count refuses (fe9c750)
  • ide: write no code at a stop's line where no statement starts (050f5cb)
  • release: keep the release notes, and the previous release latest until installers are in (6d30525)
  • reporter: hold a failure once its test ended, and keep what it shows to the failure (f03229c)
  • reporter: hold a failure only for an editor that shows one, and send no secret of a region (21a856d)
  • reporter: honor PIWI_DESKTOP_APP in the cli and say when --api-key is not sent (f0eeffe)
  • reporter: keep the editor's pairing token from the processes a test starts (a0706de)
  • reporter: let a stop that comes once the test's teardown began go on unshown (28cde68)
  • reporter: let a waiting stop go on when its context or page closes ([3114dda](https://gith...
Read more

v0.61.0

Choose a tag to compare

@PhenX PhenX released this 26 Oct 22:13
4a24205

Features

  • ai: add isolated codex and official deepseek cli providers (f9e864b)
  • ai: add isolated local codex cli provider (6769ad0)
  • ai: add official deepseek harness cli provider (a6144c1)
  • ai: dock the assistant panel and add question history, next-question hints, stop and usage (e34a904, e9cc191)
  • ai: stop the Codex and DeepSeek CLI runs of an assistant answer (f9125a0)
  • app: draw a live run's CPU, memory and open pages on its timeline (624066b, 801da44)
  • demo: give the sample's nitro backend server and combined coverage (66bafcd)
  • notifications: post Slack notifications through the Web API with a bot token (36ca3f5)
  • notifications: post Slack notifications through the Web API with a bot token (92c08f9), closes #618 (92c08f9)
  • reporter: per-test server coverage for Nitro backends, and CSS rule coverage (57f5e4b)
  • reporter: post a watched run's CPU, memory and open pages as it runs (11504da)
  • reporter: record per-test server coverage from nitro backends (0528ee8)
  • reporter: record the style sheet rules each test matched (48be085)
  • ui: show each running test's worker cores, memory and open pages (3cb0a6d)

Bug Fixes

  • app: replay a run's select options and write its manual steps in the reader's language (1f24e19)
  • app: replay the option a select step chose in a run's bug report (3bf98ee)
  • extension: escape a manual step's run values and read all its options (9fd7744)
  • extension: write a run's manual steps in Piwi Picker's language (33d730d)
  • notifications: keep Slack bot tokens encrypted on every create path (5466b97)
  • reporter: keep css rule coverage sound against compiled sheets and page changes (9b9bf49)
  • reporter: read a three-part request id's process key, and harden the nitro coverage transform (888c688)
  • reporter: read connectOptions before the environment in the base URL check (a37da6b)
  • reporter: say when checkBaseUrl ran from another network than the browser (f5d2134)
  • reporter: say when checkBaseUrl ran from another network than the browser (244be01), closes #912 (244be01)
  • reporter: type the nitro coverage runtime for the dashboard's strict check (5cc0c00)
  • ui: render the same timeline on the server and in the browser for a live run (388a55a)

v0.60.0

Choose a tag to compare

@PhenX PhenX released this 25 Oct 08:36
49af367

Features

  • ai: add an in-app assistant that answers, guides and proposes changes (f1ee982)
  • ai: answer questions about the instance with an assistant that reads the MCP tools (7c6681c)
  • ai: define the assistant's answer blocks and replies (fa923ab)
  • ai: open the assistant in a panel whose answers show, guide and ask (8303743)
  • ai: suggest guides where they help, answer the demo's questions from its seed (b7fc772)
  • ai: walk users through common tasks and let the assistant propose changes (21fe4ff)
  • app: draw each stop as a paused band and keep paused time out of step statistics (66c307b)
  • app: select the tests that ran a change's lines, over MCP and piwi run impact (c1ca2bd, 5f4bb6b)
  • app: write MCP tool descriptions in Markdown and open each tool on the MCP page (a496c8d, f703414)
  • demo: seed a test paused at editor breakpoints, with its screenshot scenes (1781443)
  • ide: let the editor's agent sign in to piwi's mcp server for a token of its own (527db76)
  • ide: list Piwi's tests in VS Code's Testing view, with their latest results (1d03b9a)
  • ide: mark the changes of a page or route no test reaches, before the pull request does (6400d58)
  • ide: record from a test paused at a breakpoint or page.pause(), in its own page (f37ff96)
  • ide: the Testing view, uncovered changes, recording from a pause, and an MCP sign-in (08e4fca)
  • reporter: pause at breakpoints through playwright's debugger (acdc1ad, b3a712f)
  • reporter: send local runs to the desktop app with desktopApp: 'prefer' (3c96ef1, bda7cfc)
  • ui: filter a run's tests by outcome from the count bar alone (0b29d0c)
  • ui: give every block of the dashboard a tested guide anchor (c894427)
  • ui: rebuild the setup page around one connect wizard (9fbade9)
  • ui: show a running run's progress on the browser tab (a5fd1b9, 8473f31)
  • ui: write a run's counts on its bar and give every page one 16 px gutter (5a2348e)

Bug Fixes

  • ai: close the races and gaps the assistant's code review found (741ec41)
  • ai: let a server run the assistant on Claude Code, reaching its tools over IPv4 or IPv6 (eca46cf)
  • app: budget the controls the failure pages open on, not what the fold cuts (53edb96, 4c9edd5)
  • app: correct MCP tool descriptions against what the handlers return (f4f3fa8)
  • app: keep MCP tool summaries plain and the tool rows within the type scale (6130f57)
  • app: keep the tests line-level impact cannot rule out (964a782)
  • app: lighten a guide's overlay so the page around the stop stays readable (24d6387)
  • app: name the AI settings page "AI", as the docs and the dashboard call it (395ed55)
  • app: name the test's own HTTP call as the slow request when it is the failed step (3aa9b43, 63c7386)
  • app: read a paused step's own time in clues, hints, exports and the AI context (accbeaa)
  • app: show marker details on hover and rework the markers panel (beb2e9f, 0edcab3)
  • ci: keep the full chromium build out of the headless shell's cache (a0e5f42)
  • demo: serve the sql.js WASM of the installed sql.js (ece156c)
  • deps: adapt to the npm minor-and-patch group, holding back three updates (70c3ee7)
  • deps: bump @libsql/client to 0.18 and set the sqlite pragmas on each pooled connection (3f18da5, 9890753)
  • deps: keep OpenTelemetry on one release line (SDK 2.12) (216004d)
  • deps: take the fixes for the npm and RustSec advisories that have one (6fd7064)
  • deps: take the open Dependabot updates and the advisory fixes they unblock (c0ec2bd)
  • extension: count a Back after a page load as the person's, and shorten card-long names (6596018)
  • extension: give the keys a replay sends with page events their key codes (43a6c9c)
  • extension: hand over replay input a browser dialog took, and let the recording bar move (38a59a2)
  • extension: record a click whose candidate also finds its container's parent (1f92f33)
  • extension: record an icon's own control, and only the person's own Back, Forward and reload (983325f)
  • extension: replay on the recorded locator first, and say why a step is left to the person (8f80066)
  • extension: replay with every recorded locator, and record what real sites showed it missed (d6d38e4)
  • extension: replay with every recorded locator, and record what was missed (1095f43)
  • extension: weigh a brittle recorded locator's vote less in a replay (9796b47)
  • ide: address the independent review of the editor plugins' larger items (f9fe5e4)
  • ide: close the gaps a review found in the testing view, a pause's recording and its runs (e78a204)
  • ide: watch the JetBrains editor service's process, not the internal LSP listener (39afdcf, [e516a15](https://github.com/Pi...
Read more

v0.59.0

Choose a tag to compare

@PhenX PhenX released this 22 Oct 21:11
4262165

Features

  • app: open a path in VS Code through the Piwi extension, with no workspace root (5edc315)
  • app: pick elements inside open shadow roots (0eb3280)
  • app: pick the outlined or the focused element with Enter (115f5c6)
  • extension: add a picked locator to the session from the pick results (b060c01)
  • extension: build the quick wins and the ranking fixes of the Piwi Picker audit (3a9c75b)
  • extension: derive the repeated row or card pattern in multi-pick (35bf614)
  • extension: give a recording a title its spec and steps file take (cb18885)
  • extension: give the Locators console a history, Copy as and Add to session (ea7ffdc)
  • extension: keep the picked element outlined and offer pick another (9507834)
  • extension: list the sites Piwi Picker may run on, with Revoke (9d8a729)
  • extension: narrow a locator to the repeated row or card it sits in (02dc310)
  • extension: offer the paired desktop app as the instance, and the reverse (df137c9)
  • extension: pause and resume a recording from its bar (550bb78)
  • extension: replay a plain recording before exporting it (d1aaeb5)
  • extension: say in the popup and the settings whether the instance answers (2ee3cb2)
  • extension: send the Locators console's locator to the paired editor (171273f)
  • extension: send the top locator to the editor from the elements sidebar (53711e7)
  • extension: show the compact tiles' hints and say what to do when not set up (5b5b441)
  • extension: skip the anchors step when a locator finds the element alone (5f9974b)
  • extension: start Pick, Lint and Tested elements from the Piwi panel's toolbar (a3e031d)
  • extension: suggest lint test ids from names and repeated containers (7209922)
  • extension: word each pick result instead of showing its score (d1dd1cf)
  • extension: write the action and the assertion the element calls for (1a8a0dd)
  • ide: a getting-started walkthrough in VS Code and a first-run notification in JetBrains (eaa6e66)
  • ide: build the editor extensions audit, and keep every --repeat-each result (41632b1)
  • ide: complete locators after any page expression and inside expect( (bef8eb7)
  • ide: one Failures node per Playwright config, and a status bar for the active file's config (fdb65b6)
  • ide: proxy settings, keybindings, a trace setting and a log command in VS Code (fe17837)
  • ide: run or verify a recorded test three times, and choose another verified locator (e9a4436)
  • ide: run the test at the cursor, choose a failure's severity, run tests as VS Code tasks (9513629)
  • ui: show each list as the user left it when they come back to a page (5b78dbc)

Bug Fixes

  • db: keep every --repeat-each result of a test in a run (a8ae723)
  • desktop: pass Tauri's window handle to the windows 0.62 taskbar calls (f799d18)
  • extension: copy the locators console's assertion from its match count and first match (7c52a50)
  • extension: keep a recorded event when a pause or a title write lands beside it in firefox (552d538)
  • extension: keep the lines of this browser across Disconnect and reconnect (56b08c1)
  • extension: keep the playwright view's labels from overlapping (34c17a5)
  • extension: keep the recording's evidence out of a replay started on its page (e1f26b3)
  • extension: keep the set-aside lines until a reconnection is kept (fc6061c)
  • extension: make the non-modal panels regions instead of dialogs (5e0bc4a)
  • extension: prove the desktop app before sending its token as an instance key (47d43c0)
  • extension: refresh the bug bar's evidence once a screenshot is stored (8fb6e65)
  • extension: share add to session's name checks and storage errors across its forms (f85f134)
  • extension: stop the recording bar's pulse under reduced motion (9b79bee)
  • extension: suggest toHaveAccessibleName only for an element that has a name (37f9d02)
  • extension: write a review title only to the recording it reviews, and never after discard (42201b0)
  • ide: a read after a run moved asks the instance again, and every caller gets its own copy (054f8c3)
  • ide: reach an instance through the proxy the editor names, on every Node version (41a542b)
  • ide: read a recording's project options again when .env changes, with the project's Node (64cec3a)
  • ide: read a repeated run's total from its counts, which hold each repetition (b17e37e)
  • ide: record into CommonJS specs, page-object fixtures and multi-line calls correctly (cd3be45)
  • ide: redraw only the coverage marks that changed, and follow renamed files (4841594)
  • ide: serve JetBrains local requests off the I/O thread, and record in test folders only (fc20b55)
  • ide: start the JetBrains editor service again when the IDE stops it while it starts (7027b98)
  • ui: record each tab's scroll and keep the user's choices over old links (a551819)
  • ui: stop restoring a page's scroll once the page scrolls it itself ([f3f8312](f3f83121b40a6036333d13bb65...
Read more

v0.58.0

Choose a tag to compare

@PhenX PhenX released this 21 Oct 21:50
2335151

Features

  • app: count uncovered changes by one rule and link coverage with the Test Map (469cba6)
  • app: count uncovered changes by one rule and name the changed lines no suite ran (2457dc7)
  • app: keep a test's history across renames and moves with external test IDs (75ffff7)
  • app: keep a test's history when it is renamed or moved, by its external ID (b29f16a)
  • app: link external test IDs to the test management tool and name tests by them (8fc536b)
  • app: link the VS Code extension's Marketplace listing next to the JetBrains plugin (535667e, 700222b)
  • app: merge two test cases to join a history a rename split (b9a5063)
  • extension: capture the store and docs illustrations of Piwi Picker (532a92a)
  • ide: capture the editor extensions' illustrations in the real editors (ef2ef40)
  • ide: capture the JetBrains plugin's illustrations in WebStorm (7de7053)
  • notifications: end every exported document and email with the Piwi credit (7300c00)
  • reporter: read external test IDs and report duplicates before the run (a43fa3a)
  • ui: link a file's coverage and its place in the Test Map both ways (e7727cf)
  • ui: list the MCP clients beside their setup (bbf5c90)
  • ui: name the failing test by its title path on the failure pages (e6d6eeb)
  • ui: put the logo at the top of the sidebar (8db1219)
  • ui: rebrand to the violet identity (f644eb7, 71fd172)

Bug Fixes

  • app: let a failed directory upload settle before its cleanup (e6ea6ae)
  • app: make external ID matching order-independent and keep its run notes (cc859e8)
  • app: rename the matching options type off a name Nitro shares globally (3b5c451)
  • app: show every required Jira field in the create form and give long values the full row (22e9cc7, e4113a7)
  • app: take up the review of the coverage and Test Map pass (e4e8ba0)
  • docs: take up the review of the landing-page refresh (a1c166c)
  • notifications: load the brand mark under Node's ESM loader (d6536cb)
  • ui: call a file's lines no suite ran "lines not run", never a gap (ac53768)

Performance Improvements

  • app: bundle date-fns and drizzle-orm into the server build (0baa50c)
  • app: fetch Home's Flake Lab inbox in the browser, from the kept profiles (881f47d)
  • app: load the optional server dependencies on first use (cb3a613)
  • ci: bring the performance comparison under eight minutes (4a23717, ceb9df8)
  • ci: ship the Windows Node sidecar without UPX compression (5e3fb66)
  • desktop: cut the desktop app's startup time (4c1bb4f)
  • desktop: give the readiness probe's connect a 200 ms bound (84e8470)
  • desktop: keep Node's compile cache of the server between launches (c306694)

v0.57.0

Choose a tag to compare

@PhenX PhenX released this 20 Oct 20:57
20d616b

Features

  • app: add any Jira field on demand in the create-issue dialog, with Jira's icons (2050bca)
  • app: add any Jira field on demand when creating an issue (2a6f7d3)
  • app: download a failed execution as a .piwibug for Piwi Picker's Replay (b9cac71)
  • app: highlight a bug report's steps from core's step parts (cfdb65c)
  • app: improve dotnet coverage exclusions and server restart resilience (890d7fd)
  • app: replay a failed execution in Piwi Picker from a .piwibug export (5d25eb5)
  • app: show assignees' avatars in the create-issue pickers (2d41b71)
  • app: show Jira's icons in the create-issue pickers (bd4f435)
  • extension: give every button an icon and a color, and highlight steps everywhere (952d808)
  • extension: give the pick and page tools' buttons icons and colors (cbfe12b)
  • extension: give the recorder's and bug report's buttons icons and colors (05b94e6)
  • extension: give the replay's buttons icons and colors, and highlight its steps (107af2d)
  • extension: give the settings, popup and DevTools buttons icons and colors (76aea3a)
  • extension: highlight a step's parts as core writes them, not by reading its sentence again (e3a9348)
  • extension: replay manual steps and count, contains and checked assertions (5de53d7)
  • reporter: keep a .NET coverage build out of production (4f7974d)

Bug Fixes

  • app: close the icon route's encoded-path escape and stop caching outages (b7ebc41, 1bbc8bc)
  • app: harden the .piwibug export of a failed execution (d159576)
  • extension: center the icons on their grid and on whole pixels (a036e76)
  • extension: draw no focus ring around the bug report's and the review's dialogs (2958580)
  • extension: fix what the review of the restyled screens found (ac3c727)
  • extension: follow a bug replay into the tab a step opens (23ce63c)
  • extension: follow a replay into the tab a step opens (90f1af0)

v0.56.0

Choose a tag to compare

@PhenX PhenX released this 19 Oct 18:58
9e56f3d

Features

  • demo: add a relabeled field whose locator fix is copied, not applied (b306936)
  • ui: disable a jira connection's inbound webhook and sync the tracker statuses from settings (3364860)

Bug Fixes

  • ai: bound every field of an AI step resolution and rate-limit each caller (4b4f188)
  • ai: read a groq stream's token usage from x_groq.usage (759e6df)
  • ai: run the Claude CLI with its tools off, one turn and an allowlisted environment (c76b841)
  • ai: send the claude cli a text-only diagnosis prompt and list no image modality for it (6039245)
  • app: answer local storage exists() for regular files only (bad3546)
  • app: bound trace archive inflation and verify trace and resource digests (21d53ef)
  • app: build scm links only from http and https repository urls (5e638f5)
  • app: close the high-severity findings of the security audit (ed6ca78)
  • app: close the medium-severity findings of the code audit (bc7e9b1)
  • app: close the remaining audit findings, dead code and unused api routes (105e127)
  • app: count upload caps on the bytes read and check case-file tokens first (367b874)
  • app: delete stored traces no execution links in the nightly sweep (6980bd8)
  • app: extract uploaded reports a few files at a time into private folders (c87e6fa)
  • app: give a Coolify deploy a site URL with its scheme (918ad32)
  • app: keep a cluster's last seen run when an older run is imported (d37cc4e)
  • app: keep a jira webhook token as its digest and look the connection up by it (1f4ee07)
  • app: keep attachments of one execution that share a file name (2728fbe)
  • app: keep run stream tokens out of api responses and store them as digests (7b50646)
  • app: keep the failing locator's own element out of healing suggestions (6e6e699)
  • app: leave bisect, reproduction and incident runs out of flaked-again and quarantine streaks (63ca8d9)
  • app: merge concurrent shards and deliveries, and fix data-integrity bugs (f29362b)
  • app: merge shards that arrive together into one run and settle it once (10b4993)
  • app: open a run with more executions than the database binds parameters (e287d70)
  • app: parse error texts in linear time, whatever their blank lines (a3098db)
  • app: quote every generated locator string and edit tests only with canonical locators (1a33c6b)
  • app: rank the Analytics flakiest tests over the whole scope before the top-50 cut (b7565e0)
  • app: read every project's SCM repository from a pinned url, never from run metadata (c7413e2)
  • app: read fixed-before candidates with no landed fix last on postgresql too (72f259a)
  • app: read one default branch in Analytics, the project tabs and the flaky leaderboard (f977ec8)
  • app: recommend timeouts from finished runs the flakiness use reads (b51a6e8)
  • app: refuse to be framed by another site with x-frame-options and frame-ancestors (25b66a5)
  • app: retry an outbox row after 1, 5, 15, 60 and 240 minutes, as documented (301e895)
  • app: serve only report archives from inside a .gz, read as a bounded stream (19eb66e)
  • app: store a batch delivery once when the reporter sends it again (4c40033)
  • app: store every uploaded trace in the blob store under the hash the server computes (8df29bd)
  • app: suggest only locators related to the failing one in locator healing (e91a3a2)
  • app: suggest only related elements in the ARIA healing fallback (208515c)
  • app: take a Fly.io instance's site URL from its app name (9396ab3)
  • app: turn nitro instrumentation off when NODE_ENV is not set (e8c7479)
  • app: unfurl links through safeFetch and connect only to the addresses it checked (cff9680)
  • app: validate an uploaded run and create it before storing its reports (a297539)
  • app: weigh a test with no recorded duration at the median when balancing shards (426dd61)
  • auth: ask for PIWI_SETUP_TOKEN on the first-admin form and generate it in one-click deploys (e9e0654)
  • auth: count concurrent login attempts against the throttle before checking the password (7ebe557)
  • auth: count oauth and extension lookup misses before the lookup runs (482551d)
  • auth: create a ticket's share link only when the issue is filed, with share:create (edc01cb)
  • auth: hash passwords with scrypt at N=2^17, encode the cost, and rehash on sign-in (e78fe06)
  • auth: keep first-admin setup open while no administrator exists (0db18e7)
  • auth: keep the last administrator under concurrent demotions on postgresql (eb9cdbd)
  • auth: revoke every session of the account on sign-out (8b5de6a)
  • auth: store gate verdicts and mark incidents only with run:submit or run:control (cd1c291)
  • ci: build the dashboard without the Nuxt build cache on CI (3d3559a)
  • ci: keep publishing and signing secrets away from pull-request runs of the release (ef53a77)
  • ci: read the tool configs as a local run does when running knip (27c65fa)
    *...
Read more

v0.55.0

Choose a tag to compare

@PhenX PhenX released this 17 Oct 14:42
88f3703

Features

  • app: chart combined coverage over time and export it as LCOV or Cobertura (b12d214)
  • app: combine every suite's coverage of a commit into one ratio (080f1fd)
  • app: combine unit and end-to-end coverage into one ratio per commit (24ed380)
  • app: count named areas of the code apart in coverage, the trend and pull requests (b8824ad)
  • app: count patch coverage and unit suites in the pull-request comment and gate (cbe11ca)
  • app: explore a commit's coverage as a foldable tree, every bar split by suite kind (dd292ad)
  • app: rank the least-covered files, mark a file's lines by suite and step through its gaps (bf256b3)
  • app: say what a commit's coverage numbers leave out (739dde6)
  • app: show a project's combined coverage on its coverage, run and file pages (a6889c1)
  • app: store uploaded coverage reports by commit and suite, executable lines by file version (951cc1c)
  • db: keep a branch's newest coverage report per suite, earlier totals frozen (5f8fc80)
  • demo: show a branch push superseded by the next one (25a70ea)
  • demo: wire the sample app for combined coverage (84b116c)
  • ide: one pair of coverage mark colors in the dashboard and the editors, with what they mean (c62c29a)
  • ide: record the browser's coverage by function from a browser file's lens (04bd0a5)
  • reporter: add piwi coverage upload for unit-test coverage reports (6933dbd)
  • reporter: follow suites across origins, pages and documents for coverage and route manifests (984b840)
  • reporter: read Cobertura and LCOV reports, and keep the browser functions that did not run (cde1ca3)
  • reporter: record code reach on every page a test has and every document it leaves (c9a39ee)
  • reporter: record the lines of each function that ran in the browser (5926401)
  • reporter: resolve code reach against the roots of each origin (6748d4b)
  • reporter: say when an uploaded commit's coverage was superseded (92472a7)
  • reporter: upload a .NET test host's run-level report, written at exit, as --format piwi (a70fa64)
  • reporter: upload the route manifest of every instrumented origin a run reaches (88a4a17)

Bug Fixes

  • app: ask the run coverage of server files only, and say browser files unfold (947e926)
  • app: carry coverage only from earlier commits, recount every stale commit (36186b9)
  • app: give the coverage trend's change the subtitle, clear of a long legend (74f2c84)
  • app: keep the coverage overview in place, its links on the pinned commit and area (71e5cae)
  • app: list every Jira project, not just the first page (310ab9e)
  • app: list every Jira project, not just the first page (41dc77b), closes #816 (41dc77b)
  • app: merge coverage uploads safely, keep a default-branch commit, bound report bodies (e4febf1)
  • db: store when a commit's coverage arrived, count report inventories once (53c3689)
  • demo: run the unit coverage without a shell, upload only this run's reports (29c7e23)
  • ide: mark a file with its own coverage, not another file's ending with the same path (5c545ff)
  • reporter: bound the end-of-run wait for browser blob ids too (b466e25)
  • reporter: count every instrumented assembly's lines, drop lines built from other sources (fd086cb)
  • reporter: fetch an origin's manifest as it is first seen, through the backend request helper (864d341)
  • reporter: place a function that ran on its own lines through a production bundle's map (ab8c415)
  • reporter: read each document's coverage against the scripts it parsed, and keep only what ran (bc9f6fb)
  • reporter: read quoted Cobertura values in one pass, match scope patterns without backtracking (f3127ca)
  • reporter: send every browser function in parts, keep idle ones only at functions (102f2ca)
  • reporter: wait at the end of a test for the code reach a closing page started stopping (32f421d)
  • reporter: write a .NET host's coverage report in time, one file per host (fa84f0c)

Performance Improvements

  • reporter: keep code reach's script cache small enough to hold a large app's modules (3cf95c9)
  • reporter: keep each decoded source map in four typed arrays, not three per line (c91d5bc)

v0.54.0

Choose a tag to compare

@PhenX PhenX released this 15 Oct 13:20
138f9ad

Features

  • app: add a file coverage page and show coverage insights where decisions are made (c4c40b1)
  • app: compare, protect and check test coverage through the api and mcp (d24fae0)
  • app: give a file's coverage its executable lines and an etag (c522611)
  • app: list a test's coverage in the execution page's source tab, with sources by blob (f0d1dc8)
  • app: show each test's coverage in the dashboard and the editors, and what it reveals (ab92919)
  • ide: show recorded coverage as line marks, function lenses and hovers in the editors (459ad9e)
  • reporter: capture the calls of playwright's request fixture with their logs and coverage (e4b6641)

Bug Fixes

  • app: answer 403 or 404 with an error page for an entity the viewer cannot open (023b3b0, 2cfb8a2)
  • app: fix what the review of the coverage work found (9ba8fdc)
  • ide: count function-recorded lines as run and read coverage past another branch's code index (096c576)

Performance Improvements

  • app: read the run page's coverage capability only once a test is selected (81f0b30)