diff --git a/.changeset/v0200-full-native.md b/.changeset/v0200-full-native.md deleted file mode 100644 index 17104c6..0000000 --- a/.changeset/v0200-full-native.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -"agent-browser": minor ---- - -### 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 false` flag not being respected in CLI (#757) -- Fixed "not found" error pattern in `to_ai_friendly_error` incorrectly 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) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7cd66f7..c9ba657 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,15 +1,38 @@ # agent-browser +## 0.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 false` flag not being respected in CLI (#757) + - Fixed "not found" error pattern in `to_ai_friendly_error` incorrectly 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) + ## 0.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 browserless` or `AGENT_BROWSER_PROVIDER=browserless`. Configurable via `BROWSERLESS_API_KEY`, `BROWSERLESS_API_URL`, and `BROWSERLESS_BROWSER_TYPE` environment variables. (#502, #746) - **`clipboard` command** -- Read from and write to the browser clipboard. Supports `read`, `write `, `copy` (simulates Ctrl+C), and `paste` (simulates Ctrl+V) operations. (#749) - **Screenshot output configuration** -- New global flags `--screenshot-dir`, `--screenshot-quality`, `--screenshot-format` and corresponding `AGENT_BROWSER_SCREENSHOT_DIR`, `AGENT_BROWSER_SCREENSHOT_QUALITY`, `AGENT_BROWSER_SCREENSHOT_FORMAT` environment variables for persistent screenshot settings. (#749) ### Bug Fixes + - Fixed `wait --text` not working in native daemon path (#749) - Fixed `BrowserManager.navigate()` and package entry point (#748) - Fixed extensions not being loaded from `config.json` (#750) @@ -21,15 +44,18 @@ ### Minor Changes - 942b8cd: ### New Features + - **`inspect` command** - 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-url` subcommand** - Retrieve the Chrome DevTools Protocol WebSocket URL for the active page, useful for external debugging tools. (#736) - **Native screenshot annotate** - The `--annotate` flag 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_KEY` to be set, making it easier to use Kernel with pre-configured environments. (#687) - **Browserbase simplified** - Removed the `BROWSERBASE_PROJECT_ID` requirement, 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) @@ -47,10 +73,12 @@ ### Minor Changes - 94521e7: ### New Features + - **Lightpanda browser engine support** - Added `--engine ` flag to select the browser engine (`chrome` by default, or `lightpanda`), implying `--native` mode. Configurable via `AGENT_BROWSER_ENGINE` environment variable (#646) - **Dialog dismiss command** - Added support for `dismiss` subcommand in dialog command parsing (#605) ### Improvements + - **Daemon startup error reporting** - Daemon startup errors are now surfaced directly instead of showing an opaque timeout message (#614) - **CDP port discovery** - Replaced broken hand-rolled HTTP client with `reqwest` for more reliable CDP port discovery (#619) - **Chrome extensions** - Extensions now load correctly by forcing headed mode when extensions are present (#652) @@ -58,13 +86,16 @@ - **Auth cookie persistence** - Auth cookies are now persisted on browser close in native mode (#650) ### Bug Fixes + - Fixed native auth login failing due to incompatible encryption format (#648) ### Documentation + - Improved snapshot usage guidance and added reproducibility check (#630) - Added `--engine` flag to the README options table ### Performance + - Added benchmarks to the CLI codebase (#637) ## 0.16.3 @@ -312,6 +343,7 @@ ### Minor Changes - 316e649: ## New Features + - **Cloud browser providers** - Connect to Browserbase or Browser Use for remote browser infrastructure via `-p` flag or `AGENT_BROWSER_PROVIDER` env var - **Persistent browser profiles** - Store cookies, localStorage, and login sessions across browser restarts with `--profile` - **Remote CDP WebSocket URLs** - Connect to remote browser services via WebSocket URL (e.g., `--cdp "wss://..."`) @@ -320,6 +352,7 @@ - **Enhanced skills** - Hierarchical structure with references and templates for Claude Code ## Bug Fixes + - Screenshot command now supports refs and has improved error messages - WebSocket URLs work in `connect` command - Fixed socket file location (uses `~/.agent-browser` instead of TMPDIR) @@ -327,6 +360,7 @@ - State load and path-based actions now show correct output messages ## Documentation + - Added Claude Code marketplace plugin installation instructions - Updated skill documentation with references and templates - Improved error documentation diff --git a/cli/Cargo.lock b/cli/Cargo.lock index 4d7a2fb..ebc5e43 100644 --- a/cli/Cargo.lock +++ b/cli/Cargo.lock @@ -45,7 +45,7 @@ dependencies = [ [[package]] name = "agent-browser" -version = "0.19.0" +version = "0.20.0" dependencies = [ "aes-gcm", "async-trait", diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 946be35..db0b469 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "agent-browser" -version = "0.19.0" +version = "0.20.0" edition = "2021" description = "Fast browser automation CLI for AI agents" license = "Apache-2.0" diff --git a/package.json b/package.json index 62174b4..551d29d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "agent-browser", - "version": "0.19.0", + "version": "0.20.0", "description": "Headless browser automation CLI for AI agents", "type": "module", "files": [