React Native 0.85 Unveils Shared Animation Backend and Performance-Driven Architecture Overhauls

The React Native core team, in a collaborative effort with Software Mansion, has officially released version 0.85, marking a significant milestone in the framework’s evolution toward a more unified and performant mobile development ecosystem. This release introduces a groundbreaking Shared Animation Backend, modularizes critical testing infrastructure, and enforces modern security standards through enhanced Metro server capabilities. With over 604 commits from 58 contributors, version 0.85 represents a concerted effort to streamline the developer experience while bridging the gap between the legacy Animated API and modern performance requirements.
The Evolution of the Shared Animation Backend
At the heart of the 0.85 release is the introduction of the Shared Animation Backend. For years, React Native developers have navigated a fragmented landscape regarding animations, often choosing between the built-in Animated API and the community-standard Reanimated library. While Reanimated offered superior performance by running animations on the UI thread, the core Animated API was frequently limited by its reliance on the JavaScript bridge for layout-related properties.
The new Shared Animation Backend, developed alongside the experts at Software Mansion, fundamentally changes this dynamic. By integrating the core animation update logic directly into the React Native engine, the framework now provides a unified foundation for both Animated and Reanimated. This architectural shift allows Reanimated to achieve performance optimizations that were previously inaccessible due to engine-level constraints. Furthermore, it ensures that the update reconciliation process is standardized, offering greater stability and predictable behavior across future React Native updates.
One of the most tangible benefits for developers is the expanded capability of the native driver within the core Animated API. Historically, the native driver was restricted to non-layout properties such as opacity and transforms. Attempting to animate layout properties like width, height, or flexbox settings required the JavaScript thread to intervene, often resulting in dropped frames and sluggish UI performance. With version 0.85, these limitations are being dismantled. Developers can now animate Flexbox and position properties using the native driver, ensuring that complex layout transitions remain fluid even when the JavaScript thread is under heavy load.
Technical Implementation and Experimental Access
While the Shared Animation Backend is a core highlight, it is currently categorized as an experimental feature. The React Native team has indicated that the full suite of these capabilities will be accessible starting from version 0.85.1, which is slated for release in the immediate future. To utilize these features, developers must opt into the experimental release channel.
The implementation of layout animations via the native driver is straightforward. By utilizing the useAnimatedValue hook and setting useNativeDriver: true within animation configurations, developers can target properties that were previously off-limits. For instance, a simple expansion animation for a container’s width can now be offloaded entirely to the native UI thread, a feat that once required complex workarounds or external dependencies.
Security Enhancements and Metro TLS Support
Recognizing the increasing demand for secure development environments, React Native 0.85 introduces Transport Layer Security (TLS) support for the Metro development server. This update allows Metro to accept a TLS configuration object, enabling HTTPS and WSS (Web Socket Secure) protocols during the development phase.
The move toward TLS support is a response to modern web and mobile security standards. Many third-party APIs and browser-based debugging tools now enforce secure connections, creating friction for developers working on local environments. By configuring the metro.config.js file with local certificates, developers can now test secure API integrations and Fast Refresh functionality without triggering browser warnings or security exceptions. The React Native team recommends tools like mkcert for generating locally-trusted certificates, further simplifying the setup for developers who prioritize security from the outset of a project.
DevTools and Developer Experience Refinements
The developer experience (DX) remains a focal point for the 0.85 release cycle. React Native DevTools have received several quality-of-life improvements, particularly for those working on macOS. The introduction of native tabs within the DevTools interface provides a more integrated feel, aligning the toolset with the operating system’s native aesthetics and functional paradigms. These refinements are part of a broader initiative to reduce the friction of debugging and to provide developers with a more intuitive view of their application’s internal state and performance metrics.
Breaking Changes and Infrastructure Modularization
As React Native matures, the core team continues to "lean out" the main package by moving specialized tools into dedicated packages. In version 0.85, the Jest preset—a staple for testing React Native applications—has been moved from the react-native package to @react-native/jest-preset.

This change serves two primary purposes: it reduces the footprint of the core library and grants the testing infrastructure its own release cycle and versioning logic. For developers, the migration is a simple one-line update in their jest.config.js file, but the long-term impact is a more modular and flexible project structure.
Furthermore, version 0.85 enforces a higher baseline for the development environment. Support for end-of-life (EOL) Node.js versions has been officially dropped. Projects must now run on Node.js version 20.19.4 or later. This ensures that React Native can leverage the performance improvements and security patches present in modern Node.js releases, while also simplifying the maintenance burden for the core team.
In terms of API cleanup, the deprecated StyleSheet.absoluteFillObject has been removed. This API was redundant, as StyleSheet.absoluteFill provides the same functionality. Developers are encouraged to update their stylesheets to use the latter, adhering to the current best practices for absolute positioning in React Native layouts.
Chronology and Support Policy
The release of 0.85 shifts the React Native support window. As per the official support policy, 0.85 is now the latest stable version, while version 0.82.x moves into the "unsupported" category. This rolling support window encourages the community to stay updated with the latest security patches and performance improvements.
For the broader ecosystem, the timing of this release is critical. Expo, one of the most popular platforms for building React Native apps, has confirmed that its upcoming SDK 56 will be built upon React Native 0.85. This alignment ensures that developers using the Expo managed workflow will soon have access to the Shared Animation Backend and the other infrastructure improvements introduced in this release.
Analysis of Implications for the Mobile Industry
The 0.85 release is more than just a collection of features; it is a signal of React Native’s long-term architectural direction. By unifying animation logic and moving toward a "New Architecture" by default, React Native is positioning itself to compete more aggressively with native development and other cross-platform frameworks like Flutter.
The collaboration with Software Mansion is particularly noteworthy. It demonstrates a healthy synergy between the core maintainers (Meta) and the wider community of expert contributors. This partnership model allows the framework to evolve more rapidly by tapping into specialized expertise, particularly in high-performance areas like graphics and animations.
The removal of layout animation restrictions on the native driver is a significant win for app performance. In an era where user expectations for fluid interfaces are at an all-time high, reducing the dependence on the JavaScript thread for UI updates is essential. This change will likely lead to a new wave of highly interactive and visually polished React Native applications that feel indistinguishable from their fully native counterparts.
Upgrade Path and Community Acknowledgments
The React Native team encourages all developers to utilize the React Native Upgrade Helper when transitioning to version 0.85. This tool provides a clear diff of changes between versions, allowing for a more controlled and less error-prone migration process. For those starting fresh, the latest CLI can be used to initialize projects directly with version 0.85.
The release notes conclude with a strong emphasis on community contribution. The 604 commits represent a diverse range of improvements, from minor bug fixes to major architectural shifts. This collaborative spirit remains the backbone of React Native, ensuring that it remains a cutting-edge tool for mobile developers worldwide. As the framework moves closer to its version 1.0 milestone, releases like 0.85 provide the stability and performance foundation necessary for the next generation of mobile innovation.







