Skip to main content

Announcing React Native 0.68

· 4 min read
Lorenzo Sciandra
Lorenzo Sciandra
Senior Software Engineer at Microsoft
Andrei Shikov
Andrei Shikov
Software Engineer at Meta

Hello everyone! Today we are announcing the 0.68.0 release of React Native, with opt-in to the New React Native Architecture, bug fixes and more.

Sections

Highlights of 0.68

Andrei Calazans helped us selecting the most relevant changes that 0.68 brings along:

Breaking changes and version bumps

This version brings along a few breaking changes:

  • React Native has been updated to Node 16, the latest LTS. Since on CI we test for LTS and the previous LTS, this change means that users are now required to use a version of Node >= 14.
  • Android Gradle Plugin was updated to 7.0.1, enforcing JDK 11 for Android builds, so make sure to upgrade your configurations (we recommend you use the zulu11 JDK flavor for both Intel and M1 Macs)
  • Removed fallbackResource from RCTBundleURLProvider API on iOS. This parameter can be safely removed from the method call without replacement.

Tooling has also been updated - here are the main bumps:

  • @react-native-community/cli to 7.0.3
  • Metro to 0.67
  • react-devtools-core dependency to 4.23.0
  • Flipper to 0.125.0
  • react-native-codegen to 0.0.9
  • Kotlin to 1.6.10
  • Soloader to 0.10.3
  • Gradle to 7.3
  • Android compile and target SDK to 31

Also, thanks to this commit by Nicola Corti the Android Gradle Plugin will download the default version of NDK by itself, so you don’t have to specify and install it separately anymore.

Other improvements

There are a lot of other changes and fixes landed in this release, but here’s a small selection that you might be interested in:

If you are interested in the full list of changes, you can read it in the changelog at the link here.

Acknowledgements

This release includes 614 commits by 68 contributors! Thank you all!

We wanted to also thank the release testers and supporters who helped us catch regressions before the stable 0.68.0 release: you are incredibly valuable to the success of this release!

If you, your app or your company is interested in joining the “Release Tester” program, you can sign up here.

Opting in to the New Architecture

As briefly mentioned above, React Native 0.68 is the first version with opt-in support for the Fabric Renderer and the TurboModule system. This marks a crucial milestone for the rollout of the New React Native Architecture. To help you get up to speed with the changes, we added the Architecture section to the website, where you can find several in-depth guides about internals of the new systems.

At the same time, we added the migration guide to the documentation and launched a working group dedicated to the New Architecture. You can find more information, including how to opt in, in the previous blog post.

Please note that the New Architecture still needs some fine tuning. Some of the third-party libraries that you depend on might not be migrated yet, and you may encounter issues that we haven’t discovered yet. If you do so, please report them to our New Architecture Working Group.

About React 18: React 18's new rendering engine is not supported by React Native 0.68, this will happen in a future version. This is because React 18 relies on the New Architecture to benefit from the new capabilities presented in the React 18 announcement blog post. For more information, see the React Conf keynote here.

Website updates

Along with improvements to the main codebase, with the help of Simek, Megatron4537 and slorber there have been quite a few improvements landing on the website too! In particular, you will now be able to learn how to contribute to React Native via the new section in the top toolbar. Moreover, the “Contributing” section and the new “Architecture” section are now unversioned — there is now only one copy of these sections, rather than one for each React Native version.