Playwright v0.14.0 Release Notes

Release Date: 2020-04-23 // about 4 years ago
  • ๐Ÿ’ป Browser Versions

    • Chromium 84.0.4117.0
    • Mozilla Firefox 76.0b5
    • WebKit 13.0.4

    Highlights

    • ๐Ÿ“š Common areas such as working with elements, filling a form and many more are now covered in the documentation section.
    • ๐Ÿ“„ Built-in css and text selectors now pierce open shadow roots.
    • ๐Ÿ“„ page.press(selector, key[, options]) now supports shortcuts such as Control+Shift+T.
    • ๐Ÿ“„ Many input actions like page.click(selector[, options]) now automatically retry when the target element has been detached, for example if it was replaced at the end of an animation.
    • ๐Ÿ‘€ Playwright now provides API for capturing logs, see the Logger class.

    ๐Ÿ’ฅ Breaking API Changes

    ๐Ÿ†• New API

    ๐Ÿ› Bug Fixes

    #1240 - [BUG] Click misbehaviour for Chromium in visible area
    ๐Ÿ’ป #1731 - [BUG] Installation of playwright is successful even if fetching browser binaries fails
    #1735 - [REGRESSION]: Unclear error message when undefined is passed to page.click()
    ๐Ÿšš #1762 - [BUG] When clicking on a link navigating away from the website, playwright throws a removeFrameSession failure
    #1798 - [BUG] npm says ""Unable to find a readme for [email protected]"

    Raw Notes

    cf1fd79 - chore: mark v0.14.0 (#1918)
    ๐Ÿ™‹ 9bd55e9 - docs(readme.md): drop FAQ (#1930)
    ๐Ÿ“„ e318ee5 - docs(readme): fix chromium version
    ๐Ÿ“ฆ a147d3f - chore: sync versions across packages (#1929)
    511883d - devops: fix checking if branch is tip-of-tree when publishing @next (#1926)
    53c78a8 - fix(downloads): fix acceptDownloads complaint (#1777) (#1923)
    00e8d88 - fix: do not auto wait for downloads (#1921)
    ๐Ÿ’ป fa6f738 - feat(browser): roll webkit to r1205 (#1922)
    b7afbf8 - fix(webkit): ignore WebSocket certificate errors on Mac (#1900)
    ๐Ÿ’ป 91c0631 - browser(webkit): extract webkit embedders into webkit/src (#1919)
    โช 6ecac8c - chore: restore networkidle0 alias (#1920)
    โœ… 95b8f61 - test: add more download tests (#1917)
    136173a - chore: cut v0.14.0 (#1913)
    ๐Ÿ“„ f8f3b88 - docs(verification.md): fix typo
    โœ… 2926d33 - test: disable flaky firefox tests (#1912)
    89007c8 - devops: make README.md to always reflect tip-of-tree (#1911)
    ๐Ÿ 2313ceb - browser(webkit): fix leaking popup windows (#1908)
    ๐Ÿš€ c474c54 - devops: run CI against release branches too (#1910)
    ๐Ÿ’ป 48cbee1 - browser(firefox): disable the extension blocklist (#1909)
    ๐Ÿ’ป 0815ff3 - docs(browsers.md): fix nit
    โšก๏ธ fa18c41 - docs(browsers.md): updates and nits
    โšก๏ธ 1865058 - docs(browsers.md): updates and nits
    โœ… 2d68830 - feat(testrunner): support --file to filter tests by test file name. (#1903)
    89b2fe5 - feat: introduce PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD env variable (#1892)
    ๐Ÿ“š 0935144 - docs(browsers): add documentation describing managing browsers (#1907)
    ๐Ÿ“„ 88366f3 - docs: adds introduction.md (#1905)
    ๐Ÿš€ 0f338ec - devops: introduce release publishing workflow (#1894)
    ๐Ÿ“„ e9914cc - docs: fix formatting
    ๐Ÿ’ป 18fb7f9 - browser(webkit): ignore WebSocket HTTPS errors on Mac (#1899)
    ๐Ÿ’ป 74ce041 - browser(webkit): roll to ToT 4/20/2020 (#1898)
    96331de - devops: start actually publishing @next versions for tip-of-tree commits (#1893)
    5b085fd - feat(logger): introduce context-level logger (#1896)
    2320d9c - feat(webkit): roll to r1201 (#1897)
    โœ… 5d98631 - test: add a test for non-navigation downloads (#1895)
    ๐ŸŒฒ 47c3841 - chore: bring back DEBUG= logging (#1891)
    068e1e0 - devops: fix next version generation
    ac8a30c - devops: start releasing from Github Actions (#1890)
    โœ๏ธ 80a7fcd - docs(verification): nits and typos
    948d51d - fix(types): export selected types (#1881)
    ๐Ÿ”’ 1935824 - devops: add package-lock.json (#1859) (#1889)
    ๐Ÿ“„ c2fe55e - docs: add verification guide (#1885)
    ๐Ÿ 37ad552 - browser(webkit): allow windows larger than display on Win (#1888)
    ๐Ÿšš 0656771 - api(networkidle): remove networkidle2 (#1883)
    1dff8e8 - chore: bump minimist dependency (#1866)
    โœ… 8ca120f - fix(tests): fix DEBUGP when running in parallel (#1886)
    fb45c75 - feat(webkit): simulate device orientation events (#1852)
    ๐Ÿง 93c9083 - tests(firefox): unskip "should report shiftKey" on Linux&Win (#1833)
    ๐Ÿ“„ 3485ffb - fix(docs): fix snippets, integrate navigations to ToC and core concepts (#1884)
    ๐Ÿšš d1a9551 - chore: remove old TODOs, add a test (#1879)
    โœ… a000335 - test: add a test for sourceURL in exception stacks (#1880)
    649f37f - fix(pageerror): report correct error message and stack (#1862)
    ๐Ÿ“„ 4d8c057 - docs(selectors&ci): brush up respective sections
    ๐Ÿ“„ 621df5d - docs: fix cross references (#1877)
    ๐Ÿ“„ ed89c37 - docs: fix API references
    ๐Ÿ“„ 5406b77 - docs: add a note about string quoting
    effeaaf - fix(click): force any hover effects before waiting for hit target (#1869)
    ๐Ÿ“„ 6231d50 - docs(core-concepts): follow up on object handles
    ๐Ÿ“„ 39b37be - docs(core-concepts.md): add section regarding object & element handles (#1871)
    ๐Ÿ— 26c7b30 - browser(webkit): bump version to kick off next build on bot (#1875)
    ๐Ÿ’ป c0ce6c7 - browser(webkit): fix win compilation (#1874)
    ๐ŸŒฒ 1f43ae6 - feat(logging): introduce logger sink api (#1861)
    b825983 - devops: disable previews on telegram bot messages
    ๐Ÿ”Š e0d3e48 - devops: use node.js to gzip logs
    ๐Ÿ— ea95a91 - devops: start uploading build logs to bots (#1870)
    ๐Ÿ“„ ef7815e - doc(network): reorder items in network docs
    ๐Ÿ“„ f6fec27 - docs(core-concepts): add selectors and auto-wait sections
    ๐Ÿ“„ 92a4c70 - docs(input): include clicks and files sections (#1868)
    ๐Ÿ”’ 92b6bc0 - Revert "devops: add package-lock.json (#1859)"
    ๐Ÿ”’ 75f35e4 - devops: add package-lock.json (#1859)
    0๏ธโƒฃ c359116 - fix: create _defaultContext only in persistent mode (#1854)
    022bc67 - chore(chromium): allow passing --remote-debugging-port for debugging (#1857)
    55b4bc9 - feat(actions): requery the element when it was detached during the action (#1853)
    ๐Ÿ’ป e466508 - browser(webkit): fix mac&win compilation (#1856)
    โœ… cf82e2c - fix(testrunner): await terminations before reporting test results (#1855)
    ๐Ÿ’ป 1912fbf - browser(webkit): simulate device orientation events (#1851)
    โœ… cf415bb - test: add failing popup tests (#1849)
    39c9a45 - feat(firefox): roll to r1084 (#1850)
    โœ… 2a866d6 - test(network): rebaseline request failed test on win
    2b96b85 - fix(firefox): throw error when added script blocked by CSP (#1841)
    โšก๏ธ e8bf5fd - Update pngjs and jpeg-js dependencies (#1845)
    ๐Ÿšš a248430 - reapply api(waitUntil): remove waitUntil options from the actions (#1842)
    โœ… 3151ea2 - test: disable flaky fixtures test (#1839)
    โช 31460b1 - Revert "api(waitUntil): remove waitUntil options from the actions (#1834)" (#1840)
    ๐Ÿ’ป 846af74 - browser(firefox): do not use system colors for controls (#1838)
    โœ… 51b8685 - feat(testrunner): support --repeat CLI flag to repeat tests (#1828)
    ๐Ÿšš d0b8710 - api(waitUntil): remove waitUntil options from the actions (#1834)
    af2340c - fix(click): explicitly fail when element detached during click (#1835)
    ๐Ÿ›  629b772 - docs(loading): nits and fixes
    โœ… 04ed683 - tests(firefox): unskip network idle tests (#1832)
    ๐Ÿ“„ e67603d - docs(emulation): review, fix nits
    ๐Ÿ“„ 42eefa6 - docs: emulation guide (#1831)
    55c01da - fix(firefox): fire "requestfailed" event on network errors (#1817)
    f594229 - feat(api): wait for popups and downloads when performing actions (#1744)
    ๐Ÿ“„ 67cd569 - docs: typo fix
    036f9e5 - fix(webkit): allow fufilling requests to redirects (#1830)
    โช 5ec2c58 - test(selectText): restore firefox tests (#1829)
    ๐Ÿ“„ da24fe1 - docs: rename to upload-download.md
    ๐Ÿ“„ ae6b1ba - docs(uploads): fix typo
    ๐Ÿ’ป 77f1a70 - browser(firefox): send requestFailed on network error (#1816)
    ๐Ÿ“„ 0d4f73f - docs(core-concepts): some nits (#1827)
    5e18378 - fix(webkit): do not access mainFrame when initialization has failed (#1825)
    ๐Ÿ’… 08c8a74 - docs(network): polish network docs (#1826)
    ๐Ÿ“„ 858f643 - docs(concepts): introduce core concepts doc (#1824)
    2280126 - api(setInputFiles): introduce page/frame helpers, document, break compat (#1818)
    ๐Ÿ“„ 58bb874 - docs(network): introduce network docs (#1822)
    26018aa - feat(chromium): roll Chromium to r759486 (#1823)
    69a9867 - feat(webkit): roll to 1197 (#1820)
    ๐Ÿ’ป 1b0467f - fix(chromium): get headers from browser process when intercepting (#1809)
    ๐Ÿšš ba36860 - feat(api): page.unroute to remove routes (#1813)
    0426354 - feat(firefox): roll to r1082 (#1819)
    โœ… 041406a - fix(firefox): enable remaining focus tests (#1803)
    โœ… 167d265 - fix(testrunner): make .repeat() retain test order (#1814)
    ๐Ÿ’ป a46a324 - browser(firefox): roll to ToT 4/15/2020 (#1815)
    56aa4c2 - fix(selectors): do not automatically enter shadow roots with >> (#1812)
    0๏ธโƒฃ f3451d9 - browser(firefox): focus all top frames by default (#1811)
    ๐Ÿ“„ 88054e3 - feat(docs): initial version of the loading explainer (#1800)
    ๐Ÿ’ป f05a8bd - browser(firefox): override document.hasFocus() in main frames (#1802)
    ๐Ÿ b2de970 - browser(webkit): events informing about popup windows being open (#1794)
    ๐Ÿ— abb87f2 - devops: always get BUILD_NUMBER from upstream (#1805)
    ๐Ÿšฆ cbad583 - browser(firefox): prepare to collect signals during actions (#1772)
    8c40b92 - fix: set non-0 exit code for install scripts if there are problems (#1739)
    ๐Ÿ“ฆ 9efc663 - chore: generate README.md for playwright package on prepublish (#1801)
    ๐Ÿ’ป 762dfe1 - browser(webkit): fix intercepting with a redirect (#1787)
    ๐Ÿ“„ 60eb3cd - docs(input): minor edits 3
    ๐Ÿ“„ 089a9dd - docs(input): minor edits 2
    ๐Ÿ“„ 438d276 - docs(input): minor edits
    ๐Ÿ“„ 50680de - docs(input): start crafting the input cheat sheet (#1804)
    0๏ธโƒฃ b0d79d5 - feat(shadow): make css pierce shadow by default (#1784)
    0ba823d - feat: introduce page.on('crash') event (#1782)
    โœ… aeabf9d - test: mark cookies test as flaky on win (#1796)
    e9b4700 - chore: assert selector is a string (#1795)
    d07105a - fix: do not capture exceptions while emitting events (#1790)
    52fe02e - devops: enforce strict treatment of unhandled rejections (#1789)
    3167f2d - fix(chromium): prevent errors when frame does not exist when detaching from oopif (#1767)
    โœ… 451a6b7 - test: add more focus() tests (#1793)
    ๐Ÿ‘• b232e00 - fix(firefox): make ElementHandle.scrollIntoViewIfNeeded pass (#1786)
    da683b2 - feat(selectAll): allow selecting all in the inputs and in the plain dom (#1783)
    ๐Ÿง b2c65db - test: mark permissions tests as flaky on Linux & Firefox (#1791)
    โœ… ea7aadb - devops: bump total tests timeout to 30 minutes
    ๐Ÿ‘• d5e75d8 - browser(firefox): avoid clobbering scroll requests after scrollIntoViewIfNeeded (#1785)
    โœ… 24d51cb - test: delete "Node.constructor.name in utility context" (#1788)
    9d05038 - feat(hints): hint at how waitFor(time) is bad for production (#1781)
    ๐Ÿšฆ 2e6f544 - chore(webkit): stop using windowOpen signal to determine initial empty page (#1776)
    c2fc403 - doc(keyboard): document Shift+ArrowLeft notation (#1771)
    โœ… 274c6c1 - test(chromium): add more oopif tests (#1685)
    โšก๏ธ bb0b6cd - Update api.md (#1773)
    โœ… cd5a48f - test(geolocation): test context isolation (#1770)
    โœ… 32ff5a7 - devops(circleci): properly run all tests
    ๐Ÿ“„ abf1219 - docs(api.md): string values should be quoted (#1766)
    โœ… 1c1d81c - fix(firefox): make scroll&click tests pass (#1760)
    ๐Ÿ’ป f36973f - browser(webkit): propagate language change to site processes (#1769)
    ๐Ÿšš b95fcae - browser(webkit): move context instrumentation from pool to dataStore (#1763)
    โœ… a3571c2 - fix(testrunner): respect timeout=0 in hooks (#1764)
    โœ… 29a6cdf - fix(tests): fix a race with golden setup (#1757)
    9542f47 - feat(selectors): deep selector which pierces open shadow roots (#1738)
    ๐Ÿ‘• 126b54f - browser(firefox): implement Page.scrollIntoViewIfNeeded (#1759)
    3b23041 - devops: use node 10 on appveyor (#1714)
    ๐Ÿšš 62a493e - chore(test): move more test options to state (#1761)
    a7572c7 - feat: nicer error message for page.addScriptTag (#1754)
    โœ… 8536fa8 - test(interception): add redirect test, failing in webkit and firefox (#1753)
    โœ… 97c4054 - test(websockets): add web sockets tests (#1758)
    โœ… 277c7d8 - test: close extra browser (#1756)
    ๐Ÿ”จ 368e1cc - chore(input): refactor keyboard layout, extract pure layout (#1681)
    9249f33 - feat(webkit): roll WebKit, migrate to Playwright.exe (#1749)
    โœ… bf656ea - fix(tests): accomodate isplaywrightready (#1746)
    cd2ecb2 - fix(types): allow explicit subtypes for unwrapped handles (#1747)
    ๐Ÿ’ป 383332c - browser(webkit): trim down the win embedder (#1748)
    ๐Ÿ’ป 909dd74 - browser(webkit): roll to r259720 (#1708)
    a1ffed6 - fix(firefox): do not create first window on start (#1727)
    ๐Ÿ 99c3f2b - browser(webkit): fork windows minibrowser (#1743)
    โšก๏ธ 1838405 - docs(ci): update link to github action (#1742)
    โšก๏ธ d0c19e5 - feat(firefox): update to 1076 (#1734)
    f282400 - fix(firefox): disable captive portal service (#1737)
    3584205 - fix(chromium): associate navigation requests with navigations (#1724)
    โœ… 42beb37 - feat(test): introduce test.config.js (#1725)
    โœ… 7189d19 - feat(ci): upload test output folder from github actions (#1733)
    78abf5c - feat(api): add getAttribute, innerText, innerHTML, textContent (#1717)
    โšก๏ธ 775604d - feat(webkit): update to 1190 (#1728)
    ๐Ÿ’ป db34d43 - browser(firefox): make juggler web socket work in -silent mode (#1726)
    โœ… 1b366b0 - fix(test): properly handle custom executable path (#1723)
    b385ea8 - chore: bump version to v0.13.0-post (#1721)