Browser Testing Platforms Release Notes

Updates for hosted browser testing, browser automation, and tools for running tests in managed browsers.

Get this feed:

Products (3)

Latest Browser Testing Platforms Updates

  • Nov 10, 2026
    • Date parsed from source:
      Nov 10, 2026
    • First seen by Releasebot:
      Nov 11, 2026
    Browserbase logo

    Stagehand by Browserbase

    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
    Browserbase logo

    Stagehand by Browserbase

    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.

    Create account
  • Nov 4, 2026
    • Date parsed from source:
      Nov 4, 2026
    • First seen by Releasebot:
      Nov 5, 2026
    Browserbase logo

    Stagehand by Browserbase

    [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
    d59afde
    Thanks @miguelg719! - Add an extension watchdog for lost SDK clients

    Patch Changes

    #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
    b7a4b89
    Thanks @miguelg719! - Save run screenshots only as PNG or JPEG files, under ./stagehand-artifacts by default

    Updated dependencies

    @browserbasehq/[email protected]

    Minor Changes

    #3325
    d59afde
    Thanks @miguelg719! - Add an extension watchdog for lost SDK clients

    Patch Changes

    #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
    d59afde
    Thanks @miguelg719! - Add an extension watchdog for lost SDK clients

    Patch Changes

    #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.6

    Co-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
    Browserbase logo

    Stagehand by Browserbase

    [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
    Browserbase logo

    Stagehand by Browserbase

    [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

    act does not need to substitute variables on self-heal for dragAndDrop().

    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
    Browserbase logo

    Stagehand by Browserbase

    @browserbasehq/[email protected]

    Stagehand releases version 4.4.0.

  • Nov 4, 2026
    • Date parsed from source:
      Nov 4, 2026
    • First seen by Releasebot:
      Oct 10, 2026
    • Modified by Releasebot:
      Nov 5, 2026
    Browserbase logo

    Stagehand by Browserbase

    @browserbasehq/[email protected]

    Stagehand releases Eve 0.2.3, with no product changes described.

  • Nov 3, 2026
    • Date parsed from source:
      Nov 3, 2026
    • First seen by Releasebot:
      Nov 4, 2026
    Browserbase logo

    Stagehand by Browserbase

    [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
    Browserbase logo

    Stagehand by Browserbase

    [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
    Browserbase logo

    Stagehand by Browserbase

    [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