Per-release notes from the v0.1 MVP through the planned v0.13 BiDi expansion & hardening. Shipped releases are solid; planned releases are dashed.
The foundational architecture proving the token-efficient CLI + daemon model.
open, close, goto, click, fill, type, press, snapshot, screenshot, eval, title, url.data-se-ref reference mechanism.-s=<name>) and multi-browser support (Chrome, Edge, Firefox).The capabilities that make se-cli usable for real workflows beyond demos.
cookie-list/get/set/delete, localstorage-*, sessionstorage-*.tab-list, tab-new, tab-close, tab-select.install --skills: copy SKILL.md to .claude/skills/se-cli/ or .agents/skills/se-cli/.--profile=<path> persistent user data directory and --persistent auto-assign.Full DOM coverage — snapshots no longer stop at frame or shadow boundaries.
f3e15) navigate into framed content.el.shadowRoot for open shadow roots.Surfaces Selenium's implicit/explicit wait, pageLoad/script timeout, and ExpectedConditions as CLI-native configuration. Every capability that previously required code is exposed through the 4-tier priority: flag > ENV > config file > default.
--timeout, --wait, --retry, --retry-interval, --implicit-wait, --page-load-timeout, --script-timeout, --no-wait.SE_CLI_TIMEOUT, SE_CLI_WAIT, SE_CLI_RETRY, SE_CLI_RETRY_INTERVAL, SE_CLI_IMPLICIT_WAIT, SE_CLI_PAGE_LOAD_TIMEOUT, SE_CLI_SCRIPT_TIMEOUT..se-cli.json or ~/.config/se-cli/config.json with per-command overrides.config get/set/list/init (list shows the source per item: flag/env/file/default).await driver.wait(until.elementIsVisible(el), 5000);Closes the gap with Playwright CLI on basic interactions. All Actions commands automatically consume the v0.4 wait/retry configuration.
hover, dblclick, drag <start> <end> via driver.actions().dialog-accept [text] / dialog-dismiss via driver.switchTo().alert().upload <ref> <file> via sendKeys(path); resize <w> <h> viewport control.keydown/keyup, mousemove, mousedown/mouseup, mousewheel.actions-chain command: combine multiple actions into a single perform() to reduce round-trips.Playwright's expect(locator).toBeVisible() retry-until-timeout model, ported to a CLI with exit codes scripts can chain on.
expect <ref> visible|hidden|enabled|disabled|checked|unchecked.expect <ref> text "..." [--exact], value "...", count N, attribute <name> <value>.expect title "..." / expect url "...".0, failure 1 — chain with && in CI.--not inverts the assertion; defaults to v0.4 --timeout.Leverages the Selenium BiDi protocol (selenium-webdriver@4.46.0) for cross-browser network interception, console log capture, and request inspection — plus persistent element highlighting for visual debugging.
route <pattern> --status=/--body=/--headers=, route-list, unroute <index> / unroute --all via BiDi Network.addIntercept.console [level] — captures console.log/error/warn/info and JS exceptions via BiDi log.entryAdded; --since=5m time filter, --clear, js-error sub-filter.requests — list all buffered network requests with --filter, --status, --method, --clear; request <index> shows full details (headers, body, response).highlight <ref> [--style=] persistent element highlighting via CSS overlay; highlight <ref> --hide removes one; highlight --hide --all clears all; bare highlight lists active highlights.All capabilities via CDP Emulation.* / Network.* domains, BiDi as a fallback. Selenium has no native equivalent — CDP makes this trivial to port from Playwright.
open --geolocation= --timezone= --locale= --color-scheme= --viewport= --user-agent= --permissions=.device "iPhone 13" preset and device-list (reference Playwright DeviceDescriptors).emulate --offline, --throttle-network=slow3g|fast3g|custom:..., --throttle-cpu=4, --reset.state-save.Exposes se-cli as an MCP Server. Dual-track: CLI+SKILLS (token-efficient for coding agents) and MCP Server (persistent state for autonomous workflows) — both share the same underlying tool implementation. MCP server wrapper published as se-mcp.
se-cli mcp: start MCP Server using @modelcontextprotocol/sdk; stdio (default) and Streamable HTTP transports.run-code "async driver => ...": execute arbitrary Selenium snippets.generate-locator <ref>: best locator expression (By.role/By.css); role-based codegen.SKILL.md frontmatter compliance (name, description, license, compatibility) and multi-target install --skills.The differentiated stronghold — the area Playwright will never match. Extends browser coverage and connection capabilities.
--browser=safari via safaridriver (macOS only, no headless/BiDi/CDP).--endpoint=<url>: Selenium Grid 4 or remote WebDriver; grid status/attach/distribute --shard=x/y.--browser-binary, --driver-binary, --browser-args, --browser-prefs, --capabilities (cover all W3C WebDriver endpoints).pdf --filename=f via CDP Page.printToPDF (Chromium only).--browser=edge-ie: Edge IE mode for legacy IE scenarios (Windows Edge Enterprise only, auto-configures policy).High implementation complexity but significant differentiation potential. Scheduled late; may slip.
se-cli record: recording mode — user actions generate a complete test file.tracing-start / tracing-stop: simplified operation tracing (see "Will Never Implement").video-start / video-stop / video-chapter <title>: CDP or ffmpeg frame capture.show dashboard for multi-session monitoring; show --annotate for design feedback.A separate repo (se-extension-vscode) that depends on se-cli CLI being globally installed. Initial implementation includes MCP registration, commands, webview, and status bar.
postMessage..vscode/mcp.json on install.attach --extension: connect to a real browser through the extension.Expand WebDriver BiDi coverage beyond v0.7 and harden the daemon for production reliability.
browsingContext (viewport, print, CSP bypass, downloads), input (file dialogs), script (preload scripts), emulation (cross-browser alternative to CDP).snapshot --diff), memory-efficient buffers, gzip compression.data-se-ref attributes permanently.