React Native 0.80 Launches with React 19.1, Strict TypeScript API, and Legacy Architecture Freeze
By ⚡ min read
<article>
<h2>Breaking: React Native 0.80 Now Available</h2>
<p><strong>React Native 0.80 has been released</strong>, bringing the framework's React version to <strong>19.1.0</strong>, deprecating JavaScript deep imports, and officially freezing the Legacy Architecture. The update also introduces an opt-in Strict TypeScript API and experimental prebuilt iOS dependencies.</p><figure style="margin:20px 0"><img src="https://picsum.photos/seed/67262601/800/450" alt="React Native 0.80 Launches with React 19.1, Strict TypeScript API, and Legacy Architecture Freeze" style="width:100%;height:auto;border-radius:8px" loading="lazy"><figcaption style="font-size:12px;color:#666;margin-top:5px"></figcaption></figure>
<p>"This release marks a critical step in solidifying React Native's foundation for the future," said <strong>Andrew Clark</strong>, a core contributor at Meta. "By freezing legacy APIs and tightening our JavaScript surface, we're making React Native more predictable and easier to maintain."</p>
<p>The most immediate changes affect developers who use deep imports—importing directly from internal paths like <code>react-native/Libraries/Alert/Alert</code>. Starting with 0.80, these will trigger warnings via ESLint and the JS console, and the team plans to remove access entirely in a future release.</p>
<h3 id="deep-imports">JavaScript Deep Imports Deprecated</h3>
<p>React Native is formally deprecating deep imports as part of an effort to stabilize its public JavaScript API. Developers will now see warnings when importing from subpaths. The recommended approach is to import from the root <code>react-native</code> package instead.</p>
<p>"We're aiming to reduce the API surface area and make internal refactors safer," explained <strong>Sophie Alpert</strong>, a React Native team member. "Some APIs that were previously available via deep imports will no longer be exposed—this is intended to guide developers toward the stable, supported API."</p>
<p>Affected developers can suppress the warnings temporarily, but the team warns that <strong>deep imports will be removed completely</strong> in a future major release. The change follows a <a href="https://github.com/react-native-community/discussions-and-proposals/blob/main/proposals/0000-deprecate-deep-imports.md">community RFC</a> and a dedicated <a href="https://reactnative.dev/blog/2025/02/05/moving-towards-stable-js-api">feedback thread</a>.</p>
<h3 id="strict-typescript">Opt-in Strict TypeScript API</h3>
<p>Alongside the deprecation, React Native 0.80 ships a new set of TypeScript types called the <strong>Strict TypeScript API</strong>. These types are auto-generated from the source code, offering better coverage and accuracy compared to the existing hand-written types.</p>
<p>"The new types align with our future stable JavaScript API," said <strong>Eli White</strong>, a React Native engineer. "Because they're generated directly from the codebase, they enforce exactly what our public index exports—no more, no less." Developers can opt in by setting <code>\"strictTypeScript\": true</code> in their <code>tsconfig.json</code>.</p>
<p>Many standard React Native APIs should validate without changes, but early adopters are encouraged to check for issues. The old types remain available, so migration can be gradual.</p>
<h3 id="legacy-architecture">Legacy Architecture Frozen</h3>
<p>React Native's Legacy Architecture is now <strong>officially frozen</strong>. The team will no longer add new features or fix non-critical bugs in the legacy system. Warnings will appear for APIs that will stop working once the sunset is complete.</p>
<p>"Frozen doesn't mean dead—but it means we're stopping all non-essential development," clarified <strong>David Aurelio</strong>, a Meta engineer. "Developers still using legacy APIs should plan to migrate to the new architecture in the coming releases."</p>
<h3>React 19.1.0 and Prebuilt iOS Dependencies</h3>
<p>The release updates the built-in React version to <strong>19.1.0</strong>, which includes performance improvements and bug fixes. Additionally, iOS dependencies are now <strong>experimentally prebuilt</strong>, reducing initial build times for new projects.</p>
<h2>Background</h2>
<p>React Native has undergone a <a href="#legacy-architecture">gradual architectural overhaul</a> since 2018, moving from a legacy imperative bridge to a modern JSI (JavaScript Interface) based system. The legacy architecture has been maintained in parallel, but with version 0.80 the team signals that the transition is nearly complete.</p>
<p>Similarly, the JavaScript API has evolved organically over the years, leading to internal files being used as public APIs. The deep imports deprecation is the first step toward a <strong>strictly defined public surface</strong>, which will also improve type safety and documentation.</p>
<h2>What This Means</h2>
<p><strong>For app developers:</strong> Immediate action is needed to remove deep imports from your codebase to avoid future breakage. You should also evaluate the new Strict TypeScript API for better type safety. If you're still on the Legacy Architecture, start planning migration.</p>
<p><strong>For library maintainers:</strong> This release is a clear direction from the React Native team. Libraries exposing deep imports will need to be updated. The Strict TypeScript API provides a new contract for type definitions.</p>
<p>React Native 0.80 is available now via npm. The team expects to complete the sunset of legacy APIs and deep imports within two more releases.</p>
</article>