# What changed in @testing-library/react-native

> 39 changes in @testing-library/react-native 14 from its official release notes, upgrade guides and advisories: 23 breaking, 1 deprecations, 4 new APIs and options. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/npm/@testing-library/react-native/

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

## @testing-library/react-native 14

### Breaking changes

- Accessible names more closely follow React Native inputs, including TextInput placeholder handling, child-name concatenation, and stricter getByRole name matching. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- The concurrentRoot render and configuration option was removed because concurrent rendering is always enabled. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- The createNodeMock render option was removed because the new Test Renderer integration does not support it. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- fireEvent() and its helpers are async by default and return Promise<void>; callers must await them. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- The fireEventAsync API was removed; use fireEvent instead. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- The getQueriesForElement alias was removed; use within instead. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- The minimum supported Node.js version is now ^22.13.0 || >=24. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- React 19.0.0 or newer is now required; React 18 is no longer supported. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- The minimum supported React Native version is now 0.78. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- render() is async by default and returns Promise<RenderResult>; callers must await it. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- The renderAsync API was removed; use render instead. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- Query results and the rendered element tree expose host elements only; composite components are no longer visible. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- renderHook() is async by default and returns Promise<RenderHookResult>; callers must await it. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- The renderHookAsync API was removed; use renderHook instead. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- A codemod updates dependencies by removing React Test Renderer packages, adding Test Renderer, and updating React Native Testing Library. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- The deprecated React Test Renderer integration was replaced with Test Renderer, which is now a peer dependency; install the compatibility line matching your React 19 minor version. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- Type definitions now use TestInstance from Test Renderer instead of ReactTestInstance from React Test Renderer. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- Text strings rendered outside React Native Text components now throw, matching React Native runtime behavior. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- The legacy UNSAFE_getAllByProps query was removed. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- The legacy UNSAFE_getByProps query was removed. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- UNSAFE_root was removed; use container for the pseudo-element container or root for the first rendered host element. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- The render option was removed because text string validation is now always enabled. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- The update alias was removed; use rerender instead. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)

### Deprecations

- Bubbling of direct events in fireEvent is deprecated. (14.1.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.1.0)

### New APIs and options

- Adds UserEvent support for accessibilityAction. (14.1.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.1.0)
- Adds fireEvent.layout for firing layout events, including direct events. (14.1.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.1.0)
- Adds UserEvent pullToRefresh() for testing pull-to-refresh interactions. (14.1.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.1.0)
- The container API was reintroduced as a safe pseudo-element container aligned with React Testing Library semantics. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)

### Behavior and default changes

- Warns when firing events on disabled elements. (14.1.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.1.0)
- act() always returns a Promise and should always be awaited. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- fireEvent.press() passes a default synthetic native event object to handlers and deep-merges event props supplied by the test. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- fireEvent.scroll() passes a default synthetic native event object to handlers and deep-merges event props supplied by the test. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- Suspended or hidden instances are represented with React Native-like hidden props such as display: 'none', bringing visibility queries and matchers closer to runtime behavior. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)
- configure, render, renderHook, and userEvent.setup warn when passed unknown options, helping catch stale or misspelled options during migration. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)

### Tooling

- A codemod updates test code for async render, renderHook, fireEvent, act, rerender, and unmount usage. (14.0.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0)

### Fixes and other changes

- Adds support for React Native 0.88 with React 19.3. (14.1.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.1.0)
- Fixes a setImmediate fake timer issue with jsdom. (14.1.0) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.1.0)
- Includes selection in the TextInput change event generated by user-event. (14.0.1) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.1)
- Cleans up waitFor timers when an error occurs during onTimeout printout. (14.0.1) — [release notes](https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.1)
