NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #1294 most downloaded on npm
A high-level API to automate web browsers
Last release today
06 Oct 2026
Ships on a steady schedule
a new release about every 8 days
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
5717 releases · first in 2017
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
Nothing published for this version
6b5c2cf3 - revert: lifecycle refactoring, it breaks setContent
Minor bugfix.
<details> <summary><b>Commits (1)</b></summary>
6b5c2cf3 - revert: lifecycle refactoring, it breaks setContent (#4420)
</details>
Nothing published for this version
Use [page.tap()] to automate native tap events. Like other input events, taps auto-wait for the UI element and [actionability] checks.
page.tap() to automate native tap events. Like other input events, taps auto-wait for the UI element and actionability checks.page.on('websocket') and the new WebSocket class to inspect WebSocket connections.recordHar while creating new browser contexts.request.timing() to retrieve and analyze timing data for the network requests.proxy option on the new context.npx playwright-cli codegen --target=csharp to try!proxy in browser.newContext() and browser.newPage()recordHar in browser.newContext() and browser.newPage()recordVideo in browser.newContext() and browser.newPage()page.on('websocket') eventpage.tap() methodelementHandle.tap() methodpage.touchscreen namespace to access Touchscreenrequest.timing() method<details> <summary><b>Issues Closed (39)</b></summary>
#1655 - [Feature] Custom methods on Page
#2515 - [Feature] networkidle for "idle after action"
#2695 - [Feature] WebSockets supports
#2946 - Not able to detect browser event: disconnected event when close browser is invoked
#2974 - [BUG] Unable to adopt element handle from a different document
#3122 - [QUESTION] Chromium versions are mismatched in docker, leading to launch failures
#3206 - [Feature] Export network as HAR
#3466 - [Feature] Fill input field based on label text
#3476 - [BUG] Firefox focus won't work with more than 1 page
#3499 - [BUG] Playwright does not see iframe element as visible
#3534 - [Feature] Allow set proxy per context
#3693 - [BUG] RPC/Firefox goBack does not return a response (guid)
#3830 - [Feature] Text selector engine normalise whitespaces
#4002 - [BUG] page.waitForSelector fails when called during a redirect
#4021 - [BUG] beforeunload event in headless mode is failing
#4038 - [REGRESSION]: Tall screenshots in chromium get corrupted at bottom
#4134 - [BUG] elementHandle.scrollIntoViewIfNeeded doesn't work properly
#4179 - [BUG] Unable to close page when confirm dialog is open
#4208 - [BUG] Timout Error on firefox for popup
#4232 - [BUG] Group videoPath and videoSize under recordVideo option
#4233 - [BUG] download file not occurs
#4255 - [Question]: Exposing common Playwright types
#4256 - [Question] playwright-electron types might be missing from the release or is there any guide on how to get it to work?
#4265 - [Feature] Multiple text selectors
#4266 - [Question] Exported video quality
#4268 - [Question] Does puppeteer have Redhat Dockerfile support?
#4277 - [BUG] Firefox workers cause frame navigation
#4279 - How to Compare two screenshots? Need code [Question]
#4282 - [Question] is there a way to get element background colour ?
#4284 - [BUG] page.addInitScript doesn't work for large scripts
#4285 - Running WebKit on AWS EC2 Instance [Question]
#4286 - [Question] CDP sessions with other targets
#4293 - [BUG] Bundle dlls with Firefox for Windows
#4302 - [Question] What is the best way to scroll page to the bottom?
#4317 - [Question] drag and drop
#4318 - [Question] Query by text with space
#4319 - [Question] Have the browsers that are downloaded for playwright 1.3.0 changed somehow ?
#4321 - [Feature] pass arguments like proxy to each context not to whole browser
#4326 - [Test] Ubuntu: browsercontext-proxy.spec.ts:128:1 › should exclude patterns crashes webkit
</details> <details> <summary><b>Commits (164)</b></summary>
2158d6d0 - feat(scopes): make page a scope (#4385)
58b5872e - feat(webkit): bump to 1383 (#4394)
508be0d7 - browser(webkit): fix big sur crashes after latest roll (#4391)
c2db8373 - feat(webkit): roll to r1381 (#4388)
775be21d - fix(launchdoctor): fix launch doctor (#4387)
488b256c - feat(firefox): bump to 1205 (#4386)
bd75fb1c - browser(webkit): roll to 11-09 (#4384)
ae738c1f - browser(firefox): ignore WebProgress events coming from workers (#4380)
f7eb845d - feat(firefox): bump to 1204, add a better test for video in popup (#4376)
28f6547d - chore: add adb-based connectivity (#4375)
06c8881d - browser(firefox): fix videoSessionId (#4374)
3db8b23b - fix(chromium): lifecycle events race (#4369)
c83ac444 - api(websocket): do not send websocket frames without a listener (#4361)
d74988e9 - feat(webkit): bump to 1380 (#4368)
d4fb1591 - browser(webkit): fix webcontent startup crash on macos 11 (#4370)
fff36a79 - feat(firefox): roll Firefox to r1203 (#4365)
c522a0df - browser(firefox): force always active docshell (#4363)
49e4d9a3 - browser(webkit): force rebuild with new redistributable dlls (#4364)
354482db - feat(firefox): bump to 1202 (#4362)
040f9b04 - browser(webkit): copy MS VC++ redistributable libs from VS installation (#4360)
5faf6f9e - feat(firefox): switch to use pipe instead of websocket (#3279)
aafcf932 - browser(firefox): bundle VS C++ redistributable dlls (#4359)
bc20bfd4 - browser(webkit): disable cache compiled sandbox (#4357)
c3843130 - feat(fill): allow filling based on the label selector (#4342)
5d39eae5 - devops: actually export secrets into webkit building workflow (#4354)
db8332b8 - devops: checkout, build, and upload webkit-mac-11 (#4353)
b94a7c0e - devops: speedup initial browser checkout (#4352)
bba8c98c - devops: try building webkit on gha (#4351)
4d8ef423 - devops: add instructions to build mac on BigSur (#4350)
3f37d850 - test(focus): add passing test for focusing more than one page (#4347)
e9421389 - fix: do not report errored pages after context closure (#4346)
4cb52144 - test(capabilities): add tests for webgl (#4343)
283bc2c7 - devops: ensure that embedder directory does not exist (#4340)
65009dc8 - feat(chromium): roll Chromium to r823944 (#4341)
14a82928 - feat(webkit): bump to 1378 (#4338)
12afb79e - test: unflake har tests (#4335)
5dc632b8 - chore: mirror Chromium 823944 to our cdn (#4339)
78b15113 - test: try to unflake screenshot tests (#4334)
5c1149f9 - test: try to unflake network idle tests (#4333)
890add98 - browser(webkit): do not hang on close when there is a dialog (#4332)
bc976507 - feat(firefox): roll Firefox to r1201 (#4331)
031f0bf5 - browser(webkit): fix mac build failure caused by touch events (#4330)
c6b4263e - browser(webkit): fix timezone overrides after last roll (#4329)
799604c0 - browser(firefox): roll Firefox to beta @ Nov, 3 (#4327)
eae3d93a - browser(webkit): fix proxy ignore pattern set on context level (#4328)
0a9fdc47 - browser(webkit): roll to 11-03 (#4325)
d57b4396 - fix(har): support har in persistent context (#4322)
924cc989 - feat(text selector): normalize spaces in lax mode (#4312)
8fed0b33 - feat(firefox): roll Firefox to r1200 (#4316)
1c39689d - api(videos): introduce a single recordVideo option bag (#4309)
46e124a9 - fix(api.json): use separate maps for methods and events (#4310)
51f8f23c - devops(flakiness): collect more commit information (#4315)
e3b12b0a - browser(firefox): fix closing browser contexts with beforeunload (#4314)
3d3ce135 - test: co-locate beforeunload tests (#4313)
2b495c97 - browser(firefox): fix SimpleChannel to await initialization (#4311)
f80f8154 - feat(chromium): bump to 823078 (#4308)
ac8ab1e1 - feat(websocket): add WebSocket.waitForEvent and isClosed (#4301)
c446bf62 - chore: cleanup some har code (#4306)
d117d0bb - feat(scopes): make page a scope (#4300)
12552890 - browser(chromium): roll to 823078 (#4307)
9c80cbdf - fix(docs): small docs changes for new apis (#4305)
94cb7c9f - feat(webkit): bump to 1373 (#4299)
7ef1533c - browser(webkit): one more mac build fix after last roll (#4298)
3577e637 - browser(webkit): mac build fix after last roll (#4296)
5a9ba55e - test: remove stale describe
c9fa8c08 - fix(test): unflake web socket test on firefox
5e50fe3d - browser(webkit): roll to 10-30 (#4294)
7fbbd182 - feat(firefox): support WebSockets on Firefox (#4289)
333916a8 - infra: bump to next version on trunk at a branch point (#4288)
18c3efe7 - browser(firefox): instrument websockets (#4287)
914f6372 - feat(proxy): enable per-context http proxy (#4280)
ff7d6a23 - feat(firefox): roll Firefox to r1197 (#4278)
aee9068d - test: mark flake headful chromium test as fixme (#4276)
f384a864 - test(har): uncomment some raw header tests (#4273)
efdb1547 - test: roll folio to 0.3.16 (#4275)
c5d3490b - browser(firefox): roll firefox to beta Oct, 28 (#4274)
7bedbb2d - feat(browser): roll WebKit to r1370 (#4257)
ece84ecc - fix(protocol): annotate file buffer as binary (#4272)
05278b86 - chore: remove committed types.d.ts - we are still generating it at build time (#4271)
41d514df - browser(webkit): disable gamepad on GTK (#4264)
6cafdc5a - infra: fix the headful bit on the bots (#4261)
05fd5727 - docs(api): remove * from permissions (#4260)
0b8c33ee - fix(ECONRESET): fix it once and for all (#4258)
dcbdb4a6 - test: fixed executable path test if ran in Docker (#4219)
1ef090c3 - fix(screenshot): prioritize passed type over the extension mime (#4251)
e62f27ac - chore: eliminate dead code (#4253)
aa219c65 - chore: roll folio to v0.3.15 (#4252)
be842847 - feat(websocket): implement Web Sockets for Chromium & WebKit (#4234)
00d6313f - browser(webkit): report raw request headers from didReceiveResponse (#4250)
b08d3dc9 - devops: always ensure linux deps when building webkit (#4249)
39637a4a - browser(webkit): build fix (#4247)
163cf1be - devops: collect test reports for all bots (#4246)
1feb0410 - browser(webkit): fix mac build after last roll (#4245)
c1a64eee - browser(webkit): serialize set-cookie \n-separated (#4243)
86e1e3f3 - devops: collect host os name and version (#4244)
7fc4b797 - feat(har): allow saving har for context (#4214)
d5fbe3a6 - devops: start uploading test reports to flakiness dashboard (#4239)
4b2a29e2 - browser(webkit): roll to 10-26 (#4241)
ccf68ec2 - chore: roll folio to 0.3.14 (#4240)
f5fbea94 - feat(debug): allow using timeout for rafs for throttling debugging
0337928a - fix(env): respect =true/false as env values for boolean flags (#4228)
ba794935 - chore: roll folio to 0.3.13 (#4215)
14f069ea - test(timing): relax mac/webkit expectations (#4217)
b3b46db5 - test(firefox): add a failing slow test (#4216)
ea910a4c - fix: update getFromEnv logic to validate that value is undefined (instead of falsey) before redefining it (#4226)
c97af3ee - fix(listeners): avoid "too many listeners" problem safely (#4223)
50a6ba7f - feat: bump webkit version to include screencast fixes (#4200)
c4fbc643 - Revert "fix(listeners): avoid "too many listeners" problem (#3931)" (#4222)
8f3c0d54 - fix(docker): add pwuser to Docker focal image (#4201)
72320275 - fix(headers): report raw request headers on Chromium (#4207)
8a42cdad - feat(timing): introduce resource timing (#4204)
bed304b1 - doc: update playwright-sharp link (#4202)
437fe178 - browser(firefox): expose resource timing info (#4205)
7d28dfdb - feat(firefox): roll Firefox to r1194 (#4183)
06cafff3 - feat(winldd): upload r1003 build (#4199)
45bb984c - test: skip 'should play video' on macOS Big Sur (#4198)
920ea85b - fix(winldd): make linker set checksum to make antiviruses happy (#4197)
092c9905 - browser(firefox): fix screencast timescale precision (#4196)
54e05ac8 - browser(webkit): fix screencast timescale precision (#4195)
3cceb14e - test(beforeunload): add failing beforeunload test (#4188)
7433ae27 - test: follow up to an encoding test (#4187)
7f76d44f - test: add a test for page.close w/ dialogs (#4184)
5e7eb7a3 - test(encoding): add a test for main resource raw body (#4186)
efac7436 - test(proxy): add a test for a second page against same proxy (#4185)
9c160f2c - feat(webkit): bump to 1363 (#4178)
5d997ed2 - fix(video): make video path available in persistent profiles (#4182)
bf491f12 - browser(webkit): fix pointer media query on windows (#4176)
92dda698 - feat: tap (#4097)
ebf207b7 - chore: add support for macOS Big Sur (11.0) (#4149)
92cde6cd - browser(webkit): roll to 10-19 (#4177)
86ef956b - feat(webkit): bump to 1357 (#4154)
347dd240 - browser(webkit): fix pointer media query on mac (#4155)
4f7d65fe - browser(firefox): report pageerrors without stack properties (#4166)
ef3d3ca5 - doc(overrides): remove "one of" that was misleading (#4168)
7103887b - add type for selector engine (#4174)
bbdba42d - chore(screencast): respect i/o backpressure when writing into ffmpeg (#4164)
26442c56 - browser(webkit): fix the datastore leak (#4163)
305d209e - browser(firefox): always send focus events (#4150)
97cb51f3 - browser(webkit): fix windows compilation after last roll (#4162)
6fb6929e - browser(webkit): roll to 10-15 (#4161)
fec37adf - test: use custom header when testing header removal (#4157)
8f8bebb6 - browser(firefox): roll Firefox to tip-of-tree Oct, 12 (#4158)
7e6f2af6 - test: disable failing test "should be able to remove headers" (#4152)
a61d07a8 - browser(webkit): report correct pointer type to css (#3936)
180aa011 - test: make "remove header" test actually test be havior (#4092)
3c32c168 - browser(firefox): use 16-byte long uid instead of ordinal as screencast id (#4147)
e9f5477d - fix(screencast): await for the first video frame on Chromium (#4145)
46a49d08 - fix(screencast): bump chromium video quality (#4146)
bb981fc0 - fix(screencast): correctly process videos with 1 frame (#4144)
25cb649e - docs: fix Video.path() type (#4141)
a169cb63 - browser(webkit): fix mac compilation errors (#4139)
c7b23599 - feat(firefox): roll to r1190 (#4133)
8c6a2e19 - browser(webkit): Input.dispatchTapEvent (#4102)
381f49a0 - chore: roll folio to 0.3.11 (#4130)
5a768566 - api(video): restore the missing video path accessor (#4132)
9daedaca - chore: roll test fixtures, replace trace w/ video (#4129)
a4474f67 - browser(firefox): Page.dispatchTapEvent (#4101)
5804131c - chore: bump folio to 0.3.9, use fixture timeout (#4118)
71c444c5 - browser(webkit): revert changes to WebAutomationSession.h (#4128)
d6240a34 - docs(showcase): remove codex from users
331bb818 - docs: add note about videos saving on context closure (#4126)
fdff5a15 - feat(webkit): bump to 1353 (#4119)
58285f61 - browser(firefox): await browser initialization when closing browser (#4121)
8ad34047 - fix(test): update path for screenshots on failure (#4120)
</details>
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →