Releases: puppeteer/puppeteer
v7.0.1
v7.0.0
v7.0.0 (2021-02-03)
⚠ BREAKING CHANGES
page.screenshotmakes a screenshot with the clip dimensions, not cutting it by the ViewPort size.- chromium: -
page.screenshotcuts screenshot content by the ViewPort size, not ViewPort position.
Features
v6.0.0
v6.0.0 (2021-02-02)
⚠ BREAKING CHANGES
- chromium: The built-in
aria/selector query handler doesn’t return ignored elements anymore. - typescript: Puppeteer now ships with built-in TypeScript definitions. This means you no longer need to install
@types/puppeteer. We are aware that there are likely improvements that can be made to our types to improve the developer experience when using them; please open issues if you hit any problems with the built-in TS definitions, or notice areas where you feel types are lacking.
Features
- chromium: roll Chromium to r843427 (#6797) (8f9fbdb), closes #6758
- add page.emulateNetworkConditions (#6759) (5ea76e9)
- types: expose typedefs to consumers (#6745) (ebd087a)
- add iPhone 11 models to DeviceDescriptors (#6467) (50b810d)
- support fetching and launching on Apple M1 (9a8479a), closes #6495 #6634 #6641 #6614
- support promise as return value for page.waitForResponse predicate (#6624) (b57f3fc)
Bug Fixes
v5.5.0
v5.4.1
Bug fixes
- Fixed an issue in 5.4.0 on Node.js v10.17.0 and below where trying to access
fs.promiseswould throw an error. See #6548 for the bug report and #6550 for the fix. We now run a CI build on Node 10.15 to ensure we don't cause similar regressions in the future.
Raw notes
520cd90 - chore: mark version 5.4.1
8f4a79e - docs(troubleshooting): update Alpine Chromium version (#6529)
e45acce - chore: run unit tests on node 10.15 + fix fs.promises access (#6550)
a2175c6 - docs(queryhandler): fix link (#6543)
d787865 - chore: bump version to v5.4.0-post (#6544)
v5.4.0
Feature changes
Custom query handler API
The custom query handler support is no longer marked as experimental. The API has been updated to:
puppeteer.registerCustomQueryHandler(name: string, queryHandler: CustomQueryHandler): void;
puppeteer.unregisterCustomQueryHandler(name: string): void;
puppeteer.customQueryHandlerNames(): string[];
puppeteer.clearCustomQueryHandlers(): void;New built-in query handlers
Puppeteer now ships with two built-in handlers: aria and pierce:
- The
ariahandler (#6307) allows querying elements based on the accessibility tree. - The
piercehandler (#6509) pierces shadow roots while querying for a CSS selector.
Roll Chromium 87.0.4272.0 (r809590)
Behind the scenes
- We now enforce Conventional Commits through commitlint (#6483)
- We've started work towards automating the release process. This work can be tracked in #6482.
Raw notes
5e5fed1 - fix: ignore spurious bindingCalled events (#6538)
e6b8c77 - chore: fix travis config (#6537)
c756fb4 - fix(utils): typo fix (#6522)
f63a123 - chore(agnostification): agnostify web socket connections (#6520)
c2c2bb7 - chore(agnostification): common/helper.ts (#6515)
637a1f7 - chore: gitignore new-docs (#6511)
e655bb6 - chore(agnostification): split up root Puppeteer class (#6504)
f3086d7 - fix(launcher): support relative userDataDir on headless Windows (#6506)
8fabe32 - feat(queryhandler): add built-in pierce handler (#6509)
f04bec5 - chore: update eslint & eslint plugins (#6487)
4846b87 - chore(agnostification): split up launcher class (#6484)
1ed38af - chore(node): move install.ts into node/ (#6490)
e94a1e8 - chore: bump misc dependencies (#6488)
936ccdc - chore: enforce Conventional Commits through commitlint (#6483)
502ed8c - chore(agnostify): Create Node and Web initializer. (#6477)
3afe193 - feat(a11y-query): extend aria handler with waitFor (#6472)
cc7f1fd - docs(queryhandler): add custom query handler docs (#6476)
70ed875 - fix(queryhandler) only expose custom handlers (#6475)
950ae33 - feat(a11y-query): aria query handler sans waitfor (#6459)
41ef3ee - fix: update preferences in default Firefox profile (#6465)
9275653 - docs(examples): update selector for search example (#6471)
49f25e2 - feat(chromium) roll Chromium to r809590 (#6458)
4cdbebe - chore: disable firefox windows launcher test until Nov (#6451)
75e3fb0 - docs(api): fix some outdated links (#6450)
caa9a1c - chore(agnostic): Remove use of util.promisify (#6446)
96f3d43 - feat(console): expose stack trace for console messages (#6445)
322cc96 - chore: remove npm run test-types call (#6447)
72fe86f - feat(a11y-query): introduce internal handlers (#6437)
1396c9d - chore: bump version to v5.3.1-post (#6440)
11ab402 - fix: add mime dependency back to fix build (#6441)
v5.3.1
Highlights
- New API:
page.emulateIdleState(...)(#6410)
Raw notes
c7d32cb - chore: mark version v5.3.1 (#6439)
8f3171a - feat(permissions): Add idle-detection permission (#6438)
083ea41 - test(frame): correct terminology in URL fragment test (#6416)
bb1c521 - chore: remove mime dependency (#6415)
17960e5 - feat(page): emulate idle state (#6410)
03e41da - chore: bump version to v5.3.0-post (#6413)
v5.3.0
Highlights
- Chromium 86.0.4240.0 (r800071)
- Support configuring the browser download path through
PUPPETEER_DOWNLOAD_PATH(#6014) - New API:
page.waitForTimeoutand subsequently,frame.waitForTimeout(#6268) - Deprecated API:
page.waitForandframe.waitFor(#6268)
Raw notes
030fcaa - chore: mark version v5.3.0 (#6412)
4ce600a - chore: Remove target debug-unit and add unit-debug (#6411)
62ac167 - feat(chromium): roll Chromium to r800071 (#6407)
35cfbe1 - docs(troubleshooting.md): updated commands (#6296)
ce6ae35 - doc(contributing): add info on bisecting upstream changes (#6402)
e22ca4c - chore: extend Firefox launch test deadline by a month (#6403)
2470d1e - chore: update documentation on rolling chromium (#6399)
b6bbfd0 - fix: ensure frame.url() includes the query string (#6398)
7b24e54 - fix: revise interesting classification for AXNodes (#6334)
13ea347 - feat: support configuring the browser download path (#6014)
615cd37 - chore: use https URL for license info (#6279)
b4c1e45 - docs: fix setuid sandbox link (#6310)
054d782 - fix(Launcher): use wait-for-process Firefox option (#6315)
996e82c - test(install): check for Firefox binary, clean up messages (#6316)
142f88c - docs(troubleshooting): update Alpine Chromium version (#6320)
8e29b7a - chore: rename serializeTree parameter (#6308)
1d08e27 - docs(troubleshooting.md) fix error in docker guidelines (#6267)
9bc063b - chore: assert location value of ConsoleMessage in tests (#6282)
713e990 - chore: upgrade Mitt to 2.1 (#6287)
21552f8 - feat: page.waitForTimeout (#6268)
3a15c06 - chore: test Connection class in the browser (#6269)
a47b556 - docs(api): fix typo in elementHandle.evaluateHandle() (#6276)
8c1a586 - fix: handle promise for reading protocol stream of trace (#6270)
15d1906 - feat: add web test runner (#6200)
13f8fe6 - chore(docs): page.emulateVisionDeficiency docs (#6231)
e3933dd - chore: mark 5.2.1-post (#6257)
v5.2.1
Highlights
- Chromium 85.0.4182.0 (r782078)
- We now allow configuring the browser debug logging behavior via
globalThis.__PUPPETEER_DEBUG(#6210)
Raw notes
4ee4649 - chore: mark v5.2.1 (#6254)
e89e264 - feat(chromium): roll Chromium to r782078 (#6250)
b2f6918 - fix: configure debug logging in browser (#6210)
040f37e - docs: fix link text (#6245)
9fdf2ba - chore(docs): migrate page.pdf() docs (#6228)
2331584 - docs(troubleshooting): install libXss in Dockerfile (#6236)
042c4a2 - chore: mark 5.2.0-post (#6240)
v5.2.0
Feature changes
The experimental API for registering custom query handlers is slightly changed such that one registers query handlers containing two strategies: one for querying a single element and one for querying all matching elements.
The API for custom query handlers is unchanged:
__experimental_registerCustomQueryHandler(name: string, queryHandler: QueryHandler): void;
__experimental_unregisterCustomQueryHandler(name: string): void;
__experimental_customQueryHandlers(): Map<string, QueryHandler>;
__experimental_clearQueryHandlers(): void;but QueryHandler is now defined as:
export interface QueryHandler {
queryOne?: (element: Element | Document, selector: string) => Element | null;
queryAll?: (element: Element | Document, selector: string) => Element[] | NodeListOf<Element>;
}Bug fixes and improvements
- The ESM build now includes file extensions in its import statements to match the ESM spec. Note that the ESM build is still considered experimental and should not be relied on.
- The docs on running Firefox Nightly are now much clearer.
- We now vendor in common dependencies such as Mitt so they can be used more easily outside of the Node module resolution ecosystem.
Raw notes
028f144 - chore: mark v5.2.0 (#6238)
313774c - feat: change QueryHandler to contain QueryOne and QueryAll methods (#6218)
82645e8 - docs: better describe how to install Firefox Nightly with Puppeteer (#6226)
f1a6b8d - chore: vendor Mitt & update project structure (#6209)
fb80610 - docs(troubleshooting): drops obsolete dependencies (#5354)
3effcaf - chore: generate docs for the protocol (#6213)
ffec247 - chore: enforce file extensions on imports (#6202)
8d6e0d8 - chore: mark version to v5.1.0-post (#6208)