react-native/CHANGELOG.md
Riccardo Cipolleschi 9c11d7ca68 Add changelog for 0.76.2 (#47620)
Summary:
Add changelog for 0.76.2

## Changelog:
[Internal] - Add changelog for 0.76.2

Pull Request resolved: https://github.com/facebook/react-native/pull/47620

Test Plan: N/A

Reviewed By: rshest

Differential Revision: D65963142

Pulled By: cipolleschi

fbshipit-source-id: f48fdfac2476e891c91a90a62caa1ad1be76e410
2024-11-15 04:58:13 -08:00

541 KiB
Raw Permalink Blame History

Changelog

v0.76.2

Added

Changed

iOS specific

Fixed

Android specific

iOS specific

  • Codegen Properly stop generating component registration for components defined in app. (97a4234b6e by @cipolleschi)
  • infra Give apps access to Yoga headers (e851e73c18 by @cipolleschi)
  • TextInput Fix missing emitter attributes on iOS TextInput when controlled component value specified using value instead of children (52cdedb40e by @NickGerleman)
  • TextInput Fix cursor moving in iOS controlled single line TextInput on Autocorrection (New Arch) (36fd5533f6 by @NickGerleman)

v0.76.1

Fixed

Android specific

  • runtime Made AppRegistry callable from Native code in Bridgeless (fixes headless tasks) (f3fee67c54 by @robik)
  • runtime Add jsBundleFile to DefaultReactNativeHost.kt (e56bd89ef)

iOS specific

  • codegen Do not generate the ComponentCls function in the RCTThirdPartyFabricComponentsProvider for components deined in the app. (dc7e9e2d83 by @cipolleschi)
  • infra Generated NODE_BINARY in .xcode.env.local now supports paths with a space (eeaa3ff458 by @blakef)
  • infra Pin Xcodeproj to < 1.26.0 (e8776240b41)
  • runtime Fixed bug where background colors would sometimes animate when changing on Views (1d6ac09530 by @joevilches)
  • runtime Fixes regression of RCTWindowFrameDidChangeNotification not fired (e271b23fad by @zhongwuzw)

v0.76.0

Breaking

Android specific

  • bridging: Deleted LongArray (471445eb17 by Thomas Nardone)
  • Flipper: Update ReactNativeFlipper deprecation to ERROR (531657b394 by @cortinico)
  • infra Remove several libs from default App CMake setup (52de8c70f2 by @cortinico)
  • infra: Merge all the remaining .so libraries into libreactnative.so (db80d78d7a by @cortinico)
  • infra: Remove several unnecessary android prefab targets. Use ReactAndroid::reactnative instead (6e5227bd83 by @cortinico)
  • infra: Do not depend on OSS SoLoader anymore and do not expose Fresco api dependency. (6dc01dad09 by @cortinico)
  • infra: Updating minSdkVersion to API 24 (Android 7) (270951a212 by @alanleedev)
  • initialization: ReactNativeHost invalidates the instance manager on clear(), rather than merely destroying the instance. (986cf18dd2 by @motiz88)
  • layout engine: Do not implicitly convert parsed LengthPercentage to pixels (9e48976bc2 by @NickGerleman)
  • rendering: Set "enableBackgroundStyleApplicator" by default (5f14963da0 by @NickGerleman)

iOS specific

  • initialization: Add ability to control bundle loading on the new architecture similar to loadSourceForBridge. Removed some properties from the RCTRootViewFactory. (7487a2c277 by @alanjhughes)
  • turbomodule [iOS] Remove Macro for autolinking pure Cxx module(184646e491 by @philIip)

Added

Android specific

  • devtools: Enable React Native DevTools in OSS debug builds (143f1ad298 by @robhogan)
  • codegen Add support for handling com.facebook.react.bridge.Dynamic as parameter type in TurboModules (d01f1b3214 by @cortinico)
  • error handling: Provide default implementation for ReactHostDelegate.handleInstanceException() (34e3a6cc88 by @alanleedev)
  • Image Added support for rendering XML assets provided to Image (aad9240fd4 by Peter Abbondanzo)
  • Runtime Allow DefaultReactHost to load the js bundle via regular file urls (7522336412 by @RSNara)
  • runtime Make ReactInstanceEventListener available on ReactHost (80e1dd70b0 by @RSNara)
  • runtime Add invalidate() method to ReactHost and ReactInstanceManager that destroys the ReactHost, including the ReactInstance. (a3db352e25 by @motiz88)
  • runtime: Added onUserLeaveHint support into ReactActivityDelegate (27ba369f23 by @behenate)
  • runtime: Added a conditional check in the resolveThemeAttribute function to reattempt resource resolution with the "android" package name if the resource ID is 0. (6365df54db by @shubhamguptadream11)
  • style Add BackgroundStyleApplicator for managing view backgrounds (1a78477ce5 by @NickGerleman)
  • style: Linear gradient (bd0aedc8c3 by @intergalacticspacehighway)
  • style: Support simple opacity in nested text (a2d53d5ea0 by @NickGerleman)

iOS specific

Changed

  • Animated: Improved runtime performance of Animated (d1ebe02c19 by @yungsters)
  • Animated: Changed Animated props validation to soft errors instead of thrown errors (0a1ba02273 by @yungsters)
  • Appearance: Improved Appearance.getColorScheme performance (8f0f50f7a1 by @yungsters)
  • c++: Removed using namespace std::placeholders (194b642633 by @r-barnes)
  • devtools: Remove --experimental-debugger option from start command (94e7a87f23 by @huntie)
  • devtools: Inspector: Enforce device and appId filters if both are given to /open-debugger (c7970379a1 by @robhogan)
  • devtools: Debugger: j opens most recent (not first) target. (2a6a895b17 by @robhogan)
  • devtools: Debugger: Make /json/list return connection-addition-ordered targets. (53951d7fec by @robhogan)
  • devtools Add Fusebox support for saving traces to disk (1bd4a11736 by Benoit Girard)
  • devtools: Simplify key handling in start command (5a0df6d0bf by @huntie)
  • error handling: Improved error message for invalid filter values (4094ce0718 by @yungsters)
  • error handling: Improve LogBox safe area insets styling (18302831c4 by @yungsters)
  • infra: Update all babel packages and fix tests accordingly (b37101486b by @vzaidman)
  • infra: Upgrade pretty-format to 29.7.0 (7bc9244d0c by @dprevost-LMI)
  • infra: Move init deprecation notice 30 Sept → 31 Dec, to give users more time to update their infrastructure (014370d825 by @blakef)
  • infra: Drop node-fetch in favor of Node's built-in fetch from undici in react-native/dev-middleware (30a3e6e8df by @byCedric)
  • infra: Allow use without @react-native-community/cli-server-api (24997dc5ae by @blakef)
  • infra: Add CLI selection of multiple debug targets (6a24df7eaa by @huntie)
  • infra Update Metro to "^0.81.0" (3f8d1fa286 by @robhogan)
  • initialization: Improve Appearance performance overhead by lazily initializing the NativeModule (b86e8ef95f by @yungsters)
  • metro: Changed Metro default config to use Hermes parser, enabling the use of advanced Flow syntax in React Native. (320963c7cb by @yungsters)
  • metro: Use Metro terminal reporter for dev-middleware logs (2f04dfe795 by @huntie)
  • metro: Fix server.end() usage following Metro bump (02b879b1e2 by @huntie)
  • runtime: Timer functions timeout argument is now coerced to a number (af04eb773c by @robik)
  • turbomodules: Replace TurboReactPackage with BaseReactPackage (e881a1184c by @philIip)
  • yoga Replace YogaConstants.UNDEFINED with Float.NaN (8bd9952eaf by Jingbo Yang)

Android specific

iOS specific

Deprecated

Android specific

  • bridging: Deprecate MapBuilder (a696d2ed6b by Thomas Nardone)

iOS specific

  • initialization: Deprecate turboModuleEnabled, fabricEnabled and bridgelessEnabled for the new newArchEnabled property. (3621606c44 by @okwasniewski)
  • runtime Deprecated StatusBar.setNetworkActivityIndicatorVisible (8a390ba9b8 by Ingrid Wang)

Removed

Android specific

  • components CoreComponentsRegistry is now fully replaced by DefaultComponentRegistry. (de7976c69d by @javache)
  • error handling Removed HasJavascriptExceptionMetadata as a marker interface. Use JavascriptExecption directly (cb00ca954d by @javache)
  • initialization Unused jsEngineResolutionAlgorithm from ReactHost (f1b6218608 by @javache)
  • infra React_newarchdefaults is no longer a prefab, instead use fabricjni (c68f35d444 by @javache)

iOS specific

Fixed

  • Animated: Fixed undefined behavior in certain scenarios when ReactElement objects are supplied to Animated components (56937d646c by @yungsters)
  • Animated: Realign the shadow tree and the native tree when the user finishes interacting with the app. (a8786fc1df by @cipolleschi)
  • codegen: Fix codegen failing in a pnpm monorepo because of missing yargs (3e084bc159 by @tido64)
  • c++: Upstream fixes for build errors in React Native Windows (c722ec7c37 by @chiaramooney)
  • c++: Undefined behavior fix in MethodInvoker (09e88448ce by Riley Berton)
  • c++: Fix "C4715 not all control paths return a value" warning in MSVC when building ReactCommon (c30e35fb44 by @jonthysell)
  • c++: Updated comments for ~ShadowNodeWrapper() and ~ShadowNodeListWrapper() (778fcecf35 by @tomekzaw)
  • c++: Change RawPropsParser logs from ERROR level to WARNING (68c0720e34 by Bowen Xie)
  • devtools: Reconnecting to an unknown inspector page no longer results in a zombie connection (a7adfef0bb by @motiz88)
  • devtools: Avoid a zombie state when opening a second debugger frontend concurrently. (e55ea2daf1 by @motiz88)
  • devtools: Inspector-proxy no longer accidentally detaches connected devices. (4c6bff01b3 by @motiz88)
  • devtools: Throttle reload command (42bad68220 by @coado)
  • devtools Respond with status code 200 when successfully launching RNDT (eeb6122f39 by @byCedric)
  • error reporting: Fix logbox reporting React errors as Warnings (cbb313253f by @rickhanlonii)
  • error reporting Restore Metro log forwarding, change notice to signal future removal (6047f9cc09 by @huntie)
  • flow: Fix parsing of modern Flow syntax when transformer.hermesParser = false is configured in Metro config (1387f521fd by @huntie)
  • infra: Removed noisy ENOENT error message upon launching the debugger (5bbf5a4878 by @EdmondChuiHW)
  • infra: Ensure --build-output destination exists (396bdd87d8 by @szymonrybczak)
  • infra: Fix Platform.constants.reactNativeVersion type (95d9cdf228 by @NickGerleman)
  • js: Fixes findNodeAtPoint when views were inverted (1d1646afd1 by @zhongwuzw)
  • layout: Fix handling 'auto' checks in absolute layout (3596019489 by @coado)
  • runtime Add missing methods to the WithRuntimeDecorator class. (993f9fd8db by @neildhar)
  • runtime: Undo breaking change on ViewManagerDelegate.kt String params (ce1620616c by @cortinico)
  • runtime: Undo breaking change on UIManager eventDispatcher accessor (55671c00e5 by @cortinico)
  • Scrollview: Properly make ScrollView compatible with React 19 (b395208303 by @cipolleschi)
  • Scrollview: Make ScrollView compatible with React 19 (8041e410e3 by @cipolleschi)
  • SectionList: Loosen SectionList renderItem required return type (12b64b7824 by @NickGerleman)
  • style: Fixed alignItems: 'baseline' not working correctly on the new architecture (2932c0f71f by @j-piasecki)
  • style: Linear gradient color stop spec. (1a49892d57 by @intergalacticspacehighway)
  • TextInput: Fixed fontWeight number value error for text optimized (2a230694c4 by @meetdhanani17)
  • typescript: Allow read only array type for transform property (c16defaff2 by @tjzel)
  • typescript: Add missing submitBehavior prop and mark blurOnSubmit prop as deprecated in Typescript declaration file of TextInput (1dcbf41725 by @thisisgit)

Android specific

iOS specific

Security

v0.75.4

Fixed

Android specific

iOS specific

v0.75.3

Changed

Fixed

  • TypeScript: Allow readonly array type for transform property (c16defaff2 by @tjzel)

Android specific

iOS specific

  • Infra: Include x86_64 slice when building for visionOS simulator (05dec917f2 by @okwasniewski)
  • Infra: Support bundle install from outside the ios folder using --project-directory (b22970e3cf by @blakef)
  • Codegen: Codegen will start looking for codegen-enabled dependencies from the project root. (46d17efa62 by @dmytrorykun)

v0.75.2

Added

Android specific

  • runtime: Add support for handling com.facebook.react.bridge.Dynamic as parameter for TurboModules (45cd81706d by @cortinico)

Changed

Android specific

  • ReactRootView: Replaced mLastHeight with mVisibleViewArea.height() since mLastHeight value is not getting updated. For width we are already using mVisibleViewArea.width() (603eb94dd9 by @shubhamguptadream11)
  • ImageSource: open for inheritance (02d9979c32 by @cortinico)

Removed

iOS specific

Fixed

v0.75.1

Changed

Removed

Android specific

v0.75.0

Breaking

Android specific

  • ReactViewBackgroundDrawable: Deprecate ReactViewBackgroundDrawable in favor of CSSBackgroundDrawable (d7766fa927 by @NickGerleman)
  • ReactContext: Make ReactApplicationContext and ReactContext abstract. Please instantiate BridgeReactContext instead (bridge mode). Or BridgelessReactContext instead (bridgeless mode). (e69f6755c8 by @RSNara)
  • layout: Enable flex gap percentage value for RN. (41a14962fc by @realsoelynn)
  • layout:: Set and require android:supportsRtl="true" for RTL layout (82c6f8a580 by @NickGerleman)
  • turbomodule: JSIModule - Deleting this class as you should be using TurboModule instead (73b4d67a78 by @arushikesarwani94)
  • runtime: ReactHostImpl - Removing ReactJsExceptionHandler param from constructor and providing a default private implementation (fe7e7a015f by @alanleedev)
  • DevSupport: DevSupportManagerFactory - Method .create() changed to take an additional parameter of type PausedInDebuggerOverlayManager (nullable) (1d26907ca4 by @motiz88)
  • runtime: OnLoad.cpp - Make the app responsible for returning core turbomodule if not using default app setup/template (7facb32f30 by @RSNara)
  • measurement: Delete UIManagerModule.measureLayoutRelativeToParent() (958f8e2bb5 by @arushikesarwani94)
  • PopUpMenu UIManager.showPopupMenu() and UIManager.dismissPopupMenu() have been removed (c631e93341 by @alanleedev)
  • ReactContext: Delete ReactContext.initializeWithInstance(). ReactContext now no longer contains legacy react instance methods. Please use BridgeReactInstance instead. (fb23470483 by @RSNara), (05ef779c0b by @fabriziocucci), (14fb1cc335 by @RSNara), and (f99dc486cd by @RSNara)
  • ReactContext Remove getJavaScriptContextHolder() from BridgelessReactContext since now it can be accessed through BridgelessCatalystInstance in Bridgeless mode (4595351310 by @arushikesarwani94)
  • ReactContext Remove getRuntimeExecutor() from ReactContext since now it can be accessed through BridgelessCatalystInstance in Bridgeless mode (f7b9aafd10 by @arushikesarwani94)

iOS specific

  • runtime: RCTHost.h - Remove getSurfacePresenter and getModuleRegistry (f19371f28d by @cipolleschi)
  • Image: Remove unused RCTImageLoadingPerfInstrumentationEnabled (f6b9a42985 by @realsoelynn)
  • Error Handling: Remove RCTRedBox access through RCTBridge (b5db214d2a by @realsoelynn)
  • runtime EventPriority - Remove EventPriority class and always use the default EventPriority::AsynchronousBatched. This is potentially a breaking change if something in OSS sets a different priority. If a build fails because of this, simply remove the use of EventPriority. (55ed1c26ab by @sammy-SC)
  • PushNotificationIOS: RCTPushNotificationManager - Deleting deprecated didReceiveLocalNotification & didReceiveRemoteNotification callbacks (7fffe692e7)
  • PushNotificationIOS: PushNotificationIOS - Deleting deprecated alertAction and repeatInterval (410e3b5ebd)
  • PushNotificationIOS: PushNotificationIOS - Deleting old push notification implementation (916dde4c60 by @philIip)
  • cocoapods: Rename BUILD_FROM_SOURCE to RCT_BUILD_HERMES_FROM_SOURCE (6a1509f318 by @cipolleschi)
  • cocoapods: Rename React-Codegen to ReactCodegen (6549216b76 by @dmytrorykun)
  • TextInput: Remove deprecated onTextInput callback (24aece35b4 by @Saadnajmi)

Added

Android specific

  • Image: Adds a new Image prop resizeMultiplier to help increase quality of small images on low DPI devices (b6c3433537)
  • PopUpMenu: Add (optional) onPopupDismiss() callback for PopupMenuAndroid (bc3e3360d1 by @alanleedev)
  • StatusBar: Added null checks, marked null safety in StatusBarModule (7349dabae2)
  • StatusBar: Added suppression for deprecated getter/setter usage in StatusBarModule (ac51deeaf4)
  • c++: Allow bridgeless apps to register cxx modules via cxxreactpackages (b9e52f0807 by @RSNara)
  • c++: Introduce CallInvokerHolder stable API (69bb4fca44 by @philIip)
  • colors Update ColorPropConverter to support color function values (4fb5573796 by @ryanlntn)
  • colors: Add isWideColorGamutEnabled to ReactActivityDelegate (0a9891a2f2 by @ryanlntn)
  • colors: Extend Property Processor to support long props (0a80270187 by @cipolleschi)
  • colors: Update ColorPropConverter to support color function values (fa7dbd578d by @ryanlntn)
  • colors: Update bridge to handle long values (0dc5c5f1f4 by @ryanlntn)
  • error handling: Option to set a custom JSExceptionHandler instance (098454d425)
  • gradle: Expose prefabs for newly added targets (c16761da83 by @WoLewicki)
  • layout Percentage support in translate (c13790ff1d by @intergalacticspacehighway)
  • layout: Added support for using percentages when defining border radius related properties. (181ed33ab0 by @jorge-cab)
  • runtime: Add 64 bit integer (long) value support to MapBuffer (57ed0fb309 by @ryanlntn)
  • runtime: Add the ReactMarkerConstants.CONTENT_APPEARED support on Android in bridgeless mode. (5da9fdf8f1 by @Kudo)
  • runtime: Added onUserLeaveHint support into ReactActivityDelegate (3cf6c64a80 by @behenate)
  • runtime: Added onUserLeaveHint support into ReactActivityDelegate (6450d08187 by @behenate)
  • runtime: Added featureflag to avoid additional background threads during execution (4324f08749 by @javache)
  • runtime: Added getNativeModule(name) to ReactContext (fdb2427a86 by @javache)
  • runtime: GetJavaScriptContextHolder() supported in BridgelessReactContext since it's supported in ReactContext[Bridge] (dfa6519749 by @arushikesarwani94)
  • runtime: Introduce BridgeReactContext (6386988de1 by @RSNara)
  • runtime: Introduced ReactContext.hasReactInstance() to replace .hasCatalystInstance() (3a3f3e6232 by @RSNara)
  • turbomodule: Add BindingsInstaller for TurboModules (d999e9bf1e by @Kudo)

iOS specific

Changed

  • Animated: Improved performance of Animated components (452373b5bf by @yungsters)
  • BlobModule: Add info to invalid blob response error (489df722b3)
  • BlobModule: Trim invalid blob response error message (30463fb007)
  • Pressable: Improve performance of Pressable component. (cfa784c5ce by @Zahoq)
  • ScrollView: MaintainVisibleContentPosition property on ScrollView now selects the first partially visible view as the anchor, rather than the first fully visible view. (252ef19c8d)
  • StyleSheet Optimized performance of StyleSheet.compose (34331af9ce by @yungsters)
  • c++: Allow invoking the AsyncCallback synchronously to allow for tight performance optimization. (765e542c8d by @nlutsenko)
  • debugger: Inspector proxy: Rewrite 127.0.0.1 to localhost in source map URLs for better IPv4->IPv6 tunnelling support. (a52bd7dd08 by @robhogan)
  • debugger: Update Chrome launch flags for --experimental-debugger launch flow (b1bb0bee41 by @motiz88)
  • deps: Bumped @react-native-community/cli to 14.0.0
  • hermes: Enable regenerator transform for hermes-canary (a0237e96f1 by @avp)
  • hermes: Disable Babel plugin for arrow functions for Hermes (cdc3b9cdfc by @yungsters)
  • jest: Enables React global flag that causes Jest testing environment to require act() (5a8327857b by @yungsters)
  • js: Console polyfill now copies all properties from the existing console object (949296571b by @motiz88)
  • linter: no-string-refs is now a lint error (387250112e by @yungsters)
  • react-dev-tools: Upgrade[react-devtools-core]: ^5.3.1 (2617ec5570 by @hoxyq)
  • react: Upgrade to react@18.3.1 (abb7070a51 by @yungsters)
  • share Update Share.share()'s argument types to be more explicit. (8b53d41a88)
  • template: Moved the template from react-native into react-native-community/template (07abfceae1 by @blakef)
  • testing: mockComponent now also mocks name (5062c5256e by @yungsters)
  • testing: Allow moving SyncCallback for advanced use-cases (43c55e98d4 by @javache)
  • yoga: Reduce warning level of distributed Yoga builds (b696a7dc5e by @NickGerleman)

Android specific

  • Alert: Migrated AlertFragment dialog builder to use androidx.appcompat (1/2) (297ded90aa)
  • Alert: Migrated AlertFragment dialog builder to use androidx.appcompat (2/2) (600d3f6ff1)
  • deps: Bump Fresco to 3.2.0 to fix CVE-2018-14498 (744024be7f by @cortinico)
  • deps: AGP to 8.5.0 (19f6aec4a1 by @cortinico)
  • deps: Kotlin to 1.9.24 (3f3abf5b40 by @cortinico)
  • DevSupport Expose openDebugger() method on DevSupportManager (b309af79e8 by @motiz88)
  • DevSupport In bridgeless, useDevSupport now is configurable by ReactNativeHost. (d195fd0c06 by @javache)
  • DevSupport: Decouple DevInternalSettings from DevSupportManagerBase (52cec1e798 by @Kudo)
  • DevSupport: Update constructor signature of DevServerHelper (a1e8118541 by @huntie)
  • gradle: Expose mapbufferjni via prefab. (c73e22142e by @tomekzaw)
  • runtime: Changed the handleRemoveView function in ReactViewGroup.java to ignore calls for Views that are not children of this ViewGroup (0d7a92b551 by @bartlomiejbloniarz)
  • runtime: Enforce Activities using ReactDelegate implement DefaultHardwareBackBtnHandler. (a2d277f740 by @javache)
  • runtime: Simplified ReactActivityDelegate to expose a single createRootView method. (3283202248 by @javache)
  • runtime: Throwing IllegalArgumentException from ReactPackage is no longer suppressed (2584bcb6c8 by @javache)

iOS specific

  • Modal: Move the snapshotting code before the dismissal. (30d6251b78 by @cipolleschi)
  • Networking: Fire onprogress event for XMLHttpRequest even when the Content-Length header is missing in the response headers (457d14bd1b)
  • RCTAppDelegate: Improve reusability for RCTRootViewFactory (23709f7c61 by @Kudo)
  • RCTAppDelegate: Support customizeRootView from RCTRootViewFactory (8956869792 by @Kudo)
  • cocoapods: Add DEFINES_MODULE for React-jsinspector.podspec (4e6186555e by @Kudo)
  • ruby: Update Gemfile in template (06eea61c19 by @matinzd)
  • runtime: Fallback to the first foregroundInactive window when there are no foregroundActive windows in RCTKeyWindow (42ceacd281 by @cipolleschi)
  • runtime: Move notifyObservers straight to RCTEventDispatcher.mm. (f5c888c2d7 by @WoLewicki)

Deprecated

Removed

  • Image: Remove non-existent methods from <ImageBackground/> component (09c903c439 by @retyui)
  • TextInput: Remove viewconfigs for onTextInput callbacks (910cde6134 by @javache)
  • debugger: launchId query param for /debugger-frontend is no longer generated automatically for each /open-debugger call. Caller of /open-debugger is now responsible for generating the launchId, which will be passed along to /debugger-frontend. (b7de916664 by @EdmondChuiHW)
  • dev-middleware: react-native/dev-middleware: Remove non-standard faviconUrl field from CDP /json response (df19e597e3 by @huntie)
  • typescript: Remove tvParallaxProperties prop from TouchableOpacity & add missing focusable, rejectResponderTermination props (0a0cd6517f by @retyui)
  • android - Animated: Removed NativeAnimationsDebugModule (already not Public API) (95f7a5c597 by @yungsters)
  • **ios - cocoapods: ** Delete deprecated Xcode version check (2b85a236a1 by @naxey)

Fixed

  • Animated: Fix broken native animation in Paper (92540a618d by @sammy-SC)
  • Animated: Fix sequence restart failure (a93a15aca3 by @asyler)
  • Animated: Fixed memoization for components wrapped with createAnimatedComponent (be06fd4e22)
  • Button: Adds forwardRef call to new functional component implementation of Button control. (8e7263a415 by @chiaramooney)
  • FlatList: Fix clicking items on the inverted FlatList on the new architecture (3753b7a0e7 by @kosmydel)
  • Networking Fix fetch memory leak (c647950e5e by @huzhanbo1996)
  • TextInput Handle fontWeight normalization for TextInput component (15f27bc299 by @NickGerleman)
  • Touchable: Fixed inconsistency in TouchableX component disabled / focusable behavior (775713cef7 by @rozele)
  • c++: Avoid ShadowTreeRegistry::mutex_ read lock reentrancy (1a164fae6a by @rozele)
  • cli: Allow proxying commands from react-native to react-native-community/cli with explicit warning (9aed45a9d9 by @blakef)
  • cli: Fix version checker not considering nightlies (489d9f6c62 by @tido64)
  • codegen: Align CodegenSchema.d.ts with CodegenSchema.js (ea3a7143b9 by @christophpurrer)
  • codegen: Don't break script phase and codegen when coreutils installed on macOS (e0799536ef by @blakef)
  • codegen: Fixed Props.h created from codegen missing default initializers in C++ struct (639d890dff by @alanleedev)
  • codegen: Make sure that we can't include Codegen symbols multiple times (46b6453eb6 by @cipolleschi)
  • codegen: Fixed crash when passing fewer arguments than expected in native modules using codegen (179b684e76 by @rubennorte)
  • codegen: Fixed crash when passing non-numeric values where RootTag is expected to methods in native modules using codegen (abbc6eb022 by @rubennorte)
  • codegen: Fixes enum codegen value cases (1a1795a537 by @zhongwuzw)
  • debugger: LogBox and Chrome DevTools stack frame collapsing patterns are now compatible with Windows file paths. (8d0046a5e1 by @motiz88)
  • debugger: Debugger frontend socket-termination countdown now begins after the ping message is actually sent (20462ca984 by @EdmondChuiHW)
  • debugger: Fix breakpoints opening to incorrect location or disappearing from debugger frontend UI. (ac714b1c33 by @robhogan)
  • debugger: Inspector proxy: prevent errors proxying a device message from blocking the handler queue or spamming logs. (e05319cc87 by @robhogan)
  • error handling: Fixed LogBox not showing correctly on the New Architecture (db1043dfbf by @rubennorte)
  • error handling: Remove accidental duplication in React warnings in Logbox (32c3cd3e8a by @gaearon)
  • error handling: Fix logbox reporting for React errors (64e6721b23 by @yungsters)
  • error handling: Support component stacks without source info. (1b53051b8c by @rickhanlonii)
  • error handling: Support component stacks without source info. (e9e668f0ec by @rickhanlonii)
  • error handling: Support hermes component stacks with missing source info. (82db330360 by @rickhanlonii)
  • infra: Replace deprecated babel-plugin libraries to fix deprecation warnings on installation (6213b2a62a by @kaganece)
  • jest: Fix jest setup for Image methods (resolveAssetSource, getSize, prefetch, queryCache) (d53cc2b46d)
  • layout: Fix duplicate rotation operations (54f582f651 by @NickGerleman)
  • layout: Fixed padding not being applied to inline views in text (12aef32b82 by @j-piasecki)
  • layout: Fixup margin: auto and justification behavior for overflowed containers (f21d9afe0b by @NickGerleman)
  • runtime: Add collapsableChildren prop (7b44c8d1d0 by @NickGerleman)
  • runtime: Add missing NativeState methods to the WithRuntimeDecorator class. (218ea5d44c by @bartlomiejbloniarz)
  • runtime: Add option for multiple mountingOverrideDelegates (358fe46969 by @WoLewicki)
  • runtime: Fixed prioritization of idle priority tasks, which were incorrectly scheduled as immediate priority (0ca3ed87f3 by @rubennorte)
  • runtime: New architecture timer methods now return integers instead of an opaque object. (a16f7dc547 by @javache)

Android specific

iOS specific

  • Animated: Fixes animated frame timing (690df7a556 by @zhongwuzw)
  • ContextMenu: Hide AutoFill from context menu when using contextMenuHidden (493dbb2190 by @jakex7)
  • DevMenu: Fix RCTPerfMonitor not showing up in scene based app (16775215d5 by @ouabing)
  • InteropLayers: Make sure to pass the RCTBridgeProxy to ViewManagers (d6c90cf7ed by @cipolleschi)
  • Networking: Fixed headers content type check for iOS bundle download (d9b0f15c84 by @jayshah123)
  • PullToRefresh: Properly recycle the RCTPullToRefreshViewComponentView (18f0a90358 by @cipolleschi)
  • RCTAppDelegate: Added space to $(inherited) string to avoid creation of wrong cpp flags in RCTAppDelegate podspec (be93092c1b by @nikhiltekwani09)
  • RCTAppDelegate: Add missing forward blocks to RCTRootViewFactory (9d79f05e68 by @okwasniewski)
  • RCTAppDelegate: Allow importing RCTAppDelegate in Swift (7c953698b4 by @okwasniewski)
  • RCTAppDelegate: Allow usage of RCTRootViewFactory from Swift (5aea518d88 by @okwasniewski)
  • RCTAppDelegate: Fixed Method name in hint from customiseView to customizeRootView (46d4b837a5 by @svengiebel)
  • RCTAppDelegate: Fixes customizeRootView migration comment (fbf9c4343a by @zhongwuzw)
  • RCTAppDelegate: Remove loadSourceForBridge in RCTRootViewFactory (0c02b26c1e by @okwasniewski)
  • SCrollView: Preserve content offset in ScrollView when the component is suspended (510d2906b2 by @sammy-SC)
  • ScrollCiew: Remove usage of deprecated scrollIndicatorInsets in RCTScrollView (ce10ce4d98)
  • ScrollView: Fixing scroll view breakage caused by #44789 (f4b921c1d5)
  • Text: Fixed font size enlarging when adjustFontSizeToFit is set (ed7766cee9 by @j-piasecki)
  • Text: Fixed text highlighting in the New Architecture (eadcebbb3e)
  • TextInput: Fix Multiline TextInput with a fixed height scrolls to the bottom when changing AttributedText (f6badca2f9 by @fabOnReact)
  • Touchable: Fixed stale state on TouchableOpacity and TouchableBounce (00055f89a0 by @sammy-SC)
  • UIActivityIndicatorViewStyles: Removed references to deprecated UIActivityIndicatorViewStyles (a23ae9c7f2)
  • accessibility: Fix the accessibility label not being applied to text components on the new architecture (9922628032 by @j-piasecki)
  • autolinking: Auto linking script of script phase (e320ab47cf)
  • cocoapods: Exposes react_native_pods methods through autolinking.rb (6b56fb0d0b by @blakef)
  • dark mode: Fix dark mode on initial load. (b957513cc6)
  • error handling: Add missing call to [super viewDidLoad] in RCTRedBox.mm. (d93788301c by @hakonk)
  • layout: Fix InputAccessoryView width on device orientation change (8597727c28 by @mauriciomeirelles)
  • objc: Fixed missing header imports (46f53e97f0)
  • privacy manifest: Fix error on handling privacy manifest (c24929c5f4 by @cxa)
  • privacy manifest: Fix privacy aggregation (00b366159d by @aleqsio)
  • privacy manifest: Privacy Manifest aggregation failing due to missing nil check (47b42dc845 by @swrobel)
  • runtime: Avoid calling abstract methods in RCTComposedViewRegistry (9bdd777fd7 by @cipolleschi)
  • runtime: Extract the constants from ViewManagers in the UI Thread if needed. (94537c7beb by @cipolleschi)
  • runtime: Fixed HermesExecutorFactory.h build error when importing its private header (2d46dbe6ce by @Kudo)
  • runtime: Fixes NSDataBigString length calculation (9d637e4622 by @zhongwuzw)
  • runtime: Fixes race condition of m_batchHadNativeModuleOrTurboModuleCalls (3f74f69cf0 by @zhongwuzw)
  • runtime: 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)
  • runtime: Let RCTHost be initialized with a function to provide the bundleURL so that it can connect to metro on Reload when the url changes. (8b8b85bb1f by @cipolleschi)
  • runtime: Missing progress in onProgress native event arguments (78ab5f4b83 by @netmaxt3r)
  • style: Fixed border being drawn over children when no color was set (91c5a6d936 by @j-piasecki)
  • style: Removed Legacy iOS 10 code messing with border radius (9204e44ef5 by @jorge-cab)
  • turbomodule: Fixed race condition in native module invalidation. (b7812a8b6c by @dmytrorykun)
  • xcode: Do not use temporary node when creating the .xcode.env.local (8408b8bc96 by @cipolleschi)

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

Android Specific

iOS Specific

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

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.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.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

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

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

v0.71.4

Changed

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 its 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

v0.70.15

Changed

Fixed

iOS specific

v0.70.14

Changed

Fixed

iOS specific

v0.70.13

Fixed

v0.70.12

Fixed

iOS specific

v0.70.11

Changed

v0.70.10

Fixed

Android specific

iOS specific

  • USE_HERMES envvar check fixed in react-native-xcode.sh. (61106ac680) by @kidroca)
  • USE_HERMES envvar check fixed in react-native-xcode.sh. Now source maps are generated by default. (8ad63714) by @dmytrorykun)
  • USE_HERMES envvar check fixed in react-native-xcode.sh. (4108b3) by @dmytrorykun)
  • When source maps are enabled, clean up temporary files from the build directory. Reduces bundle size by at least 1MB. (bad3949) by @dmytrorykun)
  • Make 0.70 compatible with Xcode 15 (thanks to @AlexanderEggers for the commit in main) (c5e549e694)

v0.70.9

Changed

  • Update Hermes to hermes-2023-04-13-RNv0.70.8-c9b539bf3d7bfa4143ff1a5751886c7b2dd728a2 (7b1441730b), contains:
    • Remove register stack size override in hermes.cpp (03f2df)
    • Increase default max stack size (1b759f4)

Fixed

Android specific

iOS specific

v0.70.8

Changed

iOS specific

Fixed

iOS specific

v0.70.7

Fixed

Android specific

iOS Specific

  • Fix the potential race condition when dismissing and presenting modal (279fb52e03 by @wood1986)

Added

Android Specific

v0.70.6

Fixed

  • Fixed regression: @jest/create-cache-key-function dependency was inadvertedly bumped to 29.x. We are bringing it back to 27.0.1. (fb0e88beb9 by @kelset)

Changed

iOS specific

v0.70.5

Fixed

v0.70.4

Changed

Fixed

iOS specific

v0.70.3

Fixed

  • Stop styles from being reset when detaching Animated.Values in old renderer (2f58e52006 by @javache)
  • Revert "Fix TextInput dropping text when used as uncontrolled component with defaultValue" to fix TextInputs not being settable to undefined programmatically (e2645a5) by Garrett Forbes Monroe

Android specific

iOS specific

  • Add xcode 14 workaround (turn off signing resource bundles) for React-Core (967de03f30 by @kelset)

v0.70.2

Added

iOS specific

Changed

Fixed

Android specific

  • Fix port as -1 if dev server without specifying port on Android (3d7e1380b4 by @Kudo)

v0.70.1

Added

Changed

Fixed

Android specific

iOS specific

0.70.0

Breaking

Added

Android specific

iOS specific

Changed

Android specific

iOS specific

Removed

iOS specific

Fixed

Android specific

  • Fixed HorizontalScrollView API scrollToEnd causing NPE in side-effects. (e5ba6ab7b4 by @ryancat)
  • Fix InputAccessoryView crash on Android (afa5df1764 by @hduprat)
  • Bring back non-rootview touch handling based on reactTag (8b837268b4 by @fkgozali)
  • Make Text not focusable by default (8ced165e53 by @kacieb)
  • Revert PR 33924 because of issues with TextInputs with numeric keyboard types not respecting the secureTextEntry prop (edb27e3aa1 by @charlesbdudley)
  • Fix edge case when we enqueue a pending event to views on stopped surface (ea7c9f2ad9 by @ryancat)
  • Fix a bug where the keyboard, once set as email, won't change back to default. (ec307e0167 by @larkox)
  • NPE in ReactEditText.setInputType when React Native is used with some versions of a AppCompat 1.4.x. (and possibly others) (92ebb298e2)
  • Fix NPE on ReactEditText due to null mFabricViewStateManager (ba6bf5a3ce by @cortinico)
  • Scroll views would still receive scroll events when nested in a view with pointer-events: "none" (fced96bf52 by @javache)
  • Fixed an edge case that event dispatching is failed after pre-allocation of a view and before the view is mounted. (a093fe5f2f by @ryancat)
  • Avoid crash by handling missing views in dispatchViewManagerCommand (ee1a191cb1 by @hsource)
  • Pass react build dir to cmake (6ab7a99518 by @janicduplessis)
  • Fix missing space in ReactPropertyException message (24560b6718 by @markv)
  • Fix import path breakage (2e1e62f2bf by @aniketmathur)
  • When onEndReachedThreshold is set to 0 onEndReached function on VirtualizedList properly fires once the user scrolls to the bottom of the list. (b869680c11)
  • Fix rendering of transparent borders in RN Android (a9659ce86d by @mdvacca)
  • Exception with Cannot load WebView message will initialising WebView (along with existing checks) (9e0d8696cc by @rachitmishra)
  • Fix accessibilityState overwriting view's disabled state on Android (f35d18caa3 by @okwasniewski)
  • Make sure *.ts files are considered for task avoidance in the Gradle Plugin (1a9fb6cb68 by @cortinico)
  • Fix missing import on New Architecture build script in template (a22f30d2ce by @cortinico)

iOS specific

Security