@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.18.0 (December 18, 2024)

  • Fixed several session-handling problems, which could cause erroneous results 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.