Routine maintenance and dependency updates.
Release history
stagehand releases
The SDK For Browser Agents
All releases
47 shown
screenshot option + ignoreDefaultArgs + clipboard
Routine maintenance and dependency updates.
Hybrid default agent mode
Minor fixes and improvements.
Full changelog
What's Changed
- [chore]: bump various transitive deps across monorepo by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/2098
Full Changelog: https://github.com/browserbase/stagehand/compare/stagehand-server-v3/v3.6.7...stagehand-server-v3/v3.6.8
- `observe()` now accepts `ignoreSelectors` to skip specified DOM elements
- Default SEA binary server-v3 binds only to localhost for tighter network isolation
Full changelog
What's Changed
- [feat]: add
ignoreSelectorstoobserve()by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/2096 - Default SEA binary server-v3 to only bind to localhost by @pirate in https://github.com/browserbase/stagehand/pull/2091
Full Changelog: https://github.com/browserbase/stagehand/compare/stagehand-server-v3/v3.6.6...stagehand-server-v3/v3.6.7
- Model API key made optional in OpenAPI specification
Full changelog
What's Changed
- remove experimental requirement on agent variables (#2079) by @miguelg719 in https://github.com/browserbase/stagehand/pull/2080
- remove default temp by @filip-michalsky in https://github.com/browserbase/stagehand/pull/2076
- [STG-1935] fix: strengthen observe element ID prompting by @shrey150 in https://github.com/browserbase/stagehand/pull/2089
- [chore]: commit updated spec by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/2095
- STG-1806 Make model API key optional in OpenAPI by @monadoid in https://github.com/browserbase/stagehand/pull/2094
Full Changelog: https://github.com/browserbase/stagehand/compare/stagehand-server-v3/v3.6.5...stagehand-server-v3/v3.6.6
- Deprecation notice: Browserbase project ID is deprecated (STG-1808)
- Added `ignoreSelectors` parameter to the `extract()` function
Full changelog
What's Changed
- fix: preserve OOPIF frame registry parent edge by @monadoid in https://github.com/browserbase/stagehand/pull/2077
- remove hardcoded agent temp by @filip-michalsky in https://github.com/browserbase/stagehand/pull/2068
- [feat]: add
ignoreSelectorstoextract()by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/2084 - Manual eval dispatch workflow by @miguelg719 in https://github.com/browserbase/stagehand/pull/2085
- [STG-1808] Deprecate Browserbase project ID by @monadoid in https://github.com/browserbase/stagehand/pull/2039
Full Changelog: https://github.com/browserbase/stagehand/compare/stagehand-server-v3/v3.6.4...stagehand-server-v3/v3.6.5
- Changed default agent mode from unspecified to hybrid
- Evals v2 introduced
- STAGEHAND_API_URL now used for Stagehand API client
Full changelog
What's Changed
- [chore] update supported CUA models (#2064) by @miguelg719 in https://github.com/browserbase/stagehand/pull/2065
- default agent to hybrid mode by @tkattkat in https://github.com/browserbase/stagehand/pull/2047
- Evals v2 by @miguelg719 in https://github.com/browserbase/stagehand/pull/2011
- Remove old trace by @miguelg719 in https://github.com/browserbase/stagehand/pull/2075
- [STG-1808] Use STAGEHAND_API_URL for Stagehand API client by @monadoid in https://github.com/browserbase/stagehand/pull/2040
Full Changelog: https://github.com/browserbase/stagehand/compare/@browserbasehq/[email protected]/v3.6.4
- Global flags for session configuration: --proxies, --advanced-stealth, --solve-captchas, --region, --keep-alive, --session-timeout, --block-ads
- `browse cdp` command to stream DevTools protocol events with --domain filtering and --pretty formatting
- `browse upload` command for uploading files to input elements
Full changelog
Minor Changes
- #1935
666baf1Thanks @shrey150! - Add global flags for commonly used Browserbase session parameters (--proxies, --advanced-stealth, --solve-captchas, --region, --keep-alive, --session-timeout, --block-ads). These flags configure the Browserbase session in remote mode.
Patch Changes
-
#1905
a4ca430Thanks @derekmeegan! - Addbrowse cdp <url|port>command to attach to any CDP target and stream DevTools protocol events as NDJSON. Supports--domainfiltering,--prettymode for human-readable output, and clean piping to files or jq. -
#1906
34598b9Thanks @derekmeegan! - Addbrowse upload <selector> <files...>command for uploading files to<input type="file">elements. Supports single and multiple file uploads, works with both local and remote Browserbase sessions. -
#2056
e87f167Thanks @derekmeegan! -browse cdpnow also callsPage.setLifecycleEventsEnabledwhenever the Page domain is enabled, so consumers receivePage.lifecycleEventnotifications (init,commit,DOMContentLoaded,load,firstPaint,firstContentfulPaint,networkAlmostIdle,networkIdle, etc.) in addition toPage.frameNavigated.--prettymode formats lifecycle events with the milestone name. No effect on consumers that pass--domainwithoutPage. -
#2049
ed4db53Thanks @shrey150! - Use the exact DevToolsActivePort websocket path for local auto-connect and bare-port CDP attach to avoid extra remote debugging probes before the real browser connection.
- Add LLM middleware support
- v4 API route stubs
- Browse CLI metadata and session features
Full changelog
What's Changed
- Include LLM headers in ModelConfig by @miguelg719 in https://github.com/browserbase/stagehand/pull/1874
- Fix schema parsing bug for Pydantic
.model_json_schema()by @miguelg719 in https://github.com/browserbase/stagehand/pull/1873 - feat(cli): add browse-cli metadata to Browserbase sessions by @shrey150 in https://github.com/browserbase/stagehand/pull/1890
- STG-1669: fix(cli): clear cached state when browser connection dies by @shrey150 in https://github.com/browserbase/stagehand/pull/1887
- STG-1672: Add --connect flag to browse CLI for existing Browserbase sessions by @shrey150 in https://github.com/browserbase/stagehand/pull/1889
- chore: Decouple browse-cli release cycle from stagehand core by @shrey150 in https://github.com/browserbase/stagehand/pull/1885
- [STG-1702] fix: pass GITHUB_TOKEN to changeset version step in release-cli workflow by @shrey150 in https://github.com/browserbase/stagehand/pull/1893
- Fix OpenAI cua agent by @tkattkat in https://github.com/browserbase/stagehand/pull/1899
- [v4]: add
methodarg to/clickroute stub by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1884 - STG-1614: add v4 llm stubs and internal schemas by @monadoid in https://github.com/browserbase/stagehand/pull/1881
- [v4]: update
/scrollroute stub by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1875 - [v4]: add
/elementInforoute stub by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1877 - [v4]: more page route stubs for locator functions by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1882
- STG-1668: browse env local auto-discovers existing Chrome via CDP by @shrey150 in https://github.com/browserbase/stagehand/pull/1886
- [fix]: handle mapping
timeout->timeoutMsby @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1901 - STG-1671: chore: add prettier pre-commit hook via husky + lint-staged by @shrey150 in https://github.com/browserbase/stagehand/pull/1888
- Recover server-v4 drizzle stack onto main by @monadoid in https://github.com/browserbase/stagehand/pull/1917
- chore: switch browse-cli to merge-first release flow by @shrey150 in https://github.com/browserbase/stagehand/pull/1921
- Release @browserbasehq/[email protected] by @github-actions[bot] in https://github.com/browserbase/stagehand/pull/1925
- [fix]: harden act variables prompt by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1922
- [fix]: attach to manually-created new tabs by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1924
- [STG-1733] fix: use valid metadata key for browse-cli sessions by @derekmeegan in https://github.com/browserbase/stagehand/pull/1911
- Release @browserbasehq/[email protected] by @github-actions[bot] in https://github.com/browserbase/stagehand/pull/1932
- [STG-1739] fix: browse-cli releases publish under alpha instead of latest by @shrey150 in https://github.com/browserbase/stagehand/pull/1934
- Add support for LLM middleware by @tkattkat in https://github.com/browserbase/stagehand/pull/1872
- [Claimed #1844] Refactor model ID checks for GPT 5.x model family by @github-actions[bot] in https://github.com/browserbase/stagehand/pull/1852
- Add
browse get markdowncommand by @derekmeegan in https://github.com/browserbase/stagehand/pull/1907 - fix: pass through server-v3 operation errors by @monadoid in https://github.com/browserbase/stagehand/pull/1937
- fix: compute server release versions from tags by @monadoid in https://github.com/browserbase/stagehand/pull/1938
- fix: trigger server release workflows on workflow changes by @monadoid in https://github.com/browserbase/stagehand/pull/1939
- fix: resolve server release versions from remote tags by @monadoid in https://github.com/browserbase/stagehand/pull/1940
- fix shell parsing in server release workflows by @monadoid in https://github.com/browserbase/stagehand/pull/1941
Full Changelog: https://github.com/browserbase/stagehand/compare/stagehand-server-v3/v3.6.2...stagehand-server-v3/v3.6.3
- Add cdpHeaders option for CDP connections
- Add page.setExtraHTTPHeaders() method
- Make projectId optional for Browserbase sessions
- Initial release of browse CLI
- Add --context-id and --persist flags for context persistence
- Add setExtraHTTPHeaders support
- Add cdpHeaders for custom headers
- Split server-v3 and server-v4 directories
Fixes session initialization failure when no pages are open.
- Remove automatic .env loading via dotenv - users must install and call dotenv.config() explicitly
- Add cookie management APIs (addCookies, clearCookies, cookies)
- Add context.setExtraHTTPHeaders() method
Handles target closed errors when rapidly opening and closing popups.
- Enable bedrock provider on server
- Add page.snapshot() method
- Add page.waitForSelector() method
- Add support for Vertex LLM provider
- Improved agent usage metrics
Full changelog
What's Changed
- [chore]: add stricter linting rules by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1597
- improve agent usage metrics by @tkattkat in https://github.com/browserbase/stagehand/pull/1596
- Fix deprecated cua: true syntax in v3 migration guide by @aq17 in https://github.com/browserbase/stagehand/pull/1601
- Logging agent output to file example by @monadoid in https://github.com/browserbase/stagehand/pull/1599
- Add support for vertex on stagehand server by @miguelg719 in https://github.com/browserbase/stagehand/pull/1602
New Contributors
- @aq17 made their first contribution in https://github.com/browserbase/stagehand/pull/1601
Full Changelog: https://github.com/browserbase/stagehand/compare/@browserbasehq/[email protected]/v3.5.1
What's Changed
- [chore]: add stricter linting rules by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1597
- improve agent usage metrics by @tkattkat in https://github.com/browserbase/stagehand/pull/1596
- Fix deprecated cua: true syntax in v3 migration guide by @aq17 in https://github.com/browserbase/stagehand/pull/1601
- Logging agent output to file example by @monadoid in https://github.com/browserbase/stagehand/pull/1599
- Add support for vertex on stagehand server by @miguelg719 in https://github.com/browserbase/stagehand/pull/1602
New Contributors
- @aq17 made their first contribution in https://github.com/browserbase/stagehand/pull/1601
Full Changelog: https://github.com/browserbase/stagehand/compare/@browserbasehq/[email protected]/v3.5.1
- Rename close tool in agent to done
- Add SnapshotOptions to page.snapshot()
- Removed x-language and x-sdk-version headers from OpenAPI specification
Full changelog
What's Changed
- Removed x-language and x-sdk-version from openapi spec by @monadoid in https://github.com/browserbase/stagehand/pull/1515
- Using provider/model syntax in modelName examples within openapi spec by @monadoid in https://github.com/browserbase/stagehand/pull/1526
- Update docs for canonical by @tkattkat in https://github.com/browserbase/stagehand/pull/1519
- Update version number for new 3.4.0 release by @monadoid in https://github.com/browserbase/stagehand/pull/1529
Full Changelog: https://github.com/browserbase/stagehand/compare/stagehand-server/v3.3.0...stagehand-server/v3.4.0
- Add page.snapshot()
- Add page.waitForSelector()
- Update close tool with structured output
- Tool exclusion from agents
- Safety confirmation callback support for OpenAI and Google CUA
- Agent cache refresh on action failure
Full changelog
What's Changed
- [Feature] exclude tools from agent by @tkattkat in https://github.com/browserbase/stagehand/pull/1440
- [feat]: add support for safety confirmation callback for OpenAI + Google CUA by @shrey150 in https://github.com/browserbase/stagehand/pull/1473
- [fix]: refresh agent cache on action failure by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1472
- Version Packages by @github-actions[bot] in https://github.com/browserbase/stagehand/pull/1414
Full Changelog: https://github.com/browserbase/stagehand/compare/stagehand-server/v3.1.3...stagehand-server/v3.2.0
- Move hybrid mode out of experimental
- Add safety confirmation support for OpenAI and Google CUA
- Screenshot collector interval disabled by default
- Playwright moved to optional dependencies — must be installed separately if needed
- Agent.execute Hybrid CUA + DOM mode now stable (out of experimental)
- New Agent.hover method for simulating hover interactions
- Deepseek-specific prompting support added to AI SDK
Full changelog
What's Changed
- update agent docs by @tkattkat in https://github.com/browserbase/stagehand/pull/1411
- fix: load
GOOGLE_API_KEYfrom env by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1412 - [docs]: update
actreference with preferred model name formatting by @ziruihao in https://github.com/browserbase/stagehand/pull/1409 - [docs] add link to Discord by @shrey150 in https://github.com/browserbase/stagehand/pull/1416
- Update screenshot collector by @tkattkat in https://github.com/browserbase/stagehand/pull/1373
- Add more agent evals to evals cli by @tkattkat in https://github.com/browserbase/stagehand/pull/1422
- Add hover method by @tkattkat in https://github.com/browserbase/stagehand/pull/1406
- [Evals] task error handling and memory cleanup by @miguelg719 in https://github.com/browserbase/stagehand/pull/1419
- Clean up handlers and remove bus listeners on v3.close() by @miguelg719 in https://github.com/browserbase/stagehand/pull/1418
- kill cua agent on stagehand.close by @tkattkat in https://github.com/browserbase/stagehand/pull/1399
- clean up page methods by @tkattkat in https://github.com/browserbase/stagehand/pull/1407
- allow act cache hit when variable values change by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1408
- update screenshot collector stop method by @tkattkat in https://github.com/browserbase/stagehand/pull/1425
- [fix]: handle CBOR stack limit errors by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1424
- [chore]: rm inlined JS from
snapshot.tsby @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1427 - [Feature] Add Agent.execute Hybrid CUA + DOM mode by @tkattkat in https://github.com/browserbase/stagehand/pull/1428
- [chore]: split up snapshot logic into submodules by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1429
- [Evals] Disable screenshot collector interval by default by @miguelg719 in https://github.com/browserbase/stagehand/pull/1421
- Fix parametrized 'model' api key auto-loading by @miguelg719 in https://github.com/browserbase/stagehand/pull/1436
- update agent cache handling by @tkattkat in https://github.com/browserbase/stagehand/pull/1431
- move hybrid mode behind experimental by @tkattkat in https://github.com/browserbase/stagehand/pull/1433
- Add cua to mode by @tkattkat in https://github.com/browserbase/stagehand/pull/1432
- [test]: add unit tests for xpath utils & tree format utils by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1441
- fix: CUA coordinating scaling issue by @shrey150 in https://github.com/browserbase/stagehand/pull/1430
- [test]: add tests for synchronous DOM node helpers by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1443
- [test]: add tests for ax tree post-processing by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1446
- remove base64 from agent actions array by @tkattkat in https://github.com/browserbase/stagehand/pull/1439
- [test]: add tests DOM session builders by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1448
- [test]: add tests for frame merging & prefix computation by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1452
- [test]: add tests for ax tree fetching & object ID resolvers by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1451
- [test]: add tests for focus selector utils by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1447
- Add Stainless CI for SDK codegen by @monadoid in https://github.com/browserbase/stagehand/pull/1450
- Invoke page.hover on agent move action by @shrey150 in https://github.com/browserbase/stagehand/pull/1456
- [STG-1053] [server] Use fastify-zod-openapi + zod v4 for openapi generation by @monadoid in https://github.com/browserbase/stagehand/pull/1420
- Pushing stagehand-server to github releases with changesets, instead of using github artifacts by @monadoid in https://github.com/browserbase/stagehand/pull/1457
- add deepseek specific prompting in aisdk by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1455
- Add code to publish binaries on release by @monadoid in https://github.com/browserbase/stagehand/pull/1459
- Add media resolution high to gemini 3 hybrid agent by @miguelg719 in https://github.com/browserbase/stagehand/pull/1465
- Moved server binary build into release.yaml by @monadoid in https://github.com/browserbase/stagehand/pull/1467
- fix: correctly pass in userDataDir to chrome launcher by @shrey150 in https://github.com/browserbase/stagehand/pull/1462
- Gate release creation on package.json version changes on main, instead of Changesets publishedPackages. by @monadoid in https://github.com/browserbase/stagehand/pull/1469
- No longer using changesets for stagehand-server - manually bumping package.json version number by @monadoid in https://github.com/browserbase/stagehand/pull/1470
- remove experimental flag on hybrid mode by @tkattkat in https://github.com/browserbase/stagehand/pull/1461
- [chore]: move playwright to optional deps by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1466
- [test]: add tests for top level snapshot functions by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/1471
- server binary fixes by @monadoid in https://github.com/browserbase/stagehand/pull/1474
- bump server package version by @monadoid in https://github.com/browserbase/stagehand/pull/1475
- bump server package version & fix gen:openapi script for windows by @monadoid in https://github.com/browserbase/stagehand/pull/1476
New Contributors
- @ziruihao made their first contribution in https://github.com/browserbase/stagehand/pull/1409
Full Changelog: https://github.com/browserbase/stagehand/compare/@browserbasehq/[email protected]/v3.1.3
- Add streaming support to agent
- Add google vertex provider support
- Add agent callbacks support
Fix DOM depth exceeded errors with exponential backoff retry
Full changelog
Patch Changes
-
#1389
575226fThanks @seanmcguire12! - Retry DOM.getDocument on max depth exceeded with exponential backoff -
#1386
dbffb75Thanks @seanmcguire12! - Remove deprecated internal usage of page.evaluate
- Expose reasoning and cached input tokens in metrics
- Add page.sendCDP method
- Extend page.screenshot() options
- Support page.on('console') events
- Add stagehand agent support to API
- Support new Gemini Computer Use models
- Add MCP server integration for agents
- Support custom tools in agents
Fixed API validation disabling when using a custom LLM client.
- Add support for shadow DOMs (open and closed)
- Enable scrolling inside iframes
- Added Computer Use API support for Claude 4 models
- Improved click handling with fallback to JavaScript click events when Playwright click fails
- Fixed interactions with text nodes
- Experimental flag to enable newest and most experimental features
- Session affinity enabled for cache optimization
- useTextExtract functionality has been deprecated and removed