puppeteer/puppeteer
### [`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/commit/3e4c8c9) - chore(typescript): migrate src/Dialog ([#5639](https://togithub.com/puppeteer/puppeteer/issues/5639))
[`a9f6a26`](https://togithub.com/puppeteer/puppeteer/commit/a9f6a26) - chore: log reminder about tsc if DocLint fails locally ([#5652](https://togithub.com/puppeteer/puppeteer/issues/5652))
[`37bae17`](https://togithub.com/puppeteer/puppeteer/commit/37bae17) - docs(contributing): update npm dist tags section ([#5650](https://togithub.com/puppeteer/puppeteer/issues/5650))
[`80348dc`](https://togithub.com/puppeteer/puppeteer/commit/80348dc) - chore: bump version to v3.0.0-post ([#5649](https://togithub.com/puppeteer/puppeteer/issues/5649))
### [`v3.0.0`](https://togithub.com/puppeteer/puppeteer/releases/v3.0.0)
[Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v2.1.1...v3.0.0)
#### Big changes
- Chromium 81.0.4044.0 (r737027)
- Puppeteer can now fetch a Firefox Nightly binary for you via `PUPPETEER_PRODUCT=firefox npm install`. Also, there’s now [an example](https://togithub.com/puppeteer/puppeteer/blob/master/examples/cross-browser.js) showing how to launch Firefox with Puppeteer.
- File uploads are generally more reliable ([#5363](https://togithub.com/puppeteer/puppeteer/issues/5363)) and `elementHandle.uploadFile(...filePaths)` now triggers a `change` event, matching the old behavior in Puppeteer v1.20.0. ([#5389](https://togithub.com/puppeteer/puppeteer/issues/5389))
- Node.js v8.x.x is no longer supported. ([#5136](https://togithub.com/puppeteer/puppeteer/issues/5136))
#### Behind the scenes
- Puppeteer is migrating to TypeScript. Although this doesn't affect the way developers can consume Puppeteer, it improves the quality of the Puppeteer type definitions which can be used by modern editors.
- Our custom test runner framework has been removed in favor of Mocha, reducing maintenance overhead.
- Our CI setup and the way we deal with test flakiness is being reworked in order to increase our confidence of landing PRs without breaking anything.
#### Raw notes
[`6760b92`](https://togithub.com/puppeteer/puppeteer/commit/6760b92) - chore: mark version v3.0.0 ([#5642](https://togithub.com/puppeteer/puppeteer/issues/5642))
[`3387aab`](https://togithub.com/puppeteer/puppeteer/commit/3387aab) - feat(chromium): roll Chromium to r737027 ([#5644](https://togithub.com/puppeteer/puppeteer/issues/5644))
[`c5df490`](https://togithub.com/puppeteer/puppeteer/commit/c5df490) - docs(readme): update cross-browser FAQ ([#5634](https://togithub.com/puppeteer/puppeteer/issues/5634))
[`35989a7`](https://togithub.com/puppeteer/puppeteer/commit/35989a7) - fix: set revision based on PUPPETEER_PRODUCT ([#5643](https://togithub.com/puppeteer/puppeteer/issues/5643))
[`d817ae5`](https://togithub.com/puppeteer/puppeteer/commit/d817ae5) - fix: update preferred revision after Launcher is created ([#5640](https://togithub.com/puppeteer/puppeteer/issues/5640))
[`df81250`](https://togithub.com/puppeteer/puppeteer/commit/df81250) - chore: update ws library ([#5638](https://togithub.com/puppeteer/puppeteer/issues/5638))
[`2529ee6`](https://togithub.com/puppeteer/puppeteer/commit/2529ee6) - chore(eslint): add eslint typescript linting ([#5635](https://togithub.com/puppeteer/puppeteer/issues/5635))
[`88d843d`](https://togithub.com/puppeteer/puppeteer/commit/88d843d) - feat(TypeScript): move DeviceDescriptors to TS ([#5595](https://togithub.com/puppeteer/puppeteer/issues/5595))
[`1ce4fe7`](https://togithub.com/puppeteer/puppeteer/commit/1ce4fe7) - chore(deps): update extract-zip to version 2 ([#5610](https://togithub.com/puppeteer/puppeteer/issues/5610))
[`0bcc5a7`](https://togithub.com/puppeteer/puppeteer/commit/0bcc5a7) - chore: migrate remaining tests to Mocha ([#5616](https://togithub.com/puppeteer/puppeteer/issues/5616))
[`17cd870`](https://togithub.com/puppeteer/puppeteer/commit/17cd870) - chore: migrate unit tests to Mocha ([#5600](https://togithub.com/puppeteer/puppeteer/issues/5600))
[`262da92`](https://togithub.com/puppeteer/puppeteer/commit/262da92) - chore(test): re-enable Firefox testing on CI ([#5608](https://togithub.com/puppeteer/puppeteer/issues/5608))
[`83d9d53`](https://togithub.com/puppeteer/puppeteer/commit/83d9d53) - chore: update CI to run Travis + Linux + Chromium ([#5583](https://togithub.com/puppeteer/puppeteer/issues/5583))
[`21c2d31`](https://togithub.com/puppeteer/puppeteer/commit/21c2d31) - docs(api): update another emulateMediaType example ([#5607](https://togithub.com/puppeteer/puppeteer/issues/5607))
[`fefa8ca`](https://togithub.com/puppeteer/puppeteer/commit/fefa8ca) - docs(api): update emulateMediaType example ([#5606](https://togithub.com/puppeteer/puppeteer/issues/5606))
[`bbdaf92`](https://togithub.com/puppeteer/puppeteer/commit/bbdaf92) - docs(README): remove unused badges
[`efe561e`](https://togithub.com/puppeteer/puppeteer/commit/efe561e) - chore: fix DocLint method diffing ([#5594](https://togithub.com/puppeteer/puppeteer/issues/5594))
[`841c2a5`](https://togithub.com/puppeteer/puppeteer/commit/841c2a5) - chore: fix emulateMedia tests ([#5593](https://togithub.com/puppeteer/puppeteer/issues/5593))
[`8fa034b`](https://togithub.com/puppeteer/puppeteer/commit/8fa034b) - chore: remove flakiness dashboard ([#5592](https://togithub.com/puppeteer/puppeteer/issues/5592))
[`4ee2c43`](https://togithub.com/puppeteer/puppeteer/commit/4ee2c43) - chore: fix Page.emulateMedia doclint failure ([#5584](https://togithub.com/puppeteer/puppeteer/issues/5584))
[`a99a3cf`](https://togithub.com/puppeteer/puppeteer/commit/a99a3cf) - chore: skip failing cookie tests in Firefox ([#5575](https://togithub.com/puppeteer/puppeteer/issues/5575))
[`88446df`](https://togithub.com/puppeteer/puppeteer/commit/88446df) - chore: fix missed `src/` vs `lib/` documentation ([#5591](https://togithub.com/puppeteer/puppeteer/issues/5591))
[`b3b0dc5`](https://togithub.com/puppeteer/puppeteer/commit/b3b0dc5) - docs: replace invalid device descriptors link ([#5589](https://togithub.com/puppeteer/puppeteer/issues/5589))
[`99ecdba`](https://togithub.com/puppeteer/puppeteer/commit/99ecdba) - docs: fix simple typo ([#5585](https://togithub.com/puppeteer/puppeteer/issues/5585))
[`7f7887e`](https://togithub.com/puppeteer/puppeteer/commit/7f7887e) - docs(puppeteer-firefox): add deprecation warning to README ([#5502](https://togithub.com/puppeteer/puppeteer/issues/5502))
[`6522e4f`](https://togithub.com/puppeteer/puppeteer/commit/6522e4f) - chore: Use expect for assertions ([#5581](https://togithub.com/puppeteer/puppeteer/issues/5581))
[`4c41421`](https://togithub.com/puppeteer/puppeteer/commit/4c41421) - chore: run Chromium on Node.js 12 on Travis ([#5582](https://togithub.com/puppeteer/puppeteer/issues/5582))
[`f434684`](https://togithub.com/puppeteer/puppeteer/commit/f434684) - chore: fix link to source files in documentation ([#5576](https://togithub.com/puppeteer/puppeteer/issues/5576))
[`2b52b86`](https://togithub.com/puppeteer/puppeteer/commit/2b52b86) - chore: remove travis-autodeploy ([#5580](https://togithub.com/puppeteer/puppeteer/issues/5580))
[`7a2a41f`](https://togithub.com/puppeteer/puppeteer/commit/7a2a41f) - chore: move code to src/ and emit with TypeScript ([#5568](https://togithub.com/puppeteer/puppeteer/issues/5568))
[`c82b556`](https://togithub.com/puppeteer/puppeteer/commit/c82b556) - docs: connect works with any supported browser ([#5572](https://togithub.com/puppeteer/puppeteer/issues/5572))
[`d678013`](https://togithub.com/puppeteer/puppeteer/commit/d678013) - chore: upgrade TypeScript to 3.8 ([#5566](https://togithub.com/puppeteer/puppeteer/issues/5566))
[`3dff24a`](https://togithub.com/puppeteer/puppeteer/commit/3dff24a) - chore: upgrade eslint to v6.8.0 ([#5563](https://togithub.com/puppeteer/puppeteer/issues/5563))
[`4b0fd8b`](https://togithub.com/puppeteer/puppeteer/commit/4b0fd8b) - chore: upgrade to TypeScript 3.7 ([#5562](https://togithub.com/puppeteer/puppeteer/issues/5562))
[`29b626a`](https://togithub.com/puppeteer/puppeteer/commit/29b626a) - chore: upgrade TypeScript to 3.6 ([#5559](https://togithub.com/puppeteer/puppeteer/issues/5559))
[`5e8d79b`](https://togithub.com/puppeteer/puppeteer/commit/5e8d79b) - chore: upgrade to TypeScript 3.5 ([#5556](https://togithub.com/puppeteer/puppeteer/issues/5556))
[`b9240b1`](https://togithub.com/puppeteer/puppeteer/commit/b9240b1) - chore: bump rimraf to v3.0.2 ([#5431](https://togithub.com/puppeteer/puppeteer/issues/5431))
[`067662c`](https://togithub.com/puppeteer/puppeteer/commit/067662c) - Emit change event on uploadFile calls ([#5389](https://togithub.com/puppeteer/puppeteer/issues/5389))
[`a3d1536`](https://togithub.com/puppeteer/puppeteer/commit/a3d1536) - Bugfix: Docker build failure ([#5400](https://togithub.com/puppeteer/puppeteer/issues/5400))
[`33f1967`](https://togithub.com/puppeteer/puppeteer/commit/33f1967) - (feat) Add option to fetch Firefox Nightly ([#5467](https://togithub.com/puppeteer/puppeteer/issues/5467))
[`807fbbd`](https://togithub.com/puppeteer/puppeteer/commit/807fbbd) - chore: drop Node.js v8 support ([#5365](https://togithub.com/puppeteer/puppeteer/issues/5365))
[`0b1a9ce`](https://togithub.com/puppeteer/puppeteer/commit/0b1a9ce) - chore: Replace Juggler with Firefox Nightly in CI ([#5395](https://togithub.com/puppeteer/puppeteer/issues/5395))
[`0b1777e`](https://togithub.com/puppeteer/puppeteer/commit/0b1777e) - docs(api) Fix url ([#5367](https://togithub.com/puppeteer/puppeteer/issues/5367))
[`5ffcde2`](https://togithub.com/puppeteer/puppeteer/commit/5ffcde2) - chore: bump version to v2.1.1.-post ([#5390](https://togithub.com/puppeteer/puppeteer/issues/5390))
[`46386eb`](https://togithub.com/puppeteer/puppeteer/commit/46386eb) - chore: mark version v2.1.1 ([#5388](https://togithub.com/puppeteer/puppeteer/issues/5388))
[`9923e56`](https://togithub.com/puppeteer/puppeteer/commit/9923e56) - fix(filechooser): quick fix for the headful file chooser ([#5369](https://togithub.com/puppeteer/puppeteer/issues/5369))
[`1a1ef83`](https://togithub.com/puppeteer/puppeteer/commit/1a1ef83) - Add FAQ entry on cross-browser support ([#5360](https://togithub.com/puppeteer/puppeteer/issues/5360))
[`0d243b7`](https://togithub.com/puppeteer/puppeteer/commit/0d243b7) - feat: make it possible to run `install.js` script with `puppeteer-core` ([#5325](https://togithub.com/puppeteer/puppeteer/issues/5325))
[`c283fea`](https://togithub.com/puppeteer/puppeteer/commit/c283fea) - docs(api): add example to page.$$eval ([#5200](https://togithub.com/puppeteer/puppeteer/issues/5200))
### [`v2.1.1`](https://togithub.com/puppeteer/puppeteer/releases/v2.1.1)
[Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v2.1.0...v2.1.1)
[`eec4325`](https://togithub.com/puppeteer/puppeteer/commit/eec4325) - chore: mark version v2.1.1
[`9923e56`](https://togithub.com/puppeteer/puppeteer/commit/9923e56) - fix(filechooser): quick fix for the headful file chooser ([#5369](https://togithub.com/puppeteer/puppeteer/issues/5369))
[`1a1ef83`](https://togithub.com/puppeteer/puppeteer/commit/1a1ef83) - Add FAQ entry on cross-browser support ([#5360](https://togithub.com/puppeteer/puppeteer/issues/5360))
[`0d243b7`](https://togithub.com/puppeteer/puppeteer/commit/0d243b7) - feat: make it possible to run `install.js` script with `puppeteer-core` ([#5325](https://togithub.com/puppeteer/puppeteer/issues/5325))
[`c283fea`](https://togithub.com/puppeteer/puppeteer/commit/c283fea) - docs(api): add example to page.$$eval ([#5200](https://togithub.com/puppeteer/puppeteer/issues/5200))
[`b45f8e4`](https://togithub.com/puppeteer/puppeteer/commit/b45f8e4) - chore: bump version to v2.1.0-post ([#5349](https://togithub.com/puppeteer/puppeteer/issues/5349))
### [`v2.1.0`](https://togithub.com/puppeteer/puppeteer/releases/v2.1.0)
[Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v2.0.0...v2.1.0)
#### Big changes
- Chromium 80.0.3987.0 (r722234)
- The launcher now has an option to run Puppeteer with different browsers, starting with Firefox ([#5137](https://togithub.com/puppeteer/puppeteer/issues/5137)). Puppeteer can now talk to a real, unpatched Firefox binary (as opposed to the old [Juggler](https://togithub.com/puppeteer/juggler)-based approach). This is a first step towards eventually deprecating the separate `puppeteer-firefox` package in favor of supporting Firefox directly in `puppeteer` itself.
#### Raw notes
[`7e7b05a`](https://togithub.com/puppeteer/puppeteer/commit/7e7b05a) - chore: mark version v2.1.0 + roll to r722234 ([#5347](https://togithub.com/puppeteer/puppeteer/issues/5347))
[`013a86c`](https://togithub.com/puppeteer/puppeteer/commit/013a86c) - feat(chromium): roll Chromium to r722276 ([#5289](https://togithub.com/puppeteer/puppeteer/issues/5289))
[`14b2369`](https://togithub.com/puppeteer/puppeteer/commit/14b2369) - chore: mark puppeteer-firefox version v0.5.1 ([#5294](https://togithub.com/puppeteer/puppeteer/issues/5294))
[`3a49cfc`](https://togithub.com/puppeteer/puppeteer/commit/3a49cfc) - chore: move to GitHub hosting for Juggler binaries ([#5293](https://togithub.com/puppeteer/puppeteer/issues/5293))
[`c7af7de`](https://togithub.com/puppeteer/puppeteer/commit/c7af7de) - docs(readme): update link for ndb ([#5272](https://togithub.com/puppeteer/puppeteer/issues/5272))
[`5e63254`](https://togithub.com/puppeteer/puppeteer/commit/5e63254) - chore: fix typo in test name ([#5217](https://togithub.com/puppeteer/puppeteer/issues/5217))
[`80b5c44`](https://togithub.com/puppeteer/puppeteer/commit/80b5c44) - chore: upgrade https-proxy-agent ([#5243](https://togithub.com/puppeteer/puppeteer/issues/5243))
[`6091a34`](https://togithub.com/puppeteer/puppeteer/commit/6091a34) - fix: prepare jsHandle.uploadFile for CDP Page.handleFileChooser removal ([#5196](https://togithub.com/puppeteer/puppeteer/issues/5196))
[`8b49dc6`](https://togithub.com/puppeteer/puppeteer/commit/8b49dc6) - fix: don’t disable BlinkGenPropertyTrees anymore ([#5159](https://togithub.com/puppeteer/puppeteer/issues/5159))
[`f0bf645`](https://togithub.com/puppeteer/puppeteer/commit/f0bf645) - test: reduce flakiness for accessibility tests with autofocus ([#5116](https://togithub.com/puppeteer/puppeteer/issues/5116))
[`6cc98a7`](https://togithub.com/puppeteer/puppeteer/commit/6cc98a7) - docs(troubleshooting): recommend using args for heroku ([#5197](https://togithub.com/puppeteer/puppeteer/issues/5197))
[`35d5ba5`](https://togithub.com/puppeteer/puppeteer/commit/35d5ba5) - feat(launcher): Set default Firefox prefs ([#5149](https://togithub.com/puppeteer/puppeteer/issues/5149)) ([#5195](https://togithub.com/puppeteer/puppeteer/issues/5195))
[`eddb23b`](https://togithub.com/puppeteer/puppeteer/commit/eddb23b) - chore: update URLs ([#5185](https://togithub.com/puppeteer/puppeteer/issues/5185))
[`c5a72e9`](https://togithub.com/puppeteer/puppeteer/commit/c5a72e9) - feat(launcher): add option to run Puppeteer with different browsers ([#5137](https://togithub.com/puppeteer/puppeteer/issues/5137))
[`d17708b`](https://togithub.com/puppeteer/puppeteer/commit/d17708b) - fix(types): publish protocol types to npm ([#5174](https://togithub.com/puppeteer/puppeteer/issues/5174))
[`fd43f9c`](https://togithub.com/puppeteer/puppeteer/commit/fd43f9c) - docs(api): fix defaultArgs link ([#5126](https://togithub.com/puppeteer/puppeteer/issues/5126))
[`5fa28b5`](https://togithub.com/puppeteer/puppeteer/commit/5fa28b5) - docs(api): fix typo ([#5120](https://togithub.com/puppeteer/puppeteer/issues/5120))
[`561c99d`](https://togithub.com/puppeteer/puppeteer/commit/561c99d) - docs(api): prefer async/await over Promise#then ([#5089](https://togithub.com/puppeteer/puppeteer/issues/5089))
[`aaa904d`](https://togithub.com/puppeteer/puppeteer/commit/aaa904d) - docs(contributing): clarify release process
[`304f4a7`](https://togithub.com/puppeteer/puppeteer/commit/304f4a7) - chore: update .npmignore
[`7032472`](https://togithub.com/puppeteer/puppeteer/commit/7032472) - chore: bump version to v2.0.0-post
### [`v2.0.0`](https://togithub.com/puppeteer/puppeteer/releases/v2.0.0)
[Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v1.20.0...v2.0.0)
#### Big changes
- Chromium 79.0.3942.0 (r706915)
- Puppeteer now requires Node.js v8+; Node.js v6 is no longer supported
- `page.screenshot` now clips elements to the viewport ([#5080](https://togithub.com/puppeteer/puppeteer/issues/5080))
- New APIs:
- [`page.emulateTimezone(timezoneId)`](https://togithub.com/GoogleChrome/puppeteer/blob/v2.0.0/docs/api.md#pageemulatetimezonetimezoneid)
- [`page.emulateMediaType(type)`](https://togithub.com/GoogleChrome/puppeteer/blob/v2.0.0/docs/api.md#pageemulatemediatypetype) (superseding the old [`page.emulateMedia(type)`](https://togithub.com/GoogleChrome/puppeteer/blob/v2.0.0/docs/api.md#pageemulatemediatype) API)
- [`page.emulateMediaFeatures(features)`](https://togithub.com/GoogleChrome/puppeteer/blob/v2.0.0/docs/api.md#pageemulatemediatypetype)
#### API changes
- New API: [`page.emulateTimezone(timezoneId)`](https://togithub.com/GoogleChrome/puppeteer/blob/v2.0.0/docs/api.md#pageemulatetimezonetimezoneid) ([#4949](https://togithub.com/puppeteer/puppeteer/issues/4949))
- New API: [`page.emulateMediaType(type)`](https://togithub.com/GoogleChrome/puppeteer/blob/v2.0.0/docs/api.md#pageemulatemediatypetype) ([#5012](https://togithub.com/puppeteer/puppeteer/issues/5012))
- Deprecated API: [`page.emulateMedia(type)`](https://togithub.com/GoogleChrome/puppeteer/blob/v2.0.0/docs/api.md#pageemulatemediatype) is now obsolete. Use [`page.emulateMediaType(type)`](https://togithub.com/GoogleChrome/puppeteer/blob/v2.0.0/docs/api.md#pageemulatemediatypetype) instead. ([#5012](https://togithub.com/puppeteer/puppeteer/issues/5012))
- New API: [`page.emulateMediaFeatures(features)`](https://togithub.com/GoogleChrome/puppeteer/blob/v2.0.0/docs/api.md#pageemulatemediatypetype) ([#5012](https://togithub.com/puppeteer/puppeteer/issues/5012))
#### Raw notes
[`aa24697`](https://togithub.com/puppeteer/puppeteer/commit/aa24697) - chore: mark version v2.0.0 ([#5078](https://togithub.com/puppeteer/puppeteer/issues/5078))
[`360c1b4`](https://togithub.com/puppeteer/puppeteer/commit/360c1b4) - test: add page.screenshot viewport clipping test ([#5079](https://togithub.com/puppeteer/puppeteer/issues/5079))
[`7f3e372`](https://togithub.com/puppeteer/puppeteer/commit/7f3e372) - docs(api): improve page.waitFor docs for the `options` object ([#5021](https://togithub.com/puppeteer/puppeteer/issues/5021))
[`8132b39`](https://togithub.com/puppeteer/puppeteer/commit/8132b39) - test: remove duplicate code from an example ([#5072](https://togithub.com/puppeteer/puppeteer/issues/5072))
[`1248a19`](https://togithub.com/puppeteer/puppeteer/commit/1248a19) - feat(api): add `page.emulateTimezone(timezoneId)` ([#4949](https://togithub.com/puppeteer/puppeteer/issues/4949))
[`a86363f`](https://togithub.com/puppeteer/puppeteer/commit/a86363f) - feat(api): add `page.emulateMedia{Type,Features}` ([#5012](https://togithub.com/puppeteer/puppeteer/issues/5012))
[`06dbb72`](https://togithub.com/puppeteer/puppeteer/commit/06dbb72) - chore: use map instead of plain object ([#5068](https://togithub.com/puppeteer/puppeteer/issues/5068))
[`81d2600`](https://togithub.com/puppeteer/puppeteer/commit/81d2600) - feat(chromium): roll Chromium to r705776 ([#5058](https://togithub.com/puppeteer/puppeteer/issues/5058))
[`3773229`](https://togithub.com/puppeteer/puppeteer/commit/3773229) - fix: avoid unnecessary zero-delays in input code ([#4934](https://togithub.com/puppeteer/puppeteer/issues/4934))
[`11ff374`](https://togithub.com/puppeteer/puppeteer/commit/11ff374) - chore: drop Node.js v6 support ([#5045](https://togithub.com/puppeteer/puppeteer/issues/5045))
[`c0ba8f9`](https://togithub.com/puppeteer/puppeteer/commit/c0ba8f9) - docs(troubleshooting): update Alpine Chromium versions ([#4980](https://togithub.com/puppeteer/puppeteer/issues/4980))
[`2506169`](https://togithub.com/puppeteer/puppeteer/commit/2506169) - docs(contributing): mention manual docs/api updates ([#5023](https://togithub.com/puppeteer/puppeteer/issues/5023))
[`83c327a`](https://togithub.com/puppeteer/puppeteer/commit/83c327a) - docs(readme): correct Slack link
[`4c62e09`](https://togithub.com/puppeteer/puppeteer/commit/4c62e09) - fix(comment): fix typo in Launcher.js ([#4959](https://togithub.com/puppeteer/puppeteer/issues/4959))
[`7dbb108`](https://togithub.com/puppeteer/puppeteer/commit/7dbb108) - docs(api): list Chromium version for Puppeteer v1.20.0 ([#5015](https://togithub.com/puppeteer/puppeteer/issues/5015))
[`5b34028`](https://togithub.com/puppeteer/puppeteer/commit/5b34028) - chore: bump https-proxy-agent to mitigate a security issue ([#5016](https://togithub.com/puppeteer/puppeteer/issues/5016))
[`dc57d03`](https://togithub.com/puppeteer/puppeteer/commit/dc57d03) - docs(api): clarify `type` method examples ([#5010](https://togithub.com/puppeteer/puppeteer/issues/5010))
[`fff2737`](https://togithub.com/puppeteer/puppeteer/commit/fff2737) - doc(contributing): clarify release instructions ([#4940](https://togithub.com/puppeteer/puppeteer/issues/4940))
[`387a532`](https://togithub.com/puppeteer/puppeteer/commit/387a532) - chore: bump version to v1.20.0-post ([#4939](https://togithub.com/puppeteer/puppeteer/issues/4939))
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.18.1
->^3.0.0
:information_source: Find our documentation at https://github.com/Financial-Times/next/wiki/Renovate.
Release Notes
puppeteer/puppeteer
### [`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/commit/3e4c8c9) - chore(typescript): migrate src/Dialog ([#5639](https://togithub.com/puppeteer/puppeteer/issues/5639)) [`a9f6a26`](https://togithub.com/puppeteer/puppeteer/commit/a9f6a26) - chore: log reminder about tsc if DocLint fails locally ([#5652](https://togithub.com/puppeteer/puppeteer/issues/5652)) [`37bae17`](https://togithub.com/puppeteer/puppeteer/commit/37bae17) - docs(contributing): update npm dist tags section ([#5650](https://togithub.com/puppeteer/puppeteer/issues/5650)) [`80348dc`](https://togithub.com/puppeteer/puppeteer/commit/80348dc) - chore: bump version to v3.0.0-post ([#5649](https://togithub.com/puppeteer/puppeteer/issues/5649)) ### [`v3.0.0`](https://togithub.com/puppeteer/puppeteer/releases/v3.0.0) [Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v2.1.1...v3.0.0) #### Big changes - Chromium 81.0.4044.0 (r737027) - Puppeteer can now fetch a Firefox Nightly binary for you via `PUPPETEER_PRODUCT=firefox npm install`. Also, there’s now [an example](https://togithub.com/puppeteer/puppeteer/blob/master/examples/cross-browser.js) showing how to launch Firefox with Puppeteer. - File uploads are generally more reliable ([#5363](https://togithub.com/puppeteer/puppeteer/issues/5363)) and `elementHandle.uploadFile(...filePaths)` now triggers a `change` event, matching the old behavior in Puppeteer v1.20.0. ([#5389](https://togithub.com/puppeteer/puppeteer/issues/5389)) - Node.js v8.x.x is no longer supported. ([#5136](https://togithub.com/puppeteer/puppeteer/issues/5136)) #### Behind the scenes - Puppeteer is migrating to TypeScript. Although this doesn't affect the way developers can consume Puppeteer, it improves the quality of the Puppeteer type definitions which can be used by modern editors. - Our custom test runner framework has been removed in favor of Mocha, reducing maintenance overhead. - Our CI setup and the way we deal with test flakiness is being reworked in order to increase our confidence of landing PRs without breaking anything. #### Raw notes [`6760b92`](https://togithub.com/puppeteer/puppeteer/commit/6760b92) - chore: mark version v3.0.0 ([#5642](https://togithub.com/puppeteer/puppeteer/issues/5642)) [`3387aab`](https://togithub.com/puppeteer/puppeteer/commit/3387aab) - feat(chromium): roll Chromium to r737027 ([#5644](https://togithub.com/puppeteer/puppeteer/issues/5644)) [`c5df490`](https://togithub.com/puppeteer/puppeteer/commit/c5df490) - docs(readme): update cross-browser FAQ ([#5634](https://togithub.com/puppeteer/puppeteer/issues/5634)) [`35989a7`](https://togithub.com/puppeteer/puppeteer/commit/35989a7) - fix: set revision based on PUPPETEER_PRODUCT ([#5643](https://togithub.com/puppeteer/puppeteer/issues/5643)) [`d817ae5`](https://togithub.com/puppeteer/puppeteer/commit/d817ae5) - fix: update preferred revision after Launcher is created ([#5640](https://togithub.com/puppeteer/puppeteer/issues/5640)) [`df81250`](https://togithub.com/puppeteer/puppeteer/commit/df81250) - chore: update ws library ([#5638](https://togithub.com/puppeteer/puppeteer/issues/5638)) [`2529ee6`](https://togithub.com/puppeteer/puppeteer/commit/2529ee6) - chore(eslint): add eslint typescript linting ([#5635](https://togithub.com/puppeteer/puppeteer/issues/5635)) [`88d843d`](https://togithub.com/puppeteer/puppeteer/commit/88d843d) - feat(TypeScript): move DeviceDescriptors to TS ([#5595](https://togithub.com/puppeteer/puppeteer/issues/5595)) [`1ce4fe7`](https://togithub.com/puppeteer/puppeteer/commit/1ce4fe7) - chore(deps): update extract-zip to version 2 ([#5610](https://togithub.com/puppeteer/puppeteer/issues/5610)) [`0bcc5a7`](https://togithub.com/puppeteer/puppeteer/commit/0bcc5a7) - chore: migrate remaining tests to Mocha ([#5616](https://togithub.com/puppeteer/puppeteer/issues/5616)) [`17cd870`](https://togithub.com/puppeteer/puppeteer/commit/17cd870) - chore: migrate unit tests to Mocha ([#5600](https://togithub.com/puppeteer/puppeteer/issues/5600)) [`262da92`](https://togithub.com/puppeteer/puppeteer/commit/262da92) - chore(test): re-enable Firefox testing on CI ([#5608](https://togithub.com/puppeteer/puppeteer/issues/5608)) [`83d9d53`](https://togithub.com/puppeteer/puppeteer/commit/83d9d53) - chore: update CI to run Travis + Linux + Chromium ([#5583](https://togithub.com/puppeteer/puppeteer/issues/5583)) [`21c2d31`](https://togithub.com/puppeteer/puppeteer/commit/21c2d31) - docs(api): update another emulateMediaType example ([#5607](https://togithub.com/puppeteer/puppeteer/issues/5607)) [`fefa8ca`](https://togithub.com/puppeteer/puppeteer/commit/fefa8ca) - docs(api): update emulateMediaType example ([#5606](https://togithub.com/puppeteer/puppeteer/issues/5606)) [`bbdaf92`](https://togithub.com/puppeteer/puppeteer/commit/bbdaf92) - docs(README): remove unused badges [`efe561e`](https://togithub.com/puppeteer/puppeteer/commit/efe561e) - chore: fix DocLint method diffing ([#5594](https://togithub.com/puppeteer/puppeteer/issues/5594)) [`841c2a5`](https://togithub.com/puppeteer/puppeteer/commit/841c2a5) - chore: fix emulateMedia tests ([#5593](https://togithub.com/puppeteer/puppeteer/issues/5593)) [`8fa034b`](https://togithub.com/puppeteer/puppeteer/commit/8fa034b) - chore: remove flakiness dashboard ([#5592](https://togithub.com/puppeteer/puppeteer/issues/5592)) [`4ee2c43`](https://togithub.com/puppeteer/puppeteer/commit/4ee2c43) - chore: fix Page.emulateMedia doclint failure ([#5584](https://togithub.com/puppeteer/puppeteer/issues/5584)) [`a99a3cf`](https://togithub.com/puppeteer/puppeteer/commit/a99a3cf) - chore: skip failing cookie tests in Firefox ([#5575](https://togithub.com/puppeteer/puppeteer/issues/5575)) [`88446df`](https://togithub.com/puppeteer/puppeteer/commit/88446df) - chore: fix missed `src/` vs `lib/` documentation ([#5591](https://togithub.com/puppeteer/puppeteer/issues/5591)) [`b3b0dc5`](https://togithub.com/puppeteer/puppeteer/commit/b3b0dc5) - docs: replace invalid device descriptors link ([#5589](https://togithub.com/puppeteer/puppeteer/issues/5589)) [`99ecdba`](https://togithub.com/puppeteer/puppeteer/commit/99ecdba) - docs: fix simple typo ([#5585](https://togithub.com/puppeteer/puppeteer/issues/5585)) [`7f7887e`](https://togithub.com/puppeteer/puppeteer/commit/7f7887e) - docs(puppeteer-firefox): add deprecation warning to README ([#5502](https://togithub.com/puppeteer/puppeteer/issues/5502)) [`6522e4f`](https://togithub.com/puppeteer/puppeteer/commit/6522e4f) - chore: Use expect for assertions ([#5581](https://togithub.com/puppeteer/puppeteer/issues/5581)) [`4c41421`](https://togithub.com/puppeteer/puppeteer/commit/4c41421) - chore: run Chromium on Node.js 12 on Travis ([#5582](https://togithub.com/puppeteer/puppeteer/issues/5582)) [`f434684`](https://togithub.com/puppeteer/puppeteer/commit/f434684) - chore: fix link to source files in documentation ([#5576](https://togithub.com/puppeteer/puppeteer/issues/5576)) [`2b52b86`](https://togithub.com/puppeteer/puppeteer/commit/2b52b86) - chore: remove travis-autodeploy ([#5580](https://togithub.com/puppeteer/puppeteer/issues/5580)) [`7a2a41f`](https://togithub.com/puppeteer/puppeteer/commit/7a2a41f) - chore: move code to src/ and emit with TypeScript ([#5568](https://togithub.com/puppeteer/puppeteer/issues/5568)) [`c82b556`](https://togithub.com/puppeteer/puppeteer/commit/c82b556) - docs: connect works with any supported browser ([#5572](https://togithub.com/puppeteer/puppeteer/issues/5572)) [`d678013`](https://togithub.com/puppeteer/puppeteer/commit/d678013) - chore: upgrade TypeScript to 3.8 ([#5566](https://togithub.com/puppeteer/puppeteer/issues/5566)) [`3dff24a`](https://togithub.com/puppeteer/puppeteer/commit/3dff24a) - chore: upgrade eslint to v6.8.0 ([#5563](https://togithub.com/puppeteer/puppeteer/issues/5563)) [`4b0fd8b`](https://togithub.com/puppeteer/puppeteer/commit/4b0fd8b) - chore: upgrade to TypeScript 3.7 ([#5562](https://togithub.com/puppeteer/puppeteer/issues/5562)) [`29b626a`](https://togithub.com/puppeteer/puppeteer/commit/29b626a) - chore: upgrade TypeScript to 3.6 ([#5559](https://togithub.com/puppeteer/puppeteer/issues/5559)) [`5e8d79b`](https://togithub.com/puppeteer/puppeteer/commit/5e8d79b) - chore: upgrade to TypeScript 3.5 ([#5556](https://togithub.com/puppeteer/puppeteer/issues/5556)) [`b9240b1`](https://togithub.com/puppeteer/puppeteer/commit/b9240b1) - chore: bump rimraf to v3.0.2 ([#5431](https://togithub.com/puppeteer/puppeteer/issues/5431)) [`067662c`](https://togithub.com/puppeteer/puppeteer/commit/067662c) - Emit change event on uploadFile calls ([#5389](https://togithub.com/puppeteer/puppeteer/issues/5389)) [`a3d1536`](https://togithub.com/puppeteer/puppeteer/commit/a3d1536) - Bugfix: Docker build failure ([#5400](https://togithub.com/puppeteer/puppeteer/issues/5400)) [`33f1967`](https://togithub.com/puppeteer/puppeteer/commit/33f1967) - (feat) Add option to fetch Firefox Nightly ([#5467](https://togithub.com/puppeteer/puppeteer/issues/5467)) [`807fbbd`](https://togithub.com/puppeteer/puppeteer/commit/807fbbd) - chore: drop Node.js v8 support ([#5365](https://togithub.com/puppeteer/puppeteer/issues/5365)) [`0b1a9ce`](https://togithub.com/puppeteer/puppeteer/commit/0b1a9ce) - chore: Replace Juggler with Firefox Nightly in CI ([#5395](https://togithub.com/puppeteer/puppeteer/issues/5395)) [`0b1777e`](https://togithub.com/puppeteer/puppeteer/commit/0b1777e) - docs(api) Fix url ([#5367](https://togithub.com/puppeteer/puppeteer/issues/5367)) [`5ffcde2`](https://togithub.com/puppeteer/puppeteer/commit/5ffcde2) - chore: bump version to v2.1.1.-post ([#5390](https://togithub.com/puppeteer/puppeteer/issues/5390)) [`46386eb`](https://togithub.com/puppeteer/puppeteer/commit/46386eb) - chore: mark version v2.1.1 ([#5388](https://togithub.com/puppeteer/puppeteer/issues/5388)) [`9923e56`](https://togithub.com/puppeteer/puppeteer/commit/9923e56) - fix(filechooser): quick fix for the headful file chooser ([#5369](https://togithub.com/puppeteer/puppeteer/issues/5369)) [`1a1ef83`](https://togithub.com/puppeteer/puppeteer/commit/1a1ef83) - Add FAQ entry on cross-browser support ([#5360](https://togithub.com/puppeteer/puppeteer/issues/5360)) [`0d243b7`](https://togithub.com/puppeteer/puppeteer/commit/0d243b7) - feat: make it possible to run `install.js` script with `puppeteer-core` ([#5325](https://togithub.com/puppeteer/puppeteer/issues/5325)) [`c283fea`](https://togithub.com/puppeteer/puppeteer/commit/c283fea) - docs(api): add example to page.$$eval ([#5200](https://togithub.com/puppeteer/puppeteer/issues/5200)) ### [`v2.1.1`](https://togithub.com/puppeteer/puppeteer/releases/v2.1.1) [Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v2.1.0...v2.1.1) [`eec4325`](https://togithub.com/puppeteer/puppeteer/commit/eec4325) - chore: mark version v2.1.1 [`9923e56`](https://togithub.com/puppeteer/puppeteer/commit/9923e56) - fix(filechooser): quick fix for the headful file chooser ([#5369](https://togithub.com/puppeteer/puppeteer/issues/5369)) [`1a1ef83`](https://togithub.com/puppeteer/puppeteer/commit/1a1ef83) - Add FAQ entry on cross-browser support ([#5360](https://togithub.com/puppeteer/puppeteer/issues/5360)) [`0d243b7`](https://togithub.com/puppeteer/puppeteer/commit/0d243b7) - feat: make it possible to run `install.js` script with `puppeteer-core` ([#5325](https://togithub.com/puppeteer/puppeteer/issues/5325)) [`c283fea`](https://togithub.com/puppeteer/puppeteer/commit/c283fea) - docs(api): add example to page.$$eval ([#5200](https://togithub.com/puppeteer/puppeteer/issues/5200)) [`b45f8e4`](https://togithub.com/puppeteer/puppeteer/commit/b45f8e4) - chore: bump version to v2.1.0-post ([#5349](https://togithub.com/puppeteer/puppeteer/issues/5349)) ### [`v2.1.0`](https://togithub.com/puppeteer/puppeteer/releases/v2.1.0) [Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v2.0.0...v2.1.0) #### Big changes - Chromium 80.0.3987.0 (r722234) - The launcher now has an option to run Puppeteer with different browsers, starting with Firefox ([#5137](https://togithub.com/puppeteer/puppeteer/issues/5137)). Puppeteer can now talk to a real, unpatched Firefox binary (as opposed to the old [Juggler](https://togithub.com/puppeteer/juggler)-based approach). This is a first step towards eventually deprecating the separate `puppeteer-firefox` package in favor of supporting Firefox directly in `puppeteer` itself. #### Raw notes [`7e7b05a`](https://togithub.com/puppeteer/puppeteer/commit/7e7b05a) - chore: mark version v2.1.0 + roll to r722234 ([#5347](https://togithub.com/puppeteer/puppeteer/issues/5347)) [`013a86c`](https://togithub.com/puppeteer/puppeteer/commit/013a86c) - feat(chromium): roll Chromium to r722276 ([#5289](https://togithub.com/puppeteer/puppeteer/issues/5289)) [`14b2369`](https://togithub.com/puppeteer/puppeteer/commit/14b2369) - chore: mark puppeteer-firefox version v0.5.1 ([#5294](https://togithub.com/puppeteer/puppeteer/issues/5294)) [`3a49cfc`](https://togithub.com/puppeteer/puppeteer/commit/3a49cfc) - chore: move to GitHub hosting for Juggler binaries ([#5293](https://togithub.com/puppeteer/puppeteer/issues/5293)) [`c7af7de`](https://togithub.com/puppeteer/puppeteer/commit/c7af7de) - docs(readme): update link for ndb ([#5272](https://togithub.com/puppeteer/puppeteer/issues/5272)) [`5e63254`](https://togithub.com/puppeteer/puppeteer/commit/5e63254) - chore: fix typo in test name ([#5217](https://togithub.com/puppeteer/puppeteer/issues/5217)) [`80b5c44`](https://togithub.com/puppeteer/puppeteer/commit/80b5c44) - chore: upgrade https-proxy-agent ([#5243](https://togithub.com/puppeteer/puppeteer/issues/5243)) [`6091a34`](https://togithub.com/puppeteer/puppeteer/commit/6091a34) - fix: prepare jsHandle.uploadFile for CDP Page.handleFileChooser removal ([#5196](https://togithub.com/puppeteer/puppeteer/issues/5196)) [`8b49dc6`](https://togithub.com/puppeteer/puppeteer/commit/8b49dc6) - fix: don’t disable BlinkGenPropertyTrees anymore ([#5159](https://togithub.com/puppeteer/puppeteer/issues/5159)) [`f0bf645`](https://togithub.com/puppeteer/puppeteer/commit/f0bf645) - test: reduce flakiness for accessibility tests with autofocus ([#5116](https://togithub.com/puppeteer/puppeteer/issues/5116)) [`6cc98a7`](https://togithub.com/puppeteer/puppeteer/commit/6cc98a7) - docs(troubleshooting): recommend using args for heroku ([#5197](https://togithub.com/puppeteer/puppeteer/issues/5197)) [`35d5ba5`](https://togithub.com/puppeteer/puppeteer/commit/35d5ba5) - feat(launcher): Set default Firefox prefs ([#5149](https://togithub.com/puppeteer/puppeteer/issues/5149)) ([#5195](https://togithub.com/puppeteer/puppeteer/issues/5195)) [`eddb23b`](https://togithub.com/puppeteer/puppeteer/commit/eddb23b) - chore: update URLs ([#5185](https://togithub.com/puppeteer/puppeteer/issues/5185)) [`c5a72e9`](https://togithub.com/puppeteer/puppeteer/commit/c5a72e9) - feat(launcher): add option to run Puppeteer with different browsers ([#5137](https://togithub.com/puppeteer/puppeteer/issues/5137)) [`d17708b`](https://togithub.com/puppeteer/puppeteer/commit/d17708b) - fix(types): publish protocol types to npm ([#5174](https://togithub.com/puppeteer/puppeteer/issues/5174)) [`fd43f9c`](https://togithub.com/puppeteer/puppeteer/commit/fd43f9c) - docs(api): fix defaultArgs link ([#5126](https://togithub.com/puppeteer/puppeteer/issues/5126)) [`5fa28b5`](https://togithub.com/puppeteer/puppeteer/commit/5fa28b5) - docs(api): fix typo ([#5120](https://togithub.com/puppeteer/puppeteer/issues/5120)) [`561c99d`](https://togithub.com/puppeteer/puppeteer/commit/561c99d) - docs(api): prefer async/await over Promise#then ([#5089](https://togithub.com/puppeteer/puppeteer/issues/5089)) [`aaa904d`](https://togithub.com/puppeteer/puppeteer/commit/aaa904d) - docs(contributing): clarify release process [`304f4a7`](https://togithub.com/puppeteer/puppeteer/commit/304f4a7) - chore: update .npmignore [`7032472`](https://togithub.com/puppeteer/puppeteer/commit/7032472) - chore: bump version to v2.0.0-post ### [`v2.0.0`](https://togithub.com/puppeteer/puppeteer/releases/v2.0.0) [Compare Source](https://togithub.com/puppeteer/puppeteer/compare/v1.20.0...v2.0.0) #### Big changes - Chromium 79.0.3942.0 (r706915) - Puppeteer now requires Node.js v8+; Node.js v6 is no longer supported - `page.screenshot` now clips elements to the viewport ([#5080](https://togithub.com/puppeteer/puppeteer/issues/5080)) - New APIs: - [`page.emulateTimezone(timezoneId)`](https://togithub.com/GoogleChrome/puppeteer/blob/v2.0.0/docs/api.md#pageemulatetimezonetimezoneid) - [`page.emulateMediaType(type)`](https://togithub.com/GoogleChrome/puppeteer/blob/v2.0.0/docs/api.md#pageemulatemediatypetype) (superseding the old [`page.emulateMedia(type)`](https://togithub.com/GoogleChrome/puppeteer/blob/v2.0.0/docs/api.md#pageemulatemediatype) API) - [`page.emulateMediaFeatures(features)`](https://togithub.com/GoogleChrome/puppeteer/blob/v2.0.0/docs/api.md#pageemulatemediatypetype) #### API changes - New API: [`page.emulateTimezone(timezoneId)`](https://togithub.com/GoogleChrome/puppeteer/blob/v2.0.0/docs/api.md#pageemulatetimezonetimezoneid) ([#4949](https://togithub.com/puppeteer/puppeteer/issues/4949)) - New API: [`page.emulateMediaType(type)`](https://togithub.com/GoogleChrome/puppeteer/blob/v2.0.0/docs/api.md#pageemulatemediatypetype) ([#5012](https://togithub.com/puppeteer/puppeteer/issues/5012)) - Deprecated API: [`page.emulateMedia(type)`](https://togithub.com/GoogleChrome/puppeteer/blob/v2.0.0/docs/api.md#pageemulatemediatype) is now obsolete. Use [`page.emulateMediaType(type)`](https://togithub.com/GoogleChrome/puppeteer/blob/v2.0.0/docs/api.md#pageemulatemediatypetype) instead. ([#5012](https://togithub.com/puppeteer/puppeteer/issues/5012)) - New API: [`page.emulateMediaFeatures(features)`](https://togithub.com/GoogleChrome/puppeteer/blob/v2.0.0/docs/api.md#pageemulatemediatypetype) ([#5012](https://togithub.com/puppeteer/puppeteer/issues/5012)) #### Raw notes [`aa24697`](https://togithub.com/puppeteer/puppeteer/commit/aa24697) - chore: mark version v2.0.0 ([#5078](https://togithub.com/puppeteer/puppeteer/issues/5078)) [`360c1b4`](https://togithub.com/puppeteer/puppeteer/commit/360c1b4) - test: add page.screenshot viewport clipping test ([#5079](https://togithub.com/puppeteer/puppeteer/issues/5079)) [`7f3e372`](https://togithub.com/puppeteer/puppeteer/commit/7f3e372) - docs(api): improve page.waitFor docs for the `options` object ([#5021](https://togithub.com/puppeteer/puppeteer/issues/5021)) [`8132b39`](https://togithub.com/puppeteer/puppeteer/commit/8132b39) - test: remove duplicate code from an example ([#5072](https://togithub.com/puppeteer/puppeteer/issues/5072)) [`1248a19`](https://togithub.com/puppeteer/puppeteer/commit/1248a19) - feat(api): add `page.emulateTimezone(timezoneId)` ([#4949](https://togithub.com/puppeteer/puppeteer/issues/4949)) [`a86363f`](https://togithub.com/puppeteer/puppeteer/commit/a86363f) - feat(api): add `page.emulateMedia{Type,Features}` ([#5012](https://togithub.com/puppeteer/puppeteer/issues/5012)) [`06dbb72`](https://togithub.com/puppeteer/puppeteer/commit/06dbb72) - chore: use map instead of plain object ([#5068](https://togithub.com/puppeteer/puppeteer/issues/5068)) [`81d2600`](https://togithub.com/puppeteer/puppeteer/commit/81d2600) - feat(chromium): roll Chromium to r705776 ([#5058](https://togithub.com/puppeteer/puppeteer/issues/5058)) [`3773229`](https://togithub.com/puppeteer/puppeteer/commit/3773229) - fix: avoid unnecessary zero-delays in input code ([#4934](https://togithub.com/puppeteer/puppeteer/issues/4934)) [`11ff374`](https://togithub.com/puppeteer/puppeteer/commit/11ff374) - chore: drop Node.js v6 support ([#5045](https://togithub.com/puppeteer/puppeteer/issues/5045)) [`c0ba8f9`](https://togithub.com/puppeteer/puppeteer/commit/c0ba8f9) - docs(troubleshooting): update Alpine Chromium versions ([#4980](https://togithub.com/puppeteer/puppeteer/issues/4980)) [`2506169`](https://togithub.com/puppeteer/puppeteer/commit/2506169) - docs(contributing): mention manual docs/api updates ([#5023](https://togithub.com/puppeteer/puppeteer/issues/5023)) [`83c327a`](https://togithub.com/puppeteer/puppeteer/commit/83c327a) - docs(readme): correct Slack link [`4c62e09`](https://togithub.com/puppeteer/puppeteer/commit/4c62e09) - fix(comment): fix typo in Launcher.js ([#4959](https://togithub.com/puppeteer/puppeteer/issues/4959)) [`7dbb108`](https://togithub.com/puppeteer/puppeteer/commit/7dbb108) - docs(api): list Chromium version for Puppeteer v1.20.0 ([#5015](https://togithub.com/puppeteer/puppeteer/issues/5015)) [`5b34028`](https://togithub.com/puppeteer/puppeteer/commit/5b34028) - chore: bump https-proxy-agent to mitigate a security issue ([#5016](https://togithub.com/puppeteer/puppeteer/issues/5016)) [`dc57d03`](https://togithub.com/puppeteer/puppeteer/commit/dc57d03) - docs(api): clarify `type` method examples ([#5010](https://togithub.com/puppeteer/puppeteer/issues/5010)) [`fff2737`](https://togithub.com/puppeteer/puppeteer/commit/fff2737) - doc(contributing): clarify release instructions ([#4940](https://togithub.com/puppeteer/puppeteer/issues/4940)) [`387a532`](https://togithub.com/puppeteer/puppeteer/commit/387a532) - chore: bump version to v1.20.0-post ([#4939](https://togithub.com/puppeteer/puppeteer/issues/4939))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.
This PR has been generated by WhiteSource Renovate. View repository job log here.