Skip to content

Commit 1c3d571

Browse files
committed
Review feedback
1 parent 9584aca commit 1c3d571

1 file changed

Lines changed: 47 additions & 8 deletions

File tree

website/blog/2026-02-11-react-native-0.84.md

Lines changed: 47 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ import TabItem from '@theme/TabItem';
1212

1313
Today we're excited to release React Native 0.84!
1414

15-
This release makes Hermes V1 the default JavaScript engine, bringing significant performance improvements to all React Native apps. We've also removed the Legacy Architecture on iOS and are shipping precompiled iOS binaries by default.
15+
This release makes Hermes V1 the default JavaScript engine, bringing significant performance improvements to all React Native apps. We've also continued removing the Legacy Architecture on both iOS and Android, and are shipping precompiled iOS binaries by default.
1616

1717
### Highlights
1818

1919
- [Hermes V1 as Default](/blog/2026/02/11/react-native-0.84#hermes-v1-as-default)
2020
- [Precompiled Binaries on iOS by Default](/blog/2026/02/11/react-native-0.84#precompiled-binaries-on-ios-by-default)
21-
- [Legacy Architecture Removed on iOS](/blog/2026/02/11/react-native-0.84#legacy-architecture-removed-on-ios)
21+
- [Legacy Architecture Components Removed](/blog/2026/02/11/react-native-0.84#legacy-architecture-components-removed)
2222
- [Node.js 22 Minimum](/blog/2026/02/11/react-native-0.84#nodejs-22-minimum)
2323

2424
<!--truncate-->
@@ -79,12 +79,53 @@ This means you no longer need to compile React Native core from source every tim
7979
If you need to build React Native from source (for example, to opt out of Hermes V1), you can disable precompiled binaries by setting `RCT_USE_PREBUILT_RNCORE=0` when installing pods.
8080
:::
8181

82-
## Legacy Architecture Removed on iOS
82+
## Legacy Architecture Components Removed
8383

84-
Building on the work started in 0.82 (which made the New Architecture the only runtime option), React Native 0.84 now **removes the Legacy Architecture code from iOS builds by default**.
84+
Building on the work started in 0.82 (which made the New Architecture the only runtime option), React Native 0.84 continues removing Legacy Architecture code from both iOS and Android. As described in the [RFC](https://github.com/react-native-community/discussions-and-proposals/pull/929), we're removing several Legacy Architecture classes in each release.
85+
86+
#### iOS
8587

8688
In 0.83, we introduced the experimental `RCT_REMOVE_LEGACY_ARCH` flag to compile out Legacy Architecture code. In 0.84, this is now the default behaviour — Legacy Architecture code is no longer included in your iOS builds, reducing both build time and app size.
8789

90+
No breakages are expected for apps already on the New Architecture — the Interop Layer code required for compatibility remains in place.
91+
92+
<details>
93+
<summary><strong>Re-enabling Legacy Architecture code on iOS</strong></summary>
94+
95+
If you need to re-enable Legacy Architecture code in your iOS builds, you'll need to build from source. Install CocoaPods dependencies with the following flags:
96+
97+
```bash
98+
RCT_USE_PREBUILT_RNCORE=0 RCT_REMOVE_LEGACY_ARCH=0 bundle exec pod install
99+
```
100+
101+
</details>
102+
103+
#### Android
104+
105+
<details>
106+
<summary><strong>Removed Legacy Architecture classes</strong></summary>
107+
108+
The following classes have been removed in this release:
109+
110+
```
111+
com.facebook.react.LazyReactPackage
112+
com.facebook.react.bridge.CxxModuleWrapper
113+
com.facebook.react.bridge.CxxModuleWrapperBase
114+
com.facebook.react.bridge.CallbackImpl
115+
com.facebook.react.bridge.NotThreadSafeBridgeIdleDebugListener
116+
com.facebook.react.bridge.OnBatchCompleteListener
117+
com.facebook.react.bridge.ReactCxxErrorHandler
118+
com.facebook.react.bridge.ReactInstanceManagerInspectorTarget
119+
com.facebook.react.modules.debug.DidJSUpdateUiDuringFrameDetector
120+
com.facebook.react.devsupport.BridgeDevSupportManager
121+
com.facebook.react.uimanager.NativeKind
122+
com.facebook.react.uimanager.debug.NotThreadSafeViewHierarchyUpdateDebugListener
123+
com.facebook.react.uimanager.layoutanimation.LayoutAnimationController
124+
com.facebook.react.uimanager.layoutanimation.LayoutAnimationListener
125+
```
126+
127+
</details>
128+
88129
## Node.js 22 Minimum
89130

90131
React Native 0.84 requires **Node.js v22.11 or later**. This bump improves the availability of modern JavaScript features across the ecosystem of React Native tooling.
@@ -150,10 +191,8 @@ React Native 0.84 contains over 650 commits from 95 contributors. Thank you for
150191

151192
We want to send a special thank you to those who shipped significant contributions in this release:
152193

153-
- [Riccardo Cipolleschi](https://github.com/cipolleschi) for shipping precompiled iOS binaries by default and removing the Legacy Architecture on iOS.
154-
- [Dawid Małecki](https://github.com/coado) for the Hermes V1 rollout.
155-
- [Christian Falch](https://github.com/chrfalch) for precompiled binary documentation and tooling.
156-
- [Rob Hogan](https://github.com/robhogan) for the Node.js 22 minimum version bump.
194+
- [Riccardo Cipolleschi](https://github.com/cipolleschi) for precompiled iOS binaries by default and removing the Legacy Architecture on iOS.
195+
- [Rob Hogan](https://github.com/robhogan) for the Node.js 22 version bump.
157196
- [Fabrizio Cucci](https://github.com/fabriziocucci) for accessibility improvements on Android.
158197
- [@pipopotamasu](https://github.com/pipopotamasu) for ESLint v9 Flat Config support.
159198

0 commit comments

Comments
 (0)