You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: website/blog/2025-10-08-react-native-0.82.md
+20-18Lines changed: 20 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,9 +10,9 @@ import TabItem from '@theme/TabItem';
10
10
11
11
# **React Native 0.82 - New Architecture Only**
12
12
13
-
Today we're excited to release React Native 0.82: the first React Native release that removes the legacy architecture and runs entirely on the New Architecture.
13
+
Today we're excited to release React Native 0.82: the first React Native that runs entirely on the New Architecture.
14
14
15
-
This is a milestone release for React Native and we believe it's the start of a new era. In future versions we will be removing the remaining code from the legacy architecture to reduce install size and streamline the codebase.
15
+
This is a milestone release for React Native and we believe it's the start of a new era. In future versions we will be removing the remaining code from the Legacy Architecture to reduce install size and streamline the codebase.
16
16
17
17
In addition, 0.82 also ships with experimental opt-in to a newer version of Hermes called Hermes V1. We’re also enabling several React features by updating the React version to 19.1.1, and shipping support for DOM Node APIs.
18
18
@@ -37,19 +37,19 @@ This means that if you try to set `newArchEnabled=false` on Android, or if you t
37
37
38
38
### How to migrate
39
39
40
-
If you haven’t migrated your project to the New Architecture, we recommendation first migrating your project to React Native 0.81 or Expo SDK 54. These are the last versions that allow you to opt-in to the Legacy Architecture. They contain warning and performance improvements specifically to help migrating to the New Architecture.
40
+
If you haven’t migrated your project to the New Architecture, we recommend first migrating your project to React Native 0.81 or Expo SDK 54. These are the last versions that allow you to use the Legacy Architecture. They contain warnings and performance improvements specifically to help migrating to the New Architecture.
41
41
<br/> Then enable the New Architecture in 0.81 and verify that your application is working fine.
42
-
<br/> Once you're using the New Architecture in 0.81, you can update safely to React Native 0.82 which removes the legacy architecture.
42
+
<br/> Once you're using the New Architecture in 0.81, you can update safely to React Native 0.82 which prevents enabling the Legacy Architecture.
43
43
44
-
If an incompatible 3rd party dependency prevents you from migrating to the New Architecture, we recommend you reach out to the library maintainers directly.
44
+
If an incompatible 3rd party dependency is blocking you from migrating to the New Architecture, we recommend you reach out to the library maintainers directly.
45
45
46
-
If a bug in React Native core prevents you from migrating, we recommend you reach out to us [through our issue tracker](https://github.com/facebook/react-native/issues/new/choose).
46
+
If a bug in React Native core is blocking you from migrating, we recommend you reach out to us [through our issue tracker](https://github.com/facebook/react-native/issues/new/choose).
47
47
48
48
### Interop Layers & 3P library compatibility
49
49
50
-
We will keep the interop layers in the codebase for the foreseeable future. All the classes and functions that are required by the interop layers won’t be removed anytime soon. We will share further updates in the future regarding the removals of Interop Layers later on.
50
+
We will keep the interop layers in the codebase for the foreseeable future. All the classes and functions that are required by the interop layers won’t be removed anytime soon. We will share further updates in the future regarding the removals of Interop Layers.
51
51
52
-
We’ve also verified that the 3P libraries that offer backward compatibility with both old and New Architectures will keep on working with 0.82 where New Architecture is the only architecture.
52
+
We’ve also verified that the 3P libraries that offer backward compatibility with both legacy and New Architectures will keep on working with 0.82 where New Architecture is the only architecture.
53
53
54
54
### Removal of Legacy Architecture classes
55
55
@@ -61,28 +61,28 @@ You can find more information in [RFC0929: Removal of the Legacy Architecture of
61
61
62
62
React Native 0.82 adds support for opting into Hermes V1.
63
63
64
-
Hermes V1 is the next evolution of Hermes. We've been experimenting with it internally in our apps, and it is now time for the community to try it as well. It comes with improvements in the compiler and in the VM that boosts Hermes performance.
64
+
Hermes V1 is the next evolution of Hermes. We've been experimenting with it internally in our apps, and it is now time for the community to try it as well. It comes with improvements in the compiler and in the VM that boost Hermes performance.
65
65
66
-
From initial tests and benchmarks, Hermes V1 outperforms Legacy Hermes in various scenarios. We have seen improvements in bundle loading and TTI. The improvements strongly depend on the details of your apps.
66
+
From initial tests and benchmarks, Hermes V1 outperforms current Hermes in various scenarios. We have seen improvements in bundle loading and TTI. The improvements strongly depend on the details of your apps.
67
67
68
68
On the [Expensify app](https://github.com/Expensify/App), a real world and complex application, we have seen the following improvements:
69
69
| Metric | Android (low end device) | iOS |
70
70
| --- | --- | --- |
71
-
| Bundle Load Time | 3.16% faster | 9% faster |
72
-
| Total TTI | 7.62% faster | 2.5% faster |
73
-
| Content TTI | 7.19% faster | 7.5% faster |
71
+
| Bundle Load Time | 3.2% faster | 9% faster |
72
+
| Total TTI | 7.6% faster | 2.5% faster |
73
+
| Content TTI | 7.2% faster | 7.5% faster |
74
74
75
75
For Total TTI, we measured the time it takes from bundle loading to when the first screen in the app is rendered and it is interactive.
76
76
77
-
For Content TTI, we measured the time it takes for a component to be interactive from the first rendering of the component itself.
77
+
For Content TTI, we measured the time it takes for a component to be interactive, starting from the first rendering of the component itself.
78
78
79
79
Hermes V1 does not yet contain JS-to-native compilation (previously known as “Static Hermes”) or the JIT compilation that was [presented during React Native EU 2023](https://www.youtube.com/watch?v=q-xKYA0EO-c). We are still testing these features, and will share more as we make progress.
80
80
81
81
### How to enable Hermes V1
82
82
83
83
:::info
84
84
85
-
While Hermes V1 is in the experimental phase, in order to try it, you’ll need to build React Native from source. Once Hermes V1 ships as default in a future React Native version, this restriction will be lifted.
85
+
While Hermes V1 is in the experimental phase, you’ll need to build React Native from source to try it out. Once Hermes V1 ships as default in a future React Native version, this restriction will be lifted.
86
86
87
87
:::
88
88
@@ -128,12 +128,14 @@ To try Hermes V1 in your own project, use the following steps:
128
128
</TabItem>
129
129
</Tabs>
130
130
131
-
3. Enable Hermes V1 for iOS by installing pods with `RCT_HERMES_V1_ENABLED=1` environment variable. Keep in mind that Hermes V1 is not compatible with the precompiled React Native builds, so make sure you don’t use the `RCT_USE_PREBUILT_RNCORE` flag when installing pods:
131
+
3. Enable Hermes V1 for iOS by installing pods with `RCT_HERMES_V1_ENABLED=1` environment variable.
132
132
133
133
```sh
134
134
RCT_HERMES_V1_ENABLED=1 bundle exec pod install
135
135
```
136
136
137
+
Keep in mind that Hermes V1 is not compatible with the precompiled React Native builds, so make sure you don’t use the `RCT_USE_PREBUILT_RNCORE` flag when installing pods.
138
+
137
139
4. To verify whether the app is running Hermes V1, you could run the following in your JavaScript code or DevTools console:
138
140
139
141
```jsx
@@ -221,7 +223,7 @@ As most React Native developers won’t need to use the C++ debugger when develo
221
223
222
224
With `debugOptimized` your animations and re-rendering will be faster, because you’re running a React Native build with several C++ optimizations enabled. At the same time you will still be able to use React Native Dev Tools to debug your JavaScript code.
223
225
224
-
When using `debugOptimized`, you won’t be able to use the JVM or C++ native debuggers, but you will still be able to use them if you use the `debug` build type.
226
+
When using `debugOptimized`, you won’t be able to use the C++ native debuggers, but you will still be able to use it if you use the debug build type.
225
227
226
228
To run the `debugOptimized` variant for your app built with the Community CLI you can invoke:
227
229
@@ -310,7 +312,7 @@ To create a new project:
310
312
311
313
If you use Expo, React Native 0.82 will be available as part of the expo@canary releases.
312
314
313
-
The next stable SDK 55 will be shipped with the next stable release of React Native: 0.83.
315
+
The next SDK, SDK 55, will be shipped with the next stable release of React Native: 0.83.
0 commit comments