diff --git a/docs/src/release-notes-js.md b/docs/src/release-notes-js.md
index 9d26d41551..d3760a7112 100644
--- a/docs/src/release-notes-js.md
+++ b/docs/src/release-notes-js.md
@@ -6,6 +6,74 @@ toc_max_heading_level: 2
import LiteYouTube from '@site/src/components/LiteYouTube';
+## Version 1.50
+
+### Test runner
+
+* New option [`option: Test.step.timeout`] allows specifying a maximum run time for an individual test step. A timed-out step will fail the execution of the test.
+
+ ```js
+ test('some test', async ({ page }) => {
+ await test.step('a step', async () => {
+ // This step can time out separately from the test
+ }, { timeout: 1000 });
+ });
+ ```
+
+* New method [`method: Test.step.skip`] to disable execution of a test step.
+
+ ```js
+ test('some test', async ({ page }) => {
+ await test.step('before running step', async () => {
+ // Normal step
+ });
+
+ await test.step.skip('not yet ready', async () => {
+ // This step is skipped
+ });
+
+ await test.step('after running step', async () => {
+ // This step still runs even though the previous one was skipped
+ });
+ });
+ ```
+
+* Expanded [`method: LocatorAssertions.toMatchAriaSnapshot#2`] to allow storing of aria snapshots in separate YAML files.
+* Added method [`method: LocatorAssertions.toHaveAccessibleErrorMessage`] to assert the Locator points to an element with a given [aria errormessage](https://w3c.github.io/aria/#aria-errormessage).
+* Option [`property: TestConfig.updateSnapshots`] added the configuration enum `changed`. `changed` updates only the snapshots that have changed, whereas `all` now updates all snapshots, regardless of whether there are any differences.
+* New option [`property: TestConfig.updateSourceMethod`] defines the way source code is updated when [`property: TestConfig.updateSnapshots`] is configured. Added `overwrite` and `3-way` modes that write the changes into source code, on top of existing `patch` mode that creates a patch file.
+
+ ```bash
+ npx playwright test --update-snapshots=changed --update-source-method=3way
+ ```
+
+* Option [`property: TestConfig.webServer`] added a `gracefulShutdown` field for specifying a process kill signal other than the default `SIGKILL`.
+* Exposed [`property: TestStep.attachments`] from the reporter API to allow retrieval of all attachments created by that step.
+
+### UI updates
+
+* Updated default HTML reporter to improve display of attachments.
+* New button for picking elements to produce aria snapshots.
+* Additional details (such as keys pressed) are now displayed alongside action API calls in traces.
+* Display of `canvas` content in traces is error-prone. Display is now disabled by default, and can be enabled via the `Display canvas content` UI setting.
+* `Call` and `Network` panels now display additional time information.
+
+### Breaking
+
+* [`method: LocatorAssertions.toBeEditable`] and [`method: Locator.isEditable`] now throw if the target element is not ``, `