v0.55.8

Try our Chrome extension

Chrome store icon Chrome Webstore

Easily add the current web-page from your browser directly into your changedetection.io tool, more great features coming soon!

Changedetection.io needs your support!

You can help us by supporting changedetection.io on these platforms;

The more popular changedetection.io is, the more time we can dedicate to adding amazing features!

Many thanks :)

changedetection.io team

  • No history found for the specified link, bad link?
  • No history found for the specified link, bad link?

Keyboard: ← Precedente   → Successivo
Non ancora secondi fa
            False
        
Non ancora secondi fa
Current erroring screenshot from most recent request

Testo trigger Testo ignorato Testo bloccato

3 ore fa
    Skip to content

      Navigation Menu

            Sign in Appearance settings
                * Platform
                        + AI CODE CREATION
                            o GitHub Copilot Write better code with AI
                            o GitHub Copilot app Direct agents from issue to merge
                            o MCP Registry Integrate external tools
                        + DEVELOPER WORKFLOWS
                            o Actions Automate any workflow
                            o Codespaces Instant dev environments
                            o Issues Plan and track work
                            o Code Review Manage code changes
                            o Code Quality Enforce quality at merge
                        + APPLICATION SECURITY
                            o GitHub Advanced Security Find and fix vulnerabilities
                            o Code security Secure your code as you build
                            o Secret protection Stop leaks before they start
                        + EXPLORE
                            o Why GitHub
                            o Documentation
                            o Blog
                            o Changelog
                            o Marketplace
                      View all features
                * Solutions
                        + BY COMPANY SIZE
                            o Enterprises
                            o Small and medium teams
                            o Startups
                            o Nonprofits
                        + BY USE CASE
                            o App Modernization
                            o DevSecOps
                            o DevOps
                            o CI/CD
                            o View all use cases
                        + BY INDUSTRY
                            o Healthcare
                            o Financial services
                            o Manufacturing
                            o Government
                            o View all industries
                      View all solutions
                * Resources
                        + EXPLORE BY TOPIC
                            o AI
                            o Software Development
                            o DevOps
                            o Security
                            o View all topics
                        + EXPLORE BY TYPE
                            o Customer stories
                            o Events & webinars
                            o Ebooks & reports
                            o Business insights
                            o GitHub Skills
                        + SUPPORT & SERVICES
                            o Documentation
                            o Customer support
                            o Community forum
                            o Trust center
                            o Partners
                      View all resources
                * Open Source
                        + COMMUNITY
                            o GitHub Sponsors Fund open source developers
                        + PROGRAMS
                            o Security Lab
                            o Maintainer Community
                            o Accelerator
                            o GitHub Stars
                            o Archive Program
                        + REPOSITORIES
                            o Topics
                            o Trending
                            o Collections
                * Enterprise
                        + ENTERPRISE SOLUTIONS
                            o Enterprise platform AI-powered developer platform
                        + AVAILABLE ADD-ONS
                            o GitHub Advanced Security Enterprise-grade security features
                            o Copilot for Business Enterprise-grade AI features
                            o Premium Support Enterprise-grade 24/7 support
              * Pricing
                Type / to search
                Sign in
              Sign up Appearance settings
      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

              Uh oh!

              There was an error while loading. Please reload this page.

              microsoft / playwright Public
              * Notifications You must be signed in to change notification settings
              * Fork 6.3k
                * Star 94.4k
          * Code
          * Issues 140
          * Pull requests 8
          * Actions
          * Security and quality 0
          * Insights
          Additional navigation options
                  * Code
                  * Issues
                  * Pull requests
                  * Actions
                  * Security and quality
                  * Insights

        Releases: microsoft/playwright

              Releases Tags
            Releases · microsoft/playwright

                Release list

                    * v1.62.1
                    * v1.62.0
                    * v1.61.1
                    * v1.61.0
                    * v1.60.0
                    * v1.59.1
                    * v1.59.0
                    * v1.58.2
                    * v1.58.1
                    * v1.58.0
                    Previous Next
                Jump to release
                        * v1.62.1
                        * v1.62.0
                        * v1.61.1
                        * v1.61.0
                        * v1.60.0
                        * v1.59.1
                        * v1.59.0
                        * v1.58.2
                        * v1.58.1
                        * v1.58.0
                    Previous Next

                v1.62.1

                              v1.62.1 Latest
                              Latest
                            Compare

                                  Choose a tag to compare

                                      Sorry, something went wrong.

                                Filter
                                  Loading

                                        Sorry, something went wrong.

                                          Uh oh!

                                          There was an error while loading. Please reload this page.

                                  No results found

                                View all tags
                              dgozman released this 30 Jul 16:35
                              v1.62.1
                              26a9e47
                                      This commit was created on GitHub.com and signed with GitHub’s verified signature.
                                    GPG key ID: B5690EEEBB952194
                                      Verified
                                    Learn about vigilant mode.

                          Bug Fixes

                            * #41989 [Regression]: tsconfig "extends" bare specifier isn't resolved via node_modules walk-up like tsc (fatal since 1.62)
                            * #41998 [Regression]: directory-form tsconfig project references ("path": "../pkg") fail to resolve (fatal since 1.62)
                            * #41985 Accessibility snapshot drops button name when text is nested inside spans with aria-hidden SVG
                            * #42000 [Regression]: page.evaluate() arg of a branded primitive type (string & { brand }) no longer type-checks since 1.62
                            * #42013 [BUG]Image-type actionable elements are not presented in the snapshot.
                          Assets 2
                            Loading

                                    Uh oh!

                                    There was an error while loading. Please reload this page.

                              👍 5 razivex, m3thom, BrunoCD, dimaBondarenko, and chfly2000 reacted with thumbs up emoji 🎉 15 regseb, larouxn, calcium-anything-headfirst, GaoGuohao, danpetrv, bubafinder, htnabe, UweStolz, terezavrchovinova, BrunoCD, and 5 more reacted with hooray emoji ❤️ 2 jonigl and hquiles reacted with heart emoji
                                All reactions
                                  * 👍 5 reactions
                                  * 🎉 15 reactions
                                  * ❤️ 2 reactions
                              21 people reacted

                v1.62.0

                              v1.62.0
                            Compare

                                  Choose a tag to compare

                                      Sorry, something went wrong.

                                Filter
                                  Loading

                                        Sorry, something went wrong.

                                          Uh oh!

                                          There was an error while loading. Please reload this page.

                                  No results found

                                View all tags
                              dcrousso released this 24 Jul 21:55
                              v1.62.0
                              e3950d9
                                      This commit was created on GitHub.com and signed with GitHub’s verified signature.
                                    GPG key ID: B5690EEEBB952194
                                      Verified
                                    Learn about vigilant mode.

                          🧱 New component testing model

                          Component testing moves to a stories and galleries model.
                          A story wraps your component in one specific scenario — hard-coded props, mock data, providers — and a gallery page that you serve renders stories on demand.
                          The new fixtures.mount() fixture navigates to the gallery, mounts a story by id, and returns a Locator scoped to the story's root element:

                            test('click should expand', async ({ mount }) => {
                              const component = await mount('components/Expandable/Stateful');
                              await component.getByRole('button').click();
                              await expect(component.getByTestId('expanded')).toHaveValue('true');
                            });

                          Pass a story type as a template argument to type-check its props, and use update(props) / unmount() on the returned locator to re-render or tear down within a test.

                          🛑 Cancel operations with AbortSignal

                          Most operations and web-first assertions now accept a signal option that takes an AbortSignal, letting you cancel long-running actions, navigations, waits, and assertions:

                            const controller = new AbortController();
                            setTimeout(() => controller.abort(), 1000);
                            
                            await page.getByRole('button', { name: 'Submit' }).click({ signal: controller.signal });
                            await expect(page.getByText('Done')).toBeVisible({ signal: controller.signal });

                          Providing a signal does not disable the default timeout; pass timeout: 0 to disable it.

                          🖼️ WebP screenshots

                          expect(page).toHaveScreenshot() and expect(locator).toHaveScreenshot() can now store snapshots in the WebP format — just give the snapshot a .webp name:

                            // Visual comparisons store the golden snapshot as lossless WebP.
                            await expect(page).toHaveScreenshot('homepage.webp');
                            
                            // Standalone screenshots can trade quality for size with lossy WebP.
                            await page.screenshot({ path: 'homepage.webp', quality: 50 });

                          page.screenshot() and [locator.screenshot() (https://playwright.dev/docs/api/class-locator#locator-screenshot) also accept webp as a type, where quality 100 (the default) is lossless and lower values use lossy compression.

                          🧩 Custom test filtering with Reporter.preprocess()

                          New reporter.preprocess() hook runs after the configuration is resolved and before reporter.onBegin(), letting a reporter mark individual tests as skipped, excluded, fixed, or failing through a TestRun object:

                            class MyReporter {
                              async preprocess({ config, suite, testRun }) {
                                for (const test of suite.allTests()) {
                                  if (shouldSkip(test))
                                    testRun.skip(test);
                                }
                              }
                            }

                          🔁 Isolated retries

                          New testConfig.retryStrategy controls when failed tests are retried.
                          The default 'immediate' retries as soon as a worker is free; 'isolated' runs all retries at the end, one by one in a single worker, to minimize interference with the rest of the suite:

                            // playwright.config.ts
                            export default defineConfig({
                              retries: 2,
                              retryStrategy: 'isolated',
                            });

                          New APIs

                          Browser and Context

                            * New option credentials includes the context's virtual WebAuthn Credentials (passkeys) in the storage state, so they can be persisted and re-seeded into later contexts.

                          Actions

                            * New scroll option ("auto" | "none") on actions to opt out of Playwright's automatic scroll-into-view.

                          Network

                            * New apiResponse.timing() returns resource timing information for an API response.

                          Evaluation

                            * New locator.waitForFunction() waits until a function — called with the matching element — returns a truthy value.
                            * page.evaluate() and related methods now accept functions as evaluate arguments.
                            * page.addInitScript() / browserContext.addInitScript() now accept functions as init-script arguments.

                          Command line & MCP

                            * Playwright now bundles the Playwright MCP server and playwright-cli, runnable via npx playwright mcp and npx playwright cli.

                          Reporters

                            * The HTML report's Merge files grouping — previously only a UI toggle — can now be enabled from the config with the new mergeFiles reporter option:
                            // playwright.config.ts
                            export default defineConfig({
                              reporter: [['html', { mergeFiles: true }]],
                            });

                          Announcements

                            * ⚠️ Debian 11 is not supported anymore.

                          Browser Versions

                            * Chromium 151.0.7922.34
                            * Mozilla Firefox 153.0
                            * WebKit 26.5

                          This version was also tested against the following stable channels:

                            * Google Chrome 151
                            * Microsoft Edge 151
                          Assets 2
                            Loading

                                    Uh oh!

                                    There was an error while loading. Please reload this page.

                              👍 10 m3thom, fmeyertoens, kkalarickal, ghiscoding, ValorHeart, lexroubos2, hquiles, lin72h, chalkygames123, and smarlhens reacted with thumbs up emoji 🎉 27 TatiChap, NicolasMurphy, mfulton26, larouxn, calcium-anything-headfirst, cpAdm, Tsingis, tmkx, methbkts, chfly2000, and 17 more reacted with hooray emoji ❤️ 7 calcium-anything-headfirst, nikoheikkila, ValorHeart, AyoubAmeur-crypto, lin72h, vasyll-l, and wilsonpinto reacted with heart emoji 🚀 4 ValorHeart, angelo-loria, lin72h, and Elverslane reacted with rocket emoji 👀 1 sand4rt reacted with eyes emoji
                                All reactions
                                  * 👍 10 reactions
                                  * 🎉 27 reactions
                                  * ❤️ 7 reactions
                                  * 🚀 4 reactions
                                  * 👀 1 reaction
                              42 people reacted

                v1.61.1

                              v1.61.1
                            Compare

                                  Choose a tag to compare

                                      Sorry, something went wrong.

                                Filter
                                  Loading

                                        Sorry, something went wrong.

                                          Uh oh!

                                          There was an error while loading. Please reload this page.

                                  No results found

                                View all tags
                              dgozman released this 23 Jun 19:47
                              v1.61.1
                              39e3553

                          Bug Fixes

                            * #41365 [Bug]: Expect.Extend matcher with same name as default matcher in same expect instance overrides default matchers implementation to custom matcher
                            * #41351 [Bug]: Playwright UI mode: apiRequestContext._wrapApiCall reports unexpected number of bytes (same test passes in headed mode)
                            * #41360 [Bug]: Trace viewer: message times in websockets are downscaled by 1000
                            * #41311 [Bug]: [Regression]: Sync loader throws "context.conditions?.includes is not a function" on Node 22.15
                            * #41371 [Regression]: Sync ESM loader (registerHooks) fails to resolve extensionless .ts subpath imports across pnpm workspace symlinks
                          Assets 2
                            Loading

                                    Uh oh!

                                    There was an error while loading. Please reload this page.

                              ❤️ 9 hquiles, manask-pradhan, triplevoid, ShihTingJustin, wbaoqiang055-tech, JoshuaWiseman, NicolasAgraAsapp, adminvns, and WarrenMartin reacted with heart emoji
                                All reactions
                                  * ❤️ 9 reactions
                              9 people reacted

                v1.61.0

                              v1.61.0
                            Compare

                                  Choose a tag to compare

                                      Sorry, something went wrong.

                                Filter
                                  Loading

                                        Sorry, something went wrong.

                                          Uh oh!

                                          There was an error while loading. Please reload this page.

                                  No results found

                                View all tags
                              dgozman released this 15 Jun 10:05
                              v1.61.0
                              1cc5a90

                          🔑 WebAuthn passkeys

                          New Credentials virtual authenticator, available via browserContext.credentials, lets tests register passkeys and answer navigator.credentials.create() / navigator.credentials.get() ceremonies in the page — no real hardware key required, works in all browsers:

                            const context = await browser.newContext();
                            
                            // Seed a passkey your backend provisioned for a test user.
                            await context.credentials.create('example.com', {
                              id: credentialId,
                              userHandle,
                              privateKey,
                              publicKey,
                            });
                            await context.credentials.install();
                            
                            const page = await context.newPage();
                            await page.goto('https://example.com/login');
                            // The page's navigator.credentials.get() is answered with the seeded passkey.

                          You can also let the app register a passkey once in a setup test, read it back with credentials.get(), and seed it into later tests — see Credentials for details.

                          🗃️ Web Storage

                          New WebStorage API, available via page.localStorage and page.sessionStorage, reads and writes the page's storage for the current origin:

                            await page.localStorage.setItem('token', 'abc');
                            const token = await page.localStorage.getItem('token');
                            const items = await page.sessionStorage.items();

                          New APIs

                          Network

                            * apiResponse.securityDetails() and apiResponse.serverAddr() mirror the browser-side response.securityDetails() and response.serverAddr().

                          Browser and Screencast

                            * New option artifactsDir in browserType.connectOverCDP() controls where artifacts such as traces and downloads are stored when attached to an existing browser.
                            * New option cursor in screencast.showActions() controls the cursor decoration rendered for pointer actions.
                            * The onFrame callback in screencast.start() now receives a timestamp of when the frame was presented by the browser.

                          Test runner

                            * The testOptions.video option now supports the same set of modes as trace: new 'on-all-retries', 'retain-on-first-failure' and 'retain-on-failure-and-retries' values. See the video modes table for which runs are recorded and kept in each mode.
                            * Supported expect.soft.poll(...).
                            * New fullConfig.argv — a snapshot of process.argv from the runner process, handy for reading custom arguments passed after the -- separator.
                            * New fullConfig.failOnFlakyTests mirrors the config option, so reporters can explain why a flaky run failed.
                            * testInfo.errors now lists each sub-error of an AggregateError as a separate entry.
                            * New -G command line shorthand for --grep-invert.

                          🛠️ Other improvements

                            * Playwright now supports Ubuntu 26.04.
                            * HAR and trace recordings now include WebSocket requests.

                          Browser Versions

                            * Chromium 149.0.7827.55
                            * Mozilla Firefox 151.0
                            * WebKit 26.5

                          This version was also tested against the following stable channels:

                            * Google Chrome 149
                            * Microsoft Edge 149
                          Assets 2
                            Loading

                                    Uh oh!

                                    There was an error while loading. Please reload this page.

                              👍 27 jarmos-san, RomanchukO, m3thom, Giuseppe0804, BenEinwechter, raky291, martian56, savemypicture1, vsjov, savtwo, and 17 more reacted with thumbs up emoji 🎉 30 nguyenthanhson, williamdes, mkosir, iprsnmsra, Eggwite, regseb, nboisteault, jarmos-san, martincostello, RomanchukO, and 20 more reacted with hooray emoji 🚀 14 jarmos-san, martincostello, RomanchukO, mxschmitt, BenEinwechter, a-skindzer, nitrotap, savemypicture1, Shinigami92, manask-pradhan, and 4 more reacted with rocket emoji 👀 3 savemypicture1, manask-pradhan, and spvvns reacted with eyes emoji
                                All reactions
                                  * 👍 27 reactions
                                  * 🎉 30 reactions
                                  * 🚀 14 reactions
                                  * 👀 3 reactions
                              52 people reacted

                v1.60.0

                              v1.60.0
                            Compare

                                  Choose a tag to compare

                                      Sorry, something went wrong.

                                Filter
                                  Loading

                                        Sorry, something went wrong.

                                          Uh oh!

                                          There was an error while loading. Please reload this page.

                                  No results found

                                View all tags
                              yury-s released this 11 May 19:08
                              v1.60.0
                              87bb9dd

                          🌐 HAR recording on Tracing

                          tracing.startHar() / tracing.stopHar() expose HAR recording as a first-class tracing API, with the same content, mode and urlFilter options as recordHar. The returned Disposable makes it easy to scope a recording with await using:

                            await using har = await context.tracing.startHar('trace.har');
                            const page = await context.newPage();
                            await page.goto('https://playwright.dev');
                            // HAR is finalized when `har` goes out of scope.

                          🪝 Drop API

                          New locator.drop() simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches dragenter, dragover, and drop with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:

                            await page.locator('#dropzone').drop({
                              files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },
                            });
                            
                            await page.locator('#dropzone').drop({
                              data: {
                                'text/plain': 'hello world',
                                'text/uri-list': 'https://example.com',
                              },
                            });

                          🎯 Aria snapshots

                            * expect(page).toMatchAriaSnapshot() now works on a Page, in addition to a Locator — equivalent to asserting against page.locator('body').
                            * New boxes option on locator.ariaSnapshot() / page.ariaSnapshot() appends each element's bounding box as [box=x,y,width,height], useful for AI consumption.

                          🛑 test.abort()

                          New test.abort() aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:

                            test('does not publish to the shared page', async ({ page }) => {
                              await page.route('**/publish', route => {
                                test.abort('Tests must not publish to the shared page. Use the `clone` option.');
                                return route.abort();
                              });
                              // ...
                            });

                          New APIs

                          Browser, Context and Page

                            * Event browser.on('context') — fired when a new context is created on the browser.
                            * BrowserContext now mirrors lifecycle events from its pages: browserContext.on('download'), browserContext.on('frameattached'), browserContext.on('framedetached'), browserContext.on('framenavigated'), browserContext.on('pageclose'), browserContext.on('pageload').

                          Locators and Assertions

                            * New option description in page.getByRole() / locator.getByRole() / frame.getByRole() / frameLocator.getByRole() for matching the accessible description.
                            * New option pseudo in expect(locator).toHaveCSS() reads computed styles from ::before or ::after.
                            * New option style in locator.highlight() applies extra inline CSS to the highlight overlay, plus new page.hideHighlight() to clear all highlights.

                          Network

                            * webSocketRoute.protocols() returns the WebSocket subprotocols requested by the page.
                            * New option noDefaults in browserType.connectOverCDP() disables Playwright's default overrides on the default context (download behavior, focus emulation, media emulation), so attaching to a user's daily-driver browser doesn't disturb its state.

                          Errors and Reporting

                            * New webError.location() mirrors consoleMessage.location().
                            * consoleMessage.location() now exposes line / column properties (lineNumber / columnNumber are deprecated).
                            * New testInfoError.errorContext surfaces additional diagnostic context, such as the aria snapshot of the receiver at the time of an expect(...) matcher failure.
                            * reporter.onError() now receives a workerInfo argument with details about the worker for fixture teardown errors.

                          Test runner

                            * New {testFileBaseName} token in testProject.snapshotPathTemplate — file name without extension.
                            * Test runner now errors when a config tries to override a non-option fixture, and rejects workers: 0 or negative values.

                          🛠️ Other improvements

                            * HTML reporter:
                                + npx playwright show-report accepts .zip files directly — no need to unzip first.
                                + Steps that contain attachments inside nested children show an indicator on the parent step.
                                + The repeatEachIndex is shown in the test header when non-zero.
                            * Trace Viewer adds a pretty-print toggle for JSON / form request and response bodies in the network details panel.

                          Breaking Changes ⚠️

                            * Removed long-deprecated APIs:
                                + Locator.ariaRef() — use the standard locator.ariaSnapshot() pipeline.
                                + handle option on BrowserContext.exposeBinding and Page.exposeBinding.
                                + logger option on BrowserType.connect and BrowserType.connectOverCDP — use tracing instead.
                                + Context options videosPath / videoSize — use recordVideo instead.

                          Browser Versions

                            * Chromium 148.0.7778.96
                            * Mozilla Firefox 150.0.2
                            * WebKit 26.4

                          This version was also tested against the following stable channels:

                            * Google Chrome 147
                            * Microsoft Edge 147
                          Assets 2
                            Loading

                                    Uh oh!

                                    There was an error while loading. Please reload this page.

                              👍 29 m3thom, jiafuzhang, TornquistK, UweStolz, mkosir, ValorHeart, bugcysg, stepri, lexroubos2, AscenderGrey, and 19 more reacted with thumbs up emoji 🎉 14 jiafuzhang, mkosir, regseb, AlexWebDev01, methbkts, lexroubos2, TheBigOx, flynnhou, eltonmkw, bitwisebro, and 4 more reacted with hooray emoji 🚀 31 mxschmitt, zakharova-thinker, YohanSciubukgian, pethers, aydakikio, Giuseppe0804, TaylorMichaelHall, ghiscoding, NicolasMurphy, BMayhew, and 21 more reacted with rocket emoji
                                All reactions
                                  * 👍 29 reactions
                                  * 🎉 14 reactions
                                  * 🚀 31 reactions
                              57 people reacted

                v1.59.1

                              v1.59.1
                            Compare

                                  Choose a tag to compare

                                      Sorry, something went wrong.

                                Filter
                                  Loading

                                        Sorry, something went wrong.

                                          Uh oh!

                                          There was an error while loading. Please reload this page.

                                  No results found

                                View all tags
                              yury-s released this 01 Apr 17:55
                              v1.59.1
                              d466ac5
                                      This commit was created on GitHub.com and signed with GitHub’s verified signature.
                                    GPG key ID: B5690EEEBB952194
                                      Verified
                                    Learn about vigilant mode.

                          Bug Fixes

                            * [Windows] Reverted hiding console window when spawning browser processes, which caused regressions including broken codegen, --ui and show commands (#39990)
                          Assets 2
                            Loading

                                    Uh oh!

                                    There was an error while loading. Please reload this page.

                              👍 17 tukumalu, bugcysg, m3thom, aeff60, raky291, up1, mathis-m, chfly2000, aqa-mykyta-tkachenko, Qambar, and 7 more reacted with thumbs up emoji ❤️ 5 MartinaMellitzerXXXLutz, NairiAreg, Jmenache, bubafinder, and vodainghia reacted with heart emoji 👀 5 Suren2695, LiuJianhuo, lokey886, vodainghia, and okeym3n reacted with eyes emoji
                                All reactions
                                  * 👍 17 reactions
                                  * ❤️ 5 reactions
                                  * 👀 5 reactions
                              24 people reacted

                v1.59.0

                              v1.59.0
                            Compare

                                  Choose a tag to compare

                                      Sorry, something went wrong.

                                Filter
                                  Loading

                                        Sorry, something went wrong.

                                          Uh oh!

                                          There was an error while loading. Please reload this page.

                                  No results found

                                View all tags
                              dgozman released this 01 Apr 00:27
                              v1.59.0
                              01b2b15

                          🎬 Screencast

                          New page.screencast API provides a unified interface for capturing page content with:

                            * Screencast recordings
                            * Action annotations
                            * Visual overlays
                            * Real-time frame capture
                            * Agentic video receipts

                          Screencast recording — record video with precise start/stop control, as an alternative to the recordVideo option:

                            await page.screencast.start({ path: 'video.webm' });
                            // ... perform actions ...
                            await page.screencast.stop();

                          Action annotations — enable built-in visual annotations that highlight interacted elements and display action titles during recording:

                            await page.screencast.showActions({ position: 'top-right' });

                          screencast.showActions() accepts position ('top-left', 'top', 'top-right', 'bottom-left', 'bottom', 'bottom-right'), duration (ms per annotation), and fontSize (px). Returns a disposable to stop showing actions.

                          Action annotations can also be enabled in test fixtures via the video option:

                            // playwright.config.ts
                            export default defineConfig({
                              use: {
                                video: {
                                  mode: 'on',
                                  show: {
                                    actions: { position: 'top-left' },
                                    test: { position: 'top-right' },
                                  },
                                },
                              },
                            });

                          Visual overlays — add chapter titles and custom HTML overlays on top of the page for richer narration:

                            await page.screencast.showChapter('Adding TODOs', {
                              description: 'Type and press enter for each TODO',
                              duration: 1000,
                            });
                            
                            await page.screencast.showOverlay('<div style="color: red">Recording</div>');

                          Real-time frame capture — stream JPEG-encoded frames for custom processing like thumbnails, live previews, AI vision, and more:

                            await page.screencast.start({
                              onFrame: ({ data }) => sendToVisionModel(data),
                              size: { width: 800, height: 600 },
                            });

                          Agentic video receipts — coding agents can produce video evidence of their work. After completing a task, an agent can record a walkthrough video with rich annotations for human review:

                            await page.screencast.start({ path: 'receipt.webm' });
                            await page.screencast.showActions({ position: 'top-right' });
                            
                            await page.screencast.showChapter('Verifying checkout flow', {
                              description: 'Added coupon code support per ticket #1234',
                            });
                            
                            // Agent performs the verification steps...
                            await page.locator('#coupon').fill('SAVE20');
                            await page.locator('#apply-coupon').click();
                            await expect(page.locator('.discount')).toContainText('20%');
                            
                            await page.screencast.showChapter('Done', {
                              description: 'Coupon applied, discount reflected in total',
                            });
                            
                            await page.screencast.stop();

                          The resulting video serves as a receipt: chapter titles provide context, action annotations highlight each interaction, and the visual walkthrough is faster to review than text logs.

                          🔗 Interoperability

                          New browser.bind() API makes a launched browser available for playwright-cli, @playwright/mcp, and other clients to connect to.

                          Bind a browser — start a browser and bind it so others can connect:

                            const { endpoint } = await browser.bind('my-session', {
                              workspaceDir: '/my/project',
                            });

                          Connect from playwright-cli — connect to the running browser from your favorite coding agent.

                            playwright-cli attach my-session
                            playwright-cli -s my-session snapshot

                          Connect from @playwright/mcp — or point your MCP server to the running browser.

                            @playwright/mcp --endpoint=my-session

                          Connect from a Playwright client — use API to connect to the browser. Multiple clients at a time are supported!

                            const browser = await chromium.connect(endpoint);

                          Pass host and port options to bind over WebSocket instead of a named pipe:

                            const { endpoint } = await browser.bind('my-session', {
                              host: 'localhost',
                              port: 0,
                            });
                            // endpoint is a ws:// URL

                          Call browser.unbind() to stop accepting new connections.

                          📊 Observability

                          Run playwright-cli show to open the Dashboard that lists all the bound browsers, their statuses, and allows interacting with them:

                            * See what your agent is doing on the background browsers
                            * Click into the sessions for manual interventions
                            * Open DevTools to inspect pages from the background browsers.

                          - `playwright-cli` binds all of its browsers automatically, so you can see what your agents are doing. - Pass `PLAYWRIGHT_DASHBOARD=1` env variable to see all `@playwright/test` browsers in the dashboard.

                          🐛 CLI debugger for agents

                          Coding agents can now run npx playwright test --debug=cli to attach and debug tests over playwright-cli — perfect for automatically fixing tests in agentic workflows:

                            $ npx playwright test --debug=cli
                             # ## Debugging Instructions
                            - Run  " playwright-cli attach tw-87b59e "  to attach to this test
                            
                            $ playwright-cli attach tw-87b59e
                             # ## Session `tw-87b59e` created, attached to `tw-87b59e`.
                            Run commands with: playwright-cli --session=tw-87b59e <command>
                             # ## Paused
                            - Navigate to  " / "  at output/tests/example.spec.ts:4
                            
                            $ playwright-cli --session tw-87b59e step-over
                             # ## Page
                            - Page URL: https://playwright.dev/
                            - Page Title: Fast and reliable end-to-end testing for modern web apps | Playwright
                             # ## Paused
                            - Expect  " toHaveTitle "  at output/tests/example.spec.ts:7

                          📋 CLI trace analysis for agents

                          Coding agents can run npx playwright trace to explore Playwright Trace and understand failing or flaky tests from the command line:

                            $ npx playwright trace open test-results/example-has-title-chromium/trace.zip
                              Title:        example.spec.ts:3 › has title
                            
                            $ npx playwright trace actions --grep= " expect " 
                                  # Time Action Duration
                              ──── ─────────  ─────────────────────────────────────────────────────── ────────
                                9. 0:00.859  Expect  " toHaveTitle "                                         5.1s  ✗
                            
                            $ npx playwright trace action 9
                              Expect  " toHaveTitle " 
                              Error: expect(page).toHaveTitle(expected) failed
                                Expected pattern: /Wrong Title/
                                Received string:   " Fast and reliable end-to-end testing for modern web apps | Playwright " 
                                Timeout: 5000ms
                              Snapshots
                                available: before, after
                                usage:     npx playwright trace snapshot 9 --name <before|after>
                            
                            $ npx playwright trace snapshot 9 --name after
                             # ## Page
                            - Page Title: Fast and reliable end-to-end testing for modern web apps | Playwright
                            
                            $ npx playwright trace close

                          ♻️ await using

                          Many APIs now return async disposables, enabling the await using syntax for automatic cleanup:

                            await using page = await context.newPage();
                            {
                              await using route = await page.route('**/*', route => route.continue());
                              await using script = await page.addInitScript('console.log("init script here")');
                              await page.goto('https://playwright.dev');
                              // do something
                            }
                            // route and init script have been removed at this point

                          🔍 Snapshots and Locators

                            * Method page.ariaSnapshot() to capture the aria snapshot of the page — equivalent to page.locator('body').ariaSnapshot().
                            * Options depth and mode in locator.ariaSnapshot().
                            * Method locator.normalize() converts a locator to follow best practices like test ids and aria roles.
                            * Method page.pickLocator() enters an interactive mode where hovering over elements highlights them and shows the corresponding locator. Click an element to get its Locator back. Use page.cancelPickLocator() to cancel.

                          New APIs

                          Screencast

                            * page.screencast provides video recording, real-time frame streaming, and overlay management.
                            * Methods screencast.start() and screencast.stop() for recording and frame capture.
                            * Methods screencast.showActions() and screencast.hideActions() for action annotations.
                            * Methods screencast.showChapter() and screencast.showOverlay() for visual overlays.
                            * Methods screencast.showOverlays() and screencast.hideOverlays() for overlay visibility control.

                          Storage, Console and Errors...

                        Read more
                          Assets 2
                            Loading

                                    Uh oh!

                                    There was an error while loading. Please reload this page.

                              👍 43 tukumalu, Zhaocl1997, scintillavoy, mkosir, yuya-okada527, m3thom, Jayllyz, dailykaran, m-schantin-basecom, mr-anton-t, and 33 more reacted with thumbs up emoji 🎉 42 0xfeeddeadbeef, mxschmitt, ghiscoding, sangcnguyen, mkosir, yuya-okada527, regseb, cameronapak, UweStolz, cpAdm, and 32 more reacted with hooray emoji ❤️ 16 mxschmitt, mkosir, yuya-okada527, arjunn2, gregorybruneau, ValorHeart, albertjoelbg, quentinmcq, axeldelafosse, raulparada, and 6 more reacted with heart emoji 🚀 25 mxschmitt, larouxn, mkosir, yuya-okada527, pplancq, ro0gr, mr-anton-t, ValorHeart, sergiocarneiro, unickq, and 15 more reacted with rocket emoji 👀 2 cintek and vodainghia reacted with eyes emoji
                                All reactions
                                  * 👍 43 reactions
                                  * 🎉 42 reactions
                                  * ❤️ 16 reactions
                                  * 🚀 25 reactions
                                  * 👀 2 reactions
                              85 people reacted

                v1.58.2

                              v1.58.2
                            Compare

                                  Choose a tag to compare

                                      Sorry, something went wrong.

                                Filter
                                  Loading

                                        Sorry, something went wrong.

                                          Uh oh!

                                          There was an error while loading. Please reload this page.

                                  No results found

                                View all tags
                              dgozman released this 06 Feb 16:41
                              v1.58.2
                              ce480a9

                          Highlights

                          #39121 fix(trace viewer): make paths via stdin work
                          #39129 fix: do not force swiftshader on chromium mac

                          Browser Versions

                            * Chromium 145.0.7632.6
                            * Mozilla Firefox 146.0.1
                            * WebKit 26.0
                          Assets 2
                            Loading

                                    Uh oh!

                                    There was an error while loading. Please reload this page.

                              👍 23 m3thom, steven-liao-rs, ghiscoding, raky291, maciejcieslar, Julian-B90, thomas3577, UweStolz, chfly2000, jwebsite-go, and 13 more reacted with thumbs up emoji
                                All reactions
                                  * 👍 23 reactions
                              23 people reacted

                v1.58.1

                              v1.58.1
                            Compare

                                  Choose a tag to compare

                                      Sorry, something went wrong.

                                Filter
                                  Loading

                                        Sorry, something went wrong.

                                          Uh oh!

                                          There was an error while loading. Please reload this page.

                                  No results found

                                View all tags
                              dgozman released this 30 Jan 18:23
                              v1.58.1
                              97bc385

                          Highlights

                          #39036 fix(msedge): fix local network permissions
                          #39037 chore: update cft download location
                          #38995 chore(webkit): disable frame sessions on fronzen builds

                          Browser Versions

                            * Chromium 145.0.7632.6
                            * Mozilla Firefox 146.0.1
                            * WebKit 26.0
                          Assets 2
                            Loading

                                    Uh oh!

                                    There was an error while loading. Please reload this page.

                              🎉 9 HyunJinNo, dacloutier-logmein, andriyor, quentinmcq, martin-delivered, chenhaijun02, Mr-Reacher, Jmenache, and ShihTingJustin reacted with hooray emoji 🚀 17 distinguished-sre, raky291, UweStolz, m3thom, chfly2000, lucgagan, Arjgorithmic, maciejcieslar, jenssgb, dacloutier-logmein, and 7 more reacted with rocket emoji
                                All reactions
                                  * 🎉 9 reactions
                                  * 🚀 17 reactions
                              20 people reacted

                v1.58.0

                              v1.58.0
                            Compare

                                  Choose a tag to compare

                                      Sorry, something went wrong.

                                Filter
                                  Loading

                                        Sorry, something went wrong.

                                          Uh oh!

                                          There was an error while loading. Please reload this page.

                                  No results found

                                View all tags
                              Skn0tt released this 23 Jan 11:53
                              v1.58.0
                              961381e
                                      This commit was created on GitHub.com and signed with GitHub’s verified signature.
                                    GPG key ID: B5690EEEBB952194
                                      Verified
                                    Learn about vigilant mode.

                          📣 Playwright CLI+SKILLs 📣

                          We are adding a new token-efficient CLI mode of operation to Playwright with the skills located at playwright-cli. This brings the long-awaited official SKILL-focused CLI mode to our story and makes it more coding agent-friendly.

                          It is the first snapshot with the essential command set (which is already larger than the original MCP!), but we expect it to grow rapidly. Unlike the token use, that one we expect to go down since snapshots are no longer forced into the LLM!

                          Timeline

                          If you're using merged reports, the HTML report Speedboard tab now shows the Timeline:

                          UI Mode and Trace Viewer Improvements

                            * New 'system' theme option follows your OS dark/light mode preference
                            * Search functionality (Cmd/Ctrl+F) is now available in code editors
                            * Network details panel has been reorganized for better usability
                            * JSON responses are now automatically formatted for readability

                          Thanks to @cpAdm for contributing these improvements!

                          Miscellaneous

                          browserType.connectOverCDP() now accepts an isLocal option. When set to true, it tells Playwright that it runs on the same host as the CDP server, enabling file system optimizations.

                          Breaking Changes ⚠️

                            * Removed _react and _vue selectors. See locators guide for alternatives.
                            * Removed :light selector engine suffix. Use standard CSS selectors instead.
                            * Option devtools from browserType.launch() has been removed. Use args: ['--auto-open-devtools-for-tabs'] instead.
                            * Removed macOS 13 support for WebKit. We recommend to upgrade your macOS version, or keep using an older Playwright version.

                          Browser Versions

                            * Chromium 145.0.7632.6
                            * Mozilla Firefox 146.0.1
                            * WebKit 26.0

                          This version was also tested against the following stable channels:

                            * Google Chrome 144
                            * Microsoft Edge 144
                          Assets 2
                            Loading

                                    Uh oh!

                                    There was an error while loading. Please reload this page.

                              🎉 34 regseb, mkosir, sand4rt, cpAdm, GoranOst, kora-rider, Qambar, larouxn, alewin, SancheZz, and 24 more reacted with hooray emoji 🚀 18 krish-kant, lencioni, angelo-loria, m3thom, artsiom-voitas, VZEROALL, quentinmcq, visorcraft, skirankumars31, ValorHeart, and 8 more reacted with rocket emoji
                                All reactions
                                  * 🎉 34 reactions
                                  * 🚀 18 reactions
                              42 people reacted
                Previous 1 2 3 4 5 … 16 17 Next
                Previous Next

  Footer

      © 2026 GitHub, Inc.

    Footer navigation

      * Terms
      * Privacy
      * Security
      * Status
      * Community
      * Docs
      * Contact
      * Manage cookies
      * Do not share my personal information
    You can’t perform that action at this time.
For now, Differences are performed on text, not graphically, only the latest screenshot is available.

Screenshot requires a Content Fetcher ( Sockpuppetbrowser, selenium, etc ) that supports screenshots.