React Native v0.74 released

React Native 0.74.0 brings significant updates and improvements across iOS and Android platforms. Key changes include enhancements to the new architecture, bug fixes for bridgeless mode, and improved TypeScript definitions. The release also addresses various performance and stability issues, updates dependencies, and introduces new APIs. Developers can expect better cross-platform consistency and expanded capabilities for building React Native applications.


v0.74 on GitHub (npm)


Release blog post


Changelog


v0.74.7

Fixed

Android specific

  • Fix #41226 by suppressing path adjustment when not actually drawing a border (8501b6396b by @knappam)
  • RGNP - Remove unnecessary dependency on gradle-tooling-api-builders - serviceOf failure (b6bdecd309 by @cortinico)

iOS specific

v0.74.6

Added

Android specific

  • [0.74] Add support for handling com.facebook.react.bridge.Dynamic as parameter for TurboModules (a9588f3718 by @cortinico)

Changed

Fixed

  • Fix(react-native): fix codegen failing in a pnpm monorepo setup (a90a17a8b3 by @tido64)

v0.74.5

Fixed

iOS specific

Android specific

v0.74.4

Added

Android specific

iOS specific

Fixed

iOS specific

  • Make sure to pass the RCTBridgeProxy to ViewManagers (d6c90cf7ed by @cipolleschi)
  • Implement shared atomic counters and replace static integers in RCTImageLoader and RCTNetworkTask that were accessed concurrently, which in some cases lead to data races. (ffc16fc18b by @hakonk)
  • Do not use temporary node when creating the .xcode.env.local (8408b8bc96 by @cipolleschi)
  • Building of iOS project when RCTAppDelegate is used in the project (be93092c1b by @nikhiltekwani09)
  • Fix error on handling privacy manifest (e39e9c4a60 by @cxa)

v0.74.3

Added

  • Add the ReactMarkerConstants.CONTENT_APPEARED support on Android in bridgeless mode. (3c4d7618f0 by @Kudo)

Changed

iOS specific

  • Support customizeRootView from RCTRootViewFactory (3c4d761 by @Kudo)

Fixed

  • Codegen computes output path relative to project root instead of current working directory. (d3e0430dea by @dmytrorykun)

Android specific

iOS specific

  • Fixed Multiline TextInput with a fixed height scrolls to the bottom when changing AttributedText (e210c7c5 by @fabOnReact)
  • Fixed border being drawn over children when no color was set (a2b52af3 by @j-piasecki)

v0.74.2

Changed

Fixed

Android specific

iOS specific

  • Privacy Manifest aggregation failing due to no NSPrivacyAccessedAPITypes key (fc4e099920 by @renchap)
  • In privacy manifest post install script, handle the case where the file reference doesn't have a path (4ad65ac59a by @robertying)
  • Fixed an issue where the selectionColor prop was not being applied on the TextInput component. (2bde626a9f by @robinshin)

0.74.1

Added

iOS Specific

Changed

Android specific

Fixed

  • Reset animation state in TouchableOpacity and TouchableBounce (165cabb21f by @sammy-SChttps://github.com/@sammy-)
  • Add missing struct member initialization in Props.h (13739510fb by @alanleedev)

Android Specific

iOS Specific

  • Fix Symbol not found: (_JSGlobalContextSetInspectable) which crashed iOS <16.4 with JSC (0a4d97362f by @cipolleschi)
  • Fallback to the first foregroundInactive window when there are no foregroundActive windows in RCTKeyWindow (eaaf865449 by @cipolleschi)
  • Fix enable hermes debugger in Bridgeless mode (3467f2f3a3 by @Cipolleschi)
  • Maintain correct content offset when scroll view is suspended (305249f964 by @sammy-SChttps://github.com/@sammy-)
  • Avoid calling abstract methods in RCTComposedViewRegistry (59e7ed5038 by @cipolleschi)
  • Honor requiresMainQueueSetup in bridgeless mode for ViewManagers (8813061286 by @cipolleschi)

0.74.0

Breaking

Android specific

iOS specific

  • Removing unused handler param on PushNotificationIOS.removeEventListener (fdf4ec3297)
  • Make bridgeless the default when the New Arch is enabled (c91af773fa by @cipolleschi)
  • CocoaPods: remove the ios_folder argument from the use_react_native function. (be0c353e18 by @dmytrorykun)
  • Codegen: mapping for numeric types is changed for Objective-C native modules. Float -> float; Int32 -> NSInteger. (5aa425c086 by @dmytrorykun)
  • Defining external codegen targets in react-native.config.js is not supported anymore. Define them as normal dependencies in package.json. (ca39a11b27 by @dmytrorykun)
  • Delete configFileDir CLI argument. (8a62d6135f by @dmytrorykun)
  • (072a2006e0 by @philIip)
  • Remove some usages of RCT_NEW_ARCH_ENABLED. The change should be transparent BUT some Swift libraries might get broken by this change. (951efc8ce2 by @cipolleschi)
  • You cannot call methodQueue on RCTHTTPRequestHandler (7503dbd784 by @philIip)
  • RepeatInterval is deprecated in PushNotificationIOS. Use fireDate and the new fireIntervalSeconds. (a1299938a9)
  • AlertAction is deprecated in PushNotificationIOS. getScheduledLocalNotifications now uses new iOS APIs which do not expose this property. (9f4d66d283)
  • Make TextInput.onContentSizeChange a direct event (744fb4a0d2 by @sammy-SC)
  • Remove the Flipper integration (899e7cdb55 by @cipolleschi)
  • Deleted the no-op didRegisterUserNotificationSettings: callback in RCTPushNotificationManager (3bea8e1bd4)

Added

Android specific

iOS specific

Changed

iOS specific

Android specific

iOS specific

Deprecated

  • Deprecate BatchedBridge.registerCallableModule. Please use registerCallableModule instead (7f549ec7be by @RSNara)
  • Warn when fabric is used without concurrent root (c06807154b by @javache)
  • Replace RAIICallbackWrapperDestroyer with AsyncCallback (re-land) (fbd8504cc0 by @javache)
  • Deprecated RAIICallbackWrapperDestroyer. Use AsyncCallback instead for safe jsi::Function memory ownership. (8dd89cee1b by @javache)
  • Refactor BaseJavaModule and ReactContextBaseJavaModule (5af7b7038c by @mdvacca)

Android specific

iOS specific

Removed

Fixed

Android specific

iOS specific

Security

iOS specific