Playwright v1.2.0stable Released Jul 07, 2020
Impact Score: 5/10

Playwright v1.2.0 โ€” Release Notes & Engineering Impact

Source available โ€” automated, not human-reviewed

Component: playwright ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-11-01.

Compatibility not verified โ€” check source notes
๐Ÿ“„ .MD
โšก Executive Summary (TL;DR)

Playwright v1.2.0. Source highlight: **New debug mode**: Use the `playwright` object in browser dev tools to inspect selectors. Learn about Playwright debugging tools.

Who Does This Impact? (Role-Based Analysis)

๐Ÿ’ป Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

๐Ÿ“Š Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

โš™๏ธ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

๐Ÿ”ง Bug Fixes & Patches (1)

  • **New debug mode**: Use the `playwright` object in browser dev tools to inspect selectors. Learn about Playwright debugging tools.
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
## Highlights ![pwdebug-1-4x](https://user-images.githubusercontent.com/284612/86941847-4b3e8680-c0f9-11ea-9d28-33bd9982b507.gif) - **New debug mode**: Use the `playwright` object in browser dev tools to inspect selectors. Learn about [Playwright debugging tools](https://playwright.dev/#version=master&path=docs%2Fdebug.md&q=). - **Playwright Docker image**: The [official Playwright docker](https://hub.docker.com/_/microsoft-playwright) image is now available on Docker Hub: `docker pull mcr.microsoft.com/playwright:bionic` ## Browser Versions - Chromium 85.0.4182.0 - Mozilla Firefox 78.0b5 - WebKit 14.0 ## New API methods [`page.screenshot()`](https://github.com/microsoft/playwright/blob/v1.2.0/docs/api.md#pagescreenshotoptions) method now supports `timeout` option [`page.selectOption()`](https://github.com/microsoft/playwright/blob/v1.2.0/docs/api.md#pageselectoptionselector-values-options) method now accepts `null` as values [`page.scrollIntoViewIfNeeded()`](https://github.com/microsoft/playwright/blob/v1.2.0/docs/api.md#elementhandlescrollintoviewifneededoptions) now accepts options to configure actionability checks [`page.selectText()`](https://github.com/microsoft/playwright/blob/v1.2.0/docs/api.md#elementhandleselecttextoptions) now accepts options to configure actionability checks ## New Environment variables [`PLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST`](https://github.com/microsoft/playwright/blob/v1.2.0/docs/api.md#environment-variables) host to specify Chromium downloads [`PLAYWRIGHT_FIREFOX_DOWNLOAD_HOST`](https://github.com/microsoft/playwright/blob/v1.2.0/docs/api.md#environment-variables) host to specify Firefox downloads [`PLAYWRIGHT_WEBKIT_DOWNLOAD_HOST`](https://github.com/microsoft/playwright/blob/v1.2.0/docs/api.md#environment-variables) host to specify WebKit downloads ## Troubleshooting - โš ๏ธ WebKit now requires a new [set of dependencies](https://github.com/microsoft/playwright/blob/db3439d4117a7f3d93821e38ccbd26051b18abc7/docs/docker/Dockerfile.bionic#L17-L38) to launch on Ubuntu Bionic. <details> <summary><b>issues closed (54)</b></summary> #810 - [Feature] Proxy options support? #1050 - [BUG] Calling waitForNavigation twice doesn't work #1067 - [BUG] Keyboard shortcuts on mac do not work #1124 - [Question] How to update firefox default prefs #1131 - [Feature] firefox: instrument file:// process in firefox #1140 - [REGRESSION]: getting "Protocol error (Target.setDiscoverTargets): Target closed" after upgrading from v0.10 on CentOS7 #1235 - [BUG] Frames show up wrong on Firefox after navigating #1245 - [BUG]: Failed to launch browser #1289 - [BUG] Overriding Location Problem #1292 - [BUG] Service Workers are flaky #1330 - [Feature] Accessor for browser type from context #1336 - Any way to have playwright use our own set of browsers by default? #1349 - [Question] Modify Context Options with launchPersistent #1421 - [BUG] Protocol error (DOM.describeNode): Cannot find context with specified id #1426 - [Feature] Debugging devtools panels #1482 - [Feature] official Docker image on Docker Hub #1523 - [Feature] `launchPersistentServer` Launches persistent storage browser server #1552 - [BUG] firefox's `node.scrollIntoView({behavior: 'instant'})` is not instant :( #1639 - [Feature] support 'private mode' In Firefox #1686 - [Feature] request.postData to return json string instead of urlsearchparams #1730 - [Question]Playwright in Kerberos environment #1848 - Playwright works locally but fails on CI #1914 - Playwright: Roadmap #1941 - [BUG] Doesn't work with mac10.13 #1959 - [BUG] dumpio no longer seems to be an option when launching #1967 - [BUG] Possible issue with downloads #1985 - [Question] Attaching playwright to an existing browser window? #1997 - [Feature] Better output from failure with headless=false #2061 - [BUG] Firefox doesnt open #2131 - [Question] Socks5 Support #2134 - [Feature] page.setDeviceScaleFactor #2146 - [Question] Debugging Failed Browser Start-up in Docker Container #2182 - [Test] Firefox 'ElementHandle.boundingBox' fails in HEADFUL on bots #2196 - [BUG] context.setHTTPCredentials(null); does not clear credentials #2200 - [BUG] Click operation doesn't timeout when there is an alert #2244 - [BUG] Throwing unhandled rejection errors when Firefox navigates to neterr page #2261 - [Feature] Auto close browser when launcher process exits #2270 - [Feature] Add Playwright to DevDocs.io #2292 - [BUG] Unable to switch frames when using chromium #2316 - [BUG] Bypass CSP bit can be cached on Firefox #2344 - [Feature] Chromium does not show file chooser dialog #2354 - [Feature] Make browser binaries available for manual installations #2379 - [BUG] Firefox cross-page promises are not resolved #2429 - [BUG] run-workers not working with docker container #2437 - [BUG] The official Docker image doesn't work with non root user #2451 - [BUG] Firefox page.goto broken for sites with service worker #2510 - [BUG] incorrect focus behavior for webcomponents with delegate focus option #2527 - [BUG]Waitforselector fail to read the element in execution but works when debugging. #2528 - [Question] - How can you obtain the current HTML content of the page you are on? #2537 - [BUG] addInitScript and exposeFunction/Binding don't work for new OOPIFs #2539 - [BUG] Firefox doesn't install when using a installler made with electron-builder. #2540 - [BUG] playwright-core has no main entry #2560 - [Question] Succint list of pro and cons versus Cypress #2563 - [Question] How to access Print dialog? </details> <details> <summary><b>commits (188)</b></summary> 15ddb5d3 - chore: update webkit version (#2804) ef125e13 - chore: cut v1.2 (#2850) ea9b82d2 - browser(webkit): properly disconnect signal handlers when closing browser (#2849) fc18f2f3 - browser(firefox): support screencast frame size and scale configuration (#2847) ac2185a9 - test: update http credentials tests (#2806) 06957e8e - feat(firefox): bump to 1122 (#2844) 6bbe7eb0 - chore(rpc): inline options parameter in all rpc channels (#2842) 8d111a88 - docs(readme): add locale to geo example (#2845) 241d39f9 - chore(rpc): exit server upon pipe disconnect (#2836) 2540805b - chore(rpc): misc serializer improvements (#2832) 7f60c4df - feat(webkit): roll webkit to r1301 (#2827) 3dd09f04 - browser(webkit): close context menu on Windows when closing page (#2825) 6aef045f - browser(firefox): create new window for each new page (#2823) b1b6d3f5 - devops: add signature to BUILD_NUMBER to force rebaseline (#2810) 605257b1 - browser(firefox): Win build fix (#2822) 05b019f1 - reland: testrunner: make environment a simple class (#2812) 024cb1dd - browser(firefox): basic screencast implementation for GTK (#2818) 6329cbbb - chore: remove dead code from test (#2819) 3d403cb2 - browser(webkit): force wpe to use the complex text path (#2801) 756d5373 - feat(webkit): roll WebKit to r1298 (#2813) f484b20e - fix(recorder): allow node to close gracefully (#2817) cb0c037e - test(chromium): enable selectall test on mac (#2788) f9f3aeb0 - test: add failing test for context menus that prevent browser close (#2811) 5484217c - chore: make //utils/roll_browser.js executable 43cdb3ba - browser(webkit): revert #2755 (#2809) 19abc9bd - fix(dialogs): let click timeout, log information about dialogs (#2781) 0d16b16e - fix(firefox): unskip worker error test (#2805) e12e2451 - test: disable flaky test on chromium mac (#2807) 9d6eaadb - fix(navigation): ensure that goBack/goForward work with file urls (#2792) c15dc94f - chore(rpc): explicitly create page dispatcher (#2799) d484e04a - test(route): add another route test (#2800) 14162f89 - browser(webkit): let web page close when it has open context menu (#2802) c188118d - browser(webkit): do not show popup menu in mac headless (#2803) e8e45e84 - feat(dom): migrate innerText, innerHTML and getAttribute to tasks (#2782) ff1fe3ac - fix(close): actually mark the page as closing (#2798) 5c4751d5 - chore: generate protocol during browser roll (#2719) 991e8d42 - browser(firefox): report errors from workers (#2797) c25fc495 - chore(rpc): scope client-side handles (#2796) c4e3ed85 - browser(firefox): handle the case when inner window is restored from history (#2791) e467ea57 - revert: testrunner: make environment a simple class (#2769) (#2790) bd8e0a7b - feat(webkit): roll webkit to r1295 (#2785) e480ec3f - feat(chromium): roll to r782078 (#2714) cd180474 - browser(webkit): don't show context menus for headless windows (#2755) 6afb38d3 - devops: remove folder creation in github actions (#2779) 95538e73 - chore(rpc): move classes around, fix tests, respect dispatcher scopes (#2784) 87516cb3 - chore(rpc): make dispatcher creation and lookup explicit (#2783) 10a9eef8 - chore(rpc): add a channel bot (#2773) 922cbe67 - chore: roll https-proxy-agent to v5 (#2777) d6338b0c - docs(webkit): update core dump analisys instructions (#2778) f00fc076 - chore: fix utils/check_availability.js 1605cb45 - testrunner: make environment a simple class (#2769) c6df8fd5 - browser(webkit): abort interception if loader reached termial state (#2776) 55a07dbf - fix: follow-up with offline comments on implementation of deprecation (#2770) e29f7b9f - chore(rpc): support workers, file chooser, browser server (#2766) 5bb018e0 - chore(rpc): attribute calles to page, ignore USES_HOOKS (#2764) 3a7d629c - chore(rpc): pass more network tests (#2762) 0963c197 - chore: deprecate method `context.setHTTPCredentials()` (#2763) 38236b4f - fix(close): ensure close() can be called twice (#2744) 1fa9d309 - fix(evaluate): awaitPromise when Promise is overwritten (#2759) e154e083 - docs(ci): fix gitlab setup c8076121 - docs: add new doc for multi-page scenarios (#2737) 69127ad8 - docs(docker): update to use official image (#2760) 28a9f55a - chore(devops): use official docker image on circleci (#2756) 18f9b4a2 - test: add failing test for navigation corner cases (#2746) e920fde9 - chore(rpc): bootstrap demo for rpc (#2741) 4e94bdab - chore(rpc): serialize rpc into actual wire string (#2740) 3e33523e - chore(rpc): clear the browsercontext test spec (#2739) db12ddeb - chore(rpc): clear the page test spec (#2736) aad6301a - docs(ci): update intro, caching section, add gitlab (#2735) 0cb5e95b - docs(frames): improve snippet to get frame (#2734) 6393407a - chore(rpc): support downloads, dialogs, persistent context (#2733) b54303a3 - fix(textContent): make page.textContent(selector) atomic (#2717) 43f70ab9 - test: add more failing tests with react recycle (#2731) 02f75017 - chore(rpc): strongly-type the initializer, remove __init__ phase (#2729) 18d6140d - chore(rpc): support routes and bindings (#2725) 064a0a11 - fix(webkit): do not swallow errors when returning by value (#2723) 71618a9e - chore(rpc): implement input, a11y, console (#2722) ab6a6c9b - chore: run most actions through page._runAbortableTask (#2721) bab68332 - chore: introduce the experimental rpc implementation (#2720) 5d5cf26a - fix(logs): streaming logs from InjectedScriptPoll without exception (#2712) 807dc1f3 - fix(crash): improve documentation for crash, reject waitForEvent (#2694) bc305077 - chore: prepare library types for rpc (#2706) 1865c568 - testrunner: support globalSetup and globalTeardown hooks. (#2686) f111974a - chore: prepare parsed selectors to more tasks (#2696) 39ce35e1 - fix(errors): strict error handling around element operations (#2567) 8fbd6470 - fix(playwright-core): bring back index.js in playwright-core (#2691) 355305d3 - feat(screenshot): accept timeout, migrate to Progress, wait for visible (#2679) 924a8841 - docs: linux core dump instructions (#2690) 4af8c683 - docs: improve snippets for console logs (#2684) 07dbd0ba - testrunner: teach runHook to accept hook arguments (#2682) 22b4a6bd - devops: enable coredumps for headful tests (#2678) c61e2d6c - testrunner: drop nested test environments (#2681) fca514d7 - chore: move non-trivial types out of types.ts (#2680) d0a6e1a6 - fix(dom): make selectText and scrollIntoViewIfNeeded wait for visible (#2628) a8eaee31 - docs: add Moon to showcase.md (#2677) 5a525db0 - feat(firefox): bump firefox to 1116 (#2668) 6cec2dfb - docs: add assertions doc (#2585) 68706783 - browser(firefox): do not fail when decoding large responses (#2671) 3d49af25 - browser(firefox): fix redirect interception (#2672) bb344180 - devops: do cache busting for APT (#2656) 40b1a146 - browser(webkit): support screencast scale on Mac (#2655) 9000ccb3 - fix(click): don't timeout when innerWidth is modified (#2669) 98011351 - browser(webkit): screencast on windows with accelerated compositing (#2670) 7af20162 - chore(webkit): add libvpx Windows build instructions (#2649) 2fa32f7e - browser(firefox): rewrite network instrumentation (#2638) eac7dab8 - fix(cors): allow intercepting cors requests on chromium (#2643) 2251f9be - feat(webkit): bump to 1290 (#2652) e0ac11c0 - browser(webkit): fix loader after terminal state access (#2654) 2bfb675c - browser(webkit): make material icons render on Windows (#2650) 5043a36f - browser(webkit): exclude gstreamer, its plugins and libdrm from webkit distribution (#2541) c8a963d2 - feat(webkit): bump to 1289 (#2639) 5c6c6591 - fix(webkit): update Docker file to include gstreamer (#2636) 53f7f4e4 - test: add redirect+extraHTTPHeaders test (#2637) d0336ea5 - fix(network): disallow intercepting redirects (#2617) 2511cb4c - devops: drop playwright-electron dependency on playwright-core (#2634) 636e2744 - browser(webkit): revert WebCore agent and frame-based implementation (#2635) 20b23cd2 - docs: fixed various typos (#2633) 38089aba - browser(webkit): support screencast on Mac (#2631) 05863bff - feat(firefox): roll to r1112 (#2629) f61e8529 - docs: update docs for per-browser download hosts (#2630) fb84e19b - feat(types): autocomplete for default devices (#2198) b88fabab - test: add another test for browserContext.addInitScript (#2285) 63924d9a - feat(install/download-hosts): allow multiple per browser (#2452) 971bd889 - fix(chromium): do not bring page to front before screenshot (#2614) c544bffe - browser(firefox): stop faking intercepting redirects (#2618) 02704e08 - Update upstream_status.md f581e848 - fix(css selector): handle missing spaces between [] and > (#2612) 082bb3c3 - browser(firefox): rely on upstream permission separation per contexts (#2613) 090d4506 - docs(core-concepts.md): fix typos (#2608) cc84506c - feat(electron): add a test for clipboard access (#2606) 4834e565 - fix(firefox): bump firefox and fix network with service worker (#2610) f9633ea9 - fix(scrollIntoView): ensure similar behavior across browsers, handle errors (#2599) 7ba72ce3 - browser(webkit): support screencast on Windows (#2590) 277d50e3 - feat(webkit): roll WebKit to 1286 - interception (#2601) dab715b1 - browser(webkit): follow-up to the roll, fix the merge (#2600) ab5f5c8b - browser(firefox): another way to report elements without layout object (#2597) 03690627 - browser(webkit): roll to Tot 6/16/2020 (#2596) 9bc7139c - browser(webkit): fix windows and mac unified builds after roll (#2595) f2af30cf - browser(firefox): properly instrument requests intercepted by service worker (#2594) c220fc7f - chore(logs): rework logs for simplicity (#2592) 4b2efd6e - browser(webkit): reference GApplication to keep browser alive on GTK (#2593) 898f1157 - browser(webkit): print context leaks when closing browser (#2591) e6a4cff0 - browser(webkit): roll to 06/15 (#2581) 59d0f872 - test(recorder): add recorder sanity tests (#2582) 9e7ea3ff - browser(firefox): Page.scrollIntoViewIfNeeded throws for invisible elements (#2584) 1bc04a08 - docs: using DEBUG=pw:api (#2578) 1c7a8952 - chore(cli): add recording mode (#2579) fd9b1031 - docs: add actionability doc (#2577) f2c47b1d - feat(cli): introduce basic playwright CLI tool (#2571) 456c865f - docs(playwright-electron/README.md): fix comment mistake (#2568) 61b11252 - chore(debug): various debug mode improvements (#2561) 2659910b - docs: make environment vars snippets cross-platform (#2564) 6530c18a - docs: improvements to ci provider configs (#2565) 98544381 - test: disable flaky cookie test on Chromium Win (#2562) d4c46686 - chore: explicitly plumb various errors through the retries (#2554) 39019e88 - test: unflake interception test (#2558) c4e8720e - feat(debug): generate preview for ElementHandle (#2549) defeeb9c - test: await all promises in upload test (#2557) 1bf9e65e - fix(log): include log name in progress recording (#2550) fb0b910e - Bump to 1280 (#2544) 49cb96c4 - devops: enable core dumps in the subshell (#2555) bda6203a - browser(webkit): configure video scale (#2553) 894826de - chore: form the debug script for authoring hints / helpers (#2551) 48088222 - devops: enable core dumps on Linux CI (#2552) 7ddf6641 - test: add a failing test with React rerender (#2545) dadfe3e8 - browser(webkit): add more missing libraries to WPE build (#2546) e287f194 - feat(debug): add basic recording helper infra (#2533) 5e97acde - fix(oopif): make Page.addInitScript and Page.exposeBinding work for oopifs (#2542) 0e62d727 - browser(webkit): add missing wayland library to WPE build (#2543) 969803fa - feat(browser): roll Firefox to r1108 (#2532) 855ffa46 - browser(webkit): fix windows build (#2536) 17433d18 - chore: verify launch options (#2530) de893c65 - browser(webkit): speculative downloads-related crash fix (#2535) 6f048438 - browser(webkit): preserve compositing mode in WPE web process (#2508) 89d1b52f - chore: revert atomic install (#2534) c99f0d1f - feat(debug): more logs while waiting for stable, enabled, etc. (#2531) 903de258 - chore(websocket): extract common socket part (#2506) 1bb33650 - chore: remove ExtendedEventEmitter and inline waitForEvent (#2529) 8ee19d53 - feature(webkit): roll WebKit to 1273 (#2514) d7f867db - browser(webkit): screencast for WPE (#2516) e3f34f6a - fix(selectOption): allow passing null to unselect all (#2405) 24316ad2 - chore: fix emojis for CR and FF in Dockerfile (#2522) 3bff1368 - chore: bump firefox build number 31da3d37 - browser(firefox): roll Firefox to TOT beta branch as of Jun 9, 2020 (#2520) 4d069dda - feat: avoid side effects after progress aborts (#2518) 4faa1306 - test: dump all logs in DEBUGP mode (#2517) 6d8f39b3 - browser(webkit): return proper error upon missing page proxy (#2519) 80705ff5 - chore: simplify logging a bit (#2512) </details>