0.81.0 Release Notes
We're excited to release React Native Windows 0.81.0 targeting React Native 0.81.0!
This release includes the commits to React Native Windows from 8/1/2025 - 11/05/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.
Enabled Modern Hermes Debugger for RNW
capabilities reference: React Native DevTools · React Native
Minimum Node.js bumped to 22
React Native for Windows v0.81 requires Node.js version 22.14.0 (the latest Maintenance LTS version at the time of writing) or higher. You may need to upgrade Node.js in your development or CI environment when you upgrade to React Native Windows 0.81.
Metro Config update
Deep imports from src were removed in Metro 0.83. As a result, exclusionList has been removed from metro.config starting with RNW v0.81 (RNW v0.81 includes Metro 0.83 updates). To address this, upgrade your app to RNW v0.81 by following the steps here.
Reliability
-
Fixed deadlock in ReactInstanceWin::DetachRootView during Hermes garbage collection by removing synchronous call. Added QuirkSettings.SetUseRunOnQueueSync option for backward compatibility if needed. Remove sync call from DetachRootView to fix deadlock, add public QuirkSettings API for backward compatibility (#15113)
-
Fix PowerShell Export-ModuleMember error preventing developer mode enablement Fix PowerShell Export-ModuleMember error preventing developer mode enablement 15297 (#15306)
-
Handling platform color with accent color Handling platform color with accent color (#15276)
-
Verify code signatures on installers/updates downloaded from Microsoft verify code signatures on installers/updates downloaded from Microsoft (#15241)
-
SDL PowerShell injection fix SDL powershell injection fix (#15245)
-
Fix stricter checks against key events fix: stricter checks against key events (#15225)
-
Fix JSI RuntimeData test compilation errors with UUID namespace and override specifiers [Fix] JSI RuntimeData test compilation errors with UUID namespace and override specifiers (#15210)
-
Adding nullptr check before destroyShadow calls adding nullptr check before destroyShadow calls (#15127)
-
Upgrade dotnet version Upgrade dotnet version (#15143)
-
Test Fix for PressEvents Test Fix for PressEvents (#14973)
-
Replace ContextContainer::Shared with std::shared_ptr Replace ContextContainer::Shared with std::shared_ptr (#14975)
-
Use new LongLivedObject.h header namespace [react-native-windows] Use new LongLivedObject.h header namespace (#14839)
-
Removed unneeded @azure/core-auth dependency Removed unneeded @azure/core-auth dependency (#14919)
-
Fix crash happens when recursively accessing a shadow node in NativeUIManager [ Fix ] : Paper crash occurring in SetLayoutPropsRecursive due to a null pointer dereference (#15016)
New Architecture-specific Changes
-
Fix metro config property name in cpp-lib template Fix metro config property name in cpp-lib template (#15305)
-
Implement SDL /GS crash detection and analysis tooling for stack buffer overrun monitoring Implement SDL /GS crash detection and analysis tooling for stack buffer overrun monitoring (#15244)
-
Implement accessibilityHeadingLevel for Fabric architecture Add UIA HeadingLevel behaviour for Fabric architecture (#15207)
-
Fixing Clipped Property for Modal Component [Fabric] Fixing Clipped Property for Modal Component (#15176)
-
Implement onMomentumScrollBegin and onMomentumScrollEnd event handlers for Fabric ScrollView Implement onMomentumScrollEnd and onMomentumScrollBegin for Fabric ScrollView (#15104)
-
Add reply count prop to AccessibilityAnnotationInfo Add reply count prop to AccessibilityAnnotationInfo (#15055)
-
Fix for Text and TextInput focus issue with screen readers in Fabric [Fabric] Fix for Text and TextInput focus issue with screen readers (#15088)
-
Added UIA update event for change in annotation properties [Fabric] Added UIA Event Trigger For accessibilityAnnotation Property Changes (#15039)
-
Implement announceForAccessibility in AccessibilityInfo Module [Fabric] Implement announceForAccessibility in AccessibilityInfo Module (#14995)
-
Added support for the scrollEnabled, OnScroll event for the TextInput component [Fabric] Implementation of scrollEvent Handling and scrollEnabled,OnScroll prop for TextInput (#14946)
-
Implement snapToAlignment property for ScrollView in Fabric [Fabric] Implement snapToAlignment property for ScrollView (#14841)
-
Implement snapToInterval property for ScrollView in Fabric [Fabric] Implement snapToInterval property for ScrollView (#14847)
-
Implement the onPressOut property for the fabric implementation of TextInput [Fabric] Implement the onPressOut property for the fabric implementation of TextInput (#14784)
Accessibility
-
Screen reader fails to announce the expand/collapse state of the navigation button - Fixed Screen reader fails to announce the expaMond/collapse state of the navigation button (#15106)
-
Implement accessibilityHeadingLevel for Fabric architecture Add UIA HeadingLevel behaviour for Fabric architecture (#15207)
-
Fix for Text and TextInput focus issue with screen readers in Fabric [Fabric] Fix for Text and TextInput focus issue with screen readers (#15088)
-
Added UIA update event for change in annotation properties [Fabric] Added UIA Event Trigger For accessibilityAnnotation Property Changes (#15039)
-
Implement announceForAccessibility in AccessibilityInfo Module [Fabric] Implement announceForAccessibility in AccessibilityInfo Module (#14995)
-
Added support for (ariaHidden, importantForAccessibility, accessibilityElementsHidden) to have unified underlying behaviour across all components [ Fabric ] Added ariaHidden accessibility prop across all components (#14836)
-
Add accessibilityValue support to Button component Add accessibilityValue support to Button component (#14903) (#14904)
Other
-
Add Symbol Publishing for MSRC Compliance Add Symbol Publishing for MSRC Compliance (Work Item 59264834) (#15234)
-
Updated hero3.png image in README updated hero3.png imgage in README (#15064)
-
Add files via upload Add files via upload (#15063)
-
Meta reintroduced console logging as an opt-in feature. This serves as a temporary workaround for developers on React Native Windows until full support for the Direct DevTools debugger is available. Enable Console Logging for playground Apps (#14944)
-
Fix PoliCheck Sev 2 issues - Replace offensive terms Fix PoliCheck Sev 2 issues - Replace offensive terms (#15281)
-
Integrate Attack Surface Analyzer (ASA) into CI pipeline for SDL compliance Integrate Attack Surface Analyzer (ASA) into CI pipeline for SDL compliance (#15247) (#15262)
-
Security documentation Security documentation (#15242)
-
SDL mandatory warnings SDL mandatory warnings (#15220)
-
Enable TSA automatic bug filing for SDL compliance Enable TSA automatic bug filing for SDL compliance (#15219)
-
Support ARM64 in rnw-dependencies.ps1 Support ARM64 in rnw-dependencies.ps1
-
Fix INVALID_PARAMETER crash in ThreadPoolSchedulerWin::Post by adding null handle checks Fix INVALID_PARAMETER crash in ThreadPoolSchedulerWin::Post by adding null handle checks (#15150)
-
Text Input placeholder should use a theme color TextInput placeholder should uses a theme color (#15161)
-
More robust handling for Caret color related to Issue 14378 More robust handling for Caret color related to Issue 14378 (#15121)
-
Remove legacy cxxmodules Remove legacy cxxmodules (#15151)
-
Upgrade to node22 Upgrade to node22 (#15069)
-
Text Input should capture mouse on mouse down TextInput should capture mouse on mouse down (#14983)
Progress Towards Feature Parity on Fabric
| Core Component | Fabric/Paper | Parity % |
|---|---|---|
| View | 40/40 | 100% ✅ |
| ActivityIndicator | 3/3 | 100% ✅ |
| Image | 14/14 | 100% ✅ |
| RefreshControl | 0/2 | 0% ❌ |
| ScrollView | 27/27 | 100% ✅ |
| Switch | 6/6 | 100% ✅ |
| Text | 27/29 | 93% |
| TextInput | 35/37 | 95% |
| Overall | 152/158 | 95% |
Extended Parity Assessment
| Core Component | Fabric/Paper | Parity % |
|---|---|---|
| View | 129/131 | 99% |
| ActivityIndicator | 127/129 | 98% |
| Image | 156/157 | 99% |
| RefreshControl | N/A | 0% |
| ScrollView | 156/159 | 98% |
| Switch | 136/138 | 99% |
| Text | 154/158 | 97% |
| TextInput | 176/180 | 98% |
| Overall | 1034/1051 | 98% |
Notes
View ✅
Full parity achieved!
ActivityIndicator ✅
Full parity achieved!
Image ✅
Full parity achieved — few known issues with SVG and caching.
RefreshControl
Not implemented yet.
ScrollView ✅
Full parity achieved!
Switch ✅
Full parity achieved!
Text
Custom fonts unsupported; clipping issue in nested views inside text.
TextInput
Pending callbacks and selection-related actions; autocapitalize lacks words/sentences mode.