Mobile Application Development

React Native 0.73 Debuts with Enhanced Debugging Tools Android 14 Support and the Launch of Bridgeless Mode

The React Native core team has officially announced the release of version 0.73, marking a significant milestone in the framework’s multi-year evolution toward a more robust and streamlined development environment. This update introduces a suite of improvements aimed at developer productivity, including a overhauled debugging experience, stable symlink support in the Metro bundler, and full compatibility with Android 14. Perhaps most notably, the release unveils "Bridgeless Mode," a critical pillar of the New Architecture that seeks to eliminate the legacy bridge system entirely, promising a more performant and modern foundation for cross-platform mobile applications.

A New Era of Debugging: Hermes and the Technical Preview

For years, debugging has been a point of friction for React Native developers, often requiring a complex dance between the Flipper desktop application, Chrome DevTools, and various proxy settings. In version 0.73, the React Native and Hermes teams have prioritized internalizing and simplifying this workflow.

One of the most immediate improvements is the introduction of Console Log History in Hermes. Historically, logs generated during the early stages of an app’s lifecycle—such as during initialization or the initial render—were lost if a debugger was not already connected. Under the new system, Hermes captures all console.log() calls in the background. When a developer connects a debugger, these stored logs are instantly transmitted to the Console tab. This behavior aligns React Native with the standard debugging experience found in modern web browsers, ensuring that critical boot-up errors or data states are never missed.

Furthermore, the release introduces a Technical Preview of a new, experimental JavaScript debugger. Designed to eventually replace Flipper as the default tool, this new debugger is built to open instantly and features a streamlined Chrome DevTools interface customized specifically for Hermes. This move signals a shift away from heavy, plugin-based debugging environments toward lightweight, purpose-built tools that interface directly with the engine.

Android 14 Support and the Shift to Kotlin

As mobile operating systems evolve, framework maintainers must keep pace with new security requirements and language paradigms. React Native 0.73 provides full support for Android 14 (API Level 34), codenamed "Upside Down Cake." This update allows developers to target the latest Android SDK, ensuring apps can leverage the newest platform features while remaining compliant with Google Play Store requirements.

React Native 0.73 - Debugging Improvements, Stable Symlink Support, and more

To support Android 14, the framework has upgraded its underlying build tools. The Android Gradle Plugin (AGP) has been moved from version 7.4.x to 8.1.x. This major version bump necessitates a transition to Java 17 as the minimum requirement for building Android applications. While this represents a breaking change for some legacy build environments, it brings React Native into alignment with the modern Android development ecosystem.

In a move that reflects broader industry trends, Kotlin is now the recommended language for Android apps built with React Native. The default project template has been rewritten from Java to Kotlin. The team reports that the new MainActivity.kt and MainApplication.kt files are approximately 36% smaller than their Java predecessors, offering a more concise and readable entry point for native logic. To assist developers with this transition, the React Native Upgrade Helper and Android Studio’s built-in conversion utilities have been optimized to handle the migration of existing .java files to .kt.

The New Architecture: Realizing Bridgeless Mode

Since the introduction of the New Architecture in version 0.68, the React Native community has been testing the New Renderer (Fabric) and the New Native Module System (TurboModules). However, even with these systems enabled, the "Bridge"—the asynchronous communication layer between JavaScript and Native code—remained active to ensure backward compatibility.

Version 0.73 introduces Bridgeless Mode as an experimental feature. This mode allows developers to disable the creation of the bridge entirely. By removing this legacy layer, the framework moves closer to a fully synchronous, JSI-based (JavaScript Interface) communication model, which reduces overhead and improves startup times.

To prevent the removal of the bridge from breaking existing ecosystems, the team is shipping a Native Module Interop Layer. This allows legacy modules to function within a Bridgeless environment, providing a bridge-like interface without the actual overhead of the old architecture. The Renderer Interop Layer, introduced in version 0.72, has also been updated to work seamlessly in Bridgeless Mode, ensuring that older UI components remain functional.

Metro Bundler and Stable Symlink Support

A long-standing request from developers working in monorepo environments (such as those using Yarn Workspaces, Lerna, or Nx) has been robust support for symlinks. In version 0.73, symlink support in the Metro bundler is now enabled by default.

React Native 0.73 - Debugging Improvements, Stable Symlink Support, and more

Previously, resolving dependencies that were symlinked from other parts of a monorepo required complex workarounds or third-party tools. The new implementation represents symlinks deeply within Metro’s internals, allowing them to work with "Fast Refresh" and incurring minimal performance overhead during the bundling process. This change significantly simplifies the configuration of shared codebases and improves the developer experience for large-scale enterprise projects.

Deprecations and the Path Forward

With the introduction of new tools comes the phased retirement of legacy features. React Native 0.73 marks the beginning of the end for the framework’s native integration with Flipper. The bootstrap code that wires up Flipper’s core plugins is now deprecated and is slated for removal in the next major release. While Flipper will remain available as a standalone tool for native debugging, it will no longer be a "batteries-included" part of the React Native core.

Similarly, "Remote JavaScript Debugging"—the legacy mode that runs JavaScript inside a web browser—is being deprecated. This mode was often criticized for causing inconsistent app behavior, as the JavaScript environment in a browser differs significantly from the Hermes or JSC environments on a mobile device. Developers are now encouraged to use Hermes for a consistent experience across all platforms, with Safari Developer Tools recommended for direct debugging of JavaScriptCore on iOS.

The release also marks a change in how TypeScript types are handled. Following the move to first-class TypeScript support in version 0.71, the @types/react-native package is being deprecated for version 0.73. Developers are advised to migrate to the types shipped directly with the react-native package to ensure the most accurate and up-to-date type definitions.

Timeline and Project Chronology

The journey to version 0.73 has been defined by a series of incremental updates designed to stabilize the New Architecture:

  • March 2022 (v0.68): Introduction of Fabric and TurboModules, the first public components of the New Architecture.
  • January 2023 (v0.71): TypeScript becomes the default for new projects, simplifying the developer setup.
  • June 2023 (v0.72): Introduction of the Renderer Interop Layer and initial experimental symlink support in Metro.
  • December 2023 (v0.73): Release of Bridgeless Mode and transition to Kotlin as the recommended Android language.

Looking ahead, version 0.73 will be the final release to support Android 5.0 (API Level 21). The upcoming version 0.74 will raise the minimum SDK requirement to Android 6.0 (API Level 23), allowing the framework to shed legacy compatibility code and further optimize performance.

React Native 0.73 - Debugging Improvements, Stable Symlink Support, and more

Industry Implications and Community Reaction

The release of 0.73 is seen by industry analysts as a move to solidify React Native’s position in a competitive landscape that includes Flutter and .NET MAUI. By focusing on debugging ergonomics and monorepo support, Meta is addressing the "quality of life" issues that often drive developers toward alternative frameworks.

The transition to Kotlin and the requirement for Java 17 reflect a broader push for modernization. While these changes require immediate effort from developers to upgrade their build pipelines, the long-term benefit is a more maintainable and secure codebase. The 36% reduction in boilerplate code for Android applications is a particularly strong selling point for developers who have historically found the native side of React Native to be overly verbose.

Community feedback from early adopters of the New Architecture has been instrumental in the development of Bridgeless Mode. Library maintainers, in particular, are now entering a critical period where they must ensure their packages are compatible with the Interop layers to support the eventual sunsetting of the bridge.

Conclusion

React Native 0.73 represents a comprehensive update that balances the immediate needs of developers—such as better debugging and Android 14 support—with the long-term structural goals of the New Architecture. With over 2,259 commits from 68 contributors, the release underscores the continued vitality of the React Native ecosystem. As Bridgeless Mode matures and the community migrates toward Kotlin and modern build tools, the framework is well-positioned to remain a dominant force in mobile app development for years to come. Developers are encouraged to use the React Native Upgrade Helper to navigate the breaking changes and take advantage of the performance and productivity gains offered in this latest stable version.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button
Lock It Soft
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.