diff --git a/docs/src/api/class-websocketroute.md b/docs/src/api/class-websocketroute.md index 39ca75d5867b0..d2fd7cb2ebe17 100644 --- a/docs/src/api/class-websocketroute.md +++ b/docs/src/api/class-websocketroute.md @@ -26,7 +26,7 @@ page.routeWebSocket("/ws", ws -> { ``` ```python async -def message_handler(ws, message): +def message_handler(ws: WebSocketRoute, message: Union[str, bytes]): if message == "request": ws.send("response") @@ -36,7 +36,7 @@ await page.route_web_socket("/ws", lambda ws: ws.on_message( ``` ```python sync -def message_handler(ws, message): +def message_handler(ws: WebSocketRoute, message: Union[str, bytes]): if message == "request": ws.send("response") diff --git a/docs/src/release-notes-csharp.md b/docs/src/release-notes-csharp.md index 994d047794bfe..fee7d732fec4b 100644 --- a/docs/src/release-notes-csharp.md +++ b/docs/src/release-notes-csharp.md @@ -4,6 +4,47 @@ title: "Release notes" toc_max_heading_level: 2 --- + +## Version 1.48 + +### WebSocket routing + +New methods [`method: Page.routeWebSocket`] and [`method: BrowserContext.routeWebSocket`] allow to intercept, modify and mock WebSocket connections initiated in the page. Below is a simple example that mocks WebSocket communication by responding to a `"request"` with a `"response"`. + +```csharp +await page.RouteWebSocketAsync("/ws", ws => { + ws.OnMessage(message => { + if (message == "request") + ws.Send("response"); + }); +}); +``` + +See [WebSocketRoute] for more details. + +### UI updates + +- New "copy" buttons for annotations and test location in the HTML report. +- Route method calls like [`method: Route.fulfill`] are not shown in the report and trace viewer anymore. You can see which network requests were routed in the network tab instead. +- New "Copy as cURL" and "Copy as fetch" buttons for requests in the network tab. + +### Miscellaneous + +- New method [`method: Page.requestGC`] may help detect memory leaks. +- Requests made by [APIRequestContext] now record detailed timing and security information in the HAR. + +### Browser Versions + +- Chromium 130.0.6723.19 +- Mozilla Firefox 130.0 +- WebKit 18.0 + +This version was also tested against the following stable channels: + +- Google Chrome 129 +- Microsoft Edge 129 + + ## Version 1.47 ### Network Tab improvements diff --git a/docs/src/release-notes-java.md b/docs/src/release-notes-java.md index c50d5a67c4b67..ae9735861129c 100644 --- a/docs/src/release-notes-java.md +++ b/docs/src/release-notes-java.md @@ -4,6 +4,46 @@ title: "Release notes" toc_max_heading_level: 2 --- +## Version 1.48 + +### WebSocket routing + +New methods [`method: Page.routeWebSocket`] and [`method: BrowserContext.routeWebSocket`] allow to intercept, modify and mock WebSocket connections initiated in the page. Below is a simple example that mocks WebSocket communication by responding to a `"request"` with a `"response"`. + +```java +page.routeWebSocket("/ws", ws -> { + ws.onMessage(message -> { + if ("request".equals(message)) + ws.send("response"); + }); +}); +``` + +See [WebSocketRoute] for more details. + +### UI updates + +- New "copy" buttons for annotations and test location in the HTML report. +- Route method calls like [`method: Route.fulfill`] are not shown in the report and trace viewer anymore. You can see which network requests were routed in the network tab instead. +- New "Copy as cURL" and "Copy as fetch" buttons for requests in the network tab. + +### Miscellaneous + +- New method [`method: Page.requestGC`] may help detect memory leaks. +- Requests made by [APIRequestContext] now record detailed timing and security information in the HAR. + +### Browser Versions + +- Chromium 130.0.6723.19 +- Mozilla Firefox 130.0 +- WebKit 18.0 + +This version was also tested against the following stable channels: + +- Google Chrome 129 +- Microsoft Edge 129 + + ## Version 1.47 ### Network Tab improvements diff --git a/docs/src/release-notes-js.md b/docs/src/release-notes-js.md index 4676a9dfb10fc..b366c43dbd189 100644 --- a/docs/src/release-notes-js.md +++ b/docs/src/release-notes-js.md @@ -6,6 +6,48 @@ toc_max_heading_level: 2 import LiteYouTube from '@site/src/components/LiteYouTube'; +## Version 1.48 + +### WebSocket routing + +New methods [`method: Page.routeWebSocket`] and [`method: BrowserContext.routeWebSocket`] allow to intercept, modify and mock WebSocket connections initiated in the page. Below is a simple example that mocks WebSocket communication by responding to a `"request"` with a `"response"`. + +```js +await page.routeWebSocket('/ws', ws => { + ws.onMessage(message => { + if (message === 'request') + ws.send('response'); + }); +}); +``` + +See [WebSocketRoute] for more details. + +### UI updates + +- New "copy" buttons for annotations and test location in the HTML report. +- Route method calls like [`method: Route.fulfill`] are not shown in the report and trace viewer anymore. You can see which network requests were routed in the network tab instead. +- New "Copy as cURL" and "Copy as fetch" buttons for requests in the network tab. + +### Miscellaneous + +- Option [`option: APIRequestContext.fetch.form`] and similar ones now accept [FormData](https://developer.mozilla.org/en-US/docs/Web/API/FormData). +- New method [`method: Page.requestGC`] may help detect memory leaks. +- New option [`option: Test.step.location`] to pass custom step location. +- Requests made by [APIRequestContext] now record detailed timing and security information in the HAR. + +### Browser Versions + +- Chromium 130.0.6723.19 +- Mozilla Firefox 130.0 +- WebKit 18.0 + +This version was also tested against the following stable channels: + +- Google Chrome 129 +- Microsoft Edge 129 + + ## Version 1.47 ### Network Tab improvements diff --git a/docs/src/release-notes-python.md b/docs/src/release-notes-python.md index 033c2697505a1..211e0ad5c2af8 100644 --- a/docs/src/release-notes-python.md +++ b/docs/src/release-notes-python.md @@ -4,6 +4,47 @@ title: "Release notes" toc_max_heading_level: 2 --- +## Version 1.48 + +### WebSocket routing + +New methods [`method: Page.routeWebSocket`] and [`method: BrowserContext.routeWebSocket`] allow to intercept, modify and mock WebSocket connections initiated in the page. Below is a simple example that mocks WebSocket communication by responding to a `"request"` with a `"response"`. + +```python +def message_handler(ws: WebSocketRoute, message: Union[str, bytes]): + if message == "request": + ws.send("response") + +page.route_web_socket("/ws", lambda ws: ws.on_message( + lambda message: message_handler(ws, message) +)) +``` + +See [WebSocketRoute] for more details. + +### UI updates + +- New "copy" buttons for annotations and test location in the HTML report. +- Route method calls like [`method: Route.fulfill`] are not shown in the report and trace viewer anymore. You can see which network requests were routed in the network tab instead. +- New "Copy as cURL" and "Copy as fetch" buttons for requests in the network tab. + +### Miscellaneous + +- New method [`method: Page.requestGC`] may help detect memory leaks. +- Requests made by [APIRequestContext] now record detailed timing and security information in the HAR. + +### Browser Versions + +- Chromium 130.0.6723.19 +- Mozilla Firefox 130.0 +- WebKit 18.0 + +This version was also tested against the following stable channels: + +- Google Chrome 129 +- Microsoft Edge 129 + + ## Version 1.47 ### Network Tab improvements