14.0.0-beta.0 (2026-01-20)
Note
This is a beta release. APIs and behavior may change.
What's new
React 19 and React Native 0.78+
- Drops support for React 18.
- Requires React 19.0.0+ and React Native 0.78+.
Async APIs
The main APIs are now async to support React 19's async rendering (Suspense, use()):
render,renderHook,fireEvent, andactreturn Promises and must be awaited.- This flushes pending React updates before your assertions run.
New renderer
- Replaced deprecated
react-test-rendererwith Test Renderer. - Improved DX (
HostElementreplacesReactTestInstance).
container API
screen.containeris now safe to use.- Returns a pseudo-element container wrapping the rendered elements.
Breaking changes
- Removed APIs:
update(usererender),getQueriesForElement(usewithin),UNSAFE_root(usecontainer), andconcurrentRootoption. - Removed legacy queries:
UNSAFE_getAllByType,UNSAFE_getByType,UNSAFE_getAllByProps, andUNSAFE_getByProps. Use standard queries likegetByRole. - Strict text validation: Text strings must be rendered within a
<Text>component. Theunstable_validateStringsRenderedWithinTextoption has been removed; validation is always on.
Migration
Use the codemods to upgrade:
-
Update dependencies:
npx codemod@latest rntl-v14-update-deps --target . npm install -
Migrate to async:
npx codemod@latest rntl-v14-async-functions --target ./src
See the v14 Migration Guide for details.