We're excited to release React Native Windows 0.71.0-preview.1 targeting React Native 0.71.0-rc.3. 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.
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.
What's new from React Native
Debuggability
- Improves messaging within the React Native Windows development dependencies script. Now verbose output is supported, .NET check now looks for the SDK (not the runtime). VS check checks for workloads, and the Choco, Chrome, and MSBuild64LongPath check have been removed.
Reliability
- Modifies CLI scripts to search for a version range of Visual Studio to ensure compatibility between the RNW version and Visual Studio version used in CLI commands.
- Fixes crash when using WinUI3 with keyboard input.
- Ensures a Flyout is only shown if the
XamlRoot
attached to the Flyout is valid and is the activeXamlRoot
set inXamlUIService
. - .blur() method for TextInput now works in XamlIslands scenarios.
- Horizontal scrolling with zoom in a ScrollView is now working.
- Resolves bug with C# modules using multi-parameter callbacks.
- Focusable and Accessible props are now synchronized.
- Fixes crash creating InstanceSettings on Windows 8.1.
- Enables app paths to contains spaces.
Accessibility
- Adds UIA events which trigger when
accessibilityValue
has changed. Ensures that accessibility clients like Narrator can announce these types of changes to the user. - Fixes min/max/now values for
accessibilityValue
.
Other
- Upgrades @react-native-cummunity/cli packages to ^10.0.0-alpha.0 version.
- Upgrades Metro to ^0.73.0.
- Upgrades Jest to ^29.0.0.
- Modifies the
CompositionRootView
interface to take aReactViewHost
instead of separate properties forComponentName
andInitialProperties
. Updates to these properties can now be made atomically instead of triggering two rootview reloads to update them both. - Enables users of the codegen project to opt in to generate the C++ JSI specs if desired.
- Add Rendering driver option to NativeAnimated.
- Implements handling of request with enctype
multipart/form-data
. - Adds LayoutService interface to allow native layout updates.
- Fast Text optimization is now applied to Text nodes with multiple runs.
- Adds
isPressed
field which indicates ifonKeyDown
has been fired.onKeyUp
will not first ifisPressed
is not true. - Adds
GetReactRootView
methodXamlUIService
. - Adds support for ImageSource.
- Allows customers to specify
$(CppWinRTVersion)
. - Move @react-native/tester to a devDependency instead of a dependency.
- Adds a QuirkSetting to opt-in to the YGExperimentalFeatureWebFlexBasis option in Yoga for apps where re-use of cached flex basis value creates problems.
- Adds codegen-windows command, allowing apps to more easily use the windows codegen for nativemodules/turbomodules.
- Adds
IViewManagerWithOnLayout
interface for ABI VMs.
Breaking Changes
- React Native Windows is now using Visual Studio 2022. Once you install VS 2022 on your computer, make sure to re-run the development dependencies script on our website to make sure you have all the required dependencies for the new version of Visual Studio. Note this includes upgrading to .NET 6.0.
- Removes dependency on ViewPanel wrapper calls to manage children. Also modifies ViewControl to return a XAML Panel type rather than ViewPanel. This will be a breaking change to the ViewControl ABI.