React Native 0.85: Enhanced Animations, Updated Tooling, and Key Changes
React Native 0.85 has arrived, bringing a host of new features, improvements, and necessary adjustments. This release introduces a new animation backend, moves the Jest preset to a dedicated package, and delivers several enhancements to developer tooling. Below, we break down the highlights and breaking changes you need to know.
Highlights
New Animation Backend
Developed in collaboration with Software Mansion, the new Shared Animation Backend powers animations under the hood for both Animated and Reanimated. By centralizing the main animation update logic within React Native core, Reanimated can now achieve performance improvements that were previously impossible. Additionally, this ensures the update reconciliation process is thoroughly tested and stable across future React Native updates.
With this backend, you can now animate layout properties—such as Flexbox and position—using the native driver. Below is a simple example:
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>
);
}
More examples are available in react-native/packages/rn-tester/js/examples/AnimationBackend/. To opt in, enable the experimental channel of React Native (available starting from version 0.85.1, released soon).
React Native DevTools Improvements
The developer tools have received several notable upgrades:
- Multiple CDP connections: Now supports simultaneous Chrome DevTools Protocol connections, enabling tools like React Native DevTools, VS Code, and AI agents to connect together without interrupting sessions. This facilitates richer, composable workflows.
- Native tabs on macOS: The desktop app now compiles for macOS 26 and includes system-level tab handling. To use, navigate to Window > Merge All Windows when multiple DevTools windows are open.
- Request payload previews: On Android, request body previews in the Network Panel have been restored after being disabled by a regression.
Metro TLS Support
The Metro development server can now accept a TLS configuration object, allowing HTTPS (and WSS for Fast Refresh) during development. This enhances security when testing on real devices or remote environments.
Breaking Changes
Jest Preset Moved to New Package
The Jest preset has been relocated from the core React Native package to its own dedicated package. If you rely on this preset in your tests, update your import paths accordingly.
Dropped Support for EOL Node.js Versions
React Native 0.85 no longer supports Node.js versions that have reached their end-of-life. Ensure your development environment uses a supported Node.js version (14.x or later recommended).
StyleSheet.absoluteFillObject Removed
The legacy StyleSheet.absoluteFillObject has been removed. Use StyleSheet.absoluteFill or the equivalent style object instead.
Other Breaking Changes
For a complete list of additional breaking changes, refer to the official React Native changelog.
Related Articles
- Inside Apple's Acquisition Playbook Under Tim Cook: Hardware, Software, and Services
- Massachusetts Secures $1.4 Billion in Savings Through Long-Term Offshore Wind Contracts
- Revealed: How Australia's Coal Mines Conceal Methane Emissions with Offsets and Output Decline
- How to Electrify Your City's Bus Fleet: Lessons from Sweden's 103 New Electric Buses
- 10 Key Insights About Big Batteries Smashing Charging Records Despite Low Price Volatility
- Volkswagen ID. Polo Electric Car: Pre-Orders Open at €33,795, Affordable €25,000 Version on Horizon
- Rocsys M1: The Hands-Free Charging Revolution for Autonomous Taxis
- Volkswagen ID. Polo Pre-Orders Begin at $40,000: What to Expect and When the Budget Model Arrives