puppeteer/puppeteer
### [`v5.2.1`](https://togithub.com/puppeteer/puppeteer/releases/v5.2.1)
[Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v5.2.0...v5.2.1)
#### Highlights
- Chromium 85.0.4182.0 (r782078)
- We now allow configuring the browser debug logging behavior ([#6210](https://togithub.com/puppeteer/puppeteer/issues/6210))
#### Raw notes
[`4ee4649`](https://togithub.com/puppeteer/puppeteer/commit/4ee4649d) - chore: mark v5.2.1 ([#6254](https://togithub.com/puppeteer/puppeteer/issues/6254))
[`e89e264`](https://togithub.com/puppeteer/puppeteer/commit/e89e264a) - feat(chromium): roll Chromium to r782078 ([#6250](https://togithub.com/puppeteer/puppeteer/issues/6250))
[`b2f6918`](https://togithub.com/puppeteer/puppeteer/commit/b2f69183) - fix: configure debug logging in browser ([#6210](https://togithub.com/puppeteer/puppeteer/issues/6210))
[`040f37e`](https://togithub.com/puppeteer/puppeteer/commit/040f37ec) - docs: fix link text ([#6245](https://togithub.com/puppeteer/puppeteer/issues/6245))
[`9fdf2ba`](https://togithub.com/puppeteer/puppeteer/commit/9fdf2ba2) - chore(docs): migrate page.pdf() docs ([#6228](https://togithub.com/puppeteer/puppeteer/issues/6228))
[`2331584`](https://togithub.com/puppeteer/puppeteer/commit/23315844) - docs(troubleshooting): install libXss in Dockerfile ([#6236](https://togithub.com/puppeteer/puppeteer/issues/6236))
[`042c4a2`](https://togithub.com/puppeteer/puppeteer/commit/042c4a23) - chore: mark 5.2.0-post ([#6240](https://togithub.com/puppeteer/puppeteer/issues/6240))
### [`v5.2.0`](https://togithub.com/puppeteer/puppeteer/releases/v5.2.0)
[Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v5.1.0...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:
```ts
__experimental_registerCustomQueryHandler(name: string, queryHandler: QueryHandler): void;
__experimental_unregisterCustomQueryHandler(name: string): void;
__experimental_customQueryHandlers(): Map;
__experimental_clearQueryHandlers(): void;
```
but QueryHandler is now defined as:
```ts
export interface QueryHandler {
queryOne?: (element: Element | Document, selector: string) => Element | null;
queryAll?: (element: Element | Document, selector: string) => Element[] | NodeListOf;
}
```
##### 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`](https://togithub.com/puppeteer/puppeteer/commit/028f1442) - chore: mark v5.2.0 ([#6238](https://togithub.com/puppeteer/puppeteer/issues/6238))
[`313774c`](https://togithub.com/puppeteer/puppeteer/commit/313774c5) - feat: change QueryHandler to contain QueryOne and QueryAll methods ([#6218](https://togithub.com/puppeteer/puppeteer/issues/6218))
[`82645e8`](https://togithub.com/puppeteer/puppeteer/commit/82645e85) - docs: better describe how to install Firefox Nightly with Puppeteer ([#6226](https://togithub.com/puppeteer/puppeteer/issues/6226))
[`f1a6b8d`](https://togithub.com/puppeteer/puppeteer/commit/f1a6b8d6) - chore: vendor Mitt & update project structure ([#6209](https://togithub.com/puppeteer/puppeteer/issues/6209))
[`fb80610`](https://togithub.com/puppeteer/puppeteer/commit/fb806109) - docs(troubleshooting): drops obsolete dependencies ([#5354](https://togithub.com/puppeteer/puppeteer/issues/5354))
[`3effcaf`](https://togithub.com/puppeteer/puppeteer/commit/3effcafc) - chore: generate docs for the protocol ([#6213](https://togithub.com/puppeteer/puppeteer/issues/6213))
[`ffec247`](https://togithub.com/puppeteer/puppeteer/commit/ffec2475) - chore: enforce file extensions on imports ([#6202](https://togithub.com/puppeteer/puppeteer/issues/6202))
[`8d6e0d8`](https://togithub.com/puppeteer/puppeteer/commit/8d6e0d8a) - chore: mark version to v5.1.0-post ([#6208](https://togithub.com/puppeteer/puppeteer/issues/6208))
### [`v5.1.0`](https://togithub.com/puppeteer/puppeteer/releases/v5.1.0)
[Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v5.0.0...v5.1.0)
##### Highlights:
The new [`Mouse#wheel`](https://togithub.com/puppeteer/puppeteer/blob/main/docs/api.md#mousewheeloptions) API has been merged in [#6141](https://togithub.com/puppeteer/puppeteer/issues/6141). It behaves similar to other mouse commands like up or down and therefore requires a `mouse.move(x, y)` for targeting the element properly.
##### Raw notes:
[`91c13d2`](https://togithub.com/puppeteer/puppeteer/commit/91c13d2) - chore: mark version v5.1.0
[`790c277`](https://togithub.com/puppeteer/puppeteer/commit/790c277) - feat(chromium): roll Chromium to r768783 ([#6201](https://togithub.com/puppeteer/puppeteer/issues/6201))
[`9b3005c`](https://togithub.com/puppeteer/puppeteer/commit/9b3005c) - feat(types): improve page.evaluate types ([#6193](https://togithub.com/puppeteer/puppeteer/issues/6193))
[`31309b0`](https://togithub.com/puppeteer/puppeteer/commit/31309b0) - chore: use devtools-protocol package ([#6172](https://togithub.com/puppeteer/puppeteer/issues/6172))
[`f666be3`](https://togithub.com/puppeteer/puppeteer/commit/f666be3) - chore: remove src/api.ts ([#6191](https://togithub.com/puppeteer/puppeteer/issues/6191))
[`03a87e8`](https://togithub.com/puppeteer/puppeteer/commit/03a87e8) - chore(docs): tidy Puppeteer class docs ([#6181](https://togithub.com/puppeteer/puppeteer/issues/6181))
[`24cb6a2`](https://togithub.com/puppeteer/puppeteer/commit/24cb6a2) - chore(docs): document Frame class ([#6188](https://togithub.com/puppeteer/puppeteer/issues/6188))
[`b9667f9`](https://togithub.com/puppeteer/puppeteer/commit/b9667f9) - chore: document browser install breakage on Node 14.0.0 ([#6187](https://togithub.com/puppeteer/puppeteer/issues/6187))
[`1243466`](https://togithub.com/puppeteer/puppeteer/commit/1243466) - chore: remove `installAsyncStackHooks` helper ([#6186](https://togithub.com/puppeteer/puppeteer/issues/6186))
[`19f188a`](https://togithub.com/puppeteer/puppeteer/commit/19f188a) - chore: forbid importing src/common/Events.ts ([#6183](https://togithub.com/puppeteer/puppeteer/issues/6183))
[`0e93880`](https://togithub.com/puppeteer/puppeteer/commit/0e93880) - chore(docs): migrate Connection + CDP event defs ([#6180](https://togithub.com/puppeteer/puppeteer/issues/6180))
[`74cb2ce`](https://togithub.com/puppeteer/puppeteer/commit/74cb2ce) - chore: migrate FrameManager events from Events.ts ([#6179](https://togithub.com/puppeteer/puppeteer/issues/6179))
[`6ee7139`](https://togithub.com/puppeteer/puppeteer/commit/6ee7139) - chore(docs): fix incorrect `@returns` on getter ([#6175](https://togithub.com/puppeteer/puppeteer/issues/6175))
[`12ee70f`](https://togithub.com/puppeteer/puppeteer/commit/12ee70f) - chore: migrate NetworkManager events ([#6174](https://togithub.com/puppeteer/puppeteer/issues/6174))
[`022495b`](https://togithub.com/puppeteer/puppeteer/commit/022495b) - chore: fix broken link in docs to DeviceDescriptors ([#6170](https://togithub.com/puppeteer/puppeteer/issues/6170))
[`2256b8d`](https://togithub.com/puppeteer/puppeteer/commit/2256b8d) - chore(docs): migrate `BrowserContext` events ([#6168](https://togithub.com/puppeteer/puppeteer/issues/6168))
[`e2e0502`](https://togithub.com/puppeteer/puppeteer/commit/e2e0502) - chore(docs): fix DOMWorld doc warnings ([#6166](https://togithub.com/puppeteer/puppeteer/issues/6166))
[`782c1d4`](https://togithub.com/puppeteer/puppeteer/commit/782c1d4) - chore(docs): define events enum for `Browser` ([#6165](https://togithub.com/puppeteer/puppeteer/issues/6165))
[`ba7624a`](https://togithub.com/puppeteer/puppeteer/commit/ba7624a) - chore(docs): migrate & document all Page events ([#6154](https://togithub.com/puppeteer/puppeteer/issues/6154))
[`e67a860`](https://togithub.com/puppeteer/puppeteer/commit/e67a860) - feat: add Mouse#wheel ([#6141](https://togithub.com/puppeteer/puppeteer/issues/6141))
[`5049b83`](https://togithub.com/puppeteer/puppeteer/commit/5049b83) - feat(types): add types for `page.$eval` ([#6139](https://togithub.com/puppeteer/puppeteer/issues/6139))
[`f7857d2`](https://togithub.com/puppeteer/puppeteer/commit/f7857d2) - chore(docs): document HTTPRequest with TSDoc ([#6146](https://togithub.com/puppeteer/puppeteer/issues/6146))
[`4ebf117`](https://togithub.com/puppeteer/puppeteer/commit/4ebf117) - docs: migrating Page.ts to TSDoc ([#6152](https://togithub.com/puppeteer/puppeteer/issues/6152))
[`d9bb52e`](https://togithub.com/puppeteer/puppeteer/commit/d9bb52e) - docs: fix sandboxing documentation link ([#5288](https://togithub.com/puppeteer/puppeteer/issues/5288))
[`aee8fda`](https://togithub.com/puppeteer/puppeteer/commit/aee8fda) - fix: make Node.js environment detection robust w.r.t. JSDOM ([#6148](https://togithub.com/puppeteer/puppeteer/issues/6148))
[`054fa2e`](https://togithub.com/puppeteer/puppeteer/commit/054fa2e) - chore(docs): fix more documentation warnings ([#6145](https://togithub.com/puppeteer/puppeteer/issues/6145))
[`928924e`](https://togithub.com/puppeteer/puppeteer/commit/928924e) - chore: mark v5.0.0-post ([#6144](https://togithub.com/puppeteer/puppeteer/issues/6144))
### [`v5.0.0`](https://togithub.com/puppeteer/puppeteer/releases/v5.0.0)
[Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v4.0.1...v5.0.0)
##### Breaking changes
##### Removal of `page.emulateMedia` ([#6084](https://togithub.com/puppeteer/puppeteer/issues/6084))
This method was deprecated and is now removed from Puppeteer. Swap to `page.emulateMediaType` which behaves identically.
##### Removal of `require('puppeteer/DeviceDescriptors')` ([#6043](https://togithub.com/puppeteer/puppeteer/issues/6043))
This top level file has been removed from the Puppeteer package. The same data is exposed via `puppeteer.devices`, so swap to that:
```js
// before
const devices = require('puppeteer/DeviceDescriptors');
// after
const puppeteer = require('puppeteer');
const devices = puppeteer.devices
```
##### Removal of `require('puppeteer/Errors')` ([#6043](https://togithub.com/puppeteer/puppeteer/issues/6043))
This top level file has been removed from the Puppeteer package. The same data is exposed via `puppeteer.errors`, so swap to that:
```js
// before
const errors = require('puppeteer/Errors');
// after
const puppeteer = require('puppeteer');
const errors = puppeteer.errors
```
##### Behind the scenes
- We've continued our drive to migrate to a new documentation system using TSDoc. These docs are available in the [`new-docs`](https://togithub.com/puppeteer/puppeteer/blob/main/new-docs/puppeteer.md) directory on GitHub. These aren't ready for use just yet but we're making great progress. You can track this work in [#6118](https://togithub.com/puppeteer/puppeteer/issues/6118).
- We've continued improving our TypeScript definitions. Our tests are now migrated to TypeScript ([#5830](https://togithub.com/puppeteer/puppeteer/issues/5830)) so that we're consuming our own API. Work continues to ship built-in type definitions in a future version. You can track this work in [#6124](https://togithub.com/puppeteer/puppeteer/issues/6124).
- We've started restructuring Puppeteer to work towards being able to better support an environment agnostic Puppeteer module. You can track this work in [#6125](https://togithub.com/puppeteer/puppeteer/issues/6125).
##### Raw notes
[`85d8dbf`](https://togithub.com/puppeteer/puppeteer/commit/85d8dbf) - chore: mark v5.0.0
[`29f7e16`](https://togithub.com/puppeteer/puppeteer/commit/29f7e16) - chore(docs): reduce warnings when generating docs ([#6138](https://togithub.com/puppeteer/puppeteer/issues/6138))
[`221d172`](https://togithub.com/puppeteer/puppeteer/commit/221d172) - chore: add typecheck command ([#6140](https://togithub.com/puppeteer/puppeteer/issues/6140))
[`6474edb`](https://togithub.com/puppeteer/puppeteer/commit/6474edb) - feat(types): add types for `$eval` ([#6135](https://togithub.com/puppeteer/puppeteer/issues/6135))
[`8370ec8`](https://togithub.com/puppeteer/puppeteer/commit/8370ec8) - feat(types): add (and fix) `evaluateHandle` types ([#6130](https://togithub.com/puppeteer/puppeteer/issues/6130))
[`3c0dc45`](https://togithub.com/puppeteer/puppeteer/commit/3c0dc45) - chore: update Windows skipped tests. ([#6133](https://togithub.com/puppeteer/puppeteer/issues/6133))
[`9f19862`](https://togithub.com/puppeteer/puppeteer/commit/9f19862) - chore(docs): mark JSHandle properties as internal ([#6126](https://togithub.com/puppeteer/puppeteer/issues/6126))
[`8026ca9`](https://togithub.com/puppeteer/puppeteer/commit/8026ca9) - docs(api): fix overview diagram for pptr.dev ([#6128](https://togithub.com/puppeteer/puppeteer/issues/6128))
[`9d79cc8`](https://togithub.com/puppeteer/puppeteer/commit/9d79cc8) - chore: fix Firefox install checker ([#6129](https://togithub.com/puppeteer/puppeteer/issues/6129))
[`1f5e333`](https://togithub.com/puppeteer/puppeteer/commit/1f5e333) - chore: Don't store revisions in `package.json` ([#6109](https://togithub.com/puppeteer/puppeteer/issues/6109))
[`123c377`](https://togithub.com/puppeteer/puppeteer/commit/123c377) - docs(new): Add TSDoc to Coverage class ([#6106](https://togithub.com/puppeteer/puppeteer/issues/6106))
[`3760302`](https://togithub.com/puppeteer/puppeteer/commit/3760302) - docs(api): fix broken links in api.md ([#6113](https://togithub.com/puppeteer/puppeteer/issues/6113))
[`adeffba`](https://togithub.com/puppeteer/puppeteer/commit/adeffba) - docs(new): migrate Page.ts to TSDoc (part 0 / 2) ([#6104](https://togithub.com/puppeteer/puppeteer/issues/6104))
[`df96f16`](https://togithub.com/puppeteer/puppeteer/commit/df96f16) - docs(new): migrate JSHandle docs to TSDoc ([#6102](https://togithub.com/puppeteer/puppeteer/issues/6102))
[`1c0009d`](https://togithub.com/puppeteer/puppeteer/commit/1c0009d) - chore(agnostic): ship CJS and ESM builds ([#6095](https://togithub.com/puppeteer/puppeteer/issues/6095))
[`46fc6ca`](https://togithub.com/puppeteer/puppeteer/commit/46fc6ca) - feat(types): improve typing of `.evaluate()` ([#6096](https://togithub.com/puppeteer/puppeteer/issues/6096))
[`a4d12a2`](https://togithub.com/puppeteer/puppeteer/commit/a4d12a2) - chore: remove `helper.promisify` ([#6100](https://togithub.com/puppeteer/puppeteer/issues/6100))
[`5b6d2bf`](https://togithub.com/puppeteer/puppeteer/commit/5b6d2bf) - docs(new): add TSDoc comments to Keyboard ([#6099](https://togithub.com/puppeteer/puppeteer/issues/6099))
[`4696f7a`](https://togithub.com/puppeteer/puppeteer/commit/4696f7a) - docs(new): migrate HTTPResponse docs to TSDoc ([#6085](https://togithub.com/puppeteer/puppeteer/issues/6085))
[`b993adb`](https://togithub.com/puppeteer/puppeteer/commit/b993adb) - chore(agnostic): Migrate DOMWorld ([#6054](https://togithub.com/puppeteer/puppeteer/issues/6054))
[`c149034`](https://togithub.com/puppeteer/puppeteer/commit/c149034) - chore: remove hardcoded `?hl=en` from docs ([#6097](https://togithub.com/puppeteer/puppeteer/issues/6097))
[`48c5a8e`](https://togithub.com/puppeteer/puppeteer/commit/48c5a8e) - docs(new): add TSDoc comments to Puppeteer ([#6032](https://togithub.com/puppeteer/puppeteer/issues/6032)) ([#6094](https://togithub.com/puppeteer/puppeteer/issues/6094))
[`f1f7339`](https://togithub.com/puppeteer/puppeteer/commit/f1f7339) - docs(new): add TSDoc comments to Puppeteer ([#6032](https://togithub.com/puppeteer/puppeteer/issues/6032))
[`a46c78f`](https://togithub.com/puppeteer/puppeteer/commit/a46c78f) - docs(new): Adds TSDoc to Tracing class ([#6088](https://togithub.com/puppeteer/puppeteer/issues/6088))
[`60904da`](https://togithub.com/puppeteer/puppeteer/commit/60904da) - docs(new): migrate FileChooser docs to TSDoc ([#6092](https://togithub.com/puppeteer/puppeteer/issues/6092))
[`7855519`](https://togithub.com/puppeteer/puppeteer/commit/7855519) - chore: tidy up TODO from TS tests migration ([#6090](https://togithub.com/puppeteer/puppeteer/issues/6090))
[`f481922`](https://togithub.com/puppeteer/puppeteer/commit/f481922) - docs(new): Adds TSDoc to Mouse class ([#6086](https://togithub.com/puppeteer/puppeteer/issues/6086))
[`2ad42dc`](https://togithub.com/puppeteer/puppeteer/commit/2ad42dc) - docs(new): migrate Touchscreen docs to TSDoc ([#6087](https://togithub.com/puppeteer/puppeteer/issues/6087))
[`73b9795`](https://togithub.com/puppeteer/puppeteer/commit/73b9795) - docs(new): add TSDoc comments to BrowserFetcher ([#6078](https://togithub.com/puppeteer/puppeteer/issues/6078))
[`37f6032`](https://togithub.com/puppeteer/puppeteer/commit/37f6032) - feat(api): remove `emulateMedia` method ([#6084](https://togithub.com/puppeteer/puppeteer/issues/6084))
[`1ee379c`](https://togithub.com/puppeteer/puppeteer/commit/1ee379c) - chore: avoid disabling prettier ([#6079](https://togithub.com/puppeteer/puppeteer/issues/6079))
[`381b0f8`](https://togithub.com/puppeteer/puppeteer/commit/381b0f8) - chore: declare `toBeGolden` to TypeScript ([#6080](https://togithub.com/puppeteer/puppeteer/issues/6080))
[`70a900e`](https://togithub.com/puppeteer/puppeteer/commit/70a900e) - chore: fix ESLint violation and lessen rule strictness ([#6081](https://togithub.com/puppeteer/puppeteer/issues/6081))
[`fdc6fda`](https://togithub.com/puppeteer/puppeteer/commit/fdc6fda) - docs: fix effect -> affect typos ([#5985](https://togithub.com/puppeteer/puppeteer/issues/5985))
[`4659ee8`](https://togithub.com/puppeteer/puppeteer/commit/4659ee8) - docs(new): add TSDoc comments to BrowserContext ([#6066](https://togithub.com/puppeteer/puppeteer/issues/6066))
[`ccae546`](https://togithub.com/puppeteer/puppeteer/commit/ccae546) - docs(new): migrate Browser docs to TSDoc ([#6070](https://togithub.com/puppeteer/puppeteer/issues/6070))
[`28797de`](https://togithub.com/puppeteer/puppeteer/commit/28797de) - chore: migrate tests to TypeScript ([#6075](https://togithub.com/puppeteer/puppeteer/issues/6075))
[`2090676`](https://togithub.com/puppeteer/puppeteer/commit/2090676) - docs: fix broken link to DeviceDescriptors.ts ([#6076](https://togithub.com/puppeteer/puppeteer/issues/6076))
[`6657364`](https://togithub.com/puppeteer/puppeteer/commit/6657364) - docs(new): migrate ElementHandle to TSDoc ([#6073](https://togithub.com/puppeteer/puppeteer/issues/6073))
[`7025f1c`](https://togithub.com/puppeteer/puppeteer/commit/7025f1c) - docs(new): migrate Target to TSDoc ([#6067](https://togithub.com/puppeteer/puppeteer/issues/6067))
[`819afbe`](https://togithub.com/puppeteer/puppeteer/commit/819afbe) - docs(new): migrate ConsoleMessage docs to TSDoc ([#6065](https://togithub.com/puppeteer/puppeteer/issues/6065))
[`983a7b6`](https://togithub.com/puppeteer/puppeteer/commit/983a7b6) - docs(new): migrate CDPSession to TSDoc ([#6064](https://togithub.com/puppeteer/puppeteer/issues/6064))
[`1cf3f06`](https://togithub.com/puppeteer/puppeteer/commit/1cf3f06) - docs(new): migrate TimeoutError to TSDoc ([#6062](https://togithub.com/puppeteer/puppeteer/issues/6062))
[`ace31d6`](https://togithub.com/puppeteer/puppeteer/commit/ace31d6) - chore: pin TSDoc related dependencies ([#6063](https://togithub.com/puppeteer/puppeteer/issues/6063))
[`750f5ee`](https://togithub.com/puppeteer/puppeteer/commit/750f5ee) - docs: fix broken link to USKeyboardLayout file ([#6059](https://togithub.com/puppeteer/puppeteer/issues/6059))
[`e7b91a7`](https://togithub.com/puppeteer/puppeteer/commit/e7b91a7) - chore: enforce a max line length on comments ([#6055](https://togithub.com/puppeteer/puppeteer/issues/6055))
[`7978315`](https://togithub.com/puppeteer/puppeteer/commit/7978315) - docs(new): migrate SecurityDetails docs to TSDoc ([#6053](https://togithub.com/puppeteer/puppeteer/issues/6053))
[`7a4170f`](https://togithub.com/puppeteer/puppeteer/commit/7a4170f) - chore: remove top level errors and DeviceDescriptors ([#6043](https://togithub.com/puppeteer/puppeteer/issues/6043))
[`5ff698e`](https://togithub.com/puppeteer/puppeteer/commit/5ff698e) - chore: move `index.js` into `src` and TS-ify ([#6049](https://togithub.com/puppeteer/puppeteer/issues/6049))
[`940a570`](https://togithub.com/puppeteer/puppeteer/commit/940a570) - chore: exclude api.ts from dependency graph ([#6052](https://togithub.com/puppeteer/puppeteer/issues/6052))
[`759b280`](https://togithub.com/puppeteer/puppeteer/commit/759b280) - chore: upgrade to Mocha v8 ([#5997](https://togithub.com/puppeteer/puppeteer/issues/5997))
[`9522f80`](https://togithub.com/puppeteer/puppeteer/commit/9522f80) - chore: create `common` directory ([#6042](https://togithub.com/puppeteer/puppeteer/issues/6042))
[`f6af7b8`](https://togithub.com/puppeteer/puppeteer/commit/f6af7b8) - chore: fix dependency chart generation ([#6039](https://togithub.com/puppeteer/puppeteer/issues/6039))
[`90b0934`](https://togithub.com/puppeteer/puppeteer/commit/90b0934) - chore: create `node` directory for Node-only files ([#6041](https://togithub.com/puppeteer/puppeteer/issues/6041))
[`ce34c0a`](https://togithub.com/puppeteer/puppeteer/commit/ce34c0a) - fix: `page.goto` options type should be optional ([#6038](https://togithub.com/puppeteer/puppeteer/issues/6038))
[`44402b7`](https://togithub.com/puppeteer/puppeteer/commit/44402b7) - feat(new-docs): add tsdoc comments to `WebWorker` ([#6029](https://togithub.com/puppeteer/puppeteer/issues/6029))
[`64c9c70`](https://togithub.com/puppeteer/puppeteer/commit/64c9c70) - chore: add dependency chart generation as script ([#6034](https://togithub.com/puppeteer/puppeteer/issues/6034))
[`547f4ea`](https://togithub.com/puppeteer/puppeteer/commit/547f4ea) - chore: create new debug module ([#6028](https://togithub.com/puppeteer/puppeteer/issues/6028))
[`56742eb`](https://togithub.com/puppeteer/puppeteer/commit/56742eb) - chore: bump version to v4.0.0-post ([#6024](https://togithub.com/puppeteer/puppeteer/issues/6024))
[`e4de5f1`](https://togithub.com/puppeteer/puppeteer/commit/e4de5f1) - chore: move `assert` into its own module ([#6021](https://togithub.com/puppeteer/puppeteer/issues/6021))
[`f1ec6a3`](https://togithub.com/puppeteer/puppeteer/commit/f1ec6a3) - chore: update references to branch names ([#6022](https://togithub.com/puppeteer/puppeteer/issues/6022))
### [`v4.0.1`](https://togithub.com/puppeteer/puppeteer/releases/v4.0.1)
[Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v4.0.0...v4.0.1)
#### Bug fixes
- The link the troubleshooting docs is now fixed and links to the `main` branch, not the removed `master` branch. Fixes [#6082](https://togithub.com/puppeteer/puppeteer/issues/6082).
#### Raw notes
[`16972ca`](https://togithub.com/puppeteer/puppeteer/commit/16972ca) - pull in master => main renaming
[`b537a67`](https://togithub.com/puppeteer/puppeteer/commit/b537a67) - chore: mark v4.0.1
### [`v4.0.0`](https://togithub.com/puppeteer/puppeteer/releases/v4.0.0)
[Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v3.3.0...v4.0.0)
#### Breaking change: Puppeteer no longer uses Node’s EventEmitter library
As part of our work to make Puppeteer agnostic of its environment we are removing the dependency on Node’s EventEmitter in favour of an event emitter that is not tied to Node. Under the hood we use Mitt, but we extend Mitt with additional functionality to match most of the methods that Node’s EventEmitter provides. The following methods have been removed from Puppeteer classes that extend EventEmitter:
- `eventNames()`
- `getMaxListeners()`
- `listeners(eventName)`
- `prependListener`
- `prependOnceListener`
- `setMaxListeners(n)`
- `rawListeners(eventName)`
Additionally all the static methods on the EventEmitter class are not supported:
- `listenerCount(emitter, eventName)`
- `defaultMaxListeners`
- `errorMonitor`
Node’s EventEmitter emitted a `newListener` event when a listener was added and a `removeListener` event when one was removed. These are not supported and will not be emitted.
#### New features and improvements
- Send/receive debug logs are now split out into separate channels making the logs much clearer ([#6017](https://togithub.com/puppeteer/puppeteer/issues/6017))
- You can now call `isJavaScriptEnabled()` on a Puppeteer `page` to find out if JS is enabled on the page ([#5993](https://togithub.com/puppeteer/puppeteer/issues/5993))
#### Bug fixes
- Puppeteer is now much better at killing lingering browser processes, especially when you exit a test run with `Ctrl-C` ([#6011](https://togithub.com/puppeteer/puppeteer/issues/6011))
#### Behind the scenes
- We've started work on a new documentation system that uses TSDoc to generate documentation from our source code and have been porting documentation into code accordingly.
#### Raw notes
[`5493494`](https://togithub.com/puppeteer/puppeteer/commit/5493494) - chore: mark version 4.0.0
[`03ab1c1`](https://togithub.com/puppeteer/puppeteer/commit/03ab1c1) - fix: improve Ctrl + C support ([#6011](https://togithub.com/puppeteer/puppeteer/issues/6011))
[`b659969`](https://togithub.com/puppeteer/puppeteer/commit/b659969) - chore: migrate away from Node's EventEmitter ([#5979](https://togithub.com/puppeteer/puppeteer/issues/5979))
[`6e060ce`](https://togithub.com/puppeteer/puppeteer/commit/6e060ce) - fix(connection): separate send/receive debug logging ([#6017](https://togithub.com/puppeteer/puppeteer/issues/6017))
[`c701ea1`](https://togithub.com/puppeteer/puppeteer/commit/c701ea1) - chore: fix npm test command ([#6010](https://togithub.com/puppeteer/puppeteer/issues/6010))
[`398c16d`](https://togithub.com/puppeteer/puppeteer/commit/398c16d) - chore: fix docs linter ([#6009](https://togithub.com/puppeteer/puppeteer/issues/6009))
[`4205ff7`](https://togithub.com/puppeteer/puppeteer/commit/4205ff7) - docs(api): remove subheader for non-namespace
[`3d56a9e`](https://togithub.com/puppeteer/puppeteer/commit/3d56a9e) - chore: add test configuration options for running tests against multiple products ([#5964](https://togithub.com/puppeteer/puppeteer/issues/5964))
[`5c91dfb`](https://togithub.com/puppeteer/puppeteer/commit/5c91dfb) - chore: move `index.js` into `src` ([#6007](https://togithub.com/puppeteer/puppeteer/issues/6007))
[`8a099a0`](https://togithub.com/puppeteer/puppeteer/commit/8a099a0) - docs: replace [@return](https://togithub.com/return) with [@returns](https://togithub.com/returns) ([#6006](https://togithub.com/puppeteer/puppeteer/issues/6006))
[`23f18d8`](https://togithub.com/puppeteer/puppeteer/commit/23f18d8) - docs(new): start documenting the Page class ([#6001](https://togithub.com/puppeteer/puppeteer/issues/6001))
[`c1d7be3`](https://togithub.com/puppeteer/puppeteer/commit/c1d7be3) - docs(api): add copy-pasting text example to Mouse class ([#6000](https://togithub.com/puppeteer/puppeteer/issues/6000))
[`91eb745`](https://togithub.com/puppeteer/puppeteer/commit/91eb745) - chore: ensure new-docs are up to date ([#5994](https://togithub.com/puppeteer/puppeteer/issues/5994))
[`b86ff21`](https://togithub.com/puppeteer/puppeteer/commit/b86ff21) - feat(api): add Page.isJavaScriptEnabled + mark properties as private ([#5993](https://togithub.com/puppeteer/puppeteer/issues/5993))
[`354f942`](https://togithub.com/puppeteer/puppeteer/commit/354f942) - feat: improve error reporting on aarch64 ([#5167](https://togithub.com/puppeteer/puppeteer/issues/5167))
[`9c656d4`](https://togithub.com/puppeteer/puppeteer/commit/9c656d4) - chore: remove `prefers-color-scheme: no-preference` ([#5990](https://togithub.com/puppeteer/puppeteer/issues/5990))
[`83c29d9`](https://togithub.com/puppeteer/puppeteer/commit/83c29d9) - chore: clean `lib` when running tsc ([#5982](https://togithub.com/puppeteer/puppeteer/issues/5982))
[`ca8b0d6`](https://togithub.com/puppeteer/puppeteer/commit/ca8b0d6) - feat(new-docs): migrate Dialog documentation to TSDoc ([#5981](https://togithub.com/puppeteer/puppeteer/issues/5981))
[`0b3d52a`](https://togithub.com/puppeteer/puppeteer/commit/0b3d52a) - feat(new-docs): add TSDoc comments to `Accessibility` ([#5971](https://togithub.com/puppeteer/puppeteer/issues/5971))
[`086c089`](https://togithub.com/puppeteer/puppeteer/commit/086c089) - chore: commit base new-docs ([#5973](https://togithub.com/puppeteer/puppeteer/issues/5973))
[`0032420`](https://togithub.com/puppeteer/puppeteer/commit/0032420) - chore: Introduce API Extractor and start generating documentation ([#5967](https://togithub.com/puppeteer/puppeteer/issues/5967))
[`ef63c64`](https://togithub.com/puppeteer/puppeteer/commit/ef63c64) - test: check installation with Firefox ([#5965](https://togithub.com/puppeteer/puppeteer/issues/5965))
[`c2d32b1`](https://togithub.com/puppeteer/puppeteer/commit/c2d32b1) - chore: rename image assets
[`a84e07c`](https://togithub.com/puppeteer/puppeteer/commit/a84e07c) - chore: increase readability of Puppeteer diagram ([#5947](https://togithub.com/puppeteer/puppeteer/issues/5947))
[`58d1eab`](https://togithub.com/puppeteer/puppeteer/commit/58d1eab) - chore: mark version v3.3.0-post ([#5960](https://togithub.com/puppeteer/puppeteer/issues/5960))
### [`v3.3.0`](https://togithub.com/puppeteer/puppeteer/releases/v3.3.0)
[Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v3.2.0...v3.3.0)
#### Highlights
- The migration from Node's EventEmitter to the Mitt library has been **reverted in this release**. We're sorry for causing unexpected issues in the 3.2.0 release. If you were unable to upgrade from 3.1.0 to 3.2.0, you will be able to upgrade straight to 3.3.0 and not have any issues.
#### Behind the scenes
- The Puppeteer `Response` class was renamed `HTTPResponse` to avoid a clash with the TS `Response` type. We don't expose this class on the main Puppeteer instance so this shouldn't affect any of your code.
- Similarly we have renamed `Worker` to `WebWorker` to avoid a clash with the TS `Worker` type.
#### Raw Notes
[`34c0f9b`](https://togithub.com/puppeteer/puppeteer/commit/34c0f9b) - chore: mark version v3.3.0
[`309d811`](https://togithub.com/puppeteer/puppeteer/commit/309d811) - chore: Revert Mitt due to breaking changes ([#5952](https://togithub.com/puppeteer/puppeteer/issues/5952))
[`81e3248`](https://togithub.com/puppeteer/puppeteer/commit/81e3248) - chore: Defer Windows FF tests for longer ([#5954](https://togithub.com/puppeteer/puppeteer/issues/5954))
[`b874cac`](https://togithub.com/puppeteer/puppeteer/commit/b874cac) - chore: rename Worker to WebWorker ([#5941](https://togithub.com/puppeteer/puppeteer/issues/5941))
[`7862484`](https://togithub.com/puppeteer/puppeteer/commit/7862484) - chore: update request and response references in docs ([#5942](https://togithub.com/puppeteer/puppeteer/issues/5942))
[`232def0`](https://togithub.com/puppeteer/puppeteer/commit/232def0) - chore: rename `Response` to `HTTPResponse` ([#5940](https://togithub.com/puppeteer/puppeteer/issues/5940))
[`cfd72ac`](https://togithub.com/puppeteer/puppeteer/commit/cfd72ac) - chore: bump version to v3.2.0-post ([#5938](https://togithub.com/puppeteer/puppeteer/issues/5938))
### [`v3.2.0`](https://togithub.com/puppeteer/puppeteer/releases/v3.2.0)
[Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v3.1.0...v3.2.0)
#### Highlights
- We now support emulating vision deficiency types within Puppeteer using `page.emulateVisionDeficiency`. You can read more about these [on the DevTools update blog post](https://developers.google.com/web/updates/2020/03/devtools#vision-deficiencies).
- We now use [Mitt](https://togithub.com/developit/mitt/) as the Event Emitter that backs many of Puppeteer's classes rather than the EventEmitter module that ships with Node. This **is potentially a breaking change if you rely on some of the less popular EventEmitter methods** as Puppeteer's [EventEmitter](https://togithub.com/puppeteer/puppeteer/blob/master/src/EventEmitter.ts) does not support the entire suite of NodeJS EventEmitter functions. We think it's unlikely anyone has relied on these; we were able to swap out the EventEmitter in Puppeteer without any unit tests needing to change.
- Puppeteer now recognises webviews as regular pages which means you can control them just like you would control a regular page.
#### Behind the scenes
- The `Request` class has been renamed to `HTTPRequest` to avoid a clash with TypeScript's `Request` type. We'll be making similar changes to `Response` and `Worker`. This is not a breaking change as Puppeteer doesn't directly expose these classes so you shouldn't be referring to them by name in your code.
#### Raw notes
[`1d4d25a`](https://togithub.com/puppeteer/puppeteer/commit/1d4d25a) - chore: use Mitt as the Event Emitter ([#5907](https://togithub.com/puppeteer/puppeteer/issues/5907))
[`a2ba6f0`](https://togithub.com/puppeteer/puppeteer/commit/a2ba6f0) - feat: recognize webviews as regular pages ([#5905](https://togithub.com/puppeteer/puppeteer/issues/5905))
[`8e8a9df`](https://togithub.com/puppeteer/puppeteer/commit/8e8a9df) - chore: rename Request class to HTTPRequest ([#5934](https://togithub.com/puppeteer/puppeteer/issues/5934))
[`9737059`](https://togithub.com/puppeteer/puppeteer/commit/9737059) - chore: remove doclint generate_types code ([#5932](https://togithub.com/puppeteer/puppeteer/issues/5932))
[`7eab7f8`](https://togithub.com/puppeteer/puppeteer/commit/7eab7f8) - feat(api): add page.emulateVisionDeficiency(type) ([#5901](https://togithub.com/puppeteer/puppeteer/issues/5901))
[`24ac11e`](https://togithub.com/puppeteer/puppeteer/commit/24ac11e) - chore: fix undefined `rm` in mocha-utils ([#5920](https://togithub.com/puppeteer/puppeteer/issues/5920))
[`6cfe142`](https://togithub.com/puppeteer/puppeteer/commit/6cfe142) - chore: don't use expect within Promises ([#5466](https://togithub.com/puppeteer/puppeteer/issues/5466)) ([#5473](https://togithub.com/puppeteer/puppeteer/issues/5473))
[`dfb2e60`](https://togithub.com/puppeteer/puppeteer/commit/dfb2e60) - chore: stop Protocol types being globally available ([#5899](https://togithub.com/puppeteer/puppeteer/issues/5899))
[`d8e0557`](https://togithub.com/puppeteer/puppeteer/commit/d8e0557) - chore: update Travis to run latest macOS and fix HTTPS test ([#5903](https://togithub.com/puppeteer/puppeteer/issues/5903))
[`9a08d31`](https://togithub.com/puppeteer/puppeteer/commit/9a08d31) - chore: error if coverage couldn't find the given class ([#5863](https://togithub.com/puppeteer/puppeteer/issues/5863))
[`caaf4d2`](https://togithub.com/puppeteer/puppeteer/commit/caaf4d2) - fix: support async functions as an argument for waitForFunction ([#5682](https://togithub.com/puppeteer/puppeteer/issues/5682))
[`e6c22da`](https://togithub.com/puppeteer/puppeteer/commit/e6c22da) - chore: bump version to v3.1.0-post ([#5884](https://togithub.com/puppeteer/puppeteer/issues/5884))
### [`v3.1.0`](https://togithub.com/puppeteer/puppeteer/releases/v3.1.0)
[Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v3.0.4...v3.1.0)
### Big changes
- Chromium 83.0.4103.0 (r756035)
- New API to get SAN added to SecurityDetails (`SecurityDetails.subjectAlternativeNames()`)
### Raw notes
[`8ba3675`](https://togithub.com/puppeteer/puppeteer/commit/8ba3675) - chore: mark version v3.1.0 ([#5883](https://togithub.com/puppeteer/puppeteer/issues/5883))
[`a17bd89`](https://togithub.com/puppeteer/puppeteer/commit/a17bd89) - feat: add securityDetails.subjectAlternativeNames() [#5628](https://togithub.com/puppeteer/puppeteer/issues/5628) ([#5881](https://togithub.com/puppeteer/puppeteer/issues/5881))
[`e823289`](https://togithub.com/puppeteer/puppeteer/commit/e823289) - feat(chromium): roll Chromium to r756035 ([#5879](https://togithub.com/puppeteer/puppeteer/issues/5879))
[`ad3613d`](https://togithub.com/puppeteer/puppeteer/commit/ad3613d) - docs(contributing): clarify list of Chromium versions ([#5878](https://togithub.com/puppeteer/puppeteer/issues/5878))
[`dc26b8d`](https://togithub.com/puppeteer/puppeteer/commit/dc26b8d) - docs(examples): add cucumber-puppeteer-example for integration testing ([#5875](https://togithub.com/puppeteer/puppeteer/issues/5875))
[`3e76554`](https://togithub.com/puppeteer/puppeteer/commit/3e76554) - chore: fix async dialog specs when they fail ([#5859](https://togithub.com/puppeteer/puppeteer/issues/5859))
[`b2552e4`](https://togithub.com/puppeteer/puppeteer/commit/b2552e4) - chore: restore page.setUserAgent test ([#5868](https://togithub.com/puppeteer/puppeteer/issues/5868))
[`39f1b13`](https://togithub.com/puppeteer/puppeteer/commit/39f1b13) - chore: extract `Request` and `Response` into its own module ([#5861](https://togithub.com/puppeteer/puppeteer/issues/5861))
[`b510c35`](https://togithub.com/puppeteer/puppeteer/commit/b510c35) - chore: fetch Firefox from JSON source instead of RegExp ([#5864](https://togithub.com/puppeteer/puppeteer/issues/5864))
[`69c38fc`](https://togithub.com/puppeteer/puppeteer/commit/69c38fc) - chore: extract `ConsoleMessage` and `FileChooser` into its own module ([#5856](https://togithub.com/puppeteer/puppeteer/issues/5856))
[`0aba6df`](https://togithub.com/puppeteer/puppeteer/commit/0aba6df) - chore: force Mocha to exit on CI ([#5862](https://togithub.com/puppeteer/puppeteer/issues/5862))
[`9368edb`](https://togithub.com/puppeteer/puppeteer/commit/9368edb) - chore: upgrade TypeScript to 3.9 ([#5860](https://togithub.com/puppeteer/puppeteer/issues/5860))
[`5f42547`](https://togithub.com/puppeteer/puppeteer/commit/5f42547) - chore: extract `SecurityDetails` into its own module ([#5858](https://togithub.com/puppeteer/puppeteer/issues/5858))
[`f5d2597`](https://togithub.com/puppeteer/puppeteer/commit/f5d2597) - chore: add running TSC to test README ([#5852](https://togithub.com/puppeteer/puppeteer/issues/5852))
[`c6d01c9`](https://togithub.com/puppeteer/puppeteer/commit/c6d01c9) - chore: extract `BrowserRunner` into its own module ([#5850](https://togithub.com/puppeteer/puppeteer/issues/5850))
[`b38bb43`](https://togithub.com/puppeteer/puppeteer/commit/b38bb43) - Warn when given unsupported product name. ([#5845](https://togithub.com/puppeteer/puppeteer/issues/5845))
[`6099272`](https://togithub.com/puppeteer/puppeteer/commit/6099272) - chore: add [@types/proxy-from-env](https://togithub.com/types/proxy-from-env) ([#5831](https://togithub.com/puppeteer/puppeteer/issues/5831))
[`5343c7a`](https://togithub.com/puppeteer/puppeteer/commit/5343c7a) - chore: private-ise src/Accessibility.ts ([#5832](https://togithub.com/puppeteer/puppeteer/issues/5832))
[`ce09742`](https://togithub.com/puppeteer/puppeteer/commit/ce09742) - feat: add more options to check_availability script ([#5827](https://togithub.com/puppeteer/puppeteer/issues/5827))
[`5103540`](https://togithub.com/puppeteer/puppeteer/commit/5103540) - chore: add command to run eslint with `--fix` flag ([#5829](https://togithub.com/puppeteer/puppeteer/issues/5829))
[`49ce659`](https://togithub.com/puppeteer/puppeteer/commit/49ce659) - chore: remove src/TaskQueue ([#5826](https://togithub.com/puppeteer/puppeteer/issues/5826))
[`4fdb1e3`](https://togithub.com/puppeteer/puppeteer/commit/4fdb1e3) - chore: add Prettier ([#5825](https://togithub.com/puppeteer/puppeteer/issues/5825))
[`ae576af`](https://togithub.com/puppeteer/puppeteer/commit/ae576af) - chore: mark v3.0.4-post ([#5824](https://togithub.com/puppeteer/puppeteer/issues/5824))
### [`v3.0.4`](https://togithub.com/puppeteer/puppeteer/releases/v3.0.4)
[Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v3.0.3...v3.0.4)
### Highlights
- As of Node.js v14.1.0 the bug that prevented Puppeteer working on Node.js 14.0.x has been fixed. The code that tried to debug this and show a useful error has been removed ([#5816](https://togithub.com/puppeteer/puppeteer/issues/5816)). Puppeteer should install and run just fine on Node.js v14.1.0 and beyond.
### Behind the scenes
- We now run unit tests on Node.js v14 ([#5821](https://togithub.com/puppeteer/puppeteer/issues/5821)).
### Raw notes
[`c214d20`](https://togithub.com/puppeteer/puppeteer/commit/c214d20) - chore: mark version v3.0.4 ([#5823](https://togithub.com/puppeteer/puppeteer/issues/5823))
[`17bb660`](https://togithub.com/puppeteer/puppeteer/commit/17bb660) - chore: remove unused mime-types dependency ([#5819](https://togithub.com/puppeteer/puppeteer/issues/5819))
[`70340de`](https://togithub.com/puppeteer/puppeteer/commit/70340de) - chore: add Node.js 12 & 14 to CI ([#5821](https://togithub.com/puppeteer/puppeteer/issues/5821))
[`70d5c7f`](https://togithub.com/puppeteer/puppeteer/commit/70d5c7f) - fix: remove node@14 specific extract timeout ([#5816](https://togithub.com/puppeteer/puppeteer/issues/5816))
[`5115482`](https://togithub.com/puppeteer/puppeteer/commit/5115482) - chore: bump version to 3.0.3-post ([#5814](https://togithub.com/puppeteer/puppeteer/issues/5814))
### [`v3.0.3`](https://togithub.com/puppeteer/puppeteer/releases/v3.0.3)
[Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v3.0.2...v3.0.3)
### Highlights
- Puppeteer now has experimental support for custom selector engines through [`puppeteer.__experimental_registerCustomQueryHandler`](https://togithub.com/puppeteer/puppeteer/issues/5405#issuecomment-621794572) ([#5753](https://togithub.com/puppeteer/puppeteer/issues/5753)). This functionality is _so_ highly experimental it’s not even documented in the API docs — on purpose! See [this comment](https://togithub.com/puppeteer/puppeteer/issues/5405#issuecomment-621794572) for instructions on how to try it out. We are hoping to gather feedback on whether this API is useful for you, and how we could improve it. Please [let us know what you think](https://togithub.com/puppeteer/puppeteer/issues/5405)!
### Behind the scenes
- `src/` is now 100% TypeScript! This now lays a baseline to start working on improving Puppeteer docs by automatically generating them, shipping type definitions built in (for now we recommend `@types/puppeteer`).
### Raw notes
[`b2488eb`](https://togithub.com/puppeteer/puppeteer/commit/b2488eb) - chore: mark version v3.0.3
[`ae7483d`](https://togithub.com/puppeteer/puppeteer/commit/ae7483d) - chore: remove src/externs.d.ts ([#5811](https://togithub.com/puppeteer/puppeteer/issues/5811))
[`de4f08d`](https://togithub.com/puppeteer/puppeteer/commit/de4f08d) - chore: migrate src/Page.js to TypeScript ([#5809](https://togithub.com/puppeteer/puppeteer/issues/5809))
[`eed7d94`](https://togithub.com/puppeteer/puppeteer/commit/eed7d94) - chore: improve readability for path strings ([#5805](https://togithub.com/puppeteer/puppeteer/issues/5805))
[`d8d1f6f`](https://togithub.com/puppeteer/puppeteer/commit/d8d1f6f) - chore: migrate src/api.js to TypeScript ([#5808](https://togithub.com/puppeteer/puppeteer/issues/5808))
[`890c215`](https://togithub.com/puppeteer/puppeteer/commit/890c215) - chore: migrate src/Puppeteer to TypeScript ([#5789](https://togithub.com/puppeteer/puppeteer/issues/5789))
[`209e25c`](https://togithub.com/puppeteer/puppeteer/commit/209e25c) - docs(readme): syntax-highlight nested snippets in debugging section ([#5799](https://togithub.com/puppeteer/puppeteer/issues/5799))
[`53d6fab`](https://togithub.com/puppeteer/puppeteer/commit/53d6fab) - docs(api.md): improve emulateMediaFeatures section ([#5807](https://togithub.com/puppeteer/puppeteer/issues/5807))
[`ec91eca`](https://togithub.com/puppeteer/puppeteer/commit/ec91eca) - chore: migrate src/Launcher to TypeScript ([#5775](https://togithub.com/puppeteer/puppeteer/issues/5775))
[`5518bac`](https://togithub.com/puppeteer/puppeteer/commit/5518bac) - chore: update how we track coverage during unit tests ([#5779](https://togithub.com/puppeteer/puppeteer/issues/5779))
[`4a47867`](https://togithub.com/puppeteer/puppeteer/commit/4a47867) - feat: add support for string-based custom queries ([#5753](https://togithub.com/puppeteer/puppeteer/issues/5753))
[`c212126`](https://togithub.com/puppeteer/puppeteer/commit/c212126) - chore: turn on Travis retries ([#5787](https://togithub.com/puppeteer/puppeteer/issues/5787))
[`3116bb9`](https://togithub.com/puppeteer/puppeteer/commit/3116bb9) - chore: log product + binary on unit test runs ([#5785](https://togithub.com/puppeteer/puppeteer/issues/5785))
[`541281b`](https://togithub.com/puppeteer/puppeteer/commit/541281b) - chore: fix doclint issues ([#5784](https://togithub.com/puppeteer/puppeteer/issues/5784))
[`32c8c69`](https://togithub.com/puppeteer/puppeteer/commit/32c8c69) - chore: enable mocha retries ([#5782](https://togithub.com/puppeteer/puppeteer/issues/5782))
[`5fb399d`](https://togithub.com/puppeteer/puppeteer/commit/5fb399d) - docs(contributing): update per recent changes ([#5778](https://togithub.com/puppeteer/puppeteer/issues/5778))
[`8654d63`](https://togithub.com/puppeteer/puppeteer/commit/8654d63) - chore: migrate src/NetworkManager to TypeScript ([#5774](https://togithub.com/puppeteer/puppeteer/issues/5774))
[`862eea8`](https://togithub.com/puppeteer/puppeteer/commit/862eea8) - chore: disable flaky setUserAgent test in Firefox ([#5780](https://togithub.com/puppeteer/puppeteer/issues/5780))
[`a8908cf`](https://togithub.com/puppeteer/puppeteer/commit/a8908cf) - chore: update incorrect link for DeviceDescriptors ([#5777](https://togithub.com/puppeteer/puppeteer/issues/5777))
[`af2e458`](https://togithub.com/puppeteer/puppeteer/commit/af2e458) - chore: migrate src/Target to TypeScript ([#5771](https://togithub.com/puppeteer/puppeteer/issues/5771))
[`8a5008e`](https://togithub.com/puppeteer/puppeteer/commit/8a5008e) - chore: migrate src/FrameManager to TypeScript ([#5773](https://togithub.com/puppeteer/puppeteer/issues/5773))
[`c5c97b0`](https://togithub.com/puppeteer/puppeteer/commit/c5c97b0) - chore: remove DOMWorld definition from externs.d.ts ([#5767](https://togithub.com/puppeteer/puppeteer/issues/5767))
[`da6e6c0`](https://togithub.com/puppeteer/puppeteer/commit/da6e6c0) - chore: migrate src/EmulationManager to TypeScript ([#5766](https://togithub.com/puppeteer/puppeteer/issues/5766))
[`0157844`](https://togithub.com/puppeteer/puppeteer/commit/0157844) - chore: migrate src/DOMWorld to TypeScript ([#5764](https://togithub.com/puppeteer/puppeteer/issues/5764))
[`d69fbb9`](https://togithub.com/puppeteer/puppeteer/commit/d69fbb9) - chore: Enforce array type styles in TypeScript ([#5765](https://togithub.com/puppeteer/puppeteer/issues/5765))
[`1ccfbcb`](https://togithub.com/puppeteer/puppeteer/commit/1ccfbcb) - chore: enforce naming of errors in catch blocks ([#5763](https://togithub.com/puppeteer/puppeteer/issues/5763))
[`3bf9bd1`](https://togithub.com/puppeteer/puppeteer/commit/3bf9bd1) - chore: enforce src/protocol.d.ts is in sync ([#5762](https://togithub.com/puppeteer/puppeteer/issues/5762))
[`06d62c0`](https://togithub.com/puppeteer/puppeteer/commit/06d62c0) - chore: migrate src/Browser to TS ([#5761](https://togithub.com/puppeteer/puppeteer/issues/5761))
[`e03113e`](https://togithub.com/puppeteer/puppeteer/commit/e03113e) - chore: Update protocol.d.ts ([#5760](https://togithub.com/puppeteer/puppeteer/issues/5760))
[`8ddf4f3`](https://togithub.com/puppeteer/puppeteer/commit/8ddf4f3) - chore: bump version to 3.0.2-post ([#5759](https://togithub.com/puppeteer/puppeteer/issues/5759))
### [`v3.0.2`](https://togithub.com/puppeteer/puppeteer/releases/v3.0.2)
[Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v3.0.1...v3.0.2)
### Highlights
- `uploadFile` now throws for non-existent files ([#5733](https://togithub.com/puppeteer/puppeteer/issues/5733))
- Puppeteer currently fails to extract Chromium when installing on Node 14 (see tracking bug: [#5719](https://togithub.com/puppeteer/puppeteer/issues/5719)). We now detect if you're on Node 14 and log a helpful error ([#5732](https://togithub.com/puppeteer/puppeteer/issues/5732)).
### Behind the scenes
- Many more files have been migrated to TypeScript and we're continuing with the goal of the `src` directory being 100% TypeScript.
### Raw notes
[`4e8f091`](https://togithub.com/puppeteer/puppeteer/commit/4e8f091) - chore: mark version v3.0.2
[`3911836`](https://togithub.com/puppeteer/puppeteer/commit/3911836) - chore: small CI tidy ups ([#5751](https://togithub.com/puppeteer/puppeteer/issues/5751))
[`5e2a029`](https://togithub.com/puppeteer/puppeteer/commit/5e2a029) - chore: use Node's promisify function ([#5748](https://togithub.com/puppeteer/puppeteer/issues/5748))
[`1b9d9e9`](https://togithub.com/puppeteer/puppeteer/commit/1b9d9e9cc0ea8026b057e1dc28eac625d6646057) - chore: log useful error for Node v14 breakage ([#5732](https://togithub.com/puppeteer/puppeteer/issues/5732))
[`a7d2485`](https://togithub.com/puppeteer/puppeteer/commit/a7d2485) - chore: split out CI into unit tests + extra checks ([#5749](https://togithub.com/puppeteer/puppeteer/issues/5749))
[`3ed2f6b`](https://togithub.com/puppeteer/puppeteer/commit/3ed2f6b) - chore: remove puppeteer-web ([#5750](https://togithub.com/puppeteer/puppeteer/issues/5750))
[`1358b45`](https://togithub.com/puppeteer/puppeteer/commit/1358b45) - chore: migrate src/LifecycleWatcher ([#5734](https://togithub.com/puppeteer/puppeteer/issues/5734))
[`79e82e5`](https://togithub.com/puppeteer/puppeteer/commit/79e82e5) - fix: make uploadFile throw for non-existent files ([#5733](https://togithub.com/puppeteer/puppeteer/issues/5733))
[`1a4e260`](https://togithub.com/puppeteer/puppeteer/commit/1a4e260) - chore: migrate src/BrowserFetcher to TypeScript ([#5727](https://togithub.com/puppeteer/puppeteer/issues/5727))
[`8509f46`](https://togithub.com/puppeteer/puppeteer/commit/8509f46) - chore: migrate src/Accessibility to TypeScript ([#5726](https://togithub.com/puppeteer/puppeteer/issues/5726))
[`930cc32`](https://togithub.com/puppeteer/puppeteer/commit/930cc32) - chore: migrate src/Errors to TypeScript ([#5725](https://togithub.com/puppeteer/puppeteer/issues/5725))
[`30aff82`](https://togithub.com/puppeteer/puppeteer/commit/30aff82) - chore: migrate src/Events to TypeScript ([#5724](https://togithub.com/puppeteer/puppeteer/issues/5724))
[`1823828`](https://togithub.com/puppeteer/puppeteer/commit/1823828) - chore: migrate src/Tracing to TypeScript ([#5723](https://togithub.com/puppeteer/puppeteer/issues/5723))
[`3050196`](https://togithub.com/puppeteer/puppeteer/commit/3050196) - fix: update clipboard read write permissions after upstream change ([#5721](https://togithub.com/puppeteer/puppeteer/issues/5721))
[`0731049`](https://togithub.com/puppeteer/puppeteer/commit/0731049) - chore: update pngjs to 5.0.0 and jpeg-js to 0.3.7 ([#5676](https://togithub.com/puppeteer/puppeteer/issues/5676))
[`ddb8ba1`](https://togithub.com/puppeteer/puppeteer/commit/ddb8ba1) - chore: tidy up and de-duplicate Travis CI config ([#5716](https://togithub.com/puppeteer/puppeteer/issues/5716))
[`9d297f0`](https://togithub.com/puppeteer/puppeteer/commit/9d297f0) - chore: bump version to 3.0.1-post ([#5717](https://togithub.com/puppeteer/puppeteer/issues/5717))
[`be8f8a2`](https://togithub.com/puppeteer/puppeteer/commit/be8f8a2) - chore: add macOS to Travis CI ([#5708](https://togithub.com/puppeteer/puppeteer/issues/5708))
[`133abb0`](https://togithub.com/puppeteer/puppeteer/commit/133abb0) - chore: migrate src/Input to typescript ([#5710](https://togithub.com/puppeteer/puppeteer/issues/5710))
[`11bc5a6`](https://togithub.com/puppeteer/puppeteer/commit/11bc5a6) - chore: migrate src/Worker to typescript ([#5715](https://togithub.com/puppeteer/puppeteer/issues/5715))
### [`v3.0.1`](https://togithub.com/puppeteer/puppeteer/releases/v3.0.1)
[Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v3.0.0...v3.0.1)
### Highlights
- File uploads should be more reliable now ([#5655](https://togithub.com/puppeteer/puppeteer/issues/5655))
- The size of the final package is smaller as we explicitly list files to publish ([#5659](https://togithub.com/puppeteer/puppeteer/issues/5659)).
- The docs now include the `libgbm-dev` dependency that's needed for Linux builds ([#5667](https://togithub.com/puppeteer/puppeteer/issues/5667), [#5693](https://togithub.com/puppeteer/puppeteer/issues/5693))
### Behind the scenes
- We're continuing to migrate to TypeScript and many files within `src/` are now TypeScript files. We're working towards a 100% TS codebase which will enable us (amongst other things) to ship high-quality type definitions for TypeScript users.
### Raw notes
[`6029fdd`](https://togithub.com/puppeteer/puppeteer/commit/6029fdd) - chore: mark version v3.0.1 ([#5709](https://togithub.com/puppeteer/puppeteer/issues/5709))
[`29ebd0b`](https://togithub.com/puppeteer/puppeteer/commit/29ebd0b) - chore: migrate src/ExecutionContext ([#5705](https://togithub.com/puppeteer/puppeteer/issues/5705))
[`69bfa80`](https://togithub.com/puppeteer/puppeteer/commit/69bfa80) - docs(api): fix typo ([#5706](https://togithub.com/puppeteer/puppeteer/issues/5706))
[`8d5d76e`](https://togithub.com/puppeteer/puppeteer/commit/8d5d76e) - chore: migrate src/JSHandle to TS ([#5703](https://togithub.com/puppeteer/puppeteer/issues/5703))
[`42893d8`](https://togithub.com/puppeteer/puppeteer/commit/42893d8) - chore: migrate src/coverage to TypeScript ([#5702](https://togithub.com/puppeteer/puppeteer/issues/5702))
[`e3922ea`](https://togithub.com/puppeteer/puppeteer/commit/e3922ea) - chore: enforce consistent spacing around object curlys ([#5700](https://togithub.com/puppeteer/puppeteer/issues/5700))
[`3600f2f`](https://togithub.com/puppeteer/puppeteer/commit/3600f2f) - chore: migrate src/helpers.ts to ESM ([#5699](https://togithub.com/puppeteer/puppeteer/issues/5699))
[`f13c30a`](https://togithub.com/puppeteer/puppeteer/commit/f13c30a) - chore: migrate `src/USKeyboardLayout` to typescript ([#5695](https://togithub.com/puppeteer/puppeteer/issues/5695))
[`a614bc4`](https://togithub.com/puppeteer/puppeteer/commit/a614bc4) - chore: migrate `src/Connection` to TypeScript ([#5694](https://togithub.com/puppeteer/puppeteer/issues/5694))
[`376d234`](https://togithub.com/puppeteer/puppeteer/commit/376d234) - chore: migrate src/WebSocketTransport to TypeScript ([#5696](https://togithub.com/puppeteer/puppeteer/issues/5696))
[`5c839f5`](https://togithub.com/puppeteer/puppeteer/commit/5c839f5) - chore(docker): add missing libgbm1 dependency ([#5693](https://togithub.com/puppeteer/puppeteer/issues/5693))
[`e7a32a8`](https://togithub.com/puppeteer/puppeteer/commit/e7a32a8) - chore: migrate `src/pipetransport` to typescript ([#5692](https://togithub.com/puppeteer/puppeteer/issues/5692))
[`4134b54`](https://togithub.com/puppeteer/puppeteer/commit/4134b54) - chore: migrate `src/helper` to typescript ([#5689](https://togithub.com/puppeteer/puppeteer/issues/5689))
[`c32b049`](https://togithub.com/puppeteer/puppeteer/commit/c32b049) - chore: delete `src/MultiMap` ([#5690](https://togithub.com/puppeteer/puppeteer/issues/5690))
[`6638a24`](https://togithub.com/puppeteer/puppeteer/commit/6638a24) - chore: migrate `src/timeoutsettings` to typescript ([#5691](https://togithub.com/puppeteer/puppeteer/issues/5691))
[`ad6c57a`](https://togithub.com/puppeteer/puppeteer/commit/ad6c57a) - docs: fix DeviceDescriptor link ([#5683](https://togithub.com/puppeteer/puppeteer/issues/5683))
[`c4fe4e4`](https://togithub.com/puppeteer/puppeteer/commit/c4fe4e4) - chore(ci): re-enable tests on Windows ([#5637](https://togithub.com/puppeteer/puppeteer/issues/5637))
[`49ca00f`](https://togithub.com/puppeteer/puppeteer/commit/49ca00f) - docs(contributing): update testing section ([#5657](https://togithub.com/puppeteer/puppeteer/issues/5657))
[`1a57ba2`](https://togithub.com/puppeteer/puppeteer/commit/1a57ba2) - chore: migrate TaskQueue to TypeScript ([#5658](https://togithub.com/puppeteer/puppeteer/issues/5658))
[`ef3befa`](https://togithub.com/puppeteer/puppeteer/commit/ef3befa) - chore: manage published files via `files` option ([#5659](https://togithub.com/puppeteer/puppeteer/issues/5659))
[`35fc654`](https://togithub.com/puppeteer/puppeteer/commit/35fc654) - docs: change the Alpine Docker example to use env instead of launch option ([#5666](https://togithub.com/puppeteer/puppeteer/issues/5666))
[`20c22ad`](https://togithub.com/puppeteer/puppeteer/commit/20c22ad) - chore: fix installing from GitHub URL ([#5669](https://togithub.com/puppeteer/puppeteer/issues/5669))
[`46ef9f7`](https://togithub.com/puppeteer/puppeteer/commit/46ef9f7) - docs(troubleshooting): list libgbm-dev dependency ([#5667](https://togithub.com/puppeteer/puppeteer/issues/5667))
[`532ae57`](https://togithub.com/puppeteer/puppeteer/commit/532ae57) - fix(JSHandle): restore file upload to its old behavior ([#5655](https://togithub.com/puppeteer/puppeteer/issues/5655))
[`3e4c8c9`](https://togithub.com/puppeteer/puppeteer
Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
^1.2.0
->^5.0.0
Release Notes
puppeteer/puppeteer
### [`v5.2.1`](https://togithub.com/puppeteer/puppeteer/releases/v5.2.1) [Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v5.2.0...v5.2.1) #### Highlights - Chromium 85.0.4182.0 (r782078) - We now allow configuring the browser debug logging behavior ([#6210](https://togithub.com/puppeteer/puppeteer/issues/6210)) #### Raw notes [`4ee4649`](https://togithub.com/puppeteer/puppeteer/commit/4ee4649d) - chore: mark v5.2.1 ([#6254](https://togithub.com/puppeteer/puppeteer/issues/6254)) [`e89e264`](https://togithub.com/puppeteer/puppeteer/commit/e89e264a) - feat(chromium): roll Chromium to r782078 ([#6250](https://togithub.com/puppeteer/puppeteer/issues/6250)) [`b2f6918`](https://togithub.com/puppeteer/puppeteer/commit/b2f69183) - fix: configure debug logging in browser ([#6210](https://togithub.com/puppeteer/puppeteer/issues/6210)) [`040f37e`](https://togithub.com/puppeteer/puppeteer/commit/040f37ec) - docs: fix link text ([#6245](https://togithub.com/puppeteer/puppeteer/issues/6245)) [`9fdf2ba`](https://togithub.com/puppeteer/puppeteer/commit/9fdf2ba2) - chore(docs): migrate page.pdf() docs ([#6228](https://togithub.com/puppeteer/puppeteer/issues/6228)) [`2331584`](https://togithub.com/puppeteer/puppeteer/commit/23315844) - docs(troubleshooting): install libXss in Dockerfile ([#6236](https://togithub.com/puppeteer/puppeteer/issues/6236)) [`042c4a2`](https://togithub.com/puppeteer/puppeteer/commit/042c4a23) - chore: mark 5.2.0-post ([#6240](https://togithub.com/puppeteer/puppeteer/issues/6240)) ### [`v5.2.0`](https://togithub.com/puppeteer/puppeteer/releases/v5.2.0) [Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v5.1.0...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: ```ts __experimental_registerCustomQueryHandler(name: string, queryHandler: QueryHandler): void; __experimental_unregisterCustomQueryHandler(name: string): void; __experimental_customQueryHandlers(): MapRenovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by WhiteSource Renovate. View repository job log here.