@axe-core/watcher Package Release Notes

Link to @axe-core/watcher Package Release Notes copied to clipboard

Release notes describing the changes in the @axe-core/watcher package for version 3.0.0 and later

Free Trial

3.19.0 (January 20, 2025)

  • Improved the error message with Playwright and Playwright Test versions 1.49.0 or greater when using the headless parameter when the channel parameter is set to firefox. (Only the chromium or chrome channels are supported with fully headed mode or the new headless mode.)
  • Improved version checking for axe-core.

3.18.0 (December 18, 2024)

  • Fixed several session-handling problems, which could cause erroneous or empty results to appear on the website.
  • Added support for new Chromium headless in Playwright versions >= 4.91. See Try new Chromium headless in the Playwright 4.91 release notes.
  • Added custom timeout values to allow users to control session handling.

3.17.0 (November 27, 2024)

  • Features

    • Added manual mode to Watcher.
    • Running an analysis on an unsupported protocol (which is any protocol other than https, http, or file) or on the about:blank page will result in an error.
    • Now Watcher throws an error if it is not configured before use.
  • Bug fixes

    • In manual mode, calling the controller's start() method now marks the current page's DOM as clean, so no page state is captured.
    • In manual mode, fixed a problem where an additional page state was sometimes captured when flush() was called.
    • Fixed a problem that caused a missing page state when cy.axeWatcherAnalyze() was called after cy.click() was called without a cy.wait() call.
    • Now include an updated LICENSES-3RD-PARTY.md file with the @axe-core/watcher package.
    • The controller method stop() now analyzes the page if the DOM has changed before turning off automatic mode.
    • Changed Watcher's behavior so that if Watcher is in manual mode, don't analyze the page if the controller method stop() is called.
    • Fixed a problem in the Playwright integration that caused wrapped methods to return incorrect types.
    • Fixed a problem that prevented runOptions from accepting only one option.

3.16.0 (September 26, 2024)

  • Fixed a transitive dependency issue involving Cypress commands.

3.15.0 (September 11, 2024)

  • Added support for WebdriverIO version 9 (while retaining support for WebdriverIO versions 7 and 8).

3.14.2 (August 29, 2024)

  • Fixed an error accessing the timeout value in Cypress.
  • For Cypress, now throw an exception if the user tries to use Watcher without first calling cypressConfig().
  • Fixed an error that appeared under certain conditions in Cypress when importing the os module.
  • Added buildID to AxeConfiguration for parallel test runs.
  • Deprecated sessionID in AxeConfiguration in favor of buildID.
  • Fixed a problem that caused an additional page state to be captured with Puppeteer due to handling of authenticate().
  • Performance improvements in axe Watcher due to changes in code obfuscation.

3.13.1 (July 19, 2024)

  • Fix for a problem with excluding URLs from scans.

3.13.0 (July 18, 2024)

3.12.0 (July 10, 2024)

  • Improved the handling of component remounting in Cypress.
  • Ensure Watcher can be loaded in WebdriverIO version 7.
  • Added Puppeteer locator support.
  • Added configuration of runContext and runOptions for axe-core. See AxeConfiguration interface.

3.11.1 (June 20, 2024)

  • Fixed a problem where return values from external setupNodeEvents handlers in Cypress weren't propagated.
  • Changed behavior to allow Cypress's Chrome extension to be loaded.

3.11.0 (June 7, 2024)

  • Addressed a problem where unmounting and remounting of components would cause accessibility scans to timeout in Cypress.
  • Relaxed the browser detection logic to avoid failing even when using supported browsers.
  • Removed file-system writes when flushing results in Cypress.

3.10.0 (May 9, 2024)

  • Fixed a problem in Cypress where the config object returned from setupNodeEvents wasn't propagated correctly and any changes made to it were lost.
  • Fixed the implementation of proxied functions (for Playwright Test) that had resulted in an error with Locator objects: can be only used with Locator object.
  • Wrapped two new Playwright functions from the 1.43.1 release.

3.9.0 (April 23, 2024)

  • Added backwards compatible types for Puppeteer version 20.
  • For Cypress, deprecated axeAnalyze(), axeFlush(), axeStart(), and axeStop(). Replaced with axeWatcherAnalyze(), axeWatcherFlush(), axeWatcherStart(), and axeWatcherStop().
  • Fixed a TypeError on certain Puppeteer version 21 (and later) hooks.

3.8.0 (April 3, 2024)

  • Update the emitted JavaScript to target ECMAScript 2018 (ES2018) instead of ECMAScript 2015 (ES2015).

3.6.0 (February 29, 2024)

  • In the Cypress integration, prevent after:run events if no tests ran.
  • Changed the download URL format for Chromedriver because the Chromedriver team moved to a new hosting solution. Impacts WebdriverIO.

3.5.0 (January 22, 2024)

  • Fixed a problem where calling Playwright's Page.goto() method would incorrectly record two page states.
  • Fixed a problem in the Cypress integration that caused certain user configurations of setupNodeEvents to be ignored.
  • Added eventemitter3 as a required dependency.
  • Wrapped some Playwright methods that hadn't been wrapped before.

3.4.0 (December 7, 2023)

  • Fixed a problem where page states were lost or errors occurred when tests caused page navigations.
  • Removed some redundant code from the Cypress integration.

3.1.0 (September 14, 2023)

  • All integrations now allow --headless=new.

3.0.0 (September 8, 2023)

To address cases where analyze() was unexpectedly not called, the following functions needed to be deprecated and replaced:

Deprecated function New function
wrapPlaywright(browserContext, controller) wrapPlaywrightPage(page, controller)
wrapPuppeteer(context, controller) wrapPuppeteerPage(page, controller)

Using the deprecated functions will throw an error.