React Native v0.72 released

This release includes numerous bug fixes and improvements across Android and iOS platforms. Key changes include updates to the New Architecture, enhancements to text rendering and input handling, and fixes for various crashes and performance issues. The update also improves TypeScript definitions, adds support for new iOS versions, and addresses several security vulnerabilities. Overall, this release aims to improve stability, performance, and developer experience for React Native applications.


v0.72 on GitHub (npm)


Release blog post


Changelog


v0.72.17

Fixed

iOS specific

v0.72.15

Added

iOS specific

Fixed

iOS specific

  • Privacy Manifest aggregation failing due to no NSPrivacyAccessedAPITypes key. (fc4e099920 by @renchap)

v0.72.14

Added

iOS specific

Changed

iOS specific

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

Fixed

iOS specific

v0.72.13

Added

iOS specific

Fixed

Android specific

v0.72.12

Changed

iOS specific

Fixed

v0.72.11

Changed

iOS specific

Fixed

  • Fix overriding EXCLUDED_ARCHS when installing Hermes on RN v0.72 (a4282a91c3 by @ken0nek)

iOS specific

v0.72.10

Added

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

Fixed

v0.72.9

Fixed

v0.72.8

Fixed

v0.72.7

Changed

Deprecated

Fixed

  • Show correct stack frame on unhandled promise rejections on development mode. (18c9797ecc by @fortmarek)

Android specific

v0.72.6

Fixed

  • Fix a potential bug in EventEmitter when used with certain Babel configurations that incorrectly polyfill the spread operator for iterables (9b3bd63723 by @yungsters)

iOS specific

v0.72.5

Changed

Fixed

Android specific

iOS specific

v0.72.4

Added

Android specific

  • Native part of fixing ANR when having an inverted FlatList on android API 33+ (6d206a3f54 by @hannojg)
  • For targeting SDK 34 - Added RECEIVER_EXPORTED/RECEIVER_NOT_EXPORTED flag support in DevSupportManagerBase (177d97d8ea by @apuruni)

Changed

Fixed

Android specific

v0.72.3

Fixed

iOS specific

v0.72.2

Changed

Android specific

iOS specific

Fixed

  • global.performance in undefined when starting metro from Expo CLI (0ccbd65581 by @Kudo)
  • Re-enabled debugging for debug builds (41477c898c by Matt Blagden)
  • Add global hook to assert that base Metro config is called (29f2602ff9 by @huntie)

Android specific

iOS specific

  • Fix build error when there are multiple EXTRA_COMPILER_ARGS (28f4ebab8a by @fergusean)
  • Build failure with pnpm and use_frameworks! due to incorrect header paths (58adc5e4b9 by evelant)
  • Fix onChangeText not firing when clearing the value of TextInput with multiline=true on iOS (0c9c57a9f7 by @kkoudev)
  • Fix pod install for libraries using Swift code when the new architecture is enabled (a4a0655496 by @louiszawadzki)

v0.72.1

Added

iOS specific

Changed

  • react-native/metro-config now includes all base config values from metro-config (bbcedd385b by @huntie)
  • Bump CLI to 11.3.3 (da84901f78 by @kelset)
  • Bumped @react-native/metro-config to 0.72.7, @react-native/gradle-plugin to 0.72.11, @react-native/virtualized-lists to 0.72.6 (95db9f98f2 by @kelset)

Fixed

  • react-native/virtualized-lists does not need react-test-renderer at runtime (7a2a3278d0 by @tido64)

Android specific

iOS specific

v0.72.0

Breaking

iOS specific

  • Generates RNCore components inside the ReactCommon folder and create a new pod for platform-specific ImageManager classes (5d175c6775 by @cipolleschi)
  • Moved the RCTAppSetupUtils to the AppDelegate library to break a dependency cycle (36a64dc2bd by @cipolleschi)
  • Split the ReactCommon/react/nativemodule/core/platform/ios and ReactCommon/react/nativemodule/samples in two separate pods to break circular dependencies. (21d530208f by @cipolleschi)

Added

  • Improve handling of invalid DimensionValue usage (02e29abead by @NickGerleman)
  • Add new JS performance API to support getting RN app startup timings (c1023c73b0)
  • Add performance memory API with native memory Info (70fb2dce45)
  • Added Web-compatible DOMRect and DOMRectReadOnly classes to the global scope. (673c7617bc by @rubennorte)
  • Add onStartReached and onStartReachedThreshold to VirtualizedList (7683713264 by @janicduplessis)
  • Added setColorScheme to Appearance module (c18566ffdb, (0a4dcb0309 by @birkir)
  • Add logical border block color properties (597a1ff60b by @gabrieldonadel)
  • Add logical border-radius implementation (4ae4984094 by @gabrieldonadel)
  • Added CSS logical properties. (3681df2878 by @necolas)
  • Concurrent rendering safe implementation of Animated (5cdf3cf726, (5e863fc42c by @sammy-SC)
  • Create explicit error message for TypeScript functions used as props in Codegen components, redirecting devs to the supported function types BubblingEventHandler and DirectEventHandler. (dc2cbed07c by @gtomitsuka)
  • Generate enum types that would be allowed to be used as well as string/number in c++ turbo modules generators (ceb1d0dea6 by @vzaidman)
  • Add enum example to Android/iOS rn-tester TurboModule (7c82a3fa11 by @christophpurrer)
  • Allow the use of "Partial" in Turbo Module specs. (97e707d897 by @vzaidman)
  • Added newline to UTFSequence (9cf35bfcc4)
  • Added "coverage" folder generated from jest --coverage to .gitignore (7324c22ff9 by @Adnan-Bacic)
  • Add support for getting/setting reload-and-profile-related settings in iOS + Android (96d6680e00)
  • For supporting Dev Loading View across platforms, adding the DevLoadingViewController without an activity/context. (662b51fad2)
  • Pass DevTools Settings Manager to connectToDevTools (a9bed8e75d)
  • React-native-code-gen Add Union Type support for Java/ObjC TurboModules (2eccd59d7c by @christophpurrer)
  • Making Dev Loading View cross platform by abstracting out the activity/context logic from the controller in a polymorph class. (1a4fa92b25)
  • Added CSS logical properties by mapping layout props. (cf3747957a by @mayank-96)
  • Add, but don't use, DevTools Settings Manager. (6152763398)

Android specific

  • Adding pager, scrollview, viewgroup, webview, drawer accessibility roles (55c0df43b9 by @fabriziobertoglio1987)
  • Add TYPE_VIEW_HOVER_ENTER to AccessibilityNodeInfo sendAccessibilityEvent (a0adf57e50 by @fabriziobertoglio1987)
  • Add maintainVisibleContentPosition support on Android (c19548728c by @janicduplessis)
  • For supporting Dev Loading View across multiple platforms, changing the Loading View of Android to rely on the native implementation instead of Toast while keeping backwards comptability. (9f6b532bdb)
  • For supporting Dev Loading View across multiple platforms, adding native implementation for showMessage() & hide() of Dev Loading Module (4923a0997b)
  • For supporting Dev Loading View across multiple platforms, altering the javascript implementation of Loading view of android to also rely on native implementation as iOS instead of Toast, thereby unifying both platforms (068a20842d)
  • Added possibility to mark Fresco image pipeline as already initialized (605a52fe3e by @oprisnik)
  • Support generating getName in react-native-codegen for Java TurboModules (90538909f9 by @javache)
  • Override default Talkback automatic content grouping and generate a custom contentDescription (759056b499 by @fabriziobertoglio1987)
  • Enable AnimatedInterpolation to interpolate arbitrary color types. (e7dbfb2dbd by @javache)
  • Added getter for line height in CustomLineHeightSpan (2d2f9da80b)
  • Add POST_NOTIFICATIONS permission to AndroidManifest of RNTester (c84cc4b46c by @makovkastar)

iOS specific

Changed

Android specific

iOS specific

Deprecated

iOS specific

  • Deprecate the ReactCommon/react/renderer/graphics/conversions.h in favor of ReactCommon/react/core/graphicsConversions.h (d72697ca95 by @cipolleschi)

Removed

Android specific

iOS specific

Fixed

Android specific

iOS specific

Security

iOS specific