React Native: v0.85.0-rc.0 Release

Release date:
March 4, 2026
Previous version:
v0.84.1 (released March 4, 2026)
Magnitude:
10,843 Diff Delta
Contributors:
40 total committers
Data confidence:
Commits:

Top Contributors in v0.85.0-rc.0

j-piasecki
cipolleschi
yungsters
chrfalch
mateoguzmana
elicwhite
rickhanlonii
zeyap
kitten
lenaic

Directory Browser for v0.85.0-rc.0

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

v0.85.0-rc.0

Breaking

  • : Removing deprecated type aliases. Use the type directly. (796a9a8922 by @sammy-SC)
  • : Removing deprecated type aliases. Use the type directly. (1813df743d by @sammy-SC)
  • Move Jest preset to new react-native/jest-preset package (c4ae05534a by @kitten)
  • Remove deprecated StyleSheet.absoluteFill API (5681db09b8 by @huntie)
  • Drop support for EOL Node.js lines and old minors. (c9c601d61a by @robhogan) #### Android specific
  • Re-added receiveTouches to RCTEventEmitter with a default no-op implementation to avoid breaking ecosystem libraries (67db89d08a by @javache)
  • Deprecated UIManagerHelper.getEventDispatcherForReactTag and UIManagerHelper.getEventDispatcher(ReactContext, UIManagerType Int), use getEventDispatcher (4e5d45f4db by @javache)
  • Stub UIImplementation class, this class is unused in the new architecture (fbe15f6605 by @mdvacca)
  • Make ReactTextUpdate internal (faebee4338 by @NickGerleman) #### iOS specific ### Added
  • Added missing tests for Standalone fusebox shell (e5d720d98d by @chicio)
  • [TypeScript] Add missing onPressMove prop to <Pressable /> (d07318226d by @retyui)
  • AnimationBackend now cleans-up the AnimatedPropsRegistry after the js sync when updateRuntimeShadowNodeReferencesOnCommitThread is enabled (b38428c9bc by Bartlomiej Bloniarz)
  • Animation Backend examples in RNTester (149a4b8dcd by Bartlomiej Bloniarz)
  • Added a synchronization mechanism for the layout information between the React branch and the main branch of the ShadowTree (c8d498d62d by @j-piasecki)
  • Upstream useAnimatedColor and useAnimatedValueXY (b92d37879e by @zeyap)
  • Create featureflag viewTransitionEnabled (d7a1d080c2 by @zeyap)
  • AnimationBackend docs (f3678f51d9 by Bartlomiej Bloniarz)
  • Added tests for Pressability onHoverOut property (de5994817d by @chicio)
  • Added support for transform operations. (58b7b052c0 by @coado)
  • Support multiple CDP connections to one React Native Host (diff 2 of 2) (f04659972c by @motiz88)
  • Support multiple CDP connections to one React Native Host (diff 1 of 2) (534c06f3c8 by @motiz88)
  • TextInput onChange event types now include optional selection data (c1f5445f4a by @alanleedev)
  • Updated AnimationBackend usages to use AnimationTimestamp (2a4a54ae6c by Bartlomiej Bloniarz)
  • std::mutex to AnimationBackend to protect start, stop and callbacks. (4064b89867 by Bartlomiej Bloniarz)
  • RCTAnimationChoreographer to RCTScheduler (019c9a7d8f by Bartlomiej Bloniarz)
  • Added EventEmitter to react-native exports. (f7cd8c4c1c by @yungsters)
  • Animated calls AnimationBackend::trigger to push updates from. events to the mounting layer (ac06f3bdc7 by Bartlomiej Bloniarz)
  • Animated can now prompt the backend to push changes to the shadowTree on the JS thread, making RSNRU update the ShadowNode references held by the react renderer. (f9e94c0502 by Bartlomiej Bloniarz)
  • Moved shadowNodeFamily_ from a map in NativeAnimatedNodesManager to PropsAnimatedNode (af96497b54 by Bartlomiej Bloniarz)
  • TextInput onChange event now includes selection data (cursor location) on iOS and Android (162627af7c by @alanleedev) #### Android specific
  • ReactFontManager.customFontFamilies property to query registered custom font family names (c3acbc424d by @vonovak)
  • React Native DevTools: Restore request payload previews on Android (cc44e96e0b by @huntie)
  • Make DevSupportHttpClient public for custom dev-support HTTP header registration (58d94863f8 by @cortinico)
  • Public DevSupportRequestHeaders API for registering custom dev-support HTTP headers (e0d34b254a by @cortinico)
  • Allow specifying dev server ip via gradle property (6f54846a08 by @amartinz)
  • Add Unstable DrawCommandSpan Usable with PreparedLayoutTextView (ad8ac5e176 by @NickGerleman)
  • Decouple ReactScrollViewHelper from kt NativeAnimated (0cde8ed0bb by @zeyap)
  • Re-added prefabPublishing=true to make Android build from source work again (e8eb37414e by @chrfalch)
  • Add StateWrapper to C++ fbjni types (99b328bffa by @mrousavy)
  • Add scrollsChildToFocus prop to ScrollView to control automatic scrolling when a child receives focus (d9ee4bb0aa by @johankasperi) #### iOS specific
  • Added support for clang virtual file system in React.XCFramework (f0422abd23 by @chrfalch) ### Changed
  • React Native DevTools: Page targets returned from /json/list will no longer set prefersFuseboxFrontend (421de23470 by @huntie)
  • Metro bump to ^0.84.0 (58ed78fec1 by @robhogan)
  • Text outside the bounds of a borderRadius is now hidden by default (2111bec8d5 by @NickGerleman)
  • Text Can Conditionally Use "RCTSelectableText" Native Component (a175bff10a by @NickGerleman)
  • The JS revision merge now is scheduled on the main thread (47e5e6c394 by @j-piasecki)
  • Changed how React changes are commited to the Shadow Tree (behind a feature flag) (45b4817414 by @j-piasecki)
  • Refactor how shadow tree revisions are promoted as latest for JS consistency (4a7bc4c0e7 by @j-piasecki)
  • Suppress LogBox warnings and errors during CDP performance tracing (a308014d87 by @emily8rown)
  • Extracting shared logic for fuseboxSessionObserver into reusable components (b0013ea22a by @emily8rown)
  • Migrated Pressability tests to Jest modern timers (7dd2d255de by @chicio)
  • Rename workflow job IDs from kebab-case to snake_case (1ff071544e by @emily8rown)
  • createDevMiddleware now accepts string | URL for serverBaseUrl (10709f427d by @emily8rown)
  • Changed Flow type for URL constructor to accept URL as first argument, matching the second argument type (678f7a9cfb by @emily8rown)
  • React Native DevTools: Enable native macOS window merging (34b3c108bc by @huntie)
  • Enable -DRN_USE_ANIMATION_BACKEND by default (4cfb2ee468 by @zeyap)
  • AnimationChoreographer interface with an implementation for fantom tests (f8564b47fd by Bartlomiej Bloniarz)
  • cancelAnimationFrame, clearImmediate, clearTimeout and clearInterval do nothing If there is no callback associated the given handle (9d3cc383ba by @retyui)
  • Logs created by console.error that begin with "Warning: " will no longer be treated as warnings. These call sites should migrate to using console.warn instead. (5ab418460b by @yungsters)
  • Make React Native consume 250829098.0.6 (4fb33022bc by @cipolleschi)
  • Changed debugger proxy to only permit connections from localhost. (f34b8702db by @yungsters)
  • Importing hairlineWidth no longer eagerly initializes the PixelRatio TurboModule. (e11a2f07e8 by @yungsters)
  • Remove "JavaScript logs have moved!" notice from dev server CLI (4bd62a1d41 by @huntie)
  • Pressable no longer unmounts event listeners in a hidden Activity. (c295ec2261 by @yungsters) #### Android specific
  • CDP: ThedeviceName field in app metadata is now prefixed with the manufacturer (9b906753d9 by @huntie)
  • Gradle to 9.3.1 (319e589d3d by @cortinico)
  • Add Sonatype Central repository for users of nightly builds only (47c3ebe23f by @sergeich)
  • Log error when unsupported type is passed to interpolation outputRange (30fd0c4ac8 by @zeyap)
  • Updated the nestedScrollEnabled prop to default to true if the ScrollView defines a refreshControl (95bac85b5a by @Abbondanzo)
  • Updated documentation for GuardedFrameCallback class (dfcb56dfea by @mdvacca) #### iOS specific
  • Changed umbrella header template to use angled import syntax (2b66a9a622 by @chrfalch) ### Deprecated
  • Deprecated AccessibilityInfo.setAccessibilityFocus in favor of AccessibilityInfo.sendAccessibilityEvent (36a0d9ef63 by @Abbondanzo) #### Android specific
  • Deprecate NativeViewHierarchyOptimizer as part of Legacy Architecture cleanup (352d73bef0 by @mdvacca) #### iOS specific
  • Deprecate RCTHostRuntimeDelegate and merge into RCTHostDelegate (4626732f5b by @tsapeta) ### Removed
  • Stub UIViewOperationQueue and remove its usages (7de3dbe1c8 by @mdvacca)
  • AnimationBackendChoreographer, AndroidAnimationChoregrapher (bb7c0f7c5f by Bartlomiej Bloniarz) #### Android specific
  • Remove deprecated CatalystInstanceImpl (0889f7d774 by @mdvacca)
  • Removed Paper-specific event dispatching methods. (05d64d9316 by @javache)
  • Stub out NativeViewHierarchyManager (Legacy Architecture) (c2156a835f by @mdvacca)
  • Remove Deprecated ReactTextInputShadowNode (d5399dd40d by @NickGerleman)
  • Removed support for ReactZIndexedViewGroup (81acf78f81 by @javache) #### iOS specific ### Fixed
  • Babel-preset: Don't override explicitly-passed dev config if obsolete withDevTools is missing (c5a38ab285 by @robhogan)
  • Fix memory leak in TextInput (5229e507e1 by @mobinni)
  • Fixed isFocused false positive (42cd0f0414 by @chicio)
  • Fix Babel transformer changing BABEL_ENV as a side effect (88d40dcda3 by @robhogan)
  • Fixed crash in cloneMultiple when families have no path to root (54b4cb5e89 by @coado)
  • When using Image with a uri, width and height the default dimensions were being lost (dd3c20057b by @javache)
  • Fixed TypeError when serializing arbitrary transform operation (8067f7b353 by @coado)
  • Send network events to all CDP clients with the Network domain enabled (93a43c90ce by @motiz88)
  • Reaching Metro from Debugger on urls other than localhost:8081 and 127.0.0.1:8081. (3c7b4881dd by @vzaidman)
  • (animationbackend) add default in switch statements (66f6146f6f by @zeyap)
  • Typo on maestro ios gh action for jdk step (0344c0c9cb by @gkartalis)
  • Fix test build breaks after GoogleTest update (2a776b1f65 by Tal Benesh) #### Android specific
  • Prevent Native Animated tracking spring crash when tracked toValue node is detached. (45de7109fe by @kmsbernard)
  • Fix thread-safety crash in DynamicFromArray by using ThreadLocal<SimplePool> instead of a shared SimplePool, matching the existing fix in DynamicFromMap (21fae86546 by @edwii-zhu)
  • Restore getUIImplementation() stub for backwards compatibility with third-party libraries (e5d2d951de by @sammy-SC)
  • File:// URIs passed to fetch() or XMLHttpRequest no longer fail (https://github.com/facebook/react-native/issues/54626) (e76a6e2ef4 by @bhamiltoncx)
  • Sync bundling progress between Metro cli and app hints (56e1710b73 by @vzaidman)
  • Fix included-build gradle.properties resolution for monorepos by reading from parent Gradle start parameters (projectDir/currentDir) before falling back to ../../android/gradle.properties, so hermesV1Enabled can be inherited correctly. (c5ae0c820a by @Titozzz)
  • Fix image content disappearing on API 24 (Nougat) when antialiased border radius clipping is applied (51ec52e806 by @Abbondanzo)
  • Fix null pointer crash in FabricUIManagerBinding::driveCxxAnimations by adding null check for scheduler (349cf1595b by Dileep Siva Sai Nallabothu)
  • Provide symbol fallbacks for inspector-modern/chrome/Registration.h when HermesV1 is disabled. (5ee695ad8f by @tjzel)
  • Image fadeDuration=0 not working with props 2.0 enabled (3fb5c0bc02 by @hannojg)
  • Validate module names in codegen (a748a405b6 by @RSNara)
  • Fixed bug where joystick could still scroll when scrollEnabled is false (c51b9698c7 by William Khoe)
  • ReactPlugin.kt always setting hermesV1Enabled to true (45896674d1 by @tjzel)
  • Fixed so that all build types get the HERMES_V1_ENABLED flag (8d68b11005 by @chrfalch)
  • Fix crash with setting certain <Text> props back to undefined when using enablePropsUpdateReconciliationAndroid feature flag (50289e3add by @hannojg)
  • FontVariants stylistic-{num} not being propagated correctly (9353eb55b8 by @dragoncodes)
  • Set accessibilityRole to "link" for pressable Text components by default (68e5b4ee9f by @fabriziocucci)
  • Properly set view.setEnabled() based on accessibilityState.disabled (fc66884d73 by @fabriziocucci)
  • Reset OnClickListener to null when recycling views to avoid accessibility tools finding views with incorrect state (04bdebc585 by @fabriziocucci)
  • Reset isClickable to false when recycling views to avoid accessibility tools finding views with incorrect state (07c0539cb8 by @fabriziocucci)
  • Capture idle callback before running it (90e48d6031 by @mozzius) #### iOS specific
  • Fixed transformOrigin using stale layout dimensions from recycled views, causing incorrect transform positioning (0eb5e652a2 by Mazin Zakaria)
  • Not crashing on network issues with connecting to DevServer (ec29c292e0 by @vzaidman)
  • Sync bundling progress between Metro cli and app hints (e112934f2e by @vzaidman)
  • Fixed replace script deleting the react-vfs.yaml file on iOS (11e257cec0 by @chrfalch)
  • Fix expo-image-manipulator cropped image orientation (978d5a2d4f by @mlazari)
  • Add nkf and base64 as ruby dependencies (51c965883f by @kimchi-developer)
  • Fixed edge-case with animating non-layout props through the commitUpdates path. (31f215a421 by @coado)
  • Refactored header files generator for prebuilt React framework (3fad7dc13d by @chrfalch)
  • Regression from https://github.com/facebook/react-native/issues/54948 preventing pod install --project-directory from working properly (9f686f2014 by @kitten)
  • Allow absolute react-native paths to be passed to use_react_native! in project podfiles (33641f09fa by @kitten)
  • Resolves a rare race-condition that can trigger in RCTImageComponentView. (3b46755b3b by Ryan Frawley)
  • Ensure accessibilityElementsHidden prop is respected in recursive accessibility label aggregation (b60f533acc by Max Polevy)
  • - [iOS] [Fixed] - Fix unused exception parameter compile error in RCTUIManager catch block in certain build mode (58bc6c3e38 by Yannick Loriot) ### Security
  • Bump to chromium-edge-launcher@^0.3.0 to drop rimraf (1f2312687b by @kitten) #### Android specific #### iOS specific ### Unknown
  • Release 0.85.0-rc.0 (3e2367c58d by @react-native-bot)
  • Do not use hermesNightly on the release branch (c35a22db2b by @cortinico)
  • Introduce 'Determine Hermes build flag' step (111bd59db5 by @fabriziocucci)
  • Bump hermes version (4379f21bd7 by @alanleedev)
  • Fix CQS signal modernize-use-designated-initializers in xplat/yoga/yoga/algorithm (4ef7ac3136 by generatedunixname1587093422349604)
  • Migrate YogaNode to Kotlin (cd27b7e1a8 by @mateoguzmana)
  • Transform all remaining utility types (cd3a9c55c1 by @marcoww6)
  • Transform mixed to unknown (60f9bfd546 by @marcoww6)
  • Transform $ReadOnlyArray to ReadonlyArray 18/n (92c32780f1 by @marcoww6)
  • Transform $ReadOnlyArray to ReadonlyArray 17/n (7051a07c63 by @marcoww6)
  • Transform $Values to Values (94383613d8 by @marcoww6)
  • Transform $ReadOnly to Readonly 38/n (41efc3b588 by @marcoww6)
  • Transform mixed to unknown in xplat/js (625d702fec by @marcoww6) #### Android Unknown
  • Migrate YogaConfigJNIBase to Kotlin (9db85e7503 by @mateoguzmana)
  • Migrate YogaProps to Kotlin (2e12cbdfb3 by @mateoguzmana)
  • Translation auto-update for batch 0/61 on master (26da0fa509 by Intl Scheduler) #### iOS Unknown
  • Fix TypeError in LogBoxInspectorReactFrames on Windows/macOS (995879ca9b by @jisoo-hisoo) #### Failed to parse
  • Reset contentInset in scroll view prepareForRecycle (984dbe83d8 by @sandeee1928)
  • Make metro accept tls server config (8915d81a5b by @vzaidman)
  • (AI Generated) [RN][Android] Merge ReactTextAnchorViewManager into ReactTextViewManager (f67f6a2448 by @NickGerleman)

Hermes dSYMS: - Debug - Release

Hermes V1 dSYMS: - Debug - Release

ReactNativeDependencies dSYMs: - Debug - Release

ReactNative Core dSYMs: - Debug - Release


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.