# What changed in @testing-library/dom

> 15 changes in @testing-library/dom 8 to 10 from its official release notes, upgrade guides and advisories: 13 breaking. Each one cited. Sources checked 2026-10-23. HTML: https://unstale.sh/npm/@testing-library/dom/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @testing-library/dom 10

### Breaking changes

- The updated aria-query version changes various roles, which may affect role-based queries. (10.0.0) — [release notes](https://github.com/testing-library/dom-testing-library/releases/tag/v10.0.0)
- Node.js 18.0 is now the minimum supported version; support for Node.js 14.x and 16.x is dropped, and Node.js 20.x is supported. (10.0.0) — [release notes](https://github.com/testing-library/dom-testing-library/releases/tag/v10.0.0)

### Fixes and other changes

- Error messages are now set with defineProperty on the error object instead of being assigned directly. (10.0.0) — [release notes](https://github.com/testing-library/dom-testing-library/releases/tag/v10.0.0)

## @testing-library/dom 9

### Breaking changes

- The collapseWhitespace option is no longer supported. (9.0.0) — [release notes](https://github.com/testing-library/dom-testing-library/releases/tag/v9.0.0)
- The exact option is no longer supported. (9.0.0) — [release notes](https://github.com/testing-library/dom-testing-library/releases/tag/v9.0.0)
- The normalizer option is no longer supported. (9.0.0) — [release notes](https://github.com/testing-library/dom-testing-library/releases/tag/v9.0.0)
- The role argument only accepts strings. (9.0.0) — [release notes](https://github.com/testing-library/dom-testing-library/releases/tag/v9.0.0)
- The trim option is no longer supported. (9.0.0) — [release notes](https://github.com/testing-library/dom-testing-library/releases/tag/v9.0.0)
- The minimum supported Node.js version is now 14.x; Node.js 12.x is no longer supported. (9.0.0) — [release notes](https://github.com/testing-library/dom-testing-library/releases/tag/v9.0.0)

## @testing-library/dom 8

### Breaking changes

- Node 10 is no longer supported. (8.0.0) — [release notes](https://github.com/testing-library/dom-testing-library/releases/tag/v8.0.0)
- prettyDOM now ignores <script />, <style /> and comment nodes by default; provide a custom filterNode function to return to the old behavior. (8.0.0) — [release notes](https://github.com/testing-library/dom-testing-library/releases/tag/v8.0.0)
- The timeout now uses the same clock as interval, which may be mocked out; use Number.POSITIVE_INFINITY for the old behavior and rely on the test runner to timeout using real timers. (8.0.0) — [release notes](https://github.com/testing-library/dom-testing-library/releases/tag/v8.0.0)
- The deprecated waitForElement API was removed. (8.0.0) — [release notes](https://github.com/testing-library/dom-testing-library/releases/tag/v8.0.0)
- The deprecated waitFormDOMChange API was removed. (8.0.0) — [release notes](https://github.com/testing-library/dom-testing-library/releases/tag/v8.0.0)

### Behavior and default changes

- If using Jest fake timers, use modern timers. (8.0.0) — [release notes](https://github.com/testing-library/dom-testing-library/releases/tag/v8.0.0)
