Changelog

What shipped recently in CLI.

September 2026


CLI·

Decide a visual change where you saw it: tr visual accept, and a Visual tab in Studio

The reporter learned to say which element caused a visual failure two days ago. This release closes the loop: the CLI and Studio show the same attribution, and a reviewer can accept or reject the new baseline without leaving the terminal — with a record of who decided what, and why.

  • tr visual accept / tr visual reject. Accept copies this run's render over the committed baseline file the report names — the one Playwright reads next time — and nothing else; reject changes no files. Both refuse what cannot be decided (a pass, a baseline that was only written, a size mismatch), both record the decision as a line in <report>/visual-decisions.jsonl before anything touches the network, and both sync it to TestRelic Cloud when the run was uploaded there — otherwise one line says why it stayed local. --note travels with the decision. See Visual regression.
  • tr visual lists a retried test once, with the final attempt's verdict, and names a comparison by snapshot, by <spec>::<snapshot>, or by test id — an ambiguous name is refused with the candidates listed, never guessed.
  • Studio has a Visual tab in the cloud test stack, beside Steps, Console and Network: baseline against this run, side by side or as Playwright's pixel diff, the element list with the changed element's box drawn over the render, and Accept / Reject wired to the platform. The same tab appears for a report opened from disk, without the decision buttons — nothing leaves the machine there.
  • The step cursor that scopes the panels is set from the Steps tab in the cloud test stack.

Released as tr 0.103.0 and the matching Studio build. Accept needs a report from @testrelic/playwright-analytics 2.16.2 or later, which records where each committed baseline lives.

CLI·

Errors that tell you what to do

When something goes wrong, Studio now tells you what happened and how to fix it.

  • Every error comes with steps. A short explanation, then what to do, in order. The technical detail goes to a log file instead of filling the dialog.
  • Every error has a page. Click More help in the message to jump straight to the matching section of the new Troubleshooting Studio page.
  • Two common failures are named properly now. Antivirus software that inspects HTTPS traffic can break Studio's connection — Studio recognises that and retries on its own. And a mistyped server address used to be blamed on antivirus, which no antivirus setting could fix.
CLI·

Uploads stop duplicating artifacts, and cards stop promising more than they have

  • tr upload no longer registers the same artifact twice, and the approval error names a command that actually works instead of a flag the CLI rejects.
  • An inline artifact card measures its own document before claiming there is more below it. A three-line table no longer gets a fade and a "Show the whole document" button that did nothing when pressed.
  • The app settles on one theme rather than rendering two.

Released as CLI v0.102.1 and v0.102.2.

CLI·

A Planner you can follow, and telemetry that tells the truth

  • Planner is re-navigated around one journey. A progress spine — Intake · Criteria · Build · Run · Sign-off — sits on every plan screen, and one status header carries the verdict counts plus a single next-action button that rewrites itself as you go (Build 3 tests → Run 12 → Sign off). Eight named screens collapse into one visible path; the verdict rules and the vocabulary are unchanged. See Planner.
  • Playwright projects now get the SDK fixture wired automatically. Navigations, network requests and console logs are collected by the fixture your specs import — not by the reporter — so a project that was only reporter-wired streamed those three empty while Studio said they were flowing. A run now repairs the import the way it already repairs the config.
  • Before a signed-in run uploads anything, Studio states what that framework's SDK actually captures, per framework rather than one generic sentence — Python Playwright, pytest, Appium, Maestro and evals each capture a different set, and each now says its own.
  • A plan's share sheet previews the host you are actually signed in to. Until the link exists, the row says it is created on publish instead of offering a URL that leads nowhere.
  • Cloud mode gets its Artifacts shelf back, and separates agent chats from plain chat.

Released as CLI v0.101.0 and v0.102.0.

August 2026


CLI·

Code and Cloud, side by side — and an Artifacts shelf that belongs to your account

  • Studio's two tabs now name the work instead of the network. Code lists the agent sessions on this computer, Cloud the Ask AI chats on your account — so a chat you started on another device finally appears here. A Cloud chat can't run on its own; it hands the ask to Code with your draft carried over and seeded, never sent for you.
  • Artifacts moved out of the single run and into the account: searchable, filterable, pinnable against a storage trim that no longer happens in silence, and exportable as PDF, PNG, Markdown, HTML or JSON. Drill-downs inside a document open Studio's own run and test screens — and images inside an artifact render at all now.
  • The three places that talk about uploading stop contradicting each other. Uploading follows your sign-in, runs an agent started upload too, and a run card now distinguishes "uploading was declined" from "nobody promised either way" instead of offering to switch on something already on.
  • The Reporter pane stops looping: its sign-in button no longer signs you out, the same sentence no longer appears twice in two colours, and the one thing that actually clears the failure is visible again.
  • Studio notices when a newer reporter has been published than the one your project has installed, and stays quiet when the check itself fails rather than crying "update available" at a bad network.

Released as CLI v0.96.0 through v0.100.0.

CLI·

Testing → Planner: plan a release, build tests from it, run, prove, share

  • Studio can now plan what a release promises, build tests from that plan, run them, prove it, and share the result — identical in Local and Cloud mode.
  • Evidence links now survive a test ID changing under them.
  • A trace alone now counts as evidence — a run isn't "missing artifacts" just because it has no screenshot or video.
  • A cloud run now records its own upload verdict, and the run panel warns when a project would upload to a different environment than the one you're signed in to.

Released as CLI v0.94.0.

CLI·

Chat survives an engine switch, and agent-run Git actions get an approval step

  • Switching engines mid-conversation no longer loses your chat history.
  • Agent-run Git actions now go through a visible approval surface instead of running silently.
  • Memory gets a read-side UI: a chat memory strip, and the Memory view split into Brief, Suggested, and Settings.
  • Also fixed: oversized run commands, run history now behaves as a filter, and header window-control buttons that weren't responding.