0.79.0 Release Notes
We're excited to release React Native Windows 0.79.0 targeting React Native 0.79.0! There have been many changes to both react-native-windows and react-native itself, and we would love your feedback on anything that doesn't work as expected. This release includes the commits to React Native Windows from 01/27/2025 - 05/30/2025.
How to upgrade
You can view the changes made to the default new React Native Windows applications for C++ and C# using React Native Upgrade Helper. See this document for more details.
Reliability
-
Removes unnecessary m_isUndefined property from HostPlatformColor to fix color comparison issues and ensure correct text color Property updates switching between PlatformColors would no-op (#14398) · microsoft/react-native-windows@782335b (github.com)
-
Fixes build failure by ensuring hstring is recognized as a valid argument type for JS string in turbo module specs. TurboModule spec checking should accept hstring for string arguments (#14322) · microsoft/react-native-windows@4315cad (github.com)
-
Correctly imports Number.h from react-native core. Fix Number.h not copied from react-native core (#14331) · microsoft/react-native-windows@c0be76e (github.com)
-
Replaces use of execSync with spawnSync in @react-native-windows/automation. [Replace use of execSync with spawnSync in @react-native-windows/automation (#14434) · 8cec8fe (github.com)](Replace use of
execSync
withspawnSync
in `@react-native-windows/… · 8cec8fe) -
Fixes race condition when sending pending outgoing WebSocket messages. Enforce SendPendingMessages in dispatch queue (#14487) · microsoft/react-native-windows@5959d3a (github.com)
-
Fixes react devtools hitting an assert on launch. Fix react devtools hitting an assert on launch(#14320) · microsoft/react-native-windows@f24c9bc (github.com)
-
Codegen jsSrcsDir can now be at a subpath directory of the package instead of top-level only fix(cli): codegen jsSrcsDir subpath (#14530) · microsoft/react-native-windows@0bdc548 82ae06a (github.com)
-
Fixes border color issue by distinguishing between undefined and transparent colors, and resolved a crash in ReactNativeIsland when calling GetComponentView before the surface loads. Fix bool operator on transparent colors returning false in ReactNativeIsland (#14413) · microsoft/react-native-windows@7dea848 (github.com)
-
Fixes build issue building component codegen using clang Fix build issue building component codegen using clang (#14393) microsoft/react-native-windows@cddb834 (github.com)
-
Fixes tooltip margins scaling issue, crash with empty string tooltips, and ensured tooltips respect system TextScaleFactor. Fix tooltips in high dpi (#14397) · microsoft/react-native-windows@222e66d (github.com)
-
Fixes a crash issue where calling Arrange/Measure on a ReactNativeIsland with an active RN instance and ReactNativeHost before the root component is created. Fix issue when calling arrange on an RN Island during load (#14362) · microsoft/react-native-windows@ce99a08 (github.com)
-
Rounded focus visuals to align with fluent design and fixed overlapping visuals causing a gray border when nudged into the container. Round Focus visuals by default, fix nudge rendering (#14312) · microsoft/react-native-windows@98087a7 (github.com)
-
Introduced PortalShadowNode for separate layout, allowing native constraints and scale factor, and updated modal to constrain size to 90% of the screen while forwarding scale factor and layout direction. Allow portals to have independent layout constraints and scale factor (#14315) · microsoft/react-native-windows@ad17235 (github.com)
-
Refactor WebSocket resource class Refactor WebSocket resource class (#14377) · microsoft/react-native-windows@ca717fc (github.com)
-
Created new methods for reference access to static values exported as data fields to fix issues with exporting data fields across DLL boundaries, while maintaining backward compatibility. JSValue exports data fields - should export value reference accessors (#14707) · microsoft/react-native-windows@105c93d (github.com)
-
Update native module doc links in cpp-lib template (#14704) Update native module doc links in cpp-lib template (#14704) · microsoft/react-native-windows@75f5e7c (github.com)
-
Updated React.Cpp.Props to prioritize platform overrides, removed unnecessary ReactCommon patching, and inherited TextLayoutManager to ensure correct access for TextInput and Paragraph. (#14697) Cleanup unneeded ReactCommon patching, and extra hostplatform overrides (#14697) · microsoft/react-native-windows@05a6715 (github.com)
-
Improved readability of Redbox errors from Transform errors and fixed a crash when reloading an already crashed instance. Clean up error messages (#14695) · microsoft/react-native-windows@e8d0404 (github.com)
-
Fixes descriptions for new project templates (#14694) Fix descriptions for new project templates (#14694) · microsoft/react-native-windows@89d0a4b (github.com)
-
Optimized CallInvokerWriter to write data directly into JS, avoiding intermediate dynamic objects and restoring previous performance. Reenable optimization in TMs to avoid going through a dynamic for callbacks/promises (#14691) · microsoft/react-native-windows@721dff3 (github.com)
-
Bump folly to 2024.10.14.00 Bump folly to 2024.10.14.00 (#14532) ) · microsoft/react-native-windows@935e5a7 (github.com)
-
Fixes crash when reloading an instance with an active ReactNativeIsland (#14676) Fix crash when reloading an instance with an active ReactNativeIsland (#14676) · microsoft/react-native-windows@935e5a7 (github.com)
-
Fixes the issue of the loading string getting cut off in small islands by using the new adjustsFontSizeToFit code to scale the text size appropriately. Scale loading bar text when island is super small (#14680) · microsoft/react-native-windows@9a999fe (github.com)
-
Updated the .gitignore templates to target MS Build related log files (*.binlog, *.wrn, *.err) and set the default build log directory to the windows directory if not specified. fix(cli): ignore msbuild binlog files (#14621) · microsoft/react-native-windows@5005dc0 (github.com)
New Features
-
Adds new .NET projection for Microsoft.ReactNative. Add new .NET projection for Microsoft.ReactNative (#13913) · microsoft/react-native-windows@9f5249a (github.com)
-
Allow for customizing MSBuild behavior locally through the file system. Allow non-versioned MSBuild local overrides (#14430) · microsoft/react-native-windows@c6c019f (github.com)
-
Implements WebSocket resource task sequencer and fixes crash in WinRTWebSocketResource2. Implement WebSocket resource task sequencer (#14577) · microsoft/react-native-windows@cdf1d34 (github.com)
-
Make ExperimentalFeatures overridable through props files Make ExperimentalFeatures overridable through props files (#14501) · microsoft/react-native-windows@dda13b3 (github.com)
-
Adds a new SetProperties method to ReactNativeIsland. SetProperties is not exposed on ReactNativeIsland (#14517) · microsoft/react-native-windows@b54b8b2 (github.com)
-
Allow compiling multiple C++ sources in parallel. Enable parallel C++ compilation (#14428) · microsoft/react-native-windows@ed3e2e0 (github.com)
Breaking Changes
-
Merge New and Old Arch Microsoft.ReactNative Nuget packages. Merge New and Old Arch Microsoft.ReactNative Nuget packages (#14311) · microsoft/react-native-windows@c335641 (github.com)
-
Removes playground-win32 project as deprecated. Remove playground-win32 project as deprecated (#14599) · microsoft/react-native-windows@73c39fb (github.com)
-
Removes old lib templates in preference for the new cpp-lib template. Remove old library templates (#14476) · microsoft/react-native-windows@bfe285b (github.com)
-
IReactContext.JSDispatcher, IReactContext.JsiRuntime, and ExecuteJsi are no longer valid in new architecture, and these APIs are deprecated for old architecture. These will be removed in a future release (#14648) Implement CallInvoker as replacement for JSDispatcher (#14648) · microsoft/react-native-windows@766da73 (github.com)
Fabric/New Architecture-specific changes
-
Adds support for ScrollProvider to Fabric and fixes Bug in ScrollView where lineLeft() moved right for horizontal ScrollViews. [Fabric] Add Support for ScrollProvider (#14411) · microsoft/react-native-windows@70823b2 (github.com)
-
Implements onPressIn property for TextInput. [Fabric] Implement the onPressIn property for the fabric implementation of TextInput (#14480) · microsoft/react-native-windows@bb43781 (github.com)
-
Implements minimumFontScale property in Text. [Fabric] Implement minimumFontScale in Text (#14617) · microsoft/react-native-windows@a4e227e (github.com)
-
Implements hidesWhenStopped property for ActivityIndicator. [Fabric] Implement hidesWhenStopped in ActivityIndicator (#14615) · microsoft/react-native-windows@0ab2ba1 (github.com)
-
Fixes Modal giving extra height. [Fabric] Fix modal height (#14343) · microsoft/react-native-windows@1529ea5 (github.com)
-
Add support for ITextProvider, ITextProvider2, and ITextRangeProvider. App users now have access to detailed text information from UIA tools. [Fabric] Add Support for ITextProvider, ITextProvider2, and ITextRangeProvider (#14332) · microsoft/react-native-windows@78e2e47 (github.com)
-
Fixes InitialProps ReactNativeIsland::ShowInstanceLoaded Fix InitialProps ReactNativeIsland::ShowInstanceLoaded() (#14620) · microsoft/react-native-windows@0bdc548 (github.com)
-
ScrollView now supports showsVerticalScrollIndicator and showsHorizontalScrollIndicator. [Fabric] Implement showsVerticalScrollIndicatorValue and showsHorizontalScrollIndicatorValue for ScrollView (#14526) · microsoft/react-native-windows@2de7198 (github.com)
-
Adds support for decelerationRate in ScrollView. [Fabric] Implement decelerationRate in ScrollView (#14528) · microsoft/react-native-windows@e3da810 (github.com)
-
Implements SpellCheck and AutoCorrect for TextInput. [Fabric] Implement SpellCheck and AutoCorrect for TextInput (#14509) · microsoft/react-native-windows@50497af (github.com)
-
Image component now supports onProgress event. [Fabric] Implement onProgress for Image (#14493) · microsoft/react-native-windows@d449c00 (github.com)
-
Implements ImageRequestParams for Image Component. [Fabric] Add ImageRequestParams for Image Component (#14494) · microsoft/react-native-windows@5de03a2 (github.com)
-
TextInput supports custom font families. [Fabric] Add Custom Font Family in Text Input (#14495) · 121f97d (github.com)](121f97d)
-
Adds tooltip support for Text component. Added tooltip property for Text (#14470) · microsoft/react-native-windows@79b4916 (github.com)
-
Adds support for letterSpacing in TextInput. [Fabric] Implement letterSpacing for TextInput (#14460) · microsoft/react-native-windows@7480f75 (github.com)
-
Implements adjustsFontSizeToFit property for Text. Implement adjustsFontSizeToFit property for Text in Fabric (#14519) · microsoft/react-native-windows@5816026 (github.com)
-
TextInput supports onEndEditing event. Implemented on onEndEditing for TextInput component (#14489) · microsoft/react-native-windows@e143a0a (github.com)
-
Implements scrollEventThrottle property for ScrollView. [Fabric] Implement scrollEventThrottle for ScrollView (#14555) · microsoft/react-native-windows@ba87750 (github.com)
-
Implements maximumZoomScale and minimumZoomScale in ScrollView. [Fabric] Implement zoomScale, maximumZoomScale and minimumZoomScale in ScrollView (#14562) · 91dca24 (github.com)](91dca24)
-
Implements Image body in Image Source. [Fabric] Implement Image body in Image Source RequestImage API (#14568) · microsoft/react-native-windows@9685da5 (github.com)
-
Support OnScrollBeginDrag and OnScrollEndDrag event Handling for ScrollView. Implement OnScrollEndDrag Event Handler for ScrollView (#14473) · microsoft/react-native-windows@f640c8e (github.com)
-
Implements onScrollBeginDrag property for ScrollView. Implement onScrollBeginDrag property for ScrollView for fabric (#14446) · microsoft/react-native-windows@f176a4d (github.com)
-
Implements textAlign property in TextInput. [[Fabric] Implement textAlign prop in TextInput (#14407) · af6c4b2 (github.com)](Implement textAlign prop in TextInput)
-
Fixed pressRetentionOffset issue in Text component. Fix: Text component pressRetentionOffset issue on Windows (#14596) · microsoft/react-native-windows@d2bf5ea (github.com)
-
Adds support for accessibilityLevel property. Implement accessibilityLevel for Fabric (#14593) · microsoft/react-native-windows@a2a9434 (github.com)
-
Adds support for role property. [Fabric] Add Support for Role Prop (#14352) · microsoft/react-native-windows@74a161e (github.com)
-
Enabled text selection on double-click within the TextInput component. Textinput double clicking selects text (#14515) · microsoft/react-native-windows@96e9efa (github.com)
-
Allows Text components to have inline Views and Images. [Fabric] Allow text components to have children (#14438) · microsoft/react-native-windows@5e85327 (github.com)
-
Implements maxFontSizeMultiplier property in Text (#14622) [Fabric] Implement maxFontSizeMultiplier in Text (#14622) · microsoft/react-native-windows@42dad98 (github.com)
-
Implements accessibilityAccessKey and accessibilityItemType (#14658) [Fabric] Implementation of accessibilityAccessKey and accessibilityItemType (#14658) · microsoft/react-native-windows@5cc5b14 (github.com)
-
Adds Titlebar and movable window to Modal. Modal : Added Titlebar , title , X handling and movable for windows (#14636) · microsoft/react-native-windows@ec1b2ef (github.com)
-
Adds support for the IAnnotationProvider[Fabric] Implementation of accessibiltyAnnotation and adding support for IAnnotationProvider (#14626) · microsoft/react-native-windows@aa48a7a (github.com)
-
Implement selectTextOnFocus property in TextInput (#14641) [Fabric] Implement selectTextOnFocus prop in TextInput (#14641) · microsoft/react-native-windows@4ba70cf (github.com)
-
Allows TextInput to scroll Allow TextInput to scroll (#14448) · microsoft/react-native-windows@ebb1949 (github.com)
-
Fixes issue where components near the window edge could get stuck in the hover state by listening to the ContentIsland's PointerExited event and notifying hovered components to reset their state. Components do not lose hover state if pointer leaves window before it leaves the component (#14375) · microsoft/react-native-windows@055fc6d (github.com)
-
Fixed asserts from the CompositionRootAutomationProvider when setting focus to a component before the island by ensuring the island is set on the provider. Properly hook up root uia provider to island (#14643) · microsoft/react-native-windows@d8d0e2f (github.com)
Progress towards feature parity on Fabric
Summary
The following table indicates the availability of core component props in Fabric, compared to the Paper implementation.
Core component | Fabric/Paper | Parity % |
---|---|---|
View | 39/40 | 98% |
ActivityIndicator | 3/3 | 100% ✅ |
Image | 14/14 | 100% ✅ |
RefreshControl | 0/2 | 0% ❌ |
ScrollView | 18/27 | 67% |
Switch | 6/6 | 100% ✅ |
Text | 27/29 | 93% |
TextInput | 29/37 | 78% |
Overall | 135/158 | 84% |
To see which props are yet to be implemented, click on each core component link from the table above.
Additionally, a few props that are not implemented in Paper have been introduced in Fabric:
- ActivityIndicator:
hidesWhenStopped
- Image:
alt
,crossOrigin
,onProgress
,referrerPolicy
,src
,srcSet
andtintColor
- Modal:
onDismiss
andonShow
- ScrollView:
contentOffset
,decelerationRate
andscrollEventThrottle
- Text:
adjustsFontSizeToFit
,maxFontSizeMultiplier
,minimumFontScale
,onLongPress
,onPressIn
,onPressOut
,pressRetentionOffset
androle
- TextInput:
autoCorrect
Extended Parity assessment
The following table aggregates the information from the previous section, plus inherited View props, Windows-specific props, View Style, Layout, Image Style, Shadow and Text Style props:
Core component | Fabric/Paper | Parity % |
---|---|---|
View | 124/131 | 95% |
ActivityIndicator | 119/131 | 91% |
Image | 149/161 | 93% |
RefreshControl | N/A1 | 0%1 |
ScrollView | 139/161 | 86% |
Switch | 129/140 | 92% |
Text | 148/160 | 93% |
TextInput | 160/183 | 87% |
Overall | 968/1201 | 81%2 |
Notes
In this section you will find a summary of the known issues and gaps to be addressed for each core component in Fabric, to achieve full parity with Paper. Any planned Fabric improvements that are not implemented in Paper are excluded from this section.
View
- Mostly on par with Paper, only
tabIndex
is yet to be implemented (#13742). - Known issue with TransformOrigin props not being updated (#13451).
ActivityIndicator ✅
- Full parity has been achieved! ✅
Image ✅
- Full parity has been achieved! ✅
- Few known issues related to SVG and caching.
RefreshControl
- Not implemented yet.
ScrollView
- Pending support for snapping-related props.
OnMomentumScrollBeing
/OnMomentumScrollEnd
are yet to be implemented.
Switch
- Mostly on parity with Paper, only
overflow
prop is yet to be implemented (#13108).
Text
- Custom fonts are unsupported at this time (#13662).
- Pending fix for clipping on nested views inside a text (#14443).
TextInput
- Most props to be implemented are callbacks and selection-related actions.
autocapitalize
prop doesn't supportwords
andsentences
modes.scrollEnabled
is not supported yet (#13130).
Introduction of Modal in Fabric
Modal replaces Flyout and Popup from Paper.
Of the 14 Modal props, 7 of them are on plans for implementation. Currently, onDismiss
, onShow
and visible
are supported.
Main things to be addressed for Modal:
-
Implement title bar and moving capability (#14067).
-
Few properties are on plans to be implemented. Full list here.