Bvoxro Stack

React Native 0.85 Arrives with Revamped Animation Engine and Improved Developer Tools

React Native 0.85 introduces a new shared animation backend, improved DevTools, Metro TLS support, and breaking changes like moving the Jest preset to a dedicated package.

Bvoxro Stack · 2026-05-12 12:23:22 · Environment & Energy

React Native 0.85 is now available, bringing a host of new features and improvements that enhance both performance and developer productivity. This release introduces a new animation backend, moves the Jest preset to a dedicated package, and includes significant updates to developer tools and networking capabilities. Below, we break down the key highlights and breaking changes you need to know.

Highlights

New Animation Backend

One of the most notable additions in React Native 0.85 is the Shared Animation Backend, developed in collaboration with Software Mansion. This new internal engine powers animations for both Animated and Reanimated by centralizing the animation update logic within React Native core. The result is that Reanimated can now achieve performance improvements that were previously impossible, and the update reconciliation process is thoroughly tested and stable across future React Native versions.

React Native 0.85 Arrives with Revamped Animation Engine and Improved Developer Tools

With this update, Animated now supports animating layout properties—such as Flexbox and position attributes—using the native driver. This removes earlier limitations and makes it easier to create smooth, performant animations directly with Animated.

To enable the new animation backend, developers can opt into the experimental channel of React Native. Note that this experimental feature will first be available in React Native 0.85.1, which will be released shortly.

Example: Animating Layout Props with Native Driver

The following code snippet shows how you can animate a View width using the native driver with the new backend:

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>
  );
}

For more examples, check the react-native/packages/rn-tester/js/examples/AnimationBackend/ directory.

React Native DevTools Improvements

Developer tooling receives several enhancements in this release:

  • Multiple CDP connections: React Native now supports multiple simultaneous Chrome DevTools Protocol connections. This means tools like React Native DevTools, VS Code, and AI agents can all connect at the same time, enabling richer, composable workflows without interrupting sessions.
  • Native tabs on macOS: The desktop DevTools app has been compiled for macOS 26 and now includes system-level tab handling. Power users can access this feature via Window > Merge All Windows when multiple DevTools windows are open.
  • Request payload previews restored: On Android, request body previews in the Network Panel have been re-enabled after a regression was fixed.

Metro TLS Support

The Metro development server now accepts a TLS configuration object, enabling HTTPS (and secure WebSocket for Fast Refresh) during local development. This is a welcome addition for teams that need encrypted connections for testing or compliance reasons.

Breaking Changes

Jest Preset Moved to New Package

In an effort to streamline dependencies, the Jest preset has been extracted from the main react-native package and moved to its own dedicated package: @react-native/jest-preset. Developers using Jest will need to update their configuration to import from this new package. The change reduces the footprint of the core package and makes version management more explicit.

Dropped Support for EOL Node.js Versions

React Native 0.85 ends support for Node.js versions that have reached end-of-life (EOL). Teams should ensure they are running a supported Node.js version (v18 or later recommended) to avoid compatibility issues.

StyleSheet.absoluteFillObject Removed

The StyleSheet.absoluteFillObject static property has been removed. Developers should use StyleSheet.absoluteFill directly instead. This change simplifies the API and aligns with modern React Native practices.

Other Breaking Changes

Additional breaking changes may affect specific usage patterns. We recommend reviewing the full React Native 0.85 release notes for a complete list.

React Native 0.85 represents a significant step forward in animation performance, developer tooling, and infrastructure. To upgrade, follow the standard upgrade guide. We look forward to seeing what you build with these new capabilities!

Recommended