Skip to content

puppeteer

vpuppeteer-core-v25.0.0 scope: puppeteer-core Breaking

This release includes 8 breaking changes for platform teams planning a safe upgrade.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

automation chrome chromium developer-tools firefox headless-chrome
+3 more
node-module testing web

ReleasePort's take

Moderate signal
editorial:auto 13d

Puppeteer‑core v25.0.0 removes several deprecated APIs and raises the minimum supported Node.js version to 22.

Why it matters: Update your runtime to Node ≥ 22 and replace removed Puppeteer APIs (e.g., `Puppeteer.product`, `MouseOptions.clickCount`, `Browser.isConnected()`) before upgrading; failure will break builds.

Summary

AI summary

Breaking changes include removal of deprecated APIs and bumping the minimum Node.js version to 22.

Changes in this release

Breaking Medium

remove deprecated MouseOptions.clickCount

remove deprecated MouseOptions.clickCount

Source: llm_adapter@2026-05-21

Confidence: high

Breaking Medium

update min version - Node v20.19 and TypeScript v5.0.1

update min version - Node v20.19 and TypeScript v5.0.1

Source: llm_adapter@2026-05-21

Confidence: high

Breaking Medium

remove deprecated Browser.isConnected()

remove deprecated Browser.isConnected()

Source: llm_adapter@2026-05-21

Confidence: high

Breaking Medium

**puppeteer-core:** Remove Cookie attribute sameParty

**puppeteer-core:** Remove Cookie attribute sameParty

Source: llm_adapter@2026-05-21

Confidence: high

Breaking Medium

normalize newline-separated headers to comma-separated format

normalize newline-separated headers to comma-separated format

Source: llm_adapter@2026-05-21

Confidence: high

Breaking Medium

remove deprecated Puppeteer.product

remove deprecated Puppeteer.product

Source: llm_adapter@2026-05-21

Confidence: low

Breaking Medium

bump min NodeJS to 22

bump min NodeJS to 22

Source: llm_adapter@2026-05-21

Confidence: low

Breaking Medium

return a Promise for executablePath, defaultArgs

return a Promise for executablePath, defaultArgs

Source: llm_adapter@2026-05-21

Confidence: low

Breaking Medium

move packages to ESM only

move packages to ESM only

Source: llm_adapter@2026-05-21

Confidence: low

Dependency Medium

@puppeteer/browsers bumped from 2.13.2 to 3.0.0

@puppeteer/browsers bumped from 2.13.2 to 3.0.0

Source: llm_adapter@2026-05-21

Confidence: high

Performance Medium

**webdriver:** remove intermediate object wrappers

**webdriver:** remove intermediate object wrappers

Source: llm_adapter@2026-05-21

Confidence: high

Bugfix Medium

block standard network emulation reset if allowlist or blocklist are enabled

block standard network emulation reset if allowlist or blocklist are enabled

Source: llm_adapter@2026-05-21

Confidence: high

Bugfix Medium

Handle missing sessionId when looking up callbacks

Handle missing sessionId when looking up callbacks

Source: llm_adapter@2026-05-21

Confidence: high

Bugfix Medium

**webdriver:** don't store request on BrowsingContext

**webdriver:** don't store request on BrowsingContext

Source: llm_adapter@2026-05-21

Confidence: high

Refactor Medium

don't use debug lib directly

don't use debug lib directly

Source: llm_adapter@2026-05-21

Confidence: low

Full changelog

25.0.0 (2026-05-12)

⚠ BREAKING CHANGES

  • remove deprecated Puppeteer.product (#14977)
  • bump min NodeJS to 22 (#14973)
  • return a Promise for executablePath, defaultArgs (#14965)
  • remove deprecated MouseOptions.clickCount (#13865)
  • update min version - Node v20.19 and Typescript v5.0.1 (#14364)
  • remove deprecated Browser.isConnected() (#14910)
  • move packages to ESM only (#14355)
  • puppeteer-core: Remove Cookie attribute sameParty (#14545)
  • normalize newline-separated headers to comma-separated format (#14492)

🎉 Features

🛠️ Fixes

  • block standard network emulation reset if allowlist or blocklist are enabled (#14976) (4e75b66)
  • Handle missing sessionId when looking up callbacks (#14975) (4faa0e6)
  • normalize newline-separated headers to comma-separated format (#14492) (1ea5dea)
  • puppeteer-core: Remove Cookie attribute sameParty (#14545) (be2d86a)
  • webdriver: don't store request on BrowsingContext (#14966) (4e4daec)

📄 Documentation

⚡ Performance

  • webdriver: remove intermediate object wrappers (#14967) (c19b855)

🏗️ Refactor

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @puppeteer/browsers bumped from 2.13.2 to 3.0.0

Breaking Changes

  • Removed deprecated `Puppeteer.product` API
  • Removed deprecated `Browser.isConnected()` method
  • Removed deprecated `MouseOptions.clickCount` property
  • Bumped minimum Node.js version to 22 (also documented as requiring at least Node v20.19 and TypeScript 5.0.1)
  • Moved all packages to ESM‑only format
  • Removed `Cookie` attribute `sameParty` from puppeteer-core
  • Changed `executablePath` and `defaultArgs` to return a Promise instead of synchronous values
  • Normalized newline‑separated HTTP headers to comma‑separated format

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track puppeteer

Get notified when new releases ship.

Sign up free

About puppeteer

All releases →

Related context

Earlier breaking changes

Beta — feedback welcome: [email protected]