All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
15.4.0 (2022-07-13)
15.3.2 (2022-07-08)
- cache dynamic imports (#8652) (1de0383)
- expose a RemoteObject getter (#8642) (d0c4291), closes #8639
- page: fix page.#scrollIntoViewIfNeeded method (#8631) (b47f066)
15.3.1 (2022-07-06)
15.3.0 (2022-07-01)
15.2.0 (2022-06-29)
- add fromSurface option to page.screenshot (#8496) (79e1198)
- export public types only (#8584) (7001322)
15.1.1 (2022-06-25)
- export
ElementHandle
(e0198a7)
15.1.0 (2022-06-24)
15.0.2 (2022-06-24)
15.0.1 (2022-06-24)
15.0.0 (2022-06-23)
- type inference for evaluation types (#8547)
- add experimental
client
toHTTPRequest
(#8556) (ec79f3a) - type inference for evaluation types (#8547) (26c3acb)
14.4.1 (2022-06-17)
- avoid
instanceof Object
check inisErrorLike
(#8527) (6cd5cd0) - export
devices
,errors
, and more (cba58a1)
14.4.0 (2022-06-13)
- parse empty options in <select> (#8489) (b30f3f4)
- use error-like (#8504) (4d35990)
- use OS-independent abs. path check (#8505) (bfd4e68)
14.3.0 (2022-06-07)
- don't throw on bad access (#8472) (e837866)
- Kill browser process when killing process group fails (#8477) (7dc8e37)
- only lookup
localhost
for DNS lookups (1b025b4) - robustly check for launch executable (#8468) (b54dc55)
14.2.1 (2022-06-02)
14.2.0 (2022-06-01)
- chromium: roll to Chromium 103.0.5059.0 (r1002410) (#8410) (54efc2c)
- support node 18 (#8447) (f2d8276)
- use strict typescript (#8401) (b4e751f)
- multiple same request event listener (#8404) (9211015)
- NodeNext incompatibility in package.json (#8445) (c4898a7)
- process documentation during publishing (#8433) (d111d19)
14.1.2 (2022-05-30)
- do not use loaderId for lifecycle events (#8395) (c96c915)
- fix release-please bot (#8400) (5c235c7)
- use strict TS in Input.ts (#8392) (af92a24)
14.1.1 (2022-05-19)
- kill browser process when 'taskkill' fails on Windows (#8352) (dccfadb)
- only check loading iframe in lifecycling (#8348) (7438030)
- recompile before funit and unit commands (#8363) (8735b78), closes #8362
14.1.0 (2022-05-13)
- add waitForXPath to ElementHandle (#8329) (7eaadaf)
- allow handling other targets as pages internally (#8336) (3b66a2c)
- disable AvoidUnnecessaryBeforeUnloadCheckSync to fix navigations (#8330) (4854ad5)
- If currentNode and root are the same, do not include them in the result (#8332) (a61144d)
14.0.0 (2022-05-09)
- strict mode fixes for HTTPRequest/Response classes (#8297)
- Node 12 is no longer supported.
- add support for Apple Silicon chromium builds (#7546) (baa017d), closes #6622
- chromium: roll to Chromium 102.0.5002.0 (r991974) (#8319) (be4c930)
- support ES modules (#8306) (6841bd6)
13.7.0 (2022-04-28)
- doc typo (#8263) (952a2ae)
- use different test names for browser specific tests in launcher.spec.ts (#8250) (c6cf1a9)
13.6.0 (2022-04-19)
- chromium: roll to Chromium 101.0.4950.0 (r982053) (#8213) (ec74bd8)
- respond multiple headers with same key (#8183) (c1dcd85)
- also kill Firefox when temporary profile is used (#8233) (b6504d7)
- consider existing frames when waiting for a frame (#8200) (0955225)
- disable bfcache in the launcher (#8196) (9ac7318), closes #8182
- enable page.spec event handler test for firefox (#8214) (2b45027)
- forget queuedEventGroup when emitting response in responseReceivedExtraInfo (#8234) (#8239) (91a8e73)
- forget request will be sent from the _requestWillBeSentMap list. (#8226) (4b786c9)
- ignore favicon requests in page.spec event handler tests (#8208) (04e5c88)
- network.spec.ts: typo in the word should (#8223) (e93faad)
13.5.2 (2022-03-31)
- chromium downloading hung at 99% (#8169) (8f13470)
- get extra headers from Fetch.requestPaused event (#8162) (37ede68)
13.5.1 (2022-03-09)
13.5.0 (2022-03-07)
- Inherit browser-level proxy settings from incognito context (#7770) (3feca32)
- page: page.createIsolatedWorld error catching has been added (#7848) (309e8b8)
- tests: ensure all tests honour BINARY envvar (#8092) (3b8b9ad)
13.4.1 (2022-03-01)
13.4.0 (2022-02-22)
- add support for async waitForTarget (#7885) (dbf0639)
- export
Frame._client
through getter (#8041) (e9278fc) - HTTPResponse: expose timing information (#8025) (30b3d49)
- change kill to signal the whole process group to terminate (#6859) (0eb9c78)
- element screenshot issue in headful mode (#8018) (5346e70), closes #7999
- ensure dom binding is not called after detach (#8024) (5c308b0), closes #7814
- use both __dirname and require.resolve to support different bundlers (#8046) (e6a6295), closes #8044
13.3.2 (2022-02-14)
- always use ENV executable path when present (#7985) (6d6ea9b)
- use require.resolve instead of __dirname (#8003) (bbb186d)
13.3.1 (2022-02-10)
13.3.0 (2022-02-09)
13.2.0 (2022-02-07)
- add more models to DeviceDescriptors (#7904) (6a655cb)
- chromium: roll to Chromium 99.0.4844.16 (r961656) (#7960) (96c3f94)
- make projectRoot optional in Puppeteer and launchers (#7967) (9afdc63)
- migrate more files to strict-mode TypeScript (#7950) (aaac8d9)
- typos in documentation (#7968) (41ab4e9)
13.1.3 (2022-01-31)
- issue with reading versions.js in doclint (#7940) (06ba963)
- make more files work in strict-mode TypeScript (#7936) (0636513)
- page.pdf producing an invalid pdf (#7868) (afea509), closes #7757
13.1.2 (2022-01-25)
- package.json: update node-fetch package (#7924) (e4c48d3)
- types in Browser.ts to be compatible with strict mode Typescript (#7918) (a8ec0aa), closes #6769
- types in Connection.ts to be compatible with strict mode Typescript (#7919) (d80d602), closes #6769
13.1.1 (2022-01-18)
13.1.0 (2022-01-17)
- apply OOPIF offsets to bounding box and box model calls (#7906) (a566263)
- correctly compute clickable points for elements inside OOPIFs (#7900) (486bbe0), closes #7849
- error for pre-existing OOPIFs (#7899) (d7937b8), closes #7844 #7896
13.0.1 (2021-12-22)
- disable a test failing on Firefox (#7846) (36207c5)
- make sure ElementHandle.waitForSelector is evaluated in the right context (#7843) (8d8e874)
- predicate arguments for waitForFunction (#7845) (1c44551), closes #7836
13.0.0 (2021-12-10)
- typo in 'already-handled' constant of the request interception API (#7813)
- expose HTTPRequest intercept resolution state and clarify docs (#7796) (dc23b75)
- implement Element.waitForSelector (#7825) (c034294)
- handle multiple/duplicate Fetch.requestPaused events (#7802) (636b086), closes #7475 #6696 #7225
- revert "feat(typescript): allow using puppeteer without dom lib" (02c9af6), closes #6998
- typo in 'already-handled' constant of the request interception API (#7813) (8242422), closes #7745 #7747 #7780
12.0.1 (2021-11-29)
12.0.0 (2021-11-26)
- chromium: roll to Chromium 97.0.4692.0 (r938248)
- chromium: roll to Chromium 97.0.4692.0 (r938248) (ac162c5), closes #7458
- support for custom user data (profile) directory for Firefox (#7684) (790c7a0)
- ariaqueryhandler: allow single quotes in aria attribute selector (#7750) (b0319ec), closes #7721
- clearer jsdoc for behavior of
headless
whendevtools
is true (#7748) (9f9b4ed) - null check for frame in FrameManager (#7773) (23ee295), closes #7749
- only kill the process when there is no browser instance available (#7762) (51e6169), closes #7668
- parse statusText from the extraInfo event (#7798) (a26b12b), closes #7458
- try to remove the temporary user data directory after the process has been killed (#7761) (fc94a28)
11.0.0 (2021-11-02)
- oop iframes: integrate OOP iframes with the frame manager (#7556)
- improve error message for response.buffer() (#7669) (03c9ecc)
- oop iframes: integrate OOP iframes with the frame manager (#7556) (4d9dc8c), closes #2548
- add custom debugging port option (#4993) (26145e9)
- add initiator to HTTPRequest (#7614) (a271145)
- allow to customize tmpdir (#7243) (b1f6e86)
- handle unhandled promise rejections in tests (#7722) (07febca)
- add support for relative install paths to BrowserFetcher (#7613) (eebf452), closes #7592
- add webp to screenshot quality option allow list (#7631) (b20c2bf)
- prevent Target closed errors on streams (#7728) (5b792de)
- request an animation frame to fix flaky clickablePoint test (#7587) (7341d9f)
- setup husky properly (#7727) (8b712e7), closes #7726
- updated troubleshooting.md to meet latest dependencies changes (#7656) (edb0197)
- launcher: launcher.launch() should pass 'timeout' option #5180 (#7596) (113489d)
- page: fallback to default in exposeFunction when using imported module (#6365) (44c9ec6)
- page: fix page.off method for request event (#7624) (d0cb943), closes #7572
10.4.0 (2021-09-21)
- add webp to screenshot options (#7565) (43a9268)
- page: expose page.client() (#7582) (99ca842)
- page: mark page.client() as internal (#7585) (8451951)
- add ability to specify offsets for JSHandle.click (#7573) (2b5c001)
- add durableStorage to allowed permissions (#5295) (eda5171)
- add id option to addScriptTag (#5477) (300be5d)
- add more Android models to DeviceDescriptors (#7210) (b5020dc), closes /github.com/aerokube/moon-deploy/blob/master/moon-local.yaml#L199
- add proxy and bypass list parameters to createIncognitoBrowserContext (#7516) (8e45a1c), closes #678
- add threshold to Page.isIntersectingViewport (#6497) (54c4318)
- add unit test support for bisect (#7553) (a0b1f6b)
- add User-Agent with Puppeteer version to WebSocket request (#5614) (6a2bf0a)
- extend husky checks (#7574) (7316086)
- api: implement
Page.waitForNetworkIdle()
(#5140) (3c6029c) - coverage: option for raw V8 script coverage (#6454) (cb4470a)
- support timeout for page.pdf() call (#7508) (f90af66)
- typescript: allow using puppeteer without dom lib (#6998) (723052d), closes #6989
- docs: deploy includes website documentation (#7469) (6fde41c)
- docs: names in version 9.1.1 (#7517) (44b22bb)
- frame: fix Frame.waitFor's XPath pattern detection (#5184) (caa2b73)
- install: respect environment proxy config when downloading Firef… (#6577) (9399c97), closes #6573
- added names in V9.1.1 (#7547) (d132b8b)
- test: tweak waitForNetworkIdle delay in test between downloads (#7564) (a21b737)
- types: allow evaluate functions to take a readonly array as an argument (#7072) (491614c)
- update firefox prefs documentation link (#7539) (2aec355)
- use non-deprecated tracing categories api (#7413) (040a0e5)
10.2.0 (2021-08-04)
- api: make
page.isDragInterceptionEnabled
a method (#7419) (dd470c7), closes #7150 - chromium: roll to Chromium 93.0.4577.0 (r901912) (#7387) (e10faad)
- add channel parameter for puppeteer.launch (#7389) (d70f60e)
- add cooperative request intercepts (#6735) (b5e6474)
- add support for useragentdata (#7378) (7200b1a)
- browser-runner: reject promise on error (#7338) (5eb20e2)
- add script to remove html comments from docs markdown (#7394) (ea3df80)
10.1.0 (2021-06-29)
- add a streaming version for page.pdf (e3699e2)
- add drag-and-drop support (#7150) (a91b8ac)
- add page.emulateCPUThrottling (#7343) (4ce4110)
10.0.0 (2021-05-31)
- Node.js 10 is no longer supported.
- chromium: roll to Chromium 92.0.4512.0 (r884014) (#7288) (f863f4b)
- requestinterception: remove cacheSafe flag (#7217) (d01aa6c)
- expose other sessions from connection (#6863) (cb285a2)
- launcher: add new launcher option
waitForInitialPage
(#7105) (2605309), closes #3630
-
added comments for browsercontext, startCSSCoverage, and startJSCoverage. (#7264) (b750397)
-
modified comment for method product, platform and newPage (#7262) (159d283)
-
requestinterception: fix font loading issue (#7060) (c9978d2), closes /github.com/puppeteer/puppeteer/pull/6996#issuecomment-811546501 /github.com/puppeteer/puppeteer/pull/6996#issuecomment-813797393 #7038
9.1.1 (2021-05-05)
9.1.0 (2021-05-03)
9.0.0 (2021-04-21)
- filechooser: FileChooser.cancel() is now synchronous.
- chromium: roll to Chromium 91.0.4469.0 (r869685) (#7110) (715e7a8)
- launcher: fix installation error on Apple M1 chips (#7099) (c239d9e), closes #6622
- network: request interception and caching compatibility (#6996) (8695759)
- page: emit the event after removing the Worker (#7080) (e34a6d5)
- types: improve type of predicate function (#6997) (943477c), closes /github.com/DefinitelyTyped/DefinitelyTyped/blob/c43191a8f7a7d2a47bbff0bc3a7d95ecc64d2269/types/puppeteer/index.d.ts#L1883-L1885
- accept captureBeyondViewport as optional screenshot param (#7063) (0e092d2)
- page: add omitBackground option for page.pdf method (#6981) (dc8ab6d)
- aria: fix parsing of ARIA selectors (#7037) (4426135)
- page: fix mouse.click method (#7097) (ba7c367), closes #6462 #3347
- make
$
and$$
selectors generic (#6883) (b349c91) - type page event listeners correctly (#6891) (866d34e)
- typescript: allow defaultViewport to be 'null' (#6942) (e31e68d), closes #6885
- make screenshots work in puppeteer-web (#6936) (5f24f60)
- filechooser: cancel is sync (#6937) (2ba61e0)
- network: don't disable cache for auth challenge (#6962) (1c2479a)
8.0.0 (2021-02-26)
- renamed type
ChromeArgOptions
toBrowserLaunchArgumentOptions
- renamed type
BrowserOptions
toBrowserConnectOptions
- explicit HTTPRequest.resourceType type defs (#6882) (ff26c62), closes #6854
- expose
Viewport
type (#6881) (be7c229) - improve TS types for launching browsers (#6888) (98c8145)
- move CI npm config out of .npmrc (#6901) (f7de60b)
7.1.0 (2021-02-12)
- add favicon test asset (#6868) (a63f53c)
- expose
ScreenshotOptions
type in type defs (#6869) (63d48b2), closes #6866 - expose puppeteer.Permission type (#6856) (a5e174f)
- jsonValue() type is generic (#6865) (bdaba78)
- wider compat TS types and CI checks to ensure correct type defs (#6855) (6a0eb78)
7.0.4 (2021-02-09)
7.0.3 (2021-02-09)
7.0.2 (2021-02-09)
- much better TypeScript definitions (#6837) (f1b46ab)
- domworld: reset bindings when context changes (#6766) (#6836) (4e8d074)
- launcher: output correct error message for browser (#6815) (6c61874)
7.0.1 (2021-02-04)
7.0.0 (2021-02-03)
-
page.screenshot
makes a screenshot with the clip dimensions, not cutting it by the ViewPort size.
- chromium: -
page.screenshot
cuts screenshot content by the ViewPort size, not ViewPort position.
- use
captureBeyondViewport
inPage.captureScreenshot
(#6805) (401d84e) - chromium: roll Chromium to r848005 (#6801) (890d5c2)
6.0.0 (2021-02-02)
- chromium: The built-in
aria/
selector query handler doesn’t return ignored elements anymore.
- chromium: roll Chromium to r843427 (#6797) (8f9fbdb), closes #6758
- add page.emulateNetworkConditions (#6759) (5ea76e9)
- types: expose typedefs to consumers (#6745) (ebd087a)
- add iPhone 11 models to DeviceDescriptors (#6467) (50b810d)
- support fetching and launching on Apple M1 (9a8479a), closes #6495 #6634 #6641 #6614
- support promise as return value for page.waitForResponse predicate (#6624) (b57f3fc)
- domworld: fix waitfor bindings (#6766) (#6775) (cac540b)
- launcher: rename TranslateUI to Translate to match Chrome (#6692) (d901696)
- do not use old utility world (#6528) (fb85911), closes #6527
- update to https-proxy-agent@^5.0.0 to fix
ERR_INVALID_PROTOCOL
(#6555) (3bf5a55)