Browser Testing Platforms Release Notes
Updates for hosted browser testing, browser automation, and tools for running tests in managed browsers.
Products (3)
Latest Browser Testing Platforms Updates
- Nov 10, 2026
- Date parsed from source:Nov 10, 2026
- First seen by Releasebot:Nov 11, 2026
Stagehand improves browser error reporting by surfacing cached browser start failures.
[Claimed #3423] [fix]: report cached browser start failures in browse…
Original source - Nov 10, 2026
- Date parsed from source:Nov 10, 2026
- First seen by Releasebot:Nov 11, 2026
Stagehand fixes its extension to preserve empty response header values.
[Claimed #3422] fix(extension): keep empty response header values on …
Original source All of your release notes in one feed
Join Releasebot and get updates from Browserbase and hundreds of other software products.
- Nov 4, 2026
- Date parsed from source:Nov 4, 2026
- First seen by Releasebot:Nov 5, 2026
[email protected]: Release Stagehand packages (#3332)
Stagehand releases improved browser session controls with a new disconnect option, stronger support for cross-origin iframes, and an extension watchdog. The update also fixes security and automation issues and improves Claude Opus compatibility.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@browserbasehq/[email protected]
Minor Changes#3305
aeb1ba0
Thanks @miguelg719! - add browser.disconnect(), which closes an attached Stagehand instance and the connection to a browser without closing the browser or releasing its Browserbase session (Browserbase still ends sessions without keepAlive on disconnect). browser.close() after disconnect() now throws (connect again to close the browser), a launched local browser receives Browser.close before it is terminated, browser handles expose cdpUrl (cdp_url in Python) for local browsers, and connected reports whether the handle still has a live connection#3325
Patch Changes
d59afde
Thanks @miguelg719! - Add an extension watchdog for lost SDK clients#3339
44d99df
Thanks @seanmcguire12! - Adopt cross-origin iframes that were already loaded when Stagehand attached, or that are nested inside another cross-origin iframe, so snapshots and actions can reach them.#3330
dc8eb40
Thanks @seanmcguire12! - bump zod to 4.6.6#3340
edb76b0
Thanks @akeimach! - Fix act, observe and extract with Claude Opus 5.5 by bumping @ai-sdk/anthropic and ai in the extension.#3387
066e875
Thanks @seanmcguire12! - fixed domain policy bypasses involving URLs with credentials, background requests, and speculative page loads#3383
1e50db6
Thanks @seanmcguire12! - skip variable substitution for drag-and-drop arguments in act().#3388
18b96f2
Thanks @seanmcguire12! - fix issue where calling act() prevents cross-origin iframes from loading@browserbasehq/[email protected]
Patch Changes#3330
dc8eb40
Thanks @seanmcguire12! - bump zod to 4.6.6#3350
Updated dependencies
b7a4b89
Thanks @miguelg719! - Save run screenshots only as PNG or JPEG files, under ./stagehand-artifacts by default@browserbasehq/[email protected]
Minor Changes#3325
Patch Changes
d59afde
Thanks @miguelg719! - Add an extension watchdog for lost SDK clients#3339
44d99df
Thanks @seanmcguire12! - Adopt cross-origin iframes that were already loaded when Stagehand attached, or that are nested inside another cross-origin iframe, so snapshots and actions can reach them.#3330
dc8eb40
Thanks @seanmcguire12! - bump zod to 4.6.6#3340
edb76b0
Thanks @akeimach! - Fix act, observe and extract with Claude Opus 5.5 by bumping @ai-sdk/anthropic and ai in the extension.#3387
066e875
Thanks @seanmcguire12! - fixed domain policy bypasses involving URLs with credentials, background requests, and speculative page loads#3383
1e50db6
Thanks @seanmcguire12! - skip variable substitution for drag-and-drop arguments in act().#3388
18b96f2
Thanks @seanmcguire12! - fix issue where calling act() prevents cross-origin iframes from loading@browserbasehq/[email protected]
Minor Changes#3305
aeb1ba0
Thanks @miguelg719! - add browser.disconnect(), which closes an attached Stagehand instance and the connection to a browser without closing the browser or releasing its Browserbase session (Browserbase still ends sessions without keepAlive on disconnect). browser.close() after disconnect() now throws (connect again to close the browser), a launched local browser receives Browser.close before it is terminated, browser handles expose cdpUrl (cdp_url in Python) for local browsers, and connected reports whether the handle still has a live connection#3325
Patch Changes
d59afde
Thanks @miguelg719! - Add an extension watchdog for lost SDK clients#3339
44d99df
Thanks @seanmcguire12! - Adopt cross-origin iframes that were already loaded when Stagehand attached, or that are nested inside another cross-origin iframe, so snapshots and actions can reach them.#3330
dc8eb40
Thanks @seanmcguire12! - bump zod to 4.6.6#3340
edb76b0
Thanks @akeimach! - Fix act, observe and extract with Claude Opus 5.5 by bumping @ai-sdk/anthropic and ai in the extension.#3387
066e875
Thanks @seanmcguire12! - fixed domain policy bypasses involving URLs with credentials, background requests, and speculative page loads#3383
1e50db6
Thanks @seanmcguire12! - skip variable substitution for drag-and-drop arguments in act().#3388
18b96f2
Thanks @seanmcguire12! - fix issue where calling act() prevents cross-origin iframes from loading@browserbasehq/[email protected]
Patch Changes Updated dependencies@browserbasehq/[email protected]
Patch Changes Updated dependencies []:@browserbasehq/[email protected]
@browserbasehq/[email protected]
Patch Changes Updated dependencies []:@browserbasehq/[email protected]
@browserbasehq/[email protected]
Patch Changes Updated dependencies 44d99df, dc8eb40, edb76b0, 066e875, 1e50db6, aeb1ba0, 18b96f2, d59afde:@browserbasehq/[email protected]
@browserbasehq/[email protected]
Patch Changes Updated dependencies []:@browserbasehq/[email protected]
@browserbasehq/[email protected]
Patch Changes Updated dependencies []:@browserbasehq/[email protected]
@browserbasehq/[email protected]
Patch Changes Updated dependencies 44d99df, dc8eb40, edb76b0, 066e875, 1e50db6, aeb1ba0, 18b96f2, d59afde:@browserbasehq/[email protected]
@browserbasehq/[email protected]
Patch Changes Updated dependencies []:@browserbasehq/[email protected]
@browserbasehq/[email protected]
Patch Changes Updated dependencies []:@browserbasehq/[email protected]
@browserbasehq/[email protected]
Patch Changes Updated dependencies []:@browserbasehq/[email protected]
@browserbasehq/[email protected]
Patch Changes Updated dependencies []:@browserbasehq/[email protected]
@browserbasehq/[email protected]
Patch Changes Updated dependencies []:@browserbasehq/[email protected]
@browserbasehq/[email protected]
Patch Changes Updated dependencies 44d99df, dc8eb40, edb76b0, 066e875, 1e50db6, aeb1ba0, 18b96f2, d59afde:@browserbasehq/[email protected]
@browserbasehq/[email protected]
Patch Changes Updated dependencies []:@browserbasehq/[email protected]
@browserbasehq/[email protected]
Patch Changes Updated dependencies []:@browserbasehq/[email protected]
@browserbasehq/[email protected]
Patch Changes Updated dependencies 44d99df, dc8eb40, edb76b0, 066e875, 1e50db6, aeb1ba0, 18b96f2, d59afde:@browserbasehq/[email protected]
@browserbasehq/[email protected]
Patch Changes Updated dependencies []:@browserbasehq/[email protected]
@browserbasehq/[email protected]
Patch Changes Updated dependencies []:@browserbasehq/[email protected]
@browserbasehq/[email protected]
Patch Changes#3330
dc8eb40
Thanks @seanmcguire12! - bump zod to 4.6.6Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Original source - Nov 4, 2026
- Date parsed from source:Nov 4, 2026
- First seen by Releasebot:Nov 5, 2026
[email protected]: [fix]: preserve cross origin iframes after `act()` (#3388)
Stagehand fixes an iframe interaction bug so newly loaded cross-origin frames remain visible in snapshots and respond to follow-up actions after act().
why
calling act() could prevent Stagehand from seeing and interacting with newly loaded cross-origin iframes because its network-settling helper overwrote the browser’s auto-attach configuration
what changed
- removed the conflicting auto-attach call, leaving attachment management to BrowserContext.
- added a regression test verifying that cross-origin iframes created after act() remain visible in snapshots and support subsequent actions.
Summary by cubic
Fixes an issue where calling act() could prevent Stagehand from seeing and interacting with newly loaded cross-origin iframes. The network-settling helper in actHandlerUtils.ts was overwriting the browser's auto-attach configuration, which broke attachment management owned by BrowserContext.
Removed the conflicting Target.setAutoAttach call; BrowserContext now handles child-target attachment.
Added a regression test verifying cross-origin iframes created after act() remain visible in snapshots and support subsequent actions.
Written for commit c00a683.
Summary will update on new commits.
Original source - Nov 4, 2026
- Date parsed from source:Nov 4, 2026
- First seen by Releasebot:Nov 5, 2026
[email protected]: [fix]: variable substitution in `act()` (#3383)
Stagehand fixes drag-and-drop handling in act() by keeping selector values literal during self-heal, while preserving variable substitution for other methods. New tests cover inferred, supplied, and self-heal drag actions.
Why
actdoes not need to substitute variables on self-heal fordragAndDrop().The only args
dragAndDrop()needs are selectors.What changed
Gated var substitution on method type.
Test plan
Added tests to ensure variables do not get substituted on
dragAndDrop().Summary by cubic
Fixes variable substitution in
act()so drag-and-drop arguments keep their literal selector values instead of being treated as text templates.Skips substituteVariablesInArguments for dragAndDrop actions while preserving it for other methods.
Adds tests covering inferred, supplied, and self-heal drag actions with variables present.
Written for commit 32e7744.
Summary will update on new commits.
Original source - Nov 4, 2026
- Date parsed from source:Nov 4, 2026
- First seen by Releasebot:Oct 21, 2026
- Modified by Releasebot:Nov 5, 2026
@browserbasehq/[email protected]
Stagehand releases version 4.4.0.
@browserbasehq/[email protected]
Original source - Nov 4, 2026
- Date parsed from source:Nov 4, 2026
- First seen by Releasebot:Oct 10, 2026
- Modified by Releasebot:Nov 5, 2026
@browserbasehq/[email protected]
Stagehand releases Eve 0.2.3, with no product changes described.
@browserbasehq/[email protected]
Original source - Nov 3, 2026
- Date parsed from source:Nov 3, 2026
- First seen by Releasebot:Nov 4, 2026
[email protected]: [chore]: migrate `browse` to oxlint (#3377)
Stagehand migrates CLI linting from ESLint to oxlint, bringing it in line with the monorepo. The change ports existing rules, adds checks against dynamic code and legacy octal literals, and updates scripts and dependencies.
Why
The monorepo uses oxlint
What changed
Ported the CLI-specific ESLint rules into oxlint
Removed ESLint dependency, config, and scripts
Summary by cubic
Migrates packages/cli linting from ESLint to oxlint so the CLI uses the same linter as the monorepo.
Ports the CLI's ESLint rules (ESLint recommended, typescript-eslint recommended, security, and no-restricted-syntax selectors) into custom oxlint rules and overrides under rules/oxlint/, adding new stagehand/no-dynamic-code and stagehand/no-legacy-octal rules to cover nonliteral eval, dynamic Function construction, and legacy octal literals in CommonJS.
Adds integration tests that verify the new suite rejects the same violations, accepts the same valid code, and honors the same ignore patterns as the old ESLint config.
Replaces the eslint/eslint:fix scripts with oxlint/oxlint:fix, deletes eslint.config.mjs, and removes ESLint devDependencies and ~666 lockfile entries.
Written for commit ab83ea5.
Summary will update on new commits.
Original source - Nov 3, 2026
- Date parsed from source:Nov 3, 2026
- First seen by Releasebot:Nov 4, 2026
[email protected]: [chore]: bump oxfmt (#3373)
Stagehand updates oxfmt to bring in a patched tinypool dependency, fixing a reported security vulnerability. The upgrade also refreshes formatting across several test files without changing test logic.
Why
oxfmt brought in tinypool as a transitive dep
tinypool needs to be bumped to a version with the security patch for this
What changed
bumped upstream oxfmt version
bumping oxfmt also required some reformatting
Summary by cubic
Bumps oxfmt from 0.57.0 to 0.76.0 to pull in a patched tinypool (2.2.0), fixing the security vulnerability GHSA-5gmw-xhrv-c9v3 in the transitive dependency.
Bumping oxfmt also applies updated formatting rules, so several test files across the docs, evals, extension, and sdk-ts packages get reformatted. No test logic changes.
Written for commit 4cb35cc.
Summary will update on new commits.
Original source - Nov 3, 2026
- Date parsed from source:Nov 3, 2026
- First seen by Releasebot:Nov 4, 2026
[email protected]: [chore]: narrow python release workflow (#3367)
Stagehand streamlines its Python release workflow with a targeted install that syncs only required dependencies, avoiding unnecessary full-workspace installs and documenting how to reproduce the process locally.
Why
The release job does not need to do a full workspace install.
What changed
Added a new install cmd for python so that only what is required gets installed in the workflow.
Summary by cubic
Narrows the Python release workflow install so it only installs what the release actually needs instead of doing a full workspace install.
Adds just _install-python-release, which installs the extension, protocol, and TypeScript SDK pnpm dependencies and syncs only the Python stagehand environment.
Disables pnpm's automatic reinstall before run/exec in the workflow so alpha version changes don't trigger a full-workspace reinstall.
Documents the new install and how to reproduce it locally.
Written for commit f488248.
Summary will update on new commits.
Original source