diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 0aa28c92fb0..1f3369e8a77 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,6 +1,6 @@ { - "packages/puppeteer": "22.7.1", - "packages/puppeteer-core": "22.7.1", + "packages/puppeteer": "22.8.0", + "packages/puppeteer-core": "22.8.0", "packages/testserver": "0.6.0", "packages/ng-schematics": "0.6.0", "packages/browsers": "2.2.3" diff --git a/docs/supported-browsers.md b/docs/supported-browsers.md index 4a2a34d9a89..7f85b57b170 100644 --- a/docs/supported-browsers.md +++ b/docs/supported-browsers.md @@ -10,6 +10,7 @@ The following versions of the browsers are supported, mapped to Puppeteer versio +- [Chrome for Testing](https://developer.chrome.com/blog/chrome-for-testing/) 124.0.6367.91 - [Puppeteer v22.8.0](https://github.com/puppeteer/puppeteer/blob/puppeteer-v22.8.0/docs/api/index.md) - [Chrome for Testing](https://developer.chrome.com/blog/chrome-for-testing/) 124.0.6367.78 - [Puppeteer v22.7.1](https://github.com/puppeteer/puppeteer/blob/puppeteer-v22.7.1/docs/api/index.md) - [Chrome for Testing](https://developer.chrome.com/blog/chrome-for-testing/) 124.0.6367.60 - [Puppeteer v22.7.0](https://github.com/puppeteer/puppeteer/blob/puppeteer-v22.7.0/docs/api/index.md) - [Chrome for Testing](https://developer.chrome.com/blog/chrome-for-testing/) 123.0.6312.122 - [Puppeteer v22.6.4](https://github.com/puppeteer/puppeteer/blob/puppeteer-v22.6.4/docs/api/index.md) diff --git a/package-lock.json b/package-lock.json index a578b6583b3..adadda669d6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11842,14 +11842,14 @@ } }, "packages/puppeteer": { - "version": "22.7.1", + "version": "22.8.0", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { "@puppeteer/browsers": "2.2.3", "cosmiconfig": "9.0.0", "devtools-protocol": "0.0.1273771", - "puppeteer-core": "22.7.1" + "puppeteer-core": "22.8.0" }, "bin": { "puppeteer": "lib/esm/puppeteer/node/cli.js" @@ -11862,7 +11862,7 @@ } }, "packages/puppeteer-core": { - "version": "22.7.1", + "version": "22.8.0", "license": "Apache-2.0", "dependencies": { "@puppeteer/browsers": "2.2.3", diff --git a/packages/puppeteer-core/CHANGELOG.md b/packages/puppeteer-core/CHANGELOG.md index 5ab4dba3b5f..c2522346eb4 100644 --- a/packages/puppeteer-core/CHANGELOG.md +++ b/packages/puppeteer-core/CHANGELOG.md @@ -20,6 +20,25 @@ All notable changes to this project will be documented in this file. See [standa * dependencies * @puppeteer/browsers bumped from 1.5.1 to 1.6.0 +## [22.8.0](https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v22.7.1...puppeteer-core-v22.8.0) (2024-05-06) + + +### Features + +* **webdriver:** support `page.setUserAgent` for WebDriver BiDi ([#12330](https://github.com/puppeteer/puppeteer/issues/12330)) ([1f99e66](https://github.com/puppeteer/puppeteer/commit/1f99e669a1d644d1d17d5a7e926fbeafb8d231c6)) +* **webdriver:** support ARIA selectors ([#12315](https://github.com/puppeteer/puppeteer/issues/12315)) ([88b46ee](https://github.com/puppeteer/puppeteer/commit/88b46ee5020d30355a3e52512030e1162502e4f5)) + + +### Bug Fixes + +* **cdp:** throw on closed connection ([#12352](https://github.com/puppeteer/puppeteer/issues/12352)) ([28a8d0f](https://github.com/puppeteer/puppeteer/commit/28a8d0ffb6345309df2bb23c9a5e2bd8be2f059d)) +* deprecate CDP for Firefox ([#12349](https://github.com/puppeteer/puppeteer/issues/12349)) ([dffad28](https://github.com/puppeteer/puppeteer/commit/dffad28a429596be66741fb263e616437d7b965d)) +* disable IsolateSandboxedIframes trial to prevent flakiness ([#12381](https://github.com/puppeteer/puppeteer/issues/12381)) ([461a8ff](https://github.com/puppeteer/puppeteer/commit/461a8ff92ff0e3887b4ceb4e4b7d1198eb8f7901)) +* remove --disable-field-trial-config ([#12377](https://github.com/puppeteer/puppeteer/issues/12377)) ([54a6377](https://github.com/puppeteer/puppeteer/commit/54a6377d7d505e4580c78c06bb8a2c538bbf6857)) +* roll to Chrome 124.0.6367.91 (r1274542) ([#12344](https://github.com/puppeteer/puppeteer/issues/12344)) ([fedd8a9](https://github.com/puppeteer/puppeteer/commit/fedd8a9628aed134e8fc725b4e6c3cb20d546581)) +* turn on PdfOopif for PDF viewer ([#12370](https://github.com/puppeteer/puppeteer/issues/12370)) ([73d7692](https://github.com/puppeteer/puppeteer/commit/73d7692ae93959239f909cdee6ee849f8a70b7e5)) +* **webdriver:** redirects emitting events ([#12338](https://github.com/puppeteer/puppeteer/issues/12338)) ([e1606ac](https://github.com/puppeteer/puppeteer/commit/e1606acfc800ab067ec5a8db336a70dba57b0827)) + ## [22.7.1](https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v22.7.0...puppeteer-core-v22.7.1) (2024-04-25) diff --git a/packages/puppeteer-core/package.json b/packages/puppeteer-core/package.json index ef3b49b018f..e3532a7a1fa 100644 --- a/packages/puppeteer-core/package.json +++ b/packages/puppeteer-core/package.json @@ -1,6 +1,6 @@ { "name": "puppeteer-core", - "version": "22.7.1", + "version": "22.8.0", "description": "A high-level API to control headless Chrome over the DevTools Protocol", "keywords": [ "puppeteer", diff --git a/packages/puppeteer/CHANGELOG.md b/packages/puppeteer/CHANGELOG.md index 8fd9d517604..9ea4c6e2686 100644 --- a/packages/puppeteer/CHANGELOG.md +++ b/packages/puppeteer/CHANGELOG.md @@ -29,6 +29,20 @@ All notable changes to this project will be documented in this file. See [standa * puppeteer-core bumped from 21.0.2 to 21.0.3 * @puppeteer/browsers bumped from 1.5.1 to 1.6.0 +## [22.8.0](https://github.com/puppeteer/puppeteer/compare/puppeteer-v22.7.1...puppeteer-v22.8.0) (2024-05-06) + + +### Miscellaneous Chores + +* **puppeteer:** Synchronize puppeteer versions + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * puppeteer-core bumped from 22.7.1 to 22.8.0 + ## [22.7.1](https://github.com/puppeteer/puppeteer/compare/puppeteer-v22.7.0...puppeteer-v22.7.1) (2024-04-25) diff --git a/packages/puppeteer/package.json b/packages/puppeteer/package.json index 09f39d3b024..22dedbe95a2 100644 --- a/packages/puppeteer/package.json +++ b/packages/puppeteer/package.json @@ -1,6 +1,6 @@ { "name": "puppeteer", - "version": "22.7.1", + "version": "22.8.0", "description": "A high-level API to control headless Chrome over the DevTools Protocol", "keywords": [ "puppeteer", @@ -124,7 +124,7 @@ "license": "Apache-2.0", "dependencies": { "cosmiconfig": "9.0.0", - "puppeteer-core": "22.7.1", + "puppeteer-core": "22.8.0", "@puppeteer/browsers": "2.2.3", "devtools-protocol": "0.0.1273771" }, diff --git a/versions.js b/versions.js index 87c27a0c249..be1a5c61193 100644 --- a/versions.js +++ b/versions.js @@ -7,7 +7,7 @@ const versionsPerRelease = new Map([ // This is a mapping from Chrome version => Puppeteer version. // In Chrome roll patches, use `NEXT` for the Puppeteer version. - ['124.0.6367.91', 'NEXT'], + ['124.0.6367.91', 'v22.8.0'], ['124.0.6367.78', 'v22.7.1'], ['124.0.6367.60', 'v22.7.0'], ['123.0.6312.122', 'v22.6.4'], diff --git a/website/versioned_docs/version-22.7.1/api/index.md b/website/versioned_docs/version-22.8.0/api/index.md similarity index 73% rename from website/versioned_docs/version-22.7.1/api/index.md rename to website/versioned_docs/version-22.8.0/api/index.md index aa62b2a7688..409fecfe82c 100644 --- a/website/versioned_docs/version-22.7.1/api/index.md +++ b/website/versioned_docs/version-22.8.0/api/index.md @@ -23,6 +23,16 @@ Description The Accessibility class provides methods for inspecting the browser's accessibility tree. The accessibility tree is used by assistive technology such as [screen readers](https://en.wikipedia.org/wiki/Screen_reader) or [switches](https://en.wikipedia.org/wiki/Switch_access). +**Remarks:** + +Accessibility is a very platform-specific thing. On different platforms, there are different screen readers that might have wildly different output. + +Blink - Chrome's rendering engine - has a concept of "accessibility tree", which is then translated into different platform-specific APIs. Accessibility namespace gives users access to the Blink Accessibility Tree. + +Most of the accessibility tree gets filtered out when converting from Blink AX Tree to Platform-specific AX-Tree or by assistive technologies themselves. By default, Puppeteer tries to approximate this filtering, exposing only the "interesting" nodes of the tree. + +The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `Accessibility` class. + @@ -36,6 +46,10 @@ The Accessibility class provides methods for inspecting the browser's accessibil [Browser](./puppeteer.browser.md) [emits](./puppeteer.eventemitter.emit.md) various events which are documented in the [BrowserEvent](./puppeteer.browserevent.md) enum. +**Remarks:** + +The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `Browser` class. + @@ -51,6 +65,10 @@ When a [browser](./puppeteer.browser.md) is launched, it has a single [browser c If a [page](./puppeteer.page.md) opens another [page](./puppeteer.page.md), e.g. using `window.open`, the popup will belong to the parent [page's browser context](./puppeteer.page.browsercontext.md). +**Remarks:** + +The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `BrowserContext` class. + @@ -60,6 +78,14 @@ If a [page](./puppeteer.page.md) opens another [page](./puppeteer.page.md), e.g. The `CDPSession` instances are used to talk raw Chrome Devtools Protocol. +**Remarks:** + +Protocol methods can be called with [CDPSession.send()](./puppeteer.cdpsession.send.md) method and protocol events can be subscribed to with `CDPSession.on` method. + +Useful links: [DevTools Protocol Viewer](https://chromedevtools.github.io/devtools-protocol/) and [Getting Started with DevTools Protocol](https://github.com/aslushnikov/getting-started-with-cdp/blob/HEAD/README.md). + +The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `CDPSession` class. + @@ -85,6 +111,10 @@ ConsoleMessage objects are dispatched by page via the 'console' event. The Coverage class provides methods to gather information about parts of JavaScript and CSS that were used by the page. +**Remarks:** + +To output coverage in a form consumable by [Istanbul](https://github.com/istanbuljs), see [puppeteer-to-istanbul](https://github.com/istanbuljs/puppeteer-to-istanbul). + @@ -101,6 +131,12 @@ The Coverage class provides methods to gather information about parts of JavaScr Device request prompts let you respond to the page requesting for a device through an API like WebBluetooth. +**Remarks:** + +`DeviceRequestPrompt` instances are returned via the [Page.waitForDevicePrompt()](./puppeteer.page.waitfordeviceprompt.md) method. + +The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `DeviceRequestPrompt` class. + @@ -110,6 +146,10 @@ Device request prompts let you respond to the page requesting for a device throu Device in a request prompt. +**Remarks:** + +The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `DeviceRequestPromptDevice` class. + @@ -119,6 +159,10 @@ Device in a request prompt. Dialog instances are dispatched by the [Page](./puppeteer.page.md) via the `dialog` event. +**Remarks:** + +The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `Dialog` class. + @@ -128,6 +172,31 @@ Dialog instances are dispatched by the [Page](./puppeteer.page.md) via the `dial ElementHandle represents an in-page DOM element. +**Remarks:** + +ElementHandles can be created with the [Page.$()](./puppeteer.page._.md) method. + +```ts +import puppeteer from 'puppeteer'; + +(async () => { + const browser = await puppeteer.launch(); + const page = await browser.newPage(); + await page.goto('https://example.com'); + const hrefElement = await page.$('a'); + await hrefElement.click(); + // ... +})(); +``` + +ElementHandle prevents the DOM element from being garbage-collected unless the handle is [disposed](./puppeteer.jshandle.dispose.md). ElementHandles are auto-disposed when their origin frame gets navigated. + +ElementHandle instances can be used as arguments in [Page.$eval()](./puppeteer.page._eval.md) and [Page.evaluate()](./puppeteer.page.evaluate.md) methods. + +If you're using TypeScript, ElementHandle takes a generic argument that denotes the type of element the handle is holding within. For example, if you have a handle to a `