diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 0043b220..2b114496 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.26.1" + ".": "0.27.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c59ad50..d5cf5fcd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,61 @@ > Entries from 0.9.0 onward are generated by [release-please](https://github.com/googleapis/release-please). Earlier entries were backfilled from the [GitHub release notes](https://github.com/PiwiTests/platform/releases) when the project adopted it. +## [0.27.0](https://github.com/PiwiTests/platform/compare/v0.26.1...v0.27.0) (2026-09-03) + + +### Features + +* add companion tools card and improve streaming error messaging ([47e07e4](https://github.com/PiwiTests/platform/commit/47e07e4d71375b455e27b0f691de3ddb2fc62f41)) +* **ai:** feed clues to diagnosis and spend the auto-diagnose budget on the unclued ([b402cd1](https://github.com/PiwiTests/platform/commit/b402cd1693131b41f162ae4bcade6541a228ed56)) +* **app:** add a deterministic cluster title helper ([3ae8690](https://github.com/PiwiTests/platform/commit/3ae86903d454541e2bd325862c7a4a111563c1f1)) +* **app:** add the deterministic failure-clue engine ([d78ebfa](https://github.com/PiwiTests/platform/commit/d78ebfa08b89b18ca102897c43fafc81bd1fa3a7)) +* **app:** attribute each timeline action to the method it came from ([3816cd8](https://github.com/PiwiTests/platform/commit/3816cd82b7649ed135c8de83d61d9b24c4126ff3)) +* **app:** explain a failure in one line before the raw error ([8d1ca43](https://github.com/PiwiTests/platform/commit/8d1ca432ce68415db50a53c772c055d5b1baaf49)) +* **app:** explain a failure in one line before the raw error ([a7a6a60](https://github.com/PiwiTests/platform/commit/a7a6a60f9782f469bf32d8e9306785657ac4947d)) +* **app:** let a partial run verify a fix when it covers the whole cluster ([ed06fdf](https://github.com/PiwiTests/platform/commit/ed06fdf30268152c1a933308d9ee9755f0ac45b3)) +* **app:** load and serve deterministic clues per execution ([902d5b3](https://github.com/PiwiTests/platform/commit/902d5b3293a261e64c402c90557c4e41d3dfb9e5)) +* **app:** parse playwright errors into a structured record and a one-line headline ([3dfb5dd](https://github.com/PiwiTests/platform/commit/3dfb5dd9fc999483692d75db27a6366baa19eeac)) +* **app:** put a failing execution's evidence on one timeline ([775c503](https://github.com/PiwiTests/platform/commit/775c503b2be47c339046c5012a6ff07a84d9fad3)) +* **app:** put a failing execution's evidence on one timeline ([a3d56ca](https://github.com/PiwiTests/platform/commit/a3d56caf45545fe82ad3c4cc7651c1a872a1a7db)) +* **app:** re-run a cluster's affected tests in CI from its page ([4ae80a0](https://github.com/PiwiTests/platform/commit/4ae80a02e817da32f8d7c140c99d3283b21469ac)) +* **app:** report backend-log evidence on the setup ladder ([c141a44](https://github.com/PiwiTests/platform/commit/c141a44b2d349cee7f65f800114cb93388f78319)) +* **app:** resolve a run's execution from its file, title and retry ([cff8dfb](https://github.com/PiwiTests/platform/commit/cff8dfb4f188676d316d1cae902e64d0f913efa4)) +* **app:** screenshot any route and seed the dev DB in one command ([b123511](https://github.com/PiwiTests/platform/commit/b123511b62ac5b1f11996b4692eff990f20f1c12)) +* **app:** screenshot any route and seed the dev DB in one command ([65e8771](https://github.com/PiwiTests/platform/commit/65e8771f221e57d1ee3a82ea97e3f060076fc26f)) +* **app:** surface deterministic clues for every failure ([72a10a3](https://github.com/PiwiTests/platform/commit/72a10a3cb662c6dc82466a093d3235effc47116e)) +* **app:** verify fixes from partial runs, notify the fixer and re-run from the dashboard ([48a02f8](https://github.com/PiwiTests/platform/commit/48a02f8a9b83e3f31f24144c38adbaaca593e2dd)) +* **db:** keep network request start times ([4ea3ff3](https://github.com/PiwiTests/platform/commit/4ea3ff3d9f812b6b00ba8d79f58c075ca75474f9)) +* **notifications:** close the loop on fix verification ([5033f7e](https://github.com/PiwiTests/platform/commit/5033f7e8d7b94db21dbc2c9202d135ae8c9926aa)) +* **notifications:** tell the person who fixed a cluster ([846b314](https://github.com/PiwiTests/platform/commit/846b31420819cc1c9ab01620ccd9a5f8cb02144a)) +* **reporter:** print a dashboard link per failed test ([d6d1826](https://github.com/PiwiTests/platform/commit/d6d1826c0bfbd034139b9f594bb957023ca05e0a)) +* **reporter:** print a dashboard link per failed test ([83e2207](https://github.com/PiwiTests/platform/commit/83e22079ce9a1e3d087ae42ac327fb90160dbe44)) +* **reporter:** upload attachments that carry a body instead of a path ([8460daa](https://github.com/PiwiTests/platform/commit/8460daa066c4da168137b0fa95deb3a0f911ae05)) +* **ui:** link attempt chips to their sibling executions ([01f696d](https://github.com/PiwiTests/platform/commit/01f696dd18c43dd8b371cfcdc99335d4ea607db1)) +* **ui:** name clusters deterministically wherever the signature was the name ([b4b0b57](https://github.com/PiwiTests/platform/commit/b4b0b57602761b4e5c251d1eeb899a5527049446)) +* **ui:** point the app at companion tools where their job comes up ([f8514cb](https://github.com/PiwiTests/platform/commit/f8514cb8eae78d8dabf0e422033641e6f51630db)) +* **ui:** show the error line and cluster badge on failing tree-view rows ([e59297e](https://github.com/PiwiTests/platform/commit/e59297e6904c998140bcfe100a2cb9c5d263b2a5)) +* **ui:** surface deterministic clues on the diagnosis tab ([d80c4c2](https://github.com/PiwiTests/platform/commit/d80c4c217916344e65393f8a2f27afc9aa475d88)) + + +### Bug Fixes + +* **app:** gate healing on resolution failures and prefer same-environment baselines ([1f33ee7](https://github.com/PiwiTests/platform/commit/1f33ee7ebd66b6fcc472f0850f2f2cbb17c6e533)) +* **app:** gate locator healing on a resolution failure ([4aa928a](https://github.com/PiwiTests/platform/commit/4aa928a61c5a66ff299d829f153e41537fe2e712)) +* **app:** let a test timeout's pending action outrank the step title ([fcd43c5](https://github.com/PiwiTests/platform/commit/fcd43c52a462d7075d05be2e0c77a86ad694d2fe)) +* **app:** prefer same-environment, then same-branch baselines for the diffs ([4c68883](https://github.com/PiwiTests/platform/commit/4c68883af277d1277f661aba2d72214f341f96c1)) +* **notifications:** link alerts to the execution and quote the error head ([392a0d5](https://github.com/PiwiTests/platform/commit/392a0d5f2c3c637145f2988e8b574e393d8b12e5)) +* **reporter:** keep unsubmitted runs recoverable and surface delivery failures ([a1eba73](https://github.com/PiwiTests/platform/commit/a1eba73a7d2735a083e86576f5ce2a7767aa3b29)) +* **ui:** align the diagnosis rail breakpoint and gate jump chips on rendered sections ([cbc6558](https://github.com/PiwiTests/platform/commit/cbc65581641f4a108523657f38e08fe0e501bc11)) +* **ui:** fix the AI card copy, the missing-cluster state and the demo Share button ([67b37c4](https://github.com/PiwiTests/platform/commit/67b37c4c3f5aa2a12179e024dc226ede7be104d7)) +* **ui:** keep the detail tab strip a flex row so the tab help hint sits beside it ([c3b54b6](https://github.com/PiwiTests/platform/commit/c3b54b69d20246248cfb47a5da4fa807df556dfa)) +* **ui:** move the blocked-tests list off the pinned summary into the Diagnosis tab ([2e4430b](https://github.com/PiwiTests/platform/commit/2e4430baf7bdbbb6429fec0a611623d2773d853e)) +* **ui:** render error text with its ANSI colors instead of raw escape codes ([697dc41](https://github.com/PiwiTests/platform/commit/697dc418d8ca68cdb8ccad0e54abf90b4866e111)) +* **ui:** render the failing locator as code and label the environment diff sides ([0158b95](https://github.com/PiwiTests/platform/commit/0158b950b3d0553030dbf2ab958e43616689c742)) +* **ui:** stop the navbar repeating the breadcrumb and keep the trail readable ([753beaf](https://github.com/PiwiTests/platform/commit/753beafe1dd4af164d8e015921389793cdc6a3a8)) +* **ui:** surface failure evidence first on the execution page ([5703c39](https://github.com/PiwiTests/platform/commit/5703c3990cdc42670c916a93fac174be840f1516)) +* **ui:** surface failure evidence first on the execution page ([4a53bbd](https://github.com/PiwiTests/platform/commit/4a53bbd1fb1fc1851778c9d5de59f97f99141bdb)) + ## [0.26.1](https://github.com/PiwiTests/platform/compare/v0.26.0...v0.26.1) (2026-08-29) diff --git a/apps/application/package.json b/apps/application/package.json index 5f09431b..12e092c8 100644 --- a/apps/application/package.json +++ b/apps/application/package.json @@ -1,6 +1,6 @@ { "name": "@piwitests/dashboard", - "version": "0.26.1", + "version": "0.27.0", "private": true, "type": "module", "imports": { diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 3df6c00b..24f902d5 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@piwitests/desktop", - "version": "0.26.1", + "version": "0.27.0", "private": true, "description": "Piwi Dashboard desktop application (Tauri) — bundles the server and runs it locally.", "type": "module", diff --git a/apps/desktop/src-tauri/Cargo.toml b/apps/desktop/src-tauri/Cargo.toml index ea076443..3c1a5fb7 100644 --- a/apps/desktop/src-tauri/Cargo.toml +++ b/apps/desktop/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "piwi-desktop" -version = "0.26.1" # x-release-please-version +version = "0.27.0" # x-release-please-version description = "Piwi Dashboard desktop app" authors = ["piwitests"] license = "MIT" diff --git a/apps/desktop/src-tauri/tauri.conf.json b/apps/desktop/src-tauri/tauri.conf.json index c31dffa7..18bee44e 100644 --- a/apps/desktop/src-tauri/tauri.conf.json +++ b/apps/desktop/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Piwi Dashboard", - "version": "0.26.1", + "version": "0.27.0", "identifier": "io.piwitests.dashboard", "build": { "frontendDist": "../src" diff --git a/apps/extension/manifest.json b/apps/extension/manifest.json index 865025e0..cebfa25e 100644 --- a/apps/extension/manifest.json +++ b/apps/extension/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 3, "name": "Piwi Picker", "short_name": "Piwi Picker", - "version": "0.26.1", + "version": "0.27.0", "description": "Ranked, stable Playwright locators for any element on the page — scored the same way Piwi's dashboard scores them.", "browser_specific_settings": { "gecko": { diff --git a/apps/extension/package.json b/apps/extension/package.json index 0d76772e..26c81b14 100644 --- a/apps/extension/package.json +++ b/apps/extension/package.json @@ -1,6 +1,6 @@ { "name": "@piwitests/extension", - "version": "0.26.1", + "version": "0.27.0", "description": "Piwi Picker — a browser extension for ranked, stable Playwright locators, picked from the live page", "private": true, "type": "module", diff --git a/examples/playwright-fixtures/package.json b/examples/playwright-fixtures/package.json index 4d1b0f95..1190ec46 100644 --- a/examples/playwright-fixtures/package.json +++ b/examples/playwright-fixtures/package.json @@ -11,8 +11,8 @@ "typecheck": "tsc --noEmit" }, "devDependencies": { - "@piwitests/instrumentation-nitro": "0.26.1", - "@piwitests/reporter": "0.26.1", + "@piwitests/instrumentation-nitro": "0.27.0", + "@piwitests/reporter": "0.27.0", "@playwright/test": "^1.56.1", "consola": "^3.4.2", "h3": "^1.15.11", diff --git a/integrations/aspnetcore/PiwiTests.Instrumentation.AspNetCore/PiwiTests.Instrumentation.AspNetCore.csproj b/integrations/aspnetcore/PiwiTests.Instrumentation.AspNetCore/PiwiTests.Instrumentation.AspNetCore.csproj index 8f09cc14..3983eb75 100644 --- a/integrations/aspnetcore/PiwiTests.Instrumentation.AspNetCore/PiwiTests.Instrumentation.AspNetCore.csproj +++ b/integrations/aspnetcore/PiwiTests.Instrumentation.AspNetCore/PiwiTests.Instrumentation.AspNetCore.csproj @@ -4,7 +4,7 @@ enable 12 PiwiTests.Instrumentation.AspNetCore - 0.26.1 + 0.27.0 ASP.NET Core integration for Piwi Dashboard — captures backend logs per HTTP request for Playwright test visibility piwitests https://github.com/PiwiTests/platform diff --git a/integrations/nitro/package.json b/integrations/nitro/package.json index 6f75201f..95e46408 100644 --- a/integrations/nitro/package.json +++ b/integrations/nitro/package.json @@ -1,6 +1,6 @@ { "name": "@piwitests/instrumentation-nitro", - "version": "0.26.1", + "version": "0.27.0", "description": "Nitro/Nuxt server plugin for sending backend logs to Piwi Dashboard via the X-Piwi-Logs response header", "homepage": "https://piwitests.dev", "repository": { diff --git a/package-lock.json b/package-lock.json index 2d4d2bf9..b312d39f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { "name": "platform", - "version": "0.26.1", + "version": "0.27.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "version": "0.26.1", + "version": "0.27.0", "workspaces": [ "packages/core", "packages/picker-dom", diff --git a/package.json b/package.json index ec5161b0..6f618c4c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "0.26.1", + "version": "0.27.0", "type": "module", "workspaces": [ "packages/core", diff --git a/packages/core/package.json b/packages/core/package.json index e085cf6c..2ca93650 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@piwitests/core", - "version": "0.26.1", + "version": "0.27.0", "description": "Pure cross-cutting logic and wire shapes shared by the Piwi Dashboard app and the Playwright reporter", "private": true, "type": "module", diff --git a/packages/picker-dom/package.json b/packages/picker-dom/package.json index a231af46..d9354313 100644 --- a/packages/picker-dom/package.json +++ b/packages/picker-dom/package.json @@ -1,6 +1,6 @@ { "name": "@piwitests/picker-dom", - "version": "0.26.1", + "version": "0.27.0", "description": "Shared DOM element-picker overlay — probing, hover/highlight, anchor scoping and locator syntax highlighting shared by the reporter's live picker and the dashboard's snapshot picker", "private": true, "type": "module", diff --git a/packages/reporter/package.json b/packages/reporter/package.json index f4d8a6b9..91bb0d46 100644 --- a/packages/reporter/package.json +++ b/packages/reporter/package.json @@ -1,6 +1,6 @@ { "name": "@piwitests/reporter", - "version": "0.26.1", + "version": "0.27.0", "description": "Playwright reporter that streams results, traces and HTML reports to a Piwi Dashboard instance", "url": "https://github.com/PiwiTests/platform", "homepage": "https://piwitests.dev", diff --git a/packages/server/package.json b/packages/server/package.json index 88153cbe..61b0f01b 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,6 +1,6 @@ { "name": "@piwitests/server", - "version": "0.26.1", + "version": "0.27.0", "description": "Self-hosted dashboard that keeps and explains your Playwright test results — run with npx @piwitests/server", "type": "module", "bin": {