Component
Upgrade Formulus from RN 0.83 -> RN 0.86 (or 0.87)
Problem Statement
We are slowly getting a bit dated on React Native version 0.83...
- RN 0.84: Hermes V1 by default. This brings runtime performance improvements. It also uses precompiled React Native binaries on iOS, which can significantly reduce clean iOS build times. Legacy Architecture code is removed from normal iOS builds, reducing build time and potentially app size.
- RN 0.85: better animations. A new shared animation backend improves the infrastructure underneath both Animated and Reanimated. Native-driver animations can now animate layout properties, and Reanimated can take advantage of improvements that weren't previously possible.
- RN 0.86: improved Android edge-to-edge support, particularly Android 15+, plus DevTools improvements and assorted rendering/Yoga fixes. Importantly, 0.86 has no user-facing breaking changes relative to 0.85.
- RN 0.87: much better TypeScript API guarantees. The Strict TypeScript API is now the default. Types are generated directly from RN's source rather than separately maintained definitions, which should reduce cases where TypeScript says one thing while RN actually does another.
- RN 0.87: faster Metro. React Native says source-map generation is about 2× faster and Metro uses about half the memory for source-map storage. It also has stable TypeScript/ESM Metro configs.
- Keeping up with the ecosystem. This may actually be the biggest practical reason. React Native libraries increasingly test against newer RN releases. Staying on 0.83 eventually makes upgrades of Reanimated, screens, navigation, native modules, Android/iOS tooling, etc. increasingly awkward.
Planning
Maybe a target for v1.4.0?
Component
Upgrade Formulus from RN 0.83 -> RN 0.86 (or 0.87)
Problem Statement
We are slowly getting a bit dated on React Native version 0.83...
Planning
Maybe a target for v1.4.0?