Releases: joshuavial/browserplex
Releases · joshuavial/browserplex
Release list
v0.5.0 — headless by default + --headed
Changed
- Consistent headless default ([#1]): all browser types now default to headless. Previously
onlychromiumwas headless-by-default whilefirefox/webkitopened a window. Electron always
opens a real window regardless.
Added
--headedflag (and MCPheadedparam) onsession create/storage load— opt into a
visible window for any browser type.--headlessstill works as the explicit headless opt-in.
v0.4.0 — bp CLI + Electron
Added
bpCLI front-end (newbpbin) over a shared core, backed by a background daemon that
holds live browser sessions across separatebpinvocations (auto-spawned on first use; unix
socket at~/.browserplex/daemon.sock). All 28 tools are reachable as ergonomic subcommands
(bp session …,bp navigate,bp screenshot -o,bp eval,bp fill --field, …).electronsession type — drive an Electron app's renderer through the existing action surface
(session_create type="electron"withexecutablePath/electronArgs/cwd/env).- Daemon lifecycle: idle-exit (
BROWSERPLEX_IDLE_MS,0disables), stale-socket recovery, and
bp serve/bp daemon status/bp daemon stop. BROWSERPLEX_DIRenv to relocate the runtime dir (daemon socket/pid/log + stored sessions).bp prime— prints an AI-agent primer (daemon model, ref workflow + gotchas, command reference) so
an agent can drive the CLI correctly without external docs.electron_evaluate— run JS in the Electron MAIN process (electron sessions only), e.g. to stub
native dialogs.- Daemon IPC, CLI e2e, and protocol unit tests.
Changed
- Minimal runtime footprint: only
@modelcontextprotocol/sdk,playwright, andzodare required
runtime dependencies.sharp(screenshot auto-resize) is now an optional dependency — installed
by default so auto-resize keeps working, loaded lazily, and skippable via--omit=optional(falls
back to full-size screenshots).camoufox-js(stealth engine) andelectronare dev-only and loaded
lazily — installcamoufox-jsto use that engine; drive Electron apps via the target app's own binary. - Internal refactor: framework-agnostic core under
src/core; the MCP server moved to
dist/mcp/server.js(thebrowserplexbin name andnpx browserplexusage are unchanged). MCP
tool surface is byte-identical.
Known limitations
- The
electrontype opens a real window (not headless); Linux CI needs a virtual display (xvfb). - An abandoned/open client connection suppresses the daemon's idle-exit until it closes.
- A non-socket file left at the socket path is not auto-recovered (a real dead-daemon leftover is a
socket and is recovered); stale-socket recovery is best-effort/non-atomic (fine for single-user).