Release history
puppeteer releases
All releases
57 shown
Configuration refactor + progress fixes + Chrome roll
Routine maintenance and dependency updates.
Routine maintenance and dependency updates.
- Removed deprecated `Puppeteer.product` API
- Removed deprecated `Browser.isConnected()` method
- Removed deprecated `MouseOptions.clickCount` property
- Moved all packages to ESM only
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
- bump min NodeJS to 22 (#14973) (4b6ddc3)
- update min version - Node v20.19 and Typescript v5.0.1 (#14364) (96f3780)
⚡ Performance
🏗️ Refactor
- don't use debug lib directly (#14969) (7cbebc6)
- remove deprecated Browser.isConnected() (#14910) (f2cdffc)
- remove deprecated MouseOptions.clickCount (#13865) (1f6bd1f)
- remove deprecated Puppeteer.product (#14977) (2b097b7)
- return a Promise for executablePath, defaultArgs (#14965) (74059fd)
Dependencies
- The following workspace dependencies were updated
- dependencies
- @puppeteer/browsers bumped from 2.13.2 to 3.0.0
- dependencies
- Minimum Node.js version increased to 22 (also updated minimum to Node v20.19 in documentation).
- executablePath and defaultArgs now return a Promise instead of synchronous values.
- All packages moved to ESM only.
Full changelog
25.0.0 (2026-05-12)
⚠ BREAKING CHANGES
- bump min NodeJS to 22 (#14973)
- return a Promise for executablePath, defaultArgs (#14965)
- update min version - Node v20.19 and Typescript v5.0.1 (#14364)
- move packages to ESM only (#14355)
🎉 Features
📄 Documentation
- bump min NodeJS to 22 (#14973) (4b6ddc3)
- update min version - Node v20.19 and Typescript v5.0.1 (#14364) (96f3780)
🏗️ Refactor
Dependencies
- The following workspace dependencies were updated
- dependencies
- @puppeteer/browsers bumped from 2.13.2 to 3.0.0
- puppeteer-core bumped from 24.43.1 to 25.0.0
- dependencies
Fixed incorrect usage of shell for setup.exe.
- Removed `networkidle` options from `setContent` method
- Minimum Firefox version bumped to 150.0.2
Full changelog
24.43.1 (2026-05-11)
🛠️ Fixes
- reject BiDi URL restrictions (#14956) (b2140ae)
- remove networkidle options from setContent (#14940) (54254e4)
- roll to Firefox 150.0.2 (#14946) (a588310)
⚡ Performance
- dispose sub-classes correctly (#14430) (e285ff2)
- optimize url blocking on navigation (#14945) (e4002a4)
Dependencies
- The following workspace dependencies were updated
- dependencies
- @puppeteer/browsers bumped from 2.13.1 to 2.13.2
- dependencies
Minor fixes and improvements.
Full changelog
24.43.1 (2026-05-11)
♻️ Chores
- puppeteer: Synchronize puppeteer versions
Dependencies
- The following workspace dependencies were updated
- dependencies
- @puppeteer/browsers bumped from 2.13.1 to 2.13.2
- puppeteer-core bumped from 24.43.0 to 24.43.1
- dependencies
Disabled the WebUIReloadButton experiment.
- Support for filling checkboxes and radio buttons with locator.fill
- Chrome rolled to version 148.0.7778.97
- Firefox rolled to version 150.0.1
Full changelog
24.43.0 (2026-05-06)
🎉 Features
- Implement allowlist (#14897) (e7e31f8)
- roll to Chrome 148.0.7778.56 (#14918) (65890b7)
- roll to Firefox 150.0 (#14900) (beab61b)
- support checkboxes and radios in locator.fill (#14939) (fec05a0)
- webmcp: Add support for untrustedContent WebMCPAnnotation (#14901) (0314942)
🛠️ Fixes
- Disable WebUIReloadButton experiment (#14925) (d9639e9)
- do not open DevTools if it is already open (#14922) (84c9d34)
- do not set global offline flag for allowlist (#14931) (d6a1003)
- roll to Chrome 148.0.7778.97 (#14929) (536eb11)
- roll to Firefox 150.0.1 (#14923) (50438cf)
Dependencies
- The following workspace dependencies were updated
- dependencies
- @puppeteer/browsers bumped from 2.13.0 to 2.13.1
- dependencies
- Roll to Chrome 148.0.7778.56
Full changelog
- Added metadata to extensions object
- CDP now supports autofilling address fields
- Implemented URL blocklist to restrict unauthorized site access
Minor fixes and improvements.
Full changelog
24.42.0 (2026-04-20)
♻️ Chores
- puppeteer: Synchronize puppeteer versions
Dependencies
- The following workspace dependencies were updated
- dependencies
- puppeteer-core bumped from 24.41.0 to 24.42.0
- dependencies
- Roll to Chrome 147.0.7727.24
Full changelog
- Adds API to list installed browser extensions and trigger extension actions
- Rolls Chrome from 147.0.7727.24 to 147.0.7727.56 and Firefox from 149.0 to 149.0.2
- WebMCP: adds hooks for tool invocation/response, initial API to inspect tool registrations, and WebMCPTool execute support
Full changelog
24.41.0 (2026-04-15)
🎉 Features
- add support for Issues (#14845) (6e8dbe7)
- adds extension realms api (#14824) (c14f4ae)
- API to list installed browser extensions and trigger extension actions (#14821) (d6395ef)
- implement console event on web workers (#14784) (fa6158a)
- roll to Chrome 147.0.7727.24 (#14797) (ee81786)
- roll to Firefox 149.0 (#14799) (9fd5ceb)
- webmcp: add hook for tool invocation (#14835) (cf8169d)
- webmcp: add hook for tool response (#14841) (6fb05bc)
- webmcp: add initial API to inspect tool registrations (#14814) (655c996)
- webmcp: add WebMCPTool execute support (#14851) (8f95117)
- webmcp: expose WebMCPToolCall in WebMCPToolCallResult (#14848) (242ac0b)
- webmcp: Switch from WebMCPInvocationStatus Success to Completed (#14859) (375e636)
🛠️ Fixes
- add missing onRelease to Mutex and add tests (#14818) (bf1e972)
- make
Target.asPagereturn the same Page instance (#14862) (e484a91) - remove RenderDocument from disabled Chrome features (#14745) (a48eba2)
- roll to Chrome 147.0.7727.50 (#14819) (2be3002)
- roll to Chrome 147.0.7727.56 (#14842) (fdb3c64)
- roll to Firefox 149.0.2 (#14838) (55359a3)
- without azimuthAngle the altitudeAngle should no be specified (#14781) (6f9d975)
📄 Documentation
- Support for PUPPETEER_DANGEROUS_NO_SANDBOX environment variable
Full changelog
Minor fixes and improvements.
Full changelog
24.40.0 (2026-03-19)
♻️ Chores
- puppeteer: Synchronize puppeteer versions
Dependencies
- The following workspace dependencies were updated
- dependencies
- puppeteer-core bumped from 24.39.1 to 24.40.0
- dependencies
Minor fixes and improvements.
Full changelog
24.39.1 (2026-03-13)
♻️ Chores
- puppeteer: Synchronize puppeteer versions
Dependencies
- The following workspace dependencies were updated
- dependencies
- puppeteer-core bumped from 24.39.0 to 24.39.1
- dependencies
Minor fixes and improvements.
Full changelog
24.39.0 (2026-03-10)
♻️ Chores
- puppeteer: Synchronize puppeteer versions
Dependencies
- The following workspace dependencies were updated
- dependencies
- puppeteer-core bumped from 24.38.0 to 24.39.0
- dependencies
- Roll to Chrome 146.0.7680.31
- Roll to Firefox 148.0
Full changelog
- Roll to Chrome 146.0.7680.31
Full changelog
Minor fixes and improvements.
Minor fixes and improvements.
Full changelog
24.37.5 (2026-02-19)
♻️ Chores
- puppeteer: Synchronize puppeteer versions
Dependencies
- The following workspace dependencies were updated
- dependencies
- puppeteer-core bumped from 24.37.4 to 24.37.5
- dependencies
- Allow configuring the output of @puppeteer/browsers install
Full changelog
Minor fixes and improvements.
Full changelog
24.37.4 (2026-02-18)
🛠️ Fixes
- cdp: add missing .catch(debugError) to void initialize() in onAttachedToTarget (#14701) (b8b1004)
- roll to Chrome 145.0.7632.76 (#14684) (6624d1d)
- roll to Firefox 147.0.4 (#14697) (eed313f)
Dependencies
- The following workspace dependencies were updated
- dependencies
- @puppeteer/browsers bumped from 2.12.1 to 2.13.0
- dependencies
Minor fixes and improvements.
Full changelog
24.37.4 (2026-02-18)
♻️ Chores
- puppeteer: Synchronize puppeteer versions
Dependencies
- The following workspace dependencies were updated
- dependencies
- @puppeteer/browsers bumped from 2.12.1 to 2.13.0
- puppeteer-core bumped from 24.37.3 to 24.37.4
- dependencies
Fixed WSL browser launch by checking Linux locations before Windows paths.
- Updated Chrome runtime to version 145.0.7632.67
- @puppeteer/browsers dependency bumped from 2.12.0 to 2.12.1
Full changelog
Minor fixes and improvements.
Full changelog
24.37.3 (2026-02-13)
♻️ Chores
- puppeteer: Synchronize puppeteer versions
Dependencies
- The following workspace dependencies were updated
- dependencies
- @puppeteer/browsers bumped from 2.12.0 to 2.12.1
- puppeteer-core bumped from 24.37.2 to 24.37.3
- dependencies
Minor fixes and improvements.
Full changelog
24.37.2 (2026-02-06)
♻️ Chores
- puppeteer: Synchronize puppeteer versions
Dependencies
- The following workspace dependencies were updated
- dependencies
- puppeteer-core bumped from 24.37.1 to 24.37.2
- dependencies
Minor fixes and improvements.
Full changelog
24.37.1 (2026-02-05)
♻️ Chores
- puppeteer: Synchronize puppeteer versions
Dependencies
- The following workspace dependencies were updated
- dependencies
- puppeteer-core bumped from 24.37.0 to 24.37.1
- dependencies
- Support for AbortSignal in core launch method
- Pluggable browser providers
Full changelog
- BrowserContext.setPermission API for granting/revoking permissions per context
- AbortSignal support in launch to allow cancellation of browser startup
- Enhanced accessibility tree snapshot with additional node properties
Full changelog
24.37.0 (2026-02-04)
🎉 Features
- add BrowserContext.setPermission API (#14611) (a51b7e2)
- core: support AbortSignal in launch (#14616) (d02459c)
- enhance accessibility tree snapshot with more properties (#14643) (422f9b6)
- page: expose heap snapshot getter (#14610) (397793b)
- roll to Chrome 145.0.7632.26 (#14619) (352067b)
- webdriver: implement frame.frameElement() for WebDriver BiDi (#14629) (b0c66a0)
- webdriver: Implement window management (#14618) (603fc9e)
🛠️ Fixes
- add support for "Default" SameSite cookie property (#14637) (370878d)
- disable ReadAnythingOmniboxChip by default (#14621) (457f886)
- roll to Chrome 144.0.7559.109 (#14615) (6dac84f)
- roll to Firefox 147.0.2 (#14612) (fe232c4)
- webdriver: map window bounds correctly (#14624) (3adcd67)
♻️ Chores
- Migrate from postData to postDataEntries in CDP HTTPRequest (#14640) (61916a5)
- optimize Locator.fill performance for large text (#14620) (1e8f5d5)
- optimize XPathQuerySelector loop performance (#14639) (55769e9)
- parallelize resolving build IDs (#14641) (ee3aa66)
Dependencies
- The following workspace dependencies were updated
- dependencies
- @puppeteer/browsers bumped from 2.11.2 to 2.12.0
- dependencies
- Roll to Chrome 145.0.7632.26
Full changelog
Fixed a typo in the Linux configuration path function.
Full changelog
Minor fixes and improvements.
Full changelog
Minor fixes and improvements.
Full changelog
24.36.1 (2026-01-27)
♻️ Chores
- puppeteer: Synchronize puppeteer versions
Dependencies
- The following workspace dependencies were updated
- dependencies
- @puppeteer/browsers bumped from 2.11.1 to 2.11.2
- puppeteer-core bumped from 24.36.0 to 24.36.1
- dependencies
- WebDriver now uses `emulation.setClientHintsOverride`
- WebDriver now uses `emulation.setTouchOverride`
- Roll to Chrome version 144.0.7559.96
- Puppeteer‑Core updated from 24.35.0 to 24.36.0
Full changelog
Fixed Firefox file picker dismissal by setting dismiss_file_pickers to true.
Full changelog
- Deprecation of Cookie attribute `sameParty` in puppeteer-core
- Chrome version rolled to 143.0.7499.192
- Fix for closing page with iframes via webdriver
- Support for `background` flag when creating pages
Full changelog
24.35.0 (2026-01-12)
🎉 Features
🛠️ Fixes
- puppeteer-core: Deprecate Cookie attribute sameParty (#14550) (d128a84)
- roll to Chrome 143.0.7499.192 (#14541) (d3127b7)
- webdriver: closing page with iframes via webdriver (#14549) (b89ce87)
Dependencies
- The following workspace dependencies were updated
- dependencies
- @puppeteer/browsers bumped from 2.11.0 to 2.11.1
- dependencies
Minor fixes and improvements.
Full changelog
24.35.0 (2026-01-12)
♻️ Chores
- puppeteer: Synchronize puppeteer versions
Dependencies
- The following workspace dependencies were updated
- dependencies
- @puppeteer/browsers bumped from 2.11.0 to 2.11.1
- puppeteer-core bumped from 24.34.0 to 24.35.0
- dependencies