A framework for building native applications using React
3
React Native v0.84.0-rc.0
Release date:
January 7, 2026
Previous version:
v0.83.1
(released December 18, 2025)
Magnitude:
6,093
Diff Delta
Contributors:
33 total committers
Commits:
2 Features Released with v0.84.0-rc.0
Browse Other Releases
v0.84.0-rc.2
Released January 19, 2026
19 Ξ
v0.84.0-rc.1
Released January 14, 2026
242 Ξ
v0.84.0-rc.0
Released January 7, 2026
6,093 Ξ
v0.83.1
Released December 18, 2025
21 Ξ
v0.83.0
Released December 10, 2025
27 Ξ
v0.83.0-rc.5
Released December 8, 2025
26 Ξ
v0.83.0-rc.4
Released December 3, 2025
115 Ξ
v0.83.0-rc.3
Released November 24, 2025
51 Ξ
v0.83.0-rc.2
Released November 17, 2025
483 Ξ
v0.83.0-rc.1
Released November 11, 2025
61 Ξ
Top Contributors in v0.84.0-rc.0
zeyap
cipolleschi
artus9033
chrfalch
lenaic
yungsters
lunaleaps
sbuggay
riteshshukla04
kitten
Directory Browser for v0.84.0-rc.0
All files are compared to previous version, v0.83.1. Click here to browse diffs between other versions.
Loading File Browser...
Release Notes Published
Breaking
- Bump minimum Node.js version to v22.11 (8f10b339d4 by @robhogan)
- Make the TurboModuleBinding constructor private. (53944eaa6c by @RSNara)
- Remove TurboCxxModule (2d6a3236ed by @christophpurrer)
- Removed microtask API from JSTimerManager (60471cb268 by @javache)
- Remove CxxModule 2/2 C++ part (a945cd99fa by @christophpurrer)
- Remove CxxModule 1/2 Java/Kotlin part (75a11703a0 by @christophpurrer)
- Remove CxxModule support from CatalystInstance (c726c27537 by @christophpurrer)
- Remove RCTCxxModule (2c8a376c47 by @christophpurrer)
Android specific
- Remove unstable_shouldEnableLegacyModuleInterop() (e4eb64d6cc by @RSNara)
- Delete deprecated NativeKind class from React Native Android (284d841b3d by @mdvacca)
- Remove unnecessary classes inside
com.facebook.react.uimanager.layoutanimationused in legacy architecture (0b09e6f696 by @cortinico) - Remove unnecessary
LazyReactPackageused in legacy architecture (2b09ae8992 by @cortinico) - Remove unused internal
NotThreadSafeBridgeIdleDebugListener(0ee4a2d01a by @cortinico) - Remove unused internal
NotThreadSafeViewHierarchyUpdateDebugListener(991dff2322 by @cortinico)
iOS specific
- Remove legacy arch by default (c7f433a413 by @cipolleschi)
- Make
RCTPackagerConnectioninstance of theRCTDevSettingsand use bundle config. (cf92cade49 by @coado)
Added
- A new test for the AnimationBackend (8bc6214284 by Bartlomiej Bloniarz)
- Added support for
maxWidth,maxHeight,minWidth, andminHeightprops to the AnimationBackend. (3650ae3d08 by @coado) - Added support for flex props to the AnimationBackend. (33b2d6d367 by @coado)
- Support parsing
Readonlyfor the new Flow utility types (a6b76c0c51 by @marcoww6) - Support parsing
ReadonlyArrayfor the new Flow utility types (3bf7a09ecb by @marcoww6) - Added support for outline props to the AnimationBackend. (4de9242e80 by @coado)
- Added support for filter props to Animation Backend (e744329c3d by @coado)
- Added support for border width props to the animation backend. (782dc0e038 by @coado)
- Add ResourceReceivedData trace events for network data chunks in Performance timeline (c400b88ebf by @emily8rown)
- Added support for positional
left,top,right,bottomprops to the animation backend. (9931aeb830 by @coado) - Added support for margin and padding props to AnimationBackend. (cd4744cb98 by @coado)
- Added missing
experimental_backgroundSize,experimental_backgroundPosition,experimental_backgroundRepeatto manually written types. (37bf285836 by @tjzel) - Added support for
shadowColor,shadowOffset,shadowOpacity, andshadowRadiusprops to the animation backend. (c31a5a8896 by @coado) - Export
usePressabilityhook andPressabilityConfig/PressabilityEventHandlerstypes from the public API (d0e9b9c078 by @natew) - Added missing standard properties to
URL(hash, host, pathname, etc.) and methods toURLSearchParams(get, set, delete, etc.). (f97b9a521d by Manish Balayan) - Use the commit hook to reconcile the UI updates with react (d04e1528da by Bartlomiej Bloniarz)
- Add
connectAnimatedNodeToShadowNodeFamilymethod toNativeAnimatedModuleandNativeAnimatedTurboModule(d7ef651c5c by Bartlomiej Bloniarz) - Added support for transform, border radius, and background color props to Animation Backend. (e167faa449 by @coado)
- Bundle support for heic and heif files (f472ef980a by @anthonybajoua)
- Thread down rootTag/surfaceId to AnimatedInterpolation node (b46427a673 by @zeyap)
- DevServer fast refresh banners now have a dismiss button but still tap anywhere to dismiss. (fcd63032d0 by @emily8rown)
- Jest tests for PlatformColor support (cbbba7b9a5 by @zeyap)
- (js part) Support PlatformColor type of toValue and interpolation outputRange (8b6b47bd57 by @zeyap)
- Expose methods for registering packager connection handlers. (d9842fdbe3 by @coado)
- Add support for Flat Config (eslint v9) (18592451de by @pipopotamasu)
- UIManagerNativeAnimatedDelegateBackendImpl for running animation frame updates on android (219c2b84c2 by Bartlomiej Bloniarz)
Android specific
- Add
{add|remove}SchemeChangeListener()function toOverrideColorSchemeinterface to support dynamic appearance updates via override (80e384a801 by @alanleedev) - Include activeHitPath in payload when it's PointerUp/Down (1d6d8fc058 by @zeyap)
- Add onKeyDown/onKeyUp support to Android (79b09ce9c4 by @Abbondanzo)
- Add c++ animated support for PlatformColor type of toValue and interpolation outputRange (7941a621f9 by @zeyap)
iOS specific
- Allow invalidateDisplayLink on RCTAnimatedModuleProvider (7c603ee261 by @zeyap)
- Add support for UIAccessibilityPriority in announcements (4851fb2fc3 by @maxencehenneron)
- Added documentation for the prebuild scripts for precompiling React Native Core and React Native Dependencies. (7a66582f60 by @chrfalch)
- Add new
RCTBundleConfigurationfor modifying bundle URL onRCTReactNativeFactory. (6fa75cce48 by @coado)
Changed
- Sync React 19.2.3 into React Native (e6923dd1e1 by @cipolleschi)
- AnimatedPropsRegistry now also receive the updates from the synchronous updates that bypass the ShadowTree, so that these updates are not overwritten by React commits (c52d30e79b by Bartlomiej Bloniarz)
- C++ animated now passes the calculated
folly::dynamicdirectly to the backend, without repacking it intoAnimatedProp(84e408cf89 by Bartlomiej Bloniarz) - Extracted
clonePropfromAnimationBackend.cpptoAnimatedProps.h(33f783ae23 by Bartlomiej Bloniarz) - CloneMultiple now invokes the callback for every cloned node, instead of doing that only for the nodes in
familiesToUpdate(976c849057 by Bartlomiej Bloniarz) - Text components with onPress or onLongPress now automatically get accessibilityRole='link' for proper accessibility support (4c732b4ccf by @fabriziocucci)
- Split the families by
SurfaceIdinonAnimationFrame(5c078bd490 by Bartlomiej Bloniarz) - Move the animation backend callback scheduling, behind the
isRenderCallbackStartedcheck. (8b95fce84e by Bartlomiej Bloniarz) - JSBigString mutable data accessor has been renamed to mutableData (3012aac2ad by @javache)
Android specific
VirtualViewnot clips subviews even if its parentScrollViewdoes not haveremoveClippedSubviewsenabled. (b0e754bc7f by @yungsters)- Set isClickable=true by default or based on the pointerEvents value for all views to improve accessibility tool detection while maintaining the configured focusable state (427995858d by @fabriziocucci)
- Enabled shouldUseLinkRoleForPressableText and shouldSetEnabledBasedOnAccessibilityState feature flags by default to improve accessibility behavior. (38e3075310 by @fabriziocucci)
iOS specific
- Use prebuild by default (df9d31b243 by @cipolleschi)
- Add
RCTBundleConfigurationproperty onRCTReactNativeFactoryand pass it down toRCTHost. (5465a511f4 by @coado) - Allow linking local SPM packages in CocoaPods (d31fc32882 by @sbuggay)
Deprecated
- Deprecate TurboModuleProviderFunctionType (7a6a6ae2e6 by @RSNara)
- Deprecate
XHRInterceptorandWebSocketInterceptorAPIs. Developer tools should use the CDPNetworkdomain instead. (41380f39ab by @huntie)
Removed
- Remove Babel preset transforms for already-unsupported non-Hermes engines (07bd24ed0d by @robhogan)
- Legacy Arch: Remove Perf and Network tabs from in-app Element Inspector. See RFC0777 (b7ca04844d by @huntie)
Android specific
- Remove unnecessary
OnBatchCompleteListenerused in Legacy Architecture (1bdd2a0aba by @cortinico) - Remove unnecessary and unused BridgeDevSupportManager (13da82a337 by @cortinico)
Fixed
- Added handling of missing props to
AnimatedPropsRegistry(31a9eeeba4 by @j-piasecki) - Handle
Object.create(null)correctly in AnimatedObject.js'isPlainObjectfunction (4e0b9233c0 by @maman) - Hash generation includes
declare consttypes in API snapshot (c36665f7c6 by @emily8rown) - Nullcheck result of getAnimatedNode in NativeAnimatedNodesManager::updateNodes (3e9083b423 by @zeyap)
- React Native DevTools: Fix a bug where we would incorrectly flag apps using additonal Hermes runtimes (e.g. Reanimated) as being multi-host (c800503214 by @huntie)
- Fixed
hermes-compilernot being resolved correctly when your repo is set up as a monorepo using pnpm. (e23e9add80 by @tido64) - Ensure codegen CLI supports unspecified
--outputPathargument and respectscodegenConfig.outputDirconfigurations (716303362a by @kitten) - Fixed an
ENOENTexception when a dependency does not exportpackage.json, and your repo is set up as a monorepo using pnpm (20550c45d2 by @tido64) - Fixed URLSearchParams duplicate issue. (1e06c92404 by @riteshshukla04)
- Check nodesManager_ in AnimatedModule::executeOperation (199b8982de by @zeyap)
colorandblurRadiusof BoxShadowValue mistakenly swapped (8fa8fb7a52 by @Phecda)
Android specific
- Fix BackHandler callbacks not working after app resume on API 36+ (fef5b84996 by @anferrat)
- Fix
ReactModalHostViewhover interception to callsuper.onInterceptHoverEventinstead ofsuper.onHoverEvent. (0fe23d7066 by @MegaManSec) - DevSupport - fix small bugs with Host change dialog (c4c587e5c3 by @cortinico)
- Fix jni aborts when turbomodule constructors throw (d67fc70497 by @RSNara)
- Make ReactDelegate.onBackPressed() return correct status (17b3c1c698 by @RSNara)
- RNGP using node invocation non-compatible with Gradle Compilation Cache (dd1f83e616 by @tjzel)
- RNGP using node invocation non-compatible with Gradle Compilation Cache (dc73ec438a by @tjzel)
- Fix text clipping on Android 15+ due to useBoundsForWidth change (8347cc4b50 by @chrfalch)
- A11y: Mark virtual views for links as [
clickable](https://developer.android.com/reference/android/view/accessibility/AccessibilityNodeInfo#setClickable(boolean%29) (a9a0268953 by Tom Scallon) - Fixed
adjustsFontSizeToFitscaling the font size too much down (253fdf4753 by @j-piasecki) - Use FQCN to avoid collisions (5bb3a6d68d by @riteshshukla04)
- Allow nullable
codeinPromise.rejectto prevent NPEs from Java modules (47c45688c7 by @ramanverse) - A11y: prevent redundant double screen reader focus steps on
<Text role="link">(06786a8afa by @mdjastrzebski) - Emit scroll event once on overscrolled (f60789abac by @zeyap)
- Fix isClickable state for TextViews after recycling (cf3af8bf4a by @fabriziocucci)
- Fix isClickable state for TextViews based on onClickListener (9ec41774b9 by @fabriziocucci)
- Fixed recycled TextViews incorrectly appearing as clickable to accessibility systems (b34e9c542d by @fabriziocucci)
- β Enabled shouldResetOnClickListenerWhenRecyclingView by default to reset OnClickListener to null when recycling views and prevent accessibility tools from detecting incorrect states. (21b93d82df by @fabriziocucci)
- Enabled shouldResetClickableWhenRecyclingView by default to reset isClickable to false when recycling views and prevent accessibility tools from detecting incorrect clickable states. (a2e8bac60f by @fabriziocucci)
- Fix NPE on ReactAccessibilityDelegate.performAccessibilityAction (cf6de77408 by @cortinico)
- Reset isClickable when recycling views to prevent accessibility tools from detecting incorrect state (d553c31160 by @fabriziocucci)
- Reset OnClickListener when recycling views to prevent accessibility tools from detecting incorrect state (52a4f4b83d by @fabriziocucci)
- Fixed antialiasing issues from border radius usage in API <= 28 (e08abbcb99 by @Abbondanzo)
- View.setEnabled() now properly reflects accessibilityState.disabled (6fbe284082 by @fabriziocucci)
- Fix android_ripple not working with foreground: false in Pressable components (ca077c6bf8 by @ish1416)
- Fix keyboard navigation through items in horizontal ScrollView with snapToInterval enabled (a460df2165 by @jgryko5)
iOS specific
- Moved setting xcconfig to after
add_rn_corepod function is called. (73d3429a44 by @chrfalch) - Fix listenerCount not resetting for RCTEventEmitter (ac8fa25147 by @brainbicycle)
- Fix legacy module interop not handling hitTest correctly (700d320a5f by @kruczy)
- Accessibility actions labels are not read by VoiceOver (602a2d213a by @maxencehenneron)
- Respect
cancelsTouchesInViewwhen canceling touches inRCTSurfaceTouchHandler(5634e8a601 by @intmain) - Remove redundant gesture to tap button when the layer beneath is already tappable (8b8cceac89 by @emily8rown)
- Make rest of app responsive whilst dev loading banner present (f97354368c by @emily8rown)
- Fixed dismiss button not appearing consistently in dev loading view (336042ccb3 by @emily8rown)
- Fixed copying symbol bundles into correct slice folder (ac31e96e49 by @chrfalch)
- Fixed crash from dismiss button in DevLoadingView (6793f5cc51 by @emily8rown)
- Address
-Wswitch-defaultwarnings for projects that use that compiler flag (4c560b118c by @NSProgrammer) - Avoid reallocating views on RCTDevLoadingView progress updates (55a5b6b015 by @shirakaba)
- Fix missing default statements for projects that have
-Wswitch-defaultenabled (along with-Wswitch-enum). (a210409e03 by @NSProgrammer) - Fix crash in RCTEnhancedScrollView when scrollViewDidScroll is called (5f14001e92 by Gabriel Cadden)
- Fix undefined behavior for values outside of enum range in generated
switchmethods in Objective-C. (4bf8204391 by @NSProgrammer) - A Crash when some error information are nil (efd2f679f2 by @cipolleschi)
- Improve -Wswitch-default support (8f91076397 by @NSProgrammer)
- Improve -Wswitch-default support (fedd1cfbda by @NSProgrammer)
- Fix duplicate shadow bug during component recycling by cleaning up visual layers in prepareForRecycle (7dcedf1def by Atharv Soni)
- Make sure to only call onRender when NativeAnimatedNodesManagerProvider is not destroyed (d8f9b3f1f5 by @zeyap)
- Fix rounding error occurring randomly in iOS text line height calculation (581d643a9e by @soutua)
- Fix incorrect source path resolution in dSYM remapping in precompiled framework scripts (f383241b19 by @chrfalch)
- Message (b78099b821 by @ISeekTruth)
- Fixed build with dynamic frameworks (1033dbd1da by @cipolleschi)
- Improve support for projects with
-Wswitch-enumcompiler error (f687292aad by @NSProgrammer)
Fixed
Android specific
- Fix Network error that could occur for
FormDatauploads with binary data (471ef7212e by @huntie)
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.
