React Native v0.73 released

React Native 0.73 brings significant improvements and bug fixes across platforms. Key updates include enhanced TypeScript support, improved performance for animations and scrolling, and better accessibility features. The release also addresses various issues on Android and iOS, such as UI freezing, memory management, and layout calculations. Developer tools and error reporting have been refined, and several deprecated APIs have been removed to streamline the codebase.


v0.73 on GitHub (npm)


Release blog post


Changelog


v0.73.11

Fixed

Android specific

  • Suppress path adjustment when not actually drawing a border (c9cf6d4b60 by @tjzel)

iOS specific

v0.73.10

Removed

Android specific

Fixed

Android specific

iOS specific

v0.73.9

Added

iOS specific

Changed

Fixed

iOS specific

  • Remove invalidate observer instead of re-adding observer in DeviceInfo module (9db3eb6 by @zhongwuzw)
  • Fix privacy aggregation (6983a8b by @aleqsio)
  • Privacy Manifest aggregation failing due to missing nil check (115331b by @swrobel)
  • In privacy manifest post install script, handle the case where the file reference doesn't have a path (86cb45e by @robertying)
  • Privacy Manifest aggregation failing due to no NSPrivacyAccessedAPITypes key (4bb94fe by @renchap)

v0.73.8

Added

iOS specific

  • Added privacy manifest to template (520d120375 by @philIip) (fixed to include the file in the build)

Changed

Fixed

iOS specific

v0.73.7

Fixed

Android specific

  • Fix possible deadlock in dispatchViewUpdates (b741899f99)
  • Fix crash in getChildDrawingOrder (342ce6115b)
  • Fix Android HorizontalScrollView fling when content length less than ScrollView length (bd19d0ec6a)

iOS specific

v0.73.6

Breaking

iOS specific

Fixed

iOS specific

v0.73.5

Security

Changed

Fixed

v0.73.4

Fixed

  • Fix: cannot find module react-native-*/Libraries/Core/InitializeCore (562447be47 by @tido64)

Android

  • Ignore the one-time NullPointerException and print error log (ca9b6b5038)

iOS

v0.73.3

Added

iOS specific

Changed

Android specific

  • Call super.onRequestPermissionsResult in ReactActivity's onRequestPermissionsResult() (96ed1190c6 by @LimAlbert)

iOS specific

Fixed

  • Declare missing dependency chalk (9155e2d182 by @tido64)
  • TouchableBounce, TouchableHighlight and TouchableNativeFeedback dropping touches with React 18. (e4708d661b by @sammy-SC)
  • TouchableWithoutFeedback and TouchableOpacity dropping touches with React 18. (54166342f0 by @sammy-SC)

iOS specific

v0.73.2

Added

  • Unhandled promise rejection - attach non-standard Error object stack info if possible (655b12dbfa by @ospfranco)

Changed

iOS specific

Fixed

iOS specific

This file contains all changelogs for latest releases, from 0.70.0 onward. Please check out the other CHANGELOG-*.md files for previous versions.

v0.73.1

Added

  • Add enableNetworkInspector experiment to enable Network panel and CDP handlers in inspector proxy (8ef807bfb2 by @byCedric)

Changed

Fixed

Android specific

iOS specific

v0.73.0

Breaking

Android specific

  • Fix: role="searchbox" should assign "SearchField" trait on iOS (2749fbca9a by @mdjastrzebski)
  • Renamed FabricMountItem.* files to MountItem.* to better match the name of the struct. (49f1237526)
  • Deleting warnOnLegacyNativeModuleSystemUse (9859fbc2ec by @philIip)
  • Do not enable excludeYogaFromRawProps feature flag, if you need to pass layout props to Java view managers when using new architecture (88e19c0ce6 by @zeyap)
  • Default to ignoring cached Metro bundle when offline (2d6106055b by @motiz88)
  • W3CPointerEvents: change click event from direct to bubbling (61eb9b4453)
  • Fix ReactTextView setPadding applying logic error (d8ced6f895 by @jcdhlzq)
  • Add view getter on RCTRootView / `RCTFabricSurfaceHostingProxyRootView (33e0521788 by @zoontek)
  • Remove support for Android API < 23 in ReactEditText (1904e8036a by @mdvacca)

iOS specific

Added

Android specific

iOS specific

Changed

Android specific

  • Convert the app template to Kotlin (c1c22ebacc by @cortinico)
  • Upgrade target sdk version to 34 (a6b0984893)
  • Bump NDK to 25 (28deaa3a71 by @szymonrybczak)
  • Remove Flipper actions in Dev Menu, add new Open Debugger action (3bc402f612 by @huntie)
  • Add scrollEventThrottle prop support for android (777934ec3a)
  • Don't display the PopupWindow when current activity is in a bad state (cee5dceac7)
  • React trees will be unmounted when the application is reloaded (e133100721 by @javache)
  • Fix crash "lateinit property initialProps has not been initialized" (188eceec98)
  • Deprecating createNativeModules method from ReactPackage interface recommending using getModule instead in the new architecture of React Native (33181ef8af by @mdvacca)
  • Introducing getModule method into ReactPackage interface, defaulting to null. This method will be used in the Stable API of React Native (da8616ec69 by @mdvacca)
  • Update Java tests to Kotlin for the referenced file (3dbb759506 by @stewartsum)
  • Deprecate JSCJavaScriptExecutorFactory and JSCJavaScriptExecutor, use com.facebook.react.jscexecutor instead (0cac88fa65 by @mdvacca)
  • Throw ReactNoCrashSoftException when handle memeory pressure to avoid crash (fa9ea8326e)
  • Throw Error in dispatchViewManagerCommand when non-numeric tag is passed for easier debugging (0519c11acd by @hsource)
  • Moved ReactFontManager to a common package (7341f9abdc by @fkgozali)
  • Throw Error in dispatchViewManagerCommand when non-numeric tag is passed for easier debugging (ff1972daba by @hsource)
  • Fresco to 3.0.0 (823839bcc1 by @cortinico)
  • Avoid duplicate destroy on same thread (43f7781c87)
  • Use new getCanonicalName and getMessage methods exposed by fbjni (6c729acd12 by @krystofwoldrich)
  • Changed the scope of setJSEngineResolutionAlgorithm to public from private. Brownfield apps should be able to setup the JSResolutionAlgorithm before hand. (cb376dd0d8 by @SparshaSaha)
  • Java to 17 and AGP to 8.0.2 (9f7dddf1ac by @cortinico)
  • Use reference Yoga CMake Build (6764adafe4 by @NickGerleman)
  • Enable Template with Bridgeless (8b2f324a9b)
  • Kotlin to 1.8.0 and JDK Toolchain to 11 (74987b6fca by @cortinico)
  • Deprecate APIs that are deprecate only on JavaDoc (1be65baf29 by @cortinico)
  • Gradle to 8.1 (74f256b6f0 by @cortinico)
  • "Open Debugger" is no longer available for remote JS debugging from the Dev Menu (non-Hermes). Please use NativeDevSettings.setIsDebuggingRemotely(). (361a944348 by @huntie)

iOS specific

  • Remove Flipper actions in Dev Menu, add new Open Debugger action (5bfc507655 by @huntie)
  • Moved the min iOS version to 13.4 (610b14e4f3 by @cipolleschi)
  • TurboModules are now exposed to JS as the prototype of a plain JS object, so methods can be cached (20dba39dab by @javache)
  • Restored cancelable option in Pressability configuration to not block native responder, and instead introduced a new optional blockNativeResponder boolean option to accomplish the same thing. (30e2345b26 by @yungsters)
  • Scroll ScrollView text fields into view with automaticallyAdjustsScrollIndicatorInsets (9ca16605e0 by @adamaveray)
  • Remove Xcode 15 _LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION workaround for boost (b9f0bdd12d by @Kudo)
  • Updated comment in RCTBundleURLProvider.h to instance correct jsBundleURLForBundleRoot:fallbackExtension method. (d208dc422c by @JulioCVaz)
  • Set the new arch flag based on the React Native version. (a8d268593a by @cipolleschi)
  • Add RCTPlatformName to RCTConstants.h (046ae12a6d by @Saadnajmi)
  • Use the runtime scheduler in the old Architecture (2692f206a6 by @cipolleschi)
  • Set DEFINES_MODULE xcconfig in React-RCTAppDelegate to generate a module map for this pod (7c79e3107f by @tsapeta)
  • Move .m to .mm to make obj-c and C++ headers compatible (42d67452eb)
  • Remove deprecated uses of UIActivityIndicatorViewStyle (62e9faefd5 by @Saadnajmi)
  • Fix setRuntimeConfigProvider called multiple times error (637ffb175d)
  • Set initial AppState status to "inactive" instead of "unknown" (54a5ff9745 by @louiszawadzki)
  • Return animated values to JS for natively driven animations (b0485bed09 by @genkikondo)
  • Disabled bitcode for Hermes prebuilts (de6bfec82a by @cipolleschi)
  • Make RNTester use RCTAppDelegate (680cbe757b by @cipolleschi)
  • Changed AppDelegate template to avoid retaining TurboModuleManager. (ec1ab73674 by @javache)
  • Migrate RNTester to Bridgeless (d3c28d28a9)
  • Re-organise BridgelessApple files to keep proper header file include structure (736dd5a3c0)

Deprecated

Android specific

iOS specific

  • Deprecate get_default_flags in Ruby scripts (f60b9f695e by @cipolleschi)
  • Use -[RCTTurboModuleManager installJSBindings:] instead of -[RCTTurboModuleManager installJSBindingWithRuntimeExecutor:] (7fb9e4f46c by @javache)

Removed

Android specific

iOS specific

Fixed

Android specific

iOS specific