React Native Windows: react-native-windows_v0.66.0 Release

Release date:
October 11, 2021
Previous version:
react-native-windows_v0.66.0-preview.6 (released October 4, 2021)
Magnitude:
270 Diff Delta
Contributors:
3 total committers
Data confidence:
Commits:

Top Contributors in react-native-windows_v0.66.0

rnbot
JunielKatarn
NickGerleman

Directory Browser for react-native-windows_v0.66.0

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

Getting Started documentation React Native 0.66 announcement

How to upgrade

You can now view the differences between different versions of C++ applications using a special version of React Native Upgrade Helper.

Upgrade helper does not yet support C# projects or projects using experimental features. It is recommended to generate a new project using react-native-windows-init for projects not supported by Upgrade Helper.

What's New

  • Fast Hermes in debug builds: We previously used debug builds of Hermes when you built your application in a debug configuration. We've heard feedback that this impacted usability, and now use an optimized JS engine regardless of whether your application is running in release or debug.

  • Lower power consumption when using timers: Long running timers, such as those set by setInterval(), previously required RNW to do work every frame. We've fixed this, to let your application sleep until wake-up time.

  • Better error UI: Your bundle failing to load previously showed a blank screen, requiring debugging your application to get actionable feedback. We now show a native redbox UI with the JavaScript exception.

  • Windows 10 SDK version 10.0.19041.0: We now use the latest Windows SDK, included with Visual Studio. Note that you may still need to install previous SDKs to use community modules that have not yet updated.

  • Hermes sampling profiler: In addition to heap space, you can now profile Hermes CPU usage via a sampling profiler.

  • Improved responsiveness with expensive callbacks: We now coalesce events for layout and pointer movement to ensure your application stays responsive if JavaScript callbacks are expensive.

  • More accessibility roles: We've added support for the togglebutton and header accessibility roles.

  • Autolinking support for more community modules: React Native Windows has long-supported autolinking, but not all community modules for Windows were built to be compatible. Autolinking now has a heuristic to link any NPM dependencies that are likely Windows community modules.

  • Native console redirection: You can now redirect the output of the JavaScript console object using the ReactInstanceSettings::NativeLogger property.

  • JSValue XAML conversion helpers: We've added additional helpers to JSValueXaml.h to make it easier to write ViewManagers that serialize XAML types.

  • Greater BackHandler control: You can now control whether to handle back events via the React Native BackHandler, or in native code, using QuirkSettings::SetBackHandlerKind.

  • Bug-fixes and improvements: We've made many more fixes across the platform. Expect less crashes, more correct behavior, and more quality of life improvements for developers.

Breaking Changes

  • Removal of Picker, DatePicker, PickerWindows: The various versions of Picker were previously deprecated as part of lean-core efforts. These components are removed in 0.66. The @react-native-community/datetimepicker and @react-native-picker/picker community modules can be used for the same functionality.

  • UseExperimentalNuget configuration: Projects using the Microsoft.ReactNative NuGet package should now declare UseExperimentalNuget in their ExperimentalFeatures.props file instead of their vcxproj or csproj file.