React Native 0.85: Revamped Animation Engine, Dedicated Jest Package, and More
Introduction
The React Native team has officially released version 0.85, bringing a host of significant updates that enhance performance, developer experience, and compatibility. This release centers on a brand-new animation backend, the migration of the Jest preset to its own package, and several improvements to DevTools and Metro. Below, we dive into the key highlights and breaking changes you need to know.
Highlights
New Animation Backend
React Native 0.85 introduces the Shared Animation Backend, developed in collaboration with Software Mansion. This overhaul replaces the internal engine that handles animations for both the Animated API and the Reanimated library. By centralizing the animation update logic within React Native’s core, the new backend enables performance gains that were previously unattainable and ensures consistent testing and stability across future releases.
One major benefit: you can now animate layout props (like flex, width, height) using the native driver in Animated. This removes a long-standing limitation. To illustrate, here’s a simple example that expands a blue box when a button is pressed:
import { Animated, Button, View, useAnimatedValue } from 'react-native';
function MyComponent() {
const width = useAnimatedValue(100);
const toggle = () => {
Animated.timing(width, {
toValue: 300,
duration: 500,
useNativeDriver: true,
}).start();
};
return (
<View style={{flex: 1}}>
<Animated.View style={{width, height: 100, backgroundColor: 'blue'}} />
<Button title="Expand" onPress={toggle} />
</View>
);
}
You can find more examples in the react-native/packages/rn-tester/js/examples/AnimationBackend/ directory. To try this feature, enable the experimental channel as described in the official documentation. Note that this experimental feature will be available beginning with React Native 0.85.1, which is expected shortly.
React Native DevTools Improvements
The developer tools receive several noteworthy upgrades in 0.85:
- Multiple CDP connections: Now supports simultaneous Chrome DevTools Protocol connections from tools like React Native DevTools, VS Code, and AI agents without interrupting each other. This unlocks richer workflows and composable debugging setups.
- Native tabs on macOS: The desktop app now compiles for macOS 26 and includes system-level tab handling. Power users can merge all open DevTools windows via Window > Merge All Windows.
- Request payload previews restored on Android: After a regression, the Network Panel once again shows request body previews on Android devices.
Metro TLS Support
The Metro dev server can now accept a TLS configuration object, enabling HTTPS (and secure WebSockets for Fast Refresh) during local development. This is particularly useful when you need to test features that require a secure context, such as service workers or geolocation, without deploying to a production server.
Breaking Changes
Jest Preset Moved to New Package
Starting with 0.85, the Jest preset that was previously bundled with react-native has been extracted into its own package: @react-native/jest-preset. If your project relies on the preset, you will need to update your Jest configuration accordingly. See the migration guide for details.
Dropped Support for EOL Node.js Versions
React Native 0.85 no longer supports Node.js versions that have reached their end-of-life (EOL). Ensure your development environment runs Node.js 18 or later (or the version specified in the official requirements). This change aligns with the Node.js release schedule and helps maintain security and performance.
StyleSheet.absoluteFillObject Removed
The StyleSheet.absoluteFillObject utility has been removed. If your code uses StyleSheet.absoluteFillObject, replace it with the StyleSheet.absoluteFill style object or manually define the positioning properties (position: 'absolute', top: 0, left: 0, right: 0, bottom: 0).
Other Breaking Changes
For a complete list of breaking changes, refer to the official changelog. Among them are adjustments to deprecated APIs and internal module paths that may affect third-party libraries or custom native modules.
Conclusion
React Native 0.85 marks a significant step forward with the new animation backend, improved DevTools, and Metro TLS support. While the breaking changes require some migration effort, they pave the way for a more stable and performant development experience. Update your projects and explore the new capabilities—especially the native-driver layout animations that many developers have been waiting for.
Related Articles
- How to Prevent Premature Task Completion in AI Agents Using Claude Code's /goals
- Southern California Ports Go Electric: MDB Transportation Tests Tesla Semi in Real-World Freight Operations
- Streamlining Flutter's Web Ecosystem: A Unified Approach with Dart and Jaspr
- How Battery-Swap Electric Trucks Are Outperforming Diesel: Insights from Janus Electric CEO
- Solar Surges to Become Top Global Power Source by 2032 as Battery Storage Reshapes Energy Landscape
- Rivian Accelerates Southern California Presence with Expanded Caruso Partnership: New Showrooms and Over 150 Fast Chargers at Premier LA Retail Centers
- CEO Pay Surges 20 Times Faster Than Workers' Wages in 2025, Report Reveals
- Rivian Supercharges LA Presence: 150+ Fast Chargers, New Showrooms at Caruso Retail Hubs