Mobile Development

React Native 0.85 Officially Released With a New Animation Backend and Native TLS Support for Metro

The core development team behind React Native has officially announced the rollout of version 0.85, introducing a series of monumental architectural upgrades, developer experience enhancements, and long-overdue dependency pruning. Built on the back of more than 604 commits contributed by 58 independent developers from across the global ecosystem, this latest stable release marks a significant milestone in mobile application development performance. Among the most notable updates in React Native 0.85 are the debut of the Shared Animation Backend developed in close collaboration with Software Mansion, native Transport Layer Security (TLS) support for the Metro development server, and the extraction of the Jest testing suite into a standalone package.

Chronology and Release Lifecycle

The release of React Native 0.85 follows the standardized open-source release cycle maintained by Meta and the React Native working group. Following the deprecation schedule, version 0.85 immediately steps in as the latest stable release, while version 0.82.x officially transitions into unsupported status in accordance with the project’s official support lifecycle guidelines.

Development on the 0.85 branch began months prior, emphasizing foundational stability, core code cleanup, and bridging performance gaps between standard Animated APIs and advanced gesture-driven libraries like Reanimated. Experimental channels for select features, such as the upcoming patch release 0.85.1, are slated to deliver immediate experimental availability for cutting-edge capabilities, giving early adopters a chance to stress-test high-performance use cases before widespread production integration.

The Shared Animation Backend: Unlocking Native Layout Animations

Arguably the most technically demanding and impactful feature of the 0.85 release is the introduction of the Shared Animation Backend. Engineered in a joint effort with Software Mansion—a prominent software agency renowned for deep-dive React Native tooling—this internal engine completely redefines how layout and property updates are processed under the hood.

Historically, developers utilizing the standard Animated library faced frustrating limitations regarding which properties could be driven natively. Specifically, layout properties such as width, height, and flexbox parameters often required running updates on the JavaScript thread, leading to potential dropped frames and jank during rapid UI transitions. With the new Shared Animation Backend, the main animation update logic is shifted directly into the React Native core.

This architectural shift benefits both the native Animated library and third-party powerhouses like Reanimated. By unifying the reconciliation process at the core level, libraries can now guarantee long-term stability across future React Native iterations while unlocking performance ceilings that were previously unattainable. Most notably, developers can now animate layout and position props utilizing the native driver via the standard Animated API, entirely removing historical caveats.

To help developers transition, the core team has published comprehensive example suites within the react-native/packages/rn-tester/js/examples/AnimationBackend/ repository directory. Although the backend is integrated into 0.85, teams wishing to opt into the experimental feature set are directed to leverage upcoming patch releases such as 0.85.1.

Metro TLS Support and Developer Tooling Upgrades

In addition to runtime rendering enhancements, React Native 0.85 targets friction points within the local development loop. Chief among these is the addition of native TLS configuration support within the Metro JavaScript bundler.

Previously, testing applications against local backend APIs that enforced strict secure connections often required complex proxy setups, self-signed certificate workarounds, or disabling SSL verification entirely—practices that introduced severe security vulnerabilities during development. With version 0.85, the Metro development server can now accept a standard TLS configuration object directly within the metro.config.js file. By specifying certificate authority (ca), certificate (cert), and private key (key) paths, developers can seamlessly enable HTTPS for their Metro server and WebSocket Secure (WSS) connections for features like Fast Refresh.

The React Native community has widely recommended pairing this native Metro update with tools like mkcert, allowing developers to generate locally trusted certificates that bypass annoying browser and operating system security warnings without compromising the integrity of secure API testing environments.

React Native 0.85 - New Animation Backend, New Jest Preset Package

Furthermore, React Native DevTools received a polish pass in version 0.85, introducing native tab layouts on operating systems like macOS to streamline debugging workflows, inspect element hierarchies, and monitor network traffic with heightened visual clarity.

Breaking Changes, Dependency Pruning, and Ecosystem Hygiene

As part of its ongoing mission to modernize the codebase, trim superfluous overhead, and improve startup times, React Native 0.85 implements several high-impact breaking changes. Teams upgrading from older versions must account for these modifications to prevent build failures.

Extraction of the Jest Testing Preset

In an effort to keep the core react-native package lightweight and modular, the long-standing built-in Jest preset has been completely extracted. It now lives as a dedicated, version-controlled package under @react-native/jest-preset. For existing applications, updating the testing configuration requires a simple one-line modification in the project’s jest.config.js file, shifting the preset property from 'react-native' to '@react-native/jest-preset'. This decoupling allows the testing framework configurations to evolve independently of the main React Native release cycle.

Dropped Support for End-of-Life Node.js Versions

Aligning with modern JavaScript ecosystem standards, React Native 0.85 officially drops support for end-of-life (EOL) Node.js environments and any releases preceding v20.19.4. Enterprise engineering teams running legacy server-side or local build environments must audit their toolchains to ensure compliance with these updated runtime requirements before initiating the upgrade process.

Removal of Deprecated APIs

The legacy and deprecated StyleSheet.absoluteFillObject API has been completely purged from the codebase. Developers are instructed to migrate codebase references to StyleSheet.absoluteFill or explicitly define custom absolute positioning style objects to maintain layout consistency.

Broader Impact and Industry Implications

The release of React Native 0.85 arrives at a time when cross-platform mobile frameworks are increasingly judged by their ability to match the raw performance and fluidity of fully native applications. By modernizing the animation pipeline through the Shared Animation Backend and partnering closely with ecosystem contributors like Software Mansion, Meta demonstrates a continued commitment to solving complex rendering bottlenecks.

The decision to streamline core dependencies—such as extracting the Jest preset and dropping aging Node.js runtimes—reflects a mature engineering philosophy. By shedding technical debt, the framework reduces installation footprints, speeds up continuous integration (CI) pipeline execution times, and simplifies long-term maintenance for large-scale enterprise applications.

Upgrading to React Native 0.85

For existing projects, upgrading to the latest stable release requires careful planning. Developers are strongly encouraged to utilize the official React Native Upgrade Helper web utility to visually inspect diffs between their current version and 0.85, alongside reviewing the comprehensive upgrading documentation.

For developers initiating brand-new projects, the latest CLI can be invoked using the following command:

npx @react-native-community/cli@latest init MyProject --version latest

Meanwhile, teams leveraging the Expo ecosystem can anticipate React Native 0.85 integration in the upcoming Expo SDK 56 release, ensuring a smooth, managed upgrade path for teams utilizing higher-level abstractions.

Related Articles

Back to top button