chore(driver): roll to 1.62.0 - #3338
Merged
Merged
Conversation
Devin Rousso (dcrousso)
force-pushed
the
roll-1.62.0
branch
2 times, most recently
from
July 30, 2026 02:28
b95e5e9 to
ca0d92d
Compare
Dmitry Gozman (dgozman)
approved these changes
Jul 30, 2026
| ["wallTime"] = DateTimeOffset.Now.ToUnixTimeMilliseconds(), | ||
| }; | ||
|
|
||
| // The protocol carries the call timeout in the metadata instead of as a parameter. |
Collaborator
There was a problem hiding this comment.
Useless comment detected!
| }; | ||
|
|
||
| // The protocol carries the call timeout in the metadata instead of as a parameter. | ||
| if (sanitizedArgs.TryGetValue("timeout", out var timeout)) |
Collaborator
There was a problem hiding this comment.
I think we should follow up and pass timeout as a separate argument of SendMessageToServerAsync, similar to js and java clients.
Contributor
Author
There was a problem hiding this comment.
| new_driver_version="$1" | ||
| upstream_package_version=$(node -e "console.log(require('${upstream_repo_path}/package.json').version)") | ||
| new_node_version=$(sed -n 's/^NODE_VERSION="\([^"]*\)".*/\1/p' "${upstream_repo_path}/utils/build/build-playwright-driver.sh") | ||
| # The Node.js version used to be pinned in the upstream driver build script. That script was |
Collaborator
There was a problem hiding this comment.
Another useless comment detected!
| # The Node.js version used to be pinned in the upstream driver build script. That script was | ||
| # removed in microsoft/playwright#41518, so for newer versions follow the policy it had, which | ||
| # upstream utils/build/update-playwright-node.mjs still uses: the latest Node.js LTS. | ||
| legacy_node_version_script="${upstream_repo_path}/utils/build/build-playwright-driver.sh" |
Collaborator
There was a problem hiding this comment.
Let's drop the support for the "legacy script".
Devin Rousso (dcrousso)
force-pushed
the
roll-1.62.0
branch
2 times, most recently
from
July 30, 2026 15:48
73601b3 to
04a1359
Compare
This was referenced Jul 30, 2026
`roll_driver` read the pinned Node.js version out of `utils/build/build-playwright-driver.sh`, but upstream deleted that script in <microsoft/playwright#41518>, so the roll aborted under `set -e` read the latest Node.js LTS from <https://nodejs.org/dist/index.json> instead, matching the policy that upstream `utils/build/update-playwright-node.mjs` now follows `1.62` removes the per method `timeout` parameter from the protocol and carries the call timeout in the metadata instead, so server dispatched operation timeouts silently stopped being honoured move `timeout` out of the parameters and into the metadata when sending a message, which leaves every existing call site and its default resolution untouched `IAPIResponse.Timing` and `ILocator.WaitForFunctionAsync` are new in `1.62`, so add handwritten implementations to back the generated interfaces Firefox `153` fixes <microsoft/playwright#38919>, so `WorkersTests` no longer needs its Firefox specific `toLocaleString` expectation WebKit on Windows reports the certificate subject as `true` in `1.62.0`, so align `ShouldReturnSecurityDetails` with upstream `should work while navigating` took a viewport screenshot where the upstream test it ports takes a full page one, so align it
Devin Rousso (dcrousso)
force-pushed
the
roll-1.62.0
branch
from
July 30, 2026 17:49
04a1359 to
f59114f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rolls Playwright for .NET to driver
1.62.0with Chromium151.0.7922.34, Firefox153.0, WebKit26.5, and Node.js24.18.1.Protocol timeout migration
1.62removes per methodtimeoutparameters and carries the call timeout inMetadata.timeout. The .NET client still senttimeoutas a parameter, so the1.62.0server ignored every server dispatched operation timeout.Connection.InnerSendMessageToServerAsyncnow moves the resolvedtimeoutparameter into the metadata before sending the message.waitForTimeoutremains unaffected because it useswaitTimeout.The follow-up #3339 passes the timeout as a separate
SendMessageToServerAsyncargument instead of extracting it from the parameter dictionary.Rolling tooling
Upstream removed
utils/build/build-playwright-driver.shin microsoft/playwright#41518, soroll_drivercould no longer read the Node.js version. It now reads the latest Node.js LTS from https://nodejs.org/dist/index.json, matchingutils/build/update-playwright-node.mjs.API and browser updates
IAPIResponse.Timingimplementation required by the generated interfaceILocator.WaitForFunctionAsyncimplementation required by the generated interface153fixes [Bug]: locale is not propagated to workers in firefox playwright#38919truefrom WebKit on Windows, matching the1.62.0upstream testShouldWorkWhileNavigatingwith the upstream full page screenshot testUpstream marks
timingandresponseEndTimingoptional and emits them together, while the .NET channel generator emitsResponseEndTimingas a non nullablefloat.APIResponse.Timingtherefore usestiming == nullto select the-1fallback forResponseEnd.The viewport version of
ShouldWorkWhileNavigatingpassed with1.61.1-betain https://github.com/microsoft/playwright-dotnet/actions/runs/28052877970, but waits out its timeout with1.62.0. An explicitTimeout = 1000is honored after approximately1000milliseconds, so the test now matches the upstream full page scenario.Validation:
dotnet build src/Playwrightsucceeds with no warnings or errorsdotnet format ./src/ --verify-no-changessucceeds1818tests and33skipped testspwsh, which is not installed on the validation machine