@axe-core/watcher Package Release Notes
Release notes describing the changes in the @axe-core/watcher package for version 3.0.0 and later
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 aftercy.click()
was called without acy.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.
- In manual mode, calling the controller's
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
toAxeConfiguration
for parallel test runs. - Deprecated
sessionID
inAxeConfiguration
in favor ofbuildID
. - 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)
- Allow excluding URLs from the analysis scan by using the
excludeUrlPatterns
option. SeeAxeConfiguration
interface.
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
andrunOptions
for axe-core. SeeAxeConfiguration
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 fromsetupNodeEvents
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()
, andaxeStop()
. Replaced withaxeWatcherAnalyze()
,axeWatcherFlush()
,axeWatcherStart()
, andaxeWatcherStop()
. - 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.