# What changed in puppeteer-core

> 28 changes in puppeteer-core 25 from its official release notes, upgrade guides and advisories: 1 security, 9 new APIs and options. Each one cited. Sources checked 2026-10-20. HTML: https://unstale.sh/npm/puppeteer-core/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## puppeteer-core 25

### Security

- Blocklists and allowlists are now enforced for service worker requests. (25.14.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.14.0)

### New APIs and options

- Adds an API for setting allow/block lists. (25.15.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.15.0)
- Passing null removes the geolocation override. (25.15.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.15.0)
- Adds page.tabInfo(). (25.15.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.15.0)
- Adds handshakeTimeout to wsOptions. (25.15.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.15.0)
- Request interception and extra headers now accept Headers instances. (25.14.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.14.0)
- Adds methods to access the page, frame, and worker associated with a console message. (25.13.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.13.0)
- Adds asFetchRequest to HTTPRequest. (25.13.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.13.0)
- Adds asFetchResponse to HTTPResponse. (25.13.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.13.0)
- The WebSocket max payload can now be configured. (25.13.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.13.0)

### Fixes and other changes

- Handles rejections from continueWithAuth. (25.15.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.15.0)
- Applies dynamic network restrictions to service workers that are already running. (25.15.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.15.0)
- Avoids emitting a duplicate request when restarting Fetch.requestPaused. (25.15.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.15.0)
- Handles stop() rejection when page.record() fails to start. (25.15.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.15.0)
- Stops in-page pollers created after WaitTask termination. (25.15.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.15.0)
- Puppeteer rolls to Firefox 158.0. (25.14.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.14.0)
- Screencast frame sizes are rounded to whole pixels. (25.14.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.14.0)
- Closes the browser process when the BiDi close command fails. (25.13.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.13.0)
- Disconnects the browser when the close callback fails. (25.13.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.13.0)
- Waits for browser process termination and runs exit hooks after killing the process. (25.13.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.13.0)
- Preserves path prefixes in browserURL when connecting. (25.13.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.13.0)
- Rolls the bundled Chrome version forward. (25.13.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.15.0), [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.14.0), [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.13.0)
- Clearing custom query handlers also removes their injected scripts. (25.13.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.13.0)
- Supports additional media features that Chrome honors. (25.13.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.13.0)
- Removes the temporary profile when Firefox rejects pipes. (25.13.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.13.0)
- Rolls to Firefox 157.0.1. (25.13.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.13.0)
- Uses the shadow host when checking a text node's visibility in a shadow root. (25.13.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.13.0)
- Worker evaluation and close now settle when the script fails to load. (25.13.0) — [release notes](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.13.0)
