Releases: stevez/playwright-repl
Releases · stevez/playwright-repl
v0.26.1
v0.25.0
2026-04-11
Features
- VS Code REPL autocomplete: Command dropdown filters
.pwcommands as you type, with keyboard navigation and highlighted prefix. (#691) - VS Code REPL object tree: JSON objects/arrays render as expandable
<details>/<summary>trees with colored primitives (matching debug console style). (#694) - VS Code REPL toolbar: Native clear, filter (All/Commands/Output/Errors/Info), and search icons in the panel title bar. Search with highlight, prev/next navigation, Escape to close. (#695)
- CLI
--httpmode: Start an HTTP server (port 9223) alongside the REPL for fast external command access. Works with standalone and bridge modes. (#696) - MCP HTTP server: MCP server automatically starts HTTP server on port 9223 for
pw-cli/--command --httpaccess. Request logging to~/.playwright-repl/http.log. (#698) pw-clishorthand: New binary —pw-cli "snapshot"sends commands via HTTP to a running session. No flags needed. (#699)- CLI
--commandflag: Run a single command and exit — works in standalone, bridge, and HTTP modes. (#670) - AI skill (SKILL.md): Teach AI agents (Claude Code, Cursor) to use
pw-clivia Bash — no MCP needed. Full command reference and workflow examples. (#702) - Lifecycle logging: MCP server and extension logging across startup, tool calls, and connection events. (#668)
Fixes
- Bridge mode single test skip: Fix index-based result mapping in Test Explorer — use
findResultByName()so clicking a single test runs correctly. (#693) - Offscreen bridge: Skip offscreen bridge for development installs, improve reconnection. (#667)
- Windows test workers: Fix repl-view mock tests failing on Windows with multiple workers. (#684)
Refactors
- VS Code extension: Extract
IBrowserManagerinterface,WebviewBaseabstract class, andBrowserControllerfrom Extension god class. (#671, #676, #678) - VS Code test infrastructure: Upstream mock test framework with
WebviewPagePool, server-side V8 coverage collection, and headless picker/recorder tests. (#669, #681, #687, #689)
v0.24.0
2026-04-09
Features
- Video capture: Record tab video in the Chrome extension via
tabCapture+MediaRecorder. Toolbar button with timer and recording indicator overlay on the page. (#588, #594, #595) - Video via CLI/MCP:
video-start/video-stopcommands available through the bridge. (#601) - Tracing:
tracing-start/tracing-stopcommands in extension, CLI, and MCP. Open trace files directly in the browser from the extension. (#604, #606, #612) - Element picker: Use Playwright's native
page.pickLocator()API in both VS Code and Chrome extension. Derive.pwlocators fromariaSnapshot(). (#615, #617, #625, #631) - Response formatting: Playwright
Responseobjects now display asResponse: 200 https://...instead of raw object representation. - Tracing/Video keyword commands:
tracing-start,tracing-stop,video-start,video-stop,video-chapterregistered in the command map with help text and completions. - CLI
--engineflag: Force standalone engine mode (no extension, keyword commands only). - Browser extension package: Publish extension dist as
@playwright-repl/browser-extension. (#652)
Fixes
- Bridge reconnection: Bridge server reconnects after extension WebSocket drops, with relaxed heartbeat (30s) and dead connection detection. (#642, #643, #650)
- Tab attach: Auto-attach tab on bridge connect with robust tab discovery. (#636)
- Chrome Web Store detachment: Handle forced extension detachment gracefully. (#645)
- Attach failure: Reset
crxAppon attach failure instead of detach-only retry. (#628) - pickLocator: Prevent
pickLocator()from blocking the bridge command queue. - playwright-crx: Bump to 1.21.2 with simplified attach logic. (#609)
- CDP relay removed: Remove CDP relay to avoid
chrome.debuggerconflict with bridge mode. (#600) - CI: Stabilize flaky history ArrowUp/ArrowDown test on macOS. (#637)
Refactors
- Locator command: Use
locator.normalize()instead of YAML snapshot cache. (#624)
v0.23.1
2026-04-05
Fixes
- Element picker: Fix locator generation for
<p>and other long-text elements — usegetByText()with a truncated substring instead of falling back to a generic CSS selector likelocator('p'). (#579) - ARIA roles: Add
paragraphimplicit role for<p>elements. - Element picker: Retarget to nearest interactive ancestor (link, button, etc.) before generating locators — matches Playwright codegen behavior. (#580)
v0.23.0
2026-04-05
Breaking Changes
- Playwright 1.59.1: Upgraded
@playwright-repl/playwright-crxfrom 0.15.3 to 1.21.1, bringing the underlying Playwright engine from 1.53 to 1.59.1.
Changes
- Snapshot API: Replaced deprecated
_snapshotForAI()withariaSnapshot({ mode: 'ai' }). (#573) - Element picker: Replaced removed
_generateLocatorString()withlocator.normalize()for resolving Playwright locators from picked elements. - Expect matchers: Full Playwright assertion matchers (
toBeVisible(),toHaveText(),toContainText(),toMatchAriaSnapshot(), etc.) now available in the extension service worker. - Completions: Regenerated
pw-completions.jsonfrom Playwright 1.59.1 type declarations (374 completions). - Build: Updated
extract-completions.mjsto resolveplaywright-coretypes via pnpm workspace path.
v0.22.1
chore: release v0.22.1 — fix workspace:* in published packages Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
v0.21.10
chore: release v0.21.10 — README improvements, changelog sync - Bump all packages to 0.21.10 - Sync changelogs for v0.21.7, v0.21.8, v0.21.9 - README: hero GIF, improved copy, demo repo link Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
v0.21.9
chore: release v0.21.9 — Mac bridge fix, VSIX packaging fix (#551) - Bump all packages to 0.21.9 - Update CHANGELOG Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
v0.21.8
chore: release v0.21.8 — fix VSIX packaging and npm publish - Bump all packages to 0.21.8 - Fix publish.mjs: delete devDependencies from temp package.json - Use pnpm publish to resolve workspace:* refs Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
v0.21.6
2026-04-02
Features
- esbuild-wasm fallback: Bridge-mode now bundles
esbuild-wasm— works on all platforms without requiring users to install esbuild. Native esbuild used when available for best performance. (#538)
Fixes
- Publish script: Replace Python zip with
adm-zipfor VSIX packaging. Fixes duplicate[Content_Types].xmlthat blocked marketplace publish. (#535)