github microsoft/react-native-windows react-native-windows_v0.69.0
React Native Windows 0.69.0

latest releases: react-native-windows_v0.0.0-canary.893, react-native-windows_v0.74.26, react-native-windows_v0.0.0-canary.892...
2 years ago

We're excited to release React Native Windows 0.69.0 targeting React Native 0.69. 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

  • React 18: react-native 0.69 has been upgraded to react 18. While this includes lots of "out-of-the-box" improvements, if you're sharing your JS code with a react-based web application, you'll want to make sure that you're able to do the upgrade. See the React v18.0 blog post for details.
  • Hermes Distribution: Apps using the "New Architecture" will default to using Hermes as the default JS engine. To support this Hermes will now be bundled with react-native. See Hermes as default engine discussion for details.

For more information on the upcoming RN 0.69, see the Road to 0.69.0 release discussion.

What's new from React Native for Windows

Performance

  • Reduced app boot time by 1 second or more in Debug mode
  • Some libraries used only in uncommon scenarios are now delay-loaded on demand
  • Fixes issue with run-windows ignoring a cache when autolinking windows modules, repeating disk reads

Debuggability

  • [Hermes] Fix issues with debugger connection dropping when reloading the instance
  • [Hermes] Enables collecting information about the state of Hermes when a crash occurs
  • Exposed options for apps to request inline source maps from Metro

Reliability

  • Fixes a crash in unpackaged win32 (XAML island) apps
  • Fixes a crash that could happen when canceling some image loads
  • Fixes a reentrancy issue that could lead to a crash when initializing RN or Hermes from multiple threads
  • Fixes an issue where multiple debug targets would linger when creating new RN instances with Hermes
  • Fixes a crash when hosting some non-RNW content (XAML, Adaptive Cards, etc.) in a RNW app

Accessibility

  • Implemented importantForAccessibility="no-hide-accessibility"
  • Fixes the focusable and accessible property behavior for TextInput

Other

  • Adds support for unpackaged win32 apps carrying embedded resources (JS bundle, image assets, etc.)
  • Enables RNW version checks from IDL for community modules
  • Fixes an issue where right click events were not captured
  • Adds wrap-reverse to flex wrap options
  • Adds support for dependency checking script to detect multiple versions of Visual Studio
  • Using react-native-window-init to upgrade your RNW project re-uses the existing ProjectGUID, reducing the upgrade diff to your native project files
  • Various updates to the (still incomplete) turbo module and fabric implementation
  • Various updates to the (still incomplete) WindowsAppSDK-based implementation
  • Various dependency version updates to resolve security issues
  • Various other bugfixes and improvements
  • Implemented the Blob data type for both HTTP and WebSocket modules.
  • Expose LoadingState property on ReactContext.

Breaking Changes

  • focusable and accessible props are now synchronized to align with Windows UIA standards. If a control has either focusable or accessible set to false, the control will lose keyboard and accessibility focus. There is an exception in functionality in the case of the View control, where setting either focusable or accessible to true will allow the component to gain keyboard and accessibility focus.

Known Issues

  • Pressable Pointer Events: React Native 0.69 adds experimental support for W3C pointer events for Pressables, (disabled by default). RNW does not raise these events, so enabling the support will break hover events on Windows.

Don't miss a new react-native-windows release

NewReleases is sending notifications on new releases.