Releases: vercel-labs/agent-browser
Releases · vercel-labs/agent-browser
v0.20.6
Patch Changes
-
fa91c22: ### Bug Fixes
- Stale accessibility tree reference fallback - Fixed an issue where interacting with an element whose
backend_node_idhad become stale (e.g. after the DOM was replaced) would fail with aCould not compute box modelCDP error. Element resolution now re-queries the accessibility tree using role/name lookup to obtain a fresh node ID before retrying the operation (#806)
- Stale accessibility tree reference fallback - Fixed an issue where interacting with an element whose
v0.20.5
Patch Changes
v0.20.4
Patch Changes
-
e2ebde2: ### Bug Fixes
- Broadcast channel lag handling - Fixed an issue where broadcast channel lag errors were incorrectly treated as stream closure, causing premature termination of event listeners in reload, response body, download, and navigation wait operations. Lagged messages are now skipped and the loop continues instead of breaking (#797)
Improvements
- Removed unused pnpm setup steps from the
global-installCI job, simplifying the workflow configuration (#798)
v0.20.3
Patch Changes
-
e365909: ### Bug Fixes
- Chrome launch retry - Chrome will now retry launching up to 3 times with a 500ms delay between attempts, improving resilience against transient startup failures (#791)
- Remote CDP snapshot hang - Resolved an issue where snapshots would hang indefinitely over remote CDP (WSS) connections by removing WebSocket message and frame size limits to accommodate large responses (e.g.
Accessibility.getFullAXTree), accepting binary frames from remote proxies such as Browserless, and immediately clearing pending commands when the connection closes rather than waiting for the 30-second timeout (#792)
v0.20.2
Patch Changes
-
944fa01: ### New Features
- Linux musl (Alpine) builds - Added pre-built binaries for linux-musl targeting both x64 and arm64 architectures, enabling native support for Alpine Linux and other musl-based distributions without requiring glibc (#784)
Improvements
- Consecutive
--auto-connectcommands - Added support for issuing multiple consecutive--auto-connectcommands without requiring a full browser relaunch; external connections are now correctly identified and reused (#786) - External browser disconnect behavior - When using
--auto-connector--cdp, closing the agent session now disconnects cleanly without shutting down the user's browser process
Bug Fixes
- Restored
refsdict in--jsonsnapshot output - Therefsmap containing role and name metadata for referenced elements is now correctly included in JSON snapshot responses (#787) - Fixed e2e test assertions for
diff_snapshotanddomain_filterto correctly reflect expected behavior (#783) - Fixed Chrome temp-dir cleanup test failing on Windows (#766)
v0.20.1
Patch Changes
-
bd05917: ### Bug Fixes
- Fixed AX tree deserialization to accept integer
nodeIdandchildIdsvalues for compatibility with Lightpanda, which sends numeric IDs where Chrome sends strings (#775) - Fixed misleading SIGPIPE comment to accurately describe the default Rust SIGPIPE behavior and why it is reset to
SIG_DFL(#776) - Fixed WebM recording output to use the VP9 codec (
libvpx-vp9) instead of H.264, producing valid WebM files; also adds a padding filter to ensure even frame dimensions (#779)
- Fixed AX tree deserialization to accept integer
v0.20.0
Minor Changes
-
235fa88: ### Full Native Rust
- 100% native Rust -- Removed the entire Node.js/Playwright daemon. The Rust native daemon is now the only implementation. No Node.js runtime or Playwright dependency required. (#754)
- 99x smaller install -- Install size reduced from 710 MB to 7 MB by eliminating the Node.js dependency tree.
- 18x less memory -- Daemon memory usage reduced from 143 MB to 8 MB.
- 1.6x faster cold start -- Cold start time reduced from 1002ms to 617ms.
- Benchmarks -- Added benchmark suite comparing native vs Node.js daemon performance.
- Chromium installer hardened -- Fixed zip path traversal vulnerability in Chrome for Testing installer.
Bug Fixes
- Fixed
--headed falseflag not being respected in CLI (#757) - Fixed "not found" error pattern in
to_ai_friendly_errorincorrectly catching non-element errors (#759) - Fixed storage local key lookup parsing and text output (#761)
- Fixed Lightpanda engine launch with release binaries (#760)
- Hardened Lightpanda startup timeouts (#762)
v0.19.0
Minor Changes
-
56bb92b: ### New Features
- Browserless.io provider -- Added browserless.io as a browser provider, supported in both Node.js and native daemon paths. Connect to remote Browserless instances with
--provider browserlessorAGENT_BROWSER_PROVIDER=browserless. Configurable viaBROWSERLESS_API_KEY,BROWSERLESS_API_URL, andBROWSERLESS_BROWSER_TYPEenvironment variables. (#502, #746) clipboardcommand -- Read from and write to the browser clipboard. Supportsread,write <text>,copy(simulates Ctrl+C), andpaste(simulates Ctrl+V) operations. (#749)- Screenshot output configuration -- New global flags
--screenshot-dir,--screenshot-quality,--screenshot-formatand correspondingAGENT_BROWSER_SCREENSHOT_DIR,AGENT_BROWSER_SCREENSHOT_QUALITY,AGENT_BROWSER_SCREENSHOT_FORMATenvironment variables for persistent screenshot settings. (#749)
Bug Fixes
- Browserless.io provider -- Added browserless.io as a browser provider, supported in both Node.js and native daemon paths. Connect to remote Browserless instances with
v0.18.0
Minor Changes
-
942b8cd: ### New Features
inspectcommand - Opens Chrome DevTools for the active page by launching a local proxy server that forwards the DevTools frontend to the browser's CDP WebSocket. Commands continue to work while DevTools is open. Implemented in both Node.js and native paths. (#736)get cdp-urlsubcommand - Retrieve the Chrome DevTools Protocol WebSocket URL for the active page, useful for external debugging tools. (#736)- Native screenshot annotate - The
--annotateflag for screenshots now works in the native Rust daemon, bringing parity with the Node.js path. (#706)
Improvements
- KERNEL_API_KEY now optional - External credential injection no longer requires
KERNEL_API_KEYto be set, making it easier to use Kernel with pre-configured environments. (#687) - Browserbase simplified - Removed the
BROWSERBASE_PROJECT_IDrequirement, reducing setup friction for Browserbase users. (#625)
Bug Fixes
- Fixed Browserbase API using incorrect endpoint to release sessions (#707)
- Fixed CDP connect paths using hardcoded 10s timeout instead of
getDefaultTimeout()(#704) - Fixed lone Unicode surrogates causing errors by sanitizing with
toWellFormed()(#720) - Fixed CDP connection failure on IPv6-first systems (#717)
- Fixed recordings not inheriting the current viewport settings (#718)