React Native v0.71 released

React Native 0.71.0 brings significant updates and improvements. Key changes include the removal of AsyncStorage and MaskedViewIOS, updates to console logging behavior, and the addition of new features like flex gap support and custom layout for children. The release also includes numerous bug fixes and performance enhancements for both Android and iOS platforms.

The update focuses on improving developer experience and app performance. It introduces new APIs, enhances existing components, and addresses various issues reported by the community. The changes aim to provide more flexibility and better cross-platform consistency for React Native developers.


v0.71 on GitHub (npm)


Release blog post


Changelog


v0.71.19

Added

iOS Specific

Changed

iOS Specific

  • Bumped hermes to remove Apple's RR API that were unused. Hermes does not requires a PrivacyManifest now. (d8d096d995 by @cipolleschi)

v0.71.18

Fixed

iOS specific

v0.71.17

Security

v0.71.16

Changed

Android specific

  • Cherry-picking 'Call super.onRequestPermissionsResult in ReactActivity (#42478)' onto 0.71 (8593306b34 by @LimAlbert)

Fixed

iOS specific

v0.71.15

Fixed

Android specific

iOS specific

Changed

v0.71.14

Fixed

iOS specific

v0.71.13

Added

Android specific

  • For targeting SDK 34 - Added RECEIVER_EXPORTED/RECEIVER_NOT_EXPORTED flag support in DevSupportManagerBase (177d97d8ea by @apuruni)

iOS specific

Fixed

  • Fix: mount devtools overlay only if react devtools are connected (b3c7a5d4cc by @hoxyq)

iOS specific

  • Fix onChangeText not firing when clearing the value of TextInput with multiline=true on iOS (0c9c57a9f7 by @kkoudev)

v0.71.12

Fixed

Android specific

iOS specific

v0.71.11

Changed

iOS specific

Fixed

Android specific

  • Fixed crash occurring in certain native views when handling keyboard events. (f7e35d4ef7 by @aleqsio)
  • Prevent crash on OnePlus/Oppo devices in runAnimationStep (f2c05142 by @hsource)
  • Revert "fix: border width top/bottom not matching the border radius" to fix border styling issues (fd8a19d by @kelset)

iOS specific

  • Make 0.71 compatible with Xcode 15 (thanks to @AlexanderEggers for the commit in main) (5bd1a4256e by @kelset)

v0.71.10

Fixed

Android specific

v0.71.9

Fixed

v0.71.8

Fixed

Android specific

iOS specific

v0.71.7

Fixed

iOS specific

Android specific

v0.71.6

Fixed

iOS specific

v0.71.5

Changed

  • Bump CLI to 10.2.2 and Metro to 0.73.9 (4c3bc24893 by @kelset), contains:
    • CLI fix: correctly list ios devices and simulators (relevant PR)
    • Metro fix: fix watching contents of new directories in NodeWatcher (ab86982 by @robhogan)

Android specific

iOS specific

Fixed

Android specific

iOS specific

  • Give precedence to textContentType property for backwards compat as mentioned in https://github.com/facebook/react-native/issues/36229#issuecomment-1470468374 (c0abff11b6 by @lunaleaps)
  • Blob data is no longer prematurely deallocated when using blob.slice (36cc71ab36 by @awinograd)

v0.71.4

Changed

  • Make FlatList permissive of ArrayLike data (c03de97fb4 by @NickGerleman)
  • Bumping RNGP to ^0.71.16 (3df4a79c3d by @kelset)
  • Update CLI to 10.2.0, Metro to 0.73.8 (20a6fbd373 by @robhogan) - contains:
    • fix: Source maps may have invalid entries when using Terser minification. ((metro/#928)[https://github.com/facebook/metro/pull/928])
    • fix: Mitigate potential source map mismatches with concurrent transformations due to terser#1341. ((metro/#929)[https://github.com/facebook/metro/pull/929])
  • Bump Hermes Version (291cc0af10) - contains:
    • use ConsecutiveStringStorage to dedup serialized literals (62d58e)
    • Remove register stack size override in hermes.cpp (6146eb)
    • fix: specify currency in locale identifier when formatting currency plural (21f15c)
    • Increase default max stack size (ee2588)
    • Refactor HBC test helper (31fdcf)

Android specific

Fixed

Android specific

v0.71.3

Changed

Fixed

  • (codegen) Add missing C++ include for prop conversion of complex array type (92fc32aa by @rshest)

Android specific

iOS specific

v0.71.2

Added

Changed

  • Bump react-native-gradle-plugin to ^0.71.14 in core, @react-native-community/eslint-config to ^3.2.0 in starting template (785bc8d97b by @kelset)

Fixed

Android specific

iOS specific

v0.71.1

Added

Android specific

iOS specific

Changed

Fixed

  • Fix(cli,metro,babel): bump cli and metro and babel to fix Windows+Metro issue (df7c92ff4c by @kelset)

Android specific

iOS specific

  • Exclude react-native-flipper when NO_FLIPPER=1 to prevent iOS build fail (f47b5b8b5d by @retyui)
  • Fix RCTAlertController not showing when using SceneDelegate on iOS 13.0+. (0c53420a7a)
  • Handle Null Exception to Validate input in RCTAlertController and in RCTDevLoadingView (79e603c5ab by @admirsaheta)
  • Fixed the potential race condition when dismissing and presentating modal (e948c79bda by @wood1986)
  • Fix build errors when inheriting RCTAppDelegate in Swift modules (5eb25d2186 by @Kudo)
  • OnSelectionChange() is fired before onChange() on multiline TextInput (64475aeb3b by @s77rt)
  • Build: remove deprecated File.exists() method from Hermes podspec. (38e5fa6a96 by @kelset)

v0.71.0

Read the announcement blogpost here.

⚠️ Git Bash users on Windows might experience "Unable to resolve" red boxes, because of an issue with Metro (silently fails without discovering any files). It will be fixed in 0.71.1 next week, in the meantime you can set resolver.useWatchman: false in metro.config.js.

Breaking Changes

  • Changes to Console Logging: LogBox.ignoreLog no longer filters console logs. This means you will start seeing logs in the console that you have silenced in LogBox. See this comment for more details.
  • Removed AsyncStorage and MaskedViewIOS: These components have been deprecated since version 0.59, so it’s time we remove them entirely. For alternatives, please check React Native Directory for community packages that cover those use cases.
  • JSCRuntime moved to react-jsc: react-jsi is now split into react-jsc and react-jsi. If you use JSCRuntime, you will need to add react-jsc as a dependency (facebook/react-native@6b129d8).

Added

Android specific

iOS specific

Changed

Android specific

iOS specific

Removed

Android specific

iOS specific

Fixed

Android specific

iOS specific

Security