From 52e75cf13e2d7497497a908af7f8be88b1c438de Mon Sep 17 00:00:00 2001 From: Andrey Lushnikov Date: Tue, 8 Jun 2021 16:43:34 -0700 Subject: [PATCH] docs: split release notes on the website per-language (#6977) --- docs/src/release-notes-csharp.md | 26 +++ docs/src/release-notes-java.md | 198 ++++++++++++++++++ .../{release-notes.md => release-notes-js.md} | 0 docs/src/release-notes-python.md | 194 +++++++++++++++++ 4 files changed, 418 insertions(+) create mode 100644 docs/src/release-notes-csharp.md create mode 100644 docs/src/release-notes-java.md rename docs/src/{release-notes.md => release-notes-js.md} (100%) create mode 100644 docs/src/release-notes-python.md diff --git a/docs/src/release-notes-csharp.md b/docs/src/release-notes-csharp.md new file mode 100644 index 0000000000..b8e1377fad --- /dev/null +++ b/docs/src/release-notes-csharp.md @@ -0,0 +1,26 @@ +--- +id: release-notes +title: "Release notes" +--- + + + +## Version 1.12 + +#### Highlights + +- Playwright for .NET v1.12 is now stable! +- Ships with the [codegen](./cli.md#generate-code) and [trace viewer](./trace-viewer.md) tools out-of-the-box + +#### Browser Versions + +- Chromium 93.0.4530.0 +- Mozilla Firefox 89.0 +- WebKit 14.2 + +This version of Playwright was also tested against the following stable channels: + +- Google Chrome 91 +- Microsoft Edge 91 + + diff --git a/docs/src/release-notes-java.md b/docs/src/release-notes-java.md new file mode 100644 index 0000000000..729a35cc55 --- /dev/null +++ b/docs/src/release-notes-java.md @@ -0,0 +1,198 @@ +--- +id: release-notes +title: "Release notes" +--- + + + +## Version 1.12 + +#### 🧟‍♂️ Introducing Playwright Trace Viewer + +[Playwright Trace Viewer](./trace-viewer.md) is a new GUI tool that helps exploring recorded Playwright traces after the script ran. Playwright traces let you examine: +- page DOM before and after each Playwright action +- page rendering before and after each Playwright action +- browser network during script execution + +Traces are recorded using the new [`property: BrowserContext.tracing`] API: + +```java +Browser browser = chromium.launch(); +BrowserContext context = browser.newContext(); + +// Start tracing before creating / navigating a page. +context.tracing.start(new Tracing.StartOptions() + .setScreenshots(true) + .setSnapshots(true); + +Page page = context.newPage(); +page.goto("https://playwright.dev"); + +// Stop tracing and export it into a zip archive. +context.tracing.stop(new Tracing.StopOptions() + .setPath(Paths.get("trace.zip"))); +``` + +Traces are examined later with the Playwright CLI: + + +```sh +mvn exec:java -e -Dexec.mainClass=com.microsoft.playwright.CLI -Dexec.args="show-trace trace.zip" +``` + +That will open the following GUI: + +![image](https://user-images.githubusercontent.com/746130/121109654-d66c4480-c7c0-11eb-8d4d-eb70d2b03811.png) + +👉 Read more in [trace viewer documentation](./trace-viewer.md). + + +#### Browser Versions + +- Chromium 93.0.4530.0 +- Mozilla Firefox 89.0 +- WebKit 14.2 + +This version of Playwright was also tested against the following stable channels: + +- Google Chrome 91 +- Microsoft Edge 91 + +#### New APIs + +- `reducedMotion` option in [`method: Page.emulateMedia`], [`method: BrowserType.launchPersistentContext`], [`method: Browser.newContext`] and [`method: Browser.newPage`] +- [`event: BrowserContext.request`] +- [`event: BrowserContext.requestFailed`] +- [`event: BrowserContext.requestFinished`] +- [`event: BrowserContext.response`] +- `tracesDir` option in [`method: BrowserType.launch`] and [`method: BrowserType.launchPersistentContext`] +- new [`property: BrowserContext.tracing`] API namespace +- new [`method: Download.page`] method + +## Version 1.11 + +🎥 New video: [Playwright: A New Test Automation Framework for the Modern Web](https://youtu.be/_Jla6DyuEu4) ([slides](https://docs.google.com/presentation/d/1xFhZIJrdHkVe2CuMKOrni92HoG2SWslo0DhJJQMR1DI/edit?usp=sharing)) +- We talked about Playwright +- Showed engineering work behind the scenes +- Did live demos with new features ✨ +- **Special thanks** to [applitools](http://applitools.com/) for hosting the event and inviting us! + +#### Browser Versions + +- Chromium 92.0.4498.0 +- Mozilla Firefox 89.0b6 +- WebKit 14.2 + +#### New APIs + +- support for **async predicates** across the API in methods such as [`method: Page.waitForRequest`] and others +- new **emulation devices**: Galaxy S8, Galaxy S9+, Galaxy Tab S4, Pixel 3, Pixel 4 +- new methods: + * [`method: Page.waitForURL`] to await navigations to URL + * [`method: Video.delete`] and [`method: Video.saveAs`] to manage screen recording +- new options: + * `screen` option in the [`method: Browser.newContext`] method to emulate `window.screen` dimensions + * `position` option in [`method: Page.check`] and [`method: Page.uncheck`] methods + * `trial` option to dry-run actions in [`method: Page.check`], [`method: Page.uncheck`], [`method: Page.click`], [`method: Page.dblclick`], [`method: Page.hover`] and [`method: Page.tap`] + +## Version 1.10 + +- [Playwright for Java v1.10](https://github.com/microsoft/playwright-java) is **now stable**! +- Run Playwright against **Google Chrome** and **Microsoft Edge** stable channels with the [new channels API](./browsers). +- Chromium screenshots are **fast** on Mac & Windows. + +#### Bundled Browser Versions + +- Chromium 90.0.4430.0 +- Mozilla Firefox 87.0b10 +- WebKit 14.2 + +This version of Playwright was also tested against the following stable channels: + +- Google Chrome 89 +- Microsoft Edge 89 + +#### New APIs + +- [`browserType.launch()`](./api/class-browsertype#browsertypelaunchoptions) now accepts the new `'channel'` option. Read more in [our documentation](./browsers). + + +## Version 1.9 + +- [Playwright Inspector](./inspector.md) is a **new GUI tool** to author and debug your tests. + - **Line-by-line debugging** of your Playwright scripts, with play, pause and step-through. + - Author new scripts by **recording user actions**. + - **Generate element selectors** for your script by hovering over elements. + - Set the `PWDEBUG=1` environment variable to launch the Inspector + +- **Pause script execution** with [`method: Page.pause`] in headed mode. Pausing the page launches [Playwright Inspector](./inspector.md) for debugging. + +- **New has-text pseudo-class** for CSS selectors. `:has-text("example")` matches any element containing `"example"` somewhere inside, possibly in a child or a descendant element. See [more examples](./selectors.md#text-selector). + +- **Page dialogs are now auto-dismissed** during execution, unless a listener for `dialog` event is configured. [Learn more](./dialogs.md) about this. + +- [Playwright for Python](https://github.com/microsoft/playwright-python) is **now stable** with an idiomatic snake case API and pre-built [Docker image](./docker.md) to run tests in CI/CD. + +#### Browser Versions + +- Chromium 90.0.4421.0 +- Mozilla Firefox 86.0b10 +- WebKit 14.1 + +#### New APIs +- [`method: Page.pause`]. + + +## Version 1.8 + +- [Selecting elements based on layout](./selectors.md#selecting-elements-based-on-layout) with `:left-of()`, `:right-of()`, `:above()` and `:below()`. +- Playwright now includes [command line interface](./cli.md), former playwright-cli. + ```bash js + npx playwright --help + ``` + ```bash python + playwright --help + ``` +- [`method: Page.selectOption`] now waits for the options to be present. +- New methods to [assert element state](./actionability#assertions) like [`method: Page.isEditable`]. + +#### New APIs + +- [`method: ElementHandle.isChecked`]. +- [`method: ElementHandle.isDisabled`]. +- [`method: ElementHandle.isEditable`]. +- [`method: ElementHandle.isEnabled`]. +- [`method: ElementHandle.isHidden`]. +- [`method: ElementHandle.isVisible`]. +- [`method: Page.isChecked`]. +- [`method: Page.isDisabled`]. +- [`method: Page.isEditable`]. +- [`method: Page.isEnabled`]. +- [`method: Page.isHidden`]. +- [`method: Page.isVisible`]. +- New option `'editable'` in [`method: ElementHandle.waitForElementState`]. + +#### Browser Versions + +- Chromium 90.0.4392.0 +- Mozilla Firefox 85.0b5 +- WebKit 14.1 + +## Version 1.7 + +- **New Java SDK**: [Playwright for Java](https://github.com/microsoft/playwright-java) is now on par with [JavaScript](https://github.com/microsoft/playwright), [Python](https://github.com/microsoft/playwright-python) and [C# bindings](https://github.com/microsoft/playwright-sharp). +- **Browser storage API**: New convenience APIs to save and load browser storage state (cookies, local storage) to simplify automation scenarios with authentication. +- **New CSS selectors**: We heard your feedback for more flexible selectors and have revamped the selectors implementation. Playwright 1.7 introduces [new CSS extensions](./selectors.md) and there's more coming soon. +- **New website**: The docs website at [playwright.dev](https://playwright.dev/) has been updated and is now built with [Docusaurus](https://v2.docusaurus.io/). +- **Support for Apple Silicon**: Playwright browser binaries for WebKit and Chromium are now built for Apple Silicon. + +#### New APIs + +- [`method: BrowserContext.storageState`] to get current state for later reuse. +- `storageState` option in [`method: Browser.newContext`] and [`method: Browser.newPage`] to setup browser context state. + +#### Browser Versions + +- Chromium 89.0.4344.0 +- Mozilla Firefox 84.0b9 +- WebKit 14.1 diff --git a/docs/src/release-notes.md b/docs/src/release-notes-js.md similarity index 100% rename from docs/src/release-notes.md rename to docs/src/release-notes-js.md diff --git a/docs/src/release-notes-python.md b/docs/src/release-notes-python.md new file mode 100644 index 0000000000..01153c5cda --- /dev/null +++ b/docs/src/release-notes-python.md @@ -0,0 +1,194 @@ +--- +id: release-notes +title: "Release notes" +--- + + + +## Version 1.12 + +#### 🧟‍♂️ Introducing Playwright Trace Viewer + +[Playwright Trace Viewer](./trace-viewer.md) is a new GUI tool that helps exploring recorded Playwright traces after the script ran. Playwright traces let you examine: +- page DOM before and after each Playwright action +- page rendering before and after each Playwright action +- browser network during script execution + +Traces are recorded using the new [`property: BrowserContext.tracing`] API: + +```python +browser = chromium.launch() +context = browser.new_context() + +# Start tracing before creating / navigating a page. +context.tracing.start(screenshots=True, snapshots=True) + +page.goto("https://playwright.dev") + +# Stop tracing and export it into a zip archive. +context.tracing.stop(path = "trace.zip") +``` + +Traces are examined later with the Playwright CLI: + + +```sh +playwright show-trace trace.zip +``` + +That will open the following GUI: + +![image](https://user-images.githubusercontent.com/746130/121109654-d66c4480-c7c0-11eb-8d4d-eb70d2b03811.png) + +👉 Read more in [trace viewer documentation](./trace-viewer.md). + + +#### Browser Versions + +- Chromium 93.0.4530.0 +- Mozilla Firefox 89.0 +- WebKit 14.2 + +This version of Playwright was also tested against the following stable channels: + +- Google Chrome 91 +- Microsoft Edge 91 + +#### New APIs + +- `reducedMotion` option in [`method: Page.emulateMedia`], [`method: BrowserType.launchPersistentContext`], [`method: Browser.newContext`] and [`method: Browser.newPage`] +- [`event: BrowserContext.request`] +- [`event: BrowserContext.requestFailed`] +- [`event: BrowserContext.requestFinished`] +- [`event: BrowserContext.response`] +- `tracesDir` option in [`method: BrowserType.launch`] and [`method: BrowserType.launchPersistentContext`] +- new [`property: BrowserContext.tracing`] API namespace +- new [`method: Download.page`] method + +## Version 1.11 + +🎥 New video: [Playwright: A New Test Automation Framework for the Modern Web](https://youtu.be/_Jla6DyuEu4) ([slides](https://docs.google.com/presentation/d/1xFhZIJrdHkVe2CuMKOrni92HoG2SWslo0DhJJQMR1DI/edit?usp=sharing)) +- We talked about Playwright +- Showed engineering work behind the scenes +- Did live demos with new features ✨ +- **Special thanks** to [applitools](http://applitools.com/) for hosting the event and inviting us! + +#### Browser Versions + +- Chromium 92.0.4498.0 +- Mozilla Firefox 89.0b6 +- WebKit 14.2 + +#### New APIs + +- support for **async predicates** across the API in methods such as [`method: Page.waitForRequest`] and others +- new **emulation devices**: Galaxy S8, Galaxy S9+, Galaxy Tab S4, Pixel 3, Pixel 4 +- new methods: + * [`method: Page.waitForURL`] to await navigations to URL + * [`method: Video.delete`] and [`method: Video.saveAs`] to manage screen recording +- new options: + * `screen` option in the [`method: Browser.newContext`] method to emulate `window.screen` dimensions + * `position` option in [`method: Page.check`] and [`method: Page.uncheck`] methods + * `trial` option to dry-run actions in [`method: Page.check`], [`method: Page.uncheck`], [`method: Page.click`], [`method: Page.dblclick`], [`method: Page.hover`] and [`method: Page.tap`] + +## Version 1.10 + +- [Playwright for Java v1.10](https://github.com/microsoft/playwright-java) is **now stable**! +- Run Playwright against **Google Chrome** and **Microsoft Edge** stable channels with the [new channels API](./browsers). +- Chromium screenshots are **fast** on Mac & Windows. + +#### Bundled Browser Versions + +- Chromium 90.0.4430.0 +- Mozilla Firefox 87.0b10 +- WebKit 14.2 + +This version of Playwright was also tested against the following stable channels: + +- Google Chrome 89 +- Microsoft Edge 89 + +#### New APIs + +- [`browserType.launch()`](./api/class-browsertype#browsertypelaunchoptions) now accepts the new `'channel'` option. Read more in [our documentation](./browsers). + + +## Version 1.9 + +- [Playwright Inspector](./inspector.md) is a **new GUI tool** to author and debug your tests. + - **Line-by-line debugging** of your Playwright scripts, with play, pause and step-through. + - Author new scripts by **recording user actions**. + - **Generate element selectors** for your script by hovering over elements. + - Set the `PWDEBUG=1` environment variable to launch the Inspector + +- **Pause script execution** with [`method: Page.pause`] in headed mode. Pausing the page launches [Playwright Inspector](./inspector.md) for debugging. + +- **New has-text pseudo-class** for CSS selectors. `:has-text("example")` matches any element containing `"example"` somewhere inside, possibly in a child or a descendant element. See [more examples](./selectors.md#text-selector). + +- **Page dialogs are now auto-dismissed** during execution, unless a listener for `dialog` event is configured. [Learn more](./dialogs.md) about this. + +- [Playwright for Python](https://github.com/microsoft/playwright-python) is **now stable** with an idiomatic snake case API and pre-built [Docker image](./docker.md) to run tests in CI/CD. + +#### Browser Versions + +- Chromium 90.0.4421.0 +- Mozilla Firefox 86.0b10 +- WebKit 14.1 + +#### New APIs +- [`method: Page.pause`]. + + +## Version 1.8 + +- [Selecting elements based on layout](./selectors.md#selecting-elements-based-on-layout) with `:left-of()`, `:right-of()`, `:above()` and `:below()`. +- Playwright now includes [command line interface](./cli.md), former playwright-cli. + ```bash js + npx playwright --help + ``` + ```bash python + playwright --help + ``` +- [`method: Page.selectOption`] now waits for the options to be present. +- New methods to [assert element state](./actionability#assertions) like [`method: Page.isEditable`]. + +#### New APIs + +- [`method: ElementHandle.isChecked`]. +- [`method: ElementHandle.isDisabled`]. +- [`method: ElementHandle.isEditable`]. +- [`method: ElementHandle.isEnabled`]. +- [`method: ElementHandle.isHidden`]. +- [`method: ElementHandle.isVisible`]. +- [`method: Page.isChecked`]. +- [`method: Page.isDisabled`]. +- [`method: Page.isEditable`]. +- [`method: Page.isEnabled`]. +- [`method: Page.isHidden`]. +- [`method: Page.isVisible`]. +- New option `'editable'` in [`method: ElementHandle.waitForElementState`]. + +#### Browser Versions + +- Chromium 90.0.4392.0 +- Mozilla Firefox 85.0b5 +- WebKit 14.1 + +## Version 1.7 + +- **New Java SDK**: [Playwright for Java](https://github.com/microsoft/playwright-java) is now on par with [JavaScript](https://github.com/microsoft/playwright), [Python](https://github.com/microsoft/playwright-python) and [C# bindings](https://github.com/microsoft/playwright-sharp). +- **Browser storage API**: New convenience APIs to save and load browser storage state (cookies, local storage) to simplify automation scenarios with authentication. +- **New CSS selectors**: We heard your feedback for more flexible selectors and have revamped the selectors implementation. Playwright 1.7 introduces [new CSS extensions](./selectors.md) and there's more coming soon. +- **New website**: The docs website at [playwright.dev](https://playwright.dev/) has been updated and is now built with [Docusaurus](https://v2.docusaurus.io/). +- **Support for Apple Silicon**: Playwright browser binaries for WebKit and Chromium are now built for Apple Silicon. + +#### New APIs + +- [`method: BrowserContext.storageState`] to get current state for later reuse. +- `storageState` option in [`method: Browser.newContext`] and [`method: Browser.newPage`] to setup browser context state. + +#### Browser Versions + +- Chromium 89.0.4344.0 +- Mozilla Firefox 84.0b9 +- WebKit 14.1