facebook/react-native
facebook/react-native
Activity
Last release
Open issues
Open PRs
License
release notes
release notes
A framework for building native applications using React
release notes
Published 3/4/2025
Pre-ReleasePre-releaseHERMES_ENABLE_DEBUGGER build-time flag for enabling React Native debugger in favour of REACT_NATIVE_DEBUGGER_ENABLED and REACT_NATIVE_DEBUGGER_ENABLED_DEVONLY. (5fcb69e8b7 by @hoxyq)Libraries/DevMenu using require may need to be appended with .default (ce84922236 by @j-piasecki)unstable_enableLogBox function. LogBox is enabled by default. (7368265107 by @huntie)Utilities/dismissKeyboard.js, Utilities/GlobalPerformanceLogger.js or Utilities/SceneTracker.js with require syntax need to be appended with '.default'. (fc6ca26d3f by @iwoplaza)Utilities/deepFreezeAndThrowOnMutationInDev, Utilities/defineLazyObjectProperty, Utilities/DeviceInfo or Utilities/FeatureDetection with require syntax may need to be appended with '.default'. (028c0b36f6 by @iwoplaza)Libraries/Utilities/Platform with require syntax needs to be appended with '.default'. (d98116aa44 by @iwoplaza)Utilities/infoLog, Utilities/logError, Utilities/mapWithSeparator or Utilities/warnOnce with require syntax need to be appended with '.default'. (7aef81b984 by @iwoplaza)Utilities/binaryToBase64, Utilities/DevSettings, Utilities/PolyfillFunctions or Utilities/RCTLog with require syntax need to be appended with '.default'. (152587cda0 by @iwoplaza)Libraries/Utilities/BackHandler, Utilities/DevLoadingView.js or Utilities/HMRClient*.js with require syntax needs to be appended with '.default'. (827a847791 by @iwoplaza)Libraries/StyleSheet using require may need to be appended with .default (4f20362b07 by @j-piasecki)Libraries/Utilities/differ/... with require syntax need to be appended with '.default'. (2b30aa5cc8 by @iwoplaza)react-native/virtualized-lists with require syntax may need to be appended with .default (1cf4c84ba0 by @j-piasecki)Libraries/Modal and Libraries/Network with require syntax may need to be appended with '.default'. (28945c68da by @iwoplaza)Libraries/PermissionsAndroid and Libraries/PushNotificationIOS with require syntax has to be appended with '.default'. (e74246bd66 by @iwoplaza)Libraries/EventEmitter and Libraries/Image/*.js with require syntax need to be appended with '.default'. (8783196ee5 by @iwoplaza)Libraries/LayoutAnimation and Libraries/Linking with require syntax need to be appended with '.default'. (4d6785bdb5 by @iwoplaza)YellowBox and console.ignoredYellowBox APIs. Use LogBox. (45a2d9c5a8 by @huntie)XHRInterceptor API to src/private/ (389779c348 by @huntie)Libraries/Inspector/ modules to src/private/ (0bde08fe67 by @huntie)Libraries/Lists with require syntax may need to be appended with '.default'. (e767dc3458 by @iwoplaza)Libraries/ReactNative with require syntax need to be appended with '.default'. (c93bd436a5 by @iwoplaza)Libraries/Text, Libraries/Share and Libraries/Settings use export syntax, which requires the addition of .default when imported with the CJS require syntax. (156ee5bee7 by @iwoplaza)Libraries/Components use export syntax, which requires the addition of .default when imported with the CJS require syntax. (aac312da8e by @iwoplaza)Libraries/Inspector use export syntax, which requires the addition of .default when imported with the CJS require syntax. (48d900b703 by @iwoplaza)Libraries/Interaction use export syntax, which requires the addition of .default when imported with the CJS require syntax. (bdc23fa2b4 by @iwoplaza)Libraries/Utilities use export syntax, which requires the addition of .default when imported with the CJS require syntax. (52ffda7e55 by @iwoplaza)Libraries/Text, Libraries/Share and Libraries/Settings use export syntax, which requires the addition of .default when imported with the CJS require syntax. (1be7e1a95f by @iwoplaza)Libraries/Core/ExceptionsManager now exports a default ExceptionsManager object, and SyntheticError as a secondary export. (e5818d92a8 by @iwoplaza)Libraries/Animated/AnimatedWeb.js file. (ecae8a2908 by @iwoplaza)Libraries/Components use export syntax, which requires the addition of .default when imported with the CJS require syntax. (da695f3a20 by @iwoplaza)Libraries/WebSocket use export syntax, which requires the addition of .default when imported with the CJS require syntax. (7df73eebdc by @iwoplaza)Libraries/Components use export syntax, which requires the addition of .default when imported with the CJS require syntax. (ce412746b1 by @iwoplaza)Libraries/Components use export syntax, which requires the addition of .default when imported with the CJS require syntax. (9eeef22a67 by @iwoplaza)Libraries/BugReporting, Libraries/vendor, Libraries/Vibration and Libraries/YellowBox use export syntax, which requires the addition of .default when imported with the CJS require syntax. (09700327f7 by @iwoplaza)Libraries/Blob use export syntax, which requires the addition of .default when imported with the CJS require syntax. (9a70bc0418 by @iwoplaza)Libraries/BatchedBridge and Libraries/AppState use export syntax, which requires the addition of .default when imported with the CJS require syntax. (135277ace1 by @iwoplaza)Libraries/Alert and Libraries/ActionSheetIOS use export syntax, which requires the addition of .default when imported with the CJS require syntax. (c89c5d7e3d by @iwoplaza)StyleSheet/ can break when using the require() syntax, but can be easily fixed by appending .default (e4d969a4ab by @iwoplaza)RuntimeConfig class for Hermes which was unused. (08ddc11269 by @cortinico)--client-logs flag (0d66c524cf by @huntie)px unit support. (cc89ddd50b by @intergalacticspacehighway)DefaultNewArchitectureEntryPoint class add property to specify the desired release level for an application (19c18eb995 by @jorge-cab)numberOfLines prop on TextInput (dcaa33e6d9 by @j-piasecki)global objects (094c5be42e by @coado)Animated to reduce memory usage. (fb8a6a5bb0 by @yungsters)RawProps::operator= (e4d1cf8ce9 by @javache)Debugger.scriptParsed now includes the field sourceMapURL as a (rewritten) remote url as opposed to base64 data url (ff2e40371e by @vzaidman)AnimatedNode instances will now detach in a microtask instead of synchronously in the commit phase of React. This will cause the completion callback of finished animations to execute after the commit phase instead of during it. (50b75a74d1 by @yungsters)AnimatedNode graph will not occur during the insertion effect phase, which means animations can now be reliably started during layout effects. (e0c0476553 by @yungsters)jsctooling when useThirdPartyJSC gradle property is true (66032f22b8 by @Kudo)ConcurrentModificationException when iterating over mListeners TextWatcher array (243aecc095 by @kirillzyusko)maximumNumberOfLines earlier in the pipeline (167a1a30da by @j-piasecki)USE_THIRD_PARTY_JSC=1 (176bed79b4 by @Kudo)null values coming from NativeModules. (d4236791e2 by @cipolleschi)pod install directly (e3def00d7a by @cipolleschi)RuntimeExecutor and RuntimeScheduler constructors are now private, MapBufferSoLoader was removed as no longer required. (6c8ace9b05 by @javache)DevSupportManagerFactory.launchJSDevtools API (514ec4192f by @huntie)AnimatedNodeWithUpdateableConfig internal as it was not used in OSS (54e0b69e7e by @cortinico)ViewManagerPropertyUpdater.updateProps is deprected, use the related ViewManager APIs instead (a18bc58645 by @javache)start and bundle commands with community CLI and isolated node_modules. (cdaa1aa9aa by @robhogan)react-native-community/cli not being found in pnpm setups (a672a4d007 by @tido64)react-native-community/cli-platform-* packages not being found in monorepos (7926d656b3 by @tido64)didOpen delegate fn (46e86dca87 by @EdmondChuiHW)displayModeToInt() function (8c06f57860 by @Yajur-Grover)setLayoutAnimationEnabledExperimental a no-op in Bridgeless (44da5d2ee0 by @arushikesarwani94)onScroll (bc810e5115 by @Abbondanzo)onContentSizeChange event being dispatched multiple times with the same size (2bb65717b7 by @j-piasecki)[RCTFileRequestHanlder invalidate] method (789ed7d5ad by @zhouzh1)dataDetectorTypes in the same way as the old architecture (2ae45ec3ce by @VidocqH)Hermes dSYMS:
You can file issues or pick requests against this release here.
To help you upgrade to this version, you can use the Upgrade Helper ⚛️.
View the whole changelog in the CHANGELOG.md file.
release notes
Published 3/4/2025
Pre-ReleasePre-releaseHERMES_ENABLE_DEBUGGER build-time flag for enabling React Native debugger in favour of REACT_NATIVE_DEBUGGER_ENABLED and REACT_NATIVE_DEBUGGER_ENABLED_DEVONLY. (5fcb69e8b7 by @hoxyq)Libraries/DevMenu using require may need to be appended with .default (ce84922236 by @j-piasecki)unstable_enableLogBox function. LogBox is enabled by default. (7368265107 by @huntie)Utilities/dismissKeyboard.js, Utilities/GlobalPerformanceLogger.js or Utilities/SceneTracker.js with require syntax need to be appended with '.default'. (fc6ca26d3f by @iwoplaza)Utilities/deepFreezeAndThrowOnMutationInDev, Utilities/defineLazyObjectProperty, Utilities/DeviceInfo or Utilities/FeatureDetection with require syntax may need to be appended with '.default'. (028c0b36f6 by @iwoplaza)Libraries/Utilities/Platform with require syntax needs to be appended with '.default'. (d98116aa44 by @iwoplaza)Utilities/infoLog, Utilities/logError, Utilities/mapWithSeparator or Utilities/warnOnce with require syntax need to be appended with '.default'. (7aef81b984 by @iwoplaza)Utilities/binaryToBase64, Utilities/DevSettings, Utilities/PolyfillFunctions or Utilities/RCTLog with require syntax need to be appended with '.default'. (152587cda0 by @iwoplaza)Libraries/Utilities/BackHandler, Utilities/DevLoadingView.js or Utilities/HMRClient*.js with require syntax needs to be appended with '.default'. (827a847791 by @iwoplaza)Libraries/StyleSheet using require may need to be appended with .default (4f20362b07 by @j-piasecki)Libraries/Utilities/differ/... with require syntax need to be appended with '.default'. (2b30aa5cc8 by @iwoplaza)react-native/virtualized-lists with require syntax may need to be appended with .default (1cf4c84ba0 by @j-piasecki)Libraries/Modal and Libraries/Network with require syntax may need to be appended with '.default'. (28945c68da by @iwoplaza)Libraries/PermissionsAndroid and Libraries/PushNotificationIOS with require syntax has to be appended with '.default'. (e74246bd66 by @iwoplaza)Libraries/EventEmitter and Libraries/Image/*.js with require syntax need to be appended with '.default'. (8783196ee5 by @iwoplaza)Libraries/LayoutAnimation and Libraries/Linking with require syntax need to be appended with '.default'. (4d6785bdb5 by @iwoplaza)YellowBox and console.ignoredYellowBox APIs. Use LogBox. (45a2d9c5a8 by @huntie)XHRInterceptor API to src/private/ (389779c348 by @huntie)Libraries/Inspector/ modules to src/private/ (0bde08fe67 by @huntie)Libraries/Lists with require syntax may need to be appended with '.default'. (e767dc3458 by @iwoplaza)Libraries/ReactNative with require syntax need to be appended with '.default'. (c93bd436a5 by @iwoplaza)Libraries/Text, Libraries/Share and Libraries/Settings use export syntax, which requires the addition of .default when imported with the CJS require syntax. (156ee5bee7 by @iwoplaza)Libraries/Components use export syntax, which requires the addition of .default when imported with the CJS require syntax. (aac312da8e by @iwoplaza)Libraries/Inspector use export syntax, which requires the addition of .default when imported with the CJS require syntax. (48d900b703 by @iwoplaza)Libraries/Interaction use export syntax, which requires the addition of .default when imported with the CJS require syntax. (bdc23fa2b4 by @iwoplaza)Libraries/Utilities use export syntax, which requires the addition of .default when imported with the CJS require syntax. (52ffda7e55 by @iwoplaza)Libraries/Text, Libraries/Share and Libraries/Settings use export syntax, which requires the addition of .default when imported with the CJS require syntax. (1be7e1a95f by @iwoplaza)Libraries/Core/ExceptionsManager now exports a default ExceptionsManager object, and SyntheticError as a secondary export. (e5818d92a8 by @iwoplaza)Libraries/Animated/AnimatedWeb.js file. (ecae8a2908 by @iwoplaza)Libraries/Components use export syntax, which requires the addition of .default when imported with the CJS require syntax. (da695f3a20 by @iwoplaza)Libraries/WebSocket use export syntax, which requires the addition of .default when imported with the CJS require syntax. (7df73eebdc by @iwoplaza)Libraries/Components use export syntax, which requires the addition of .default when imported with the CJS require syntax. (ce412746b1 by @iwoplaza)Libraries/Components use export syntax, which requires the addition of .default when imported with the CJS require syntax. (9eeef22a67 by @iwoplaza)Libraries/BugReporting, Libraries/vendor, Libraries/Vibration and Libraries/YellowBox use export syntax, which requires the addition of .default when imported with the CJS require syntax. (09700327f7 by @iwoplaza)Libraries/Blob use export syntax, which requires the addition of .default when imported with the CJS require syntax. (9a70bc0418 by @iwoplaza)Libraries/BatchedBridge and Libraries/AppState use export syntax, which requires the addition of .default when imported with the CJS require syntax. (135277ace1 by @iwoplaza)Libraries/Alert and Libraries/ActionSheetIOS use export syntax, which requires the addition of .default when imported with the CJS require syntax. (c89c5d7e3d by @iwoplaza)StyleSheet/ can break when using the require() syntax, but can be easily fixed by appending .default (e4d969a4ab by @iwoplaza)RuntimeConfig class for Hermes which was unused. (08ddc11269 by @cortinico)--client-logs flag (0d66c524cf by @huntie)px unit support. (cc89ddd50b by @intergalacticspacehighway)DefaultNewArchitectureEntryPoint class add property to specify the desired release level for an application (19c18eb995 by @jorge-cab)numberOfLines prop on TextInput (dcaa33e6d9 by @j-piasecki)global objects (094c5be42e by @coado)Animated to reduce memory usage. (fb8a6a5bb0 by @yungsters)RawProps::operator= (e4d1cf8ce9 by @javache)Debugger.scriptParsed now includes the field sourceMapURL as a (rewritten) remote url as opposed to base64 data url (ff2e40371e by @vzaidman)AnimatedNode instances will now detach in a microtask instead of synchronously in the commit phase of React. This will cause the completion callback of finished animations to execute after the commit phase instead of during it. (50b75a74d1 by @yungsters)AnimatedNode graph will not occur during the insertion effect phase, which means animations can now be reliably started during layout effects. (e0c0476553 by @yungsters)jsctooling when useThirdPartyJSC gradle property is true (66032f22b8 by @Kudo)ConcurrentModificationException when iterating over mListeners TextWatcher array (243aecc095 by @kirillzyusko)maximumNumberOfLines earlier in the pipeline (167a1a30da by @j-piasecki)USE_THIRD_PARTY_JSC=1 (176bed79b4 by @Kudo)null values coming from NativeModules. (d4236791e2 by @cipolleschi)pod install directly (e3def00d7a by @cipolleschi)RuntimeExecutor and RuntimeScheduler constructors are now private, MapBufferSoLoader was removed as no longer required. (6c8ace9b05 by @javache)DevSupportManagerFactory.launchJSDevtools API (514ec4192f by @huntie)AnimatedNodeWithUpdateableConfig internal as it was not used in OSS (54e0b69e7e by @cortinico)ViewManagerPropertyUpdater.updateProps is deprected, use the related ViewManager APIs instead (a18bc58645 by @javache)start and bundle commands with community CLI and isolated node_modules. (cdaa1aa9aa by @robhogan)react-native-community/cli not being found in pnpm setups (a672a4d007 by @tido64)react-native-community/cli-platform-* packages not being found in monorepos (7926d656b3 by @tido64)didOpen delegate fn (46e86dca87 by @EdmondChuiHW)displayModeToInt() function (8c06f57860 by @Yajur-Grover)setLayoutAnimationEnabledExperimental a no-op in Bridgeless (44da5d2ee0 by @arushikesarwani94)onScroll (bc810e5115 by @Abbondanzo)onContentSizeChange event being dispatched multiple times with the same size (2bb65717b7 by @j-piasecki)[RCTFileRequestHanlder invalidate] method (789ed7d5ad by @zhouzh1)dataDetectorTypes in the same way as the old architecture (2ae45ec3ce by @VidocqH)Hermes dSYMS:
You can file issues or pick requests against this release here.
To help you upgrade to this version, you can use the Upgrade Helper ⚛️.
View the whole changelog in the CHANGELOG.md file.