Skip to content

Commit 17a4dfc

Browse files
authored
Clean and update Windows OS Compatibility page (#1039)
## Description This PR updates our Windows OS Compatibility page to correctly capture the target and minimum Windows SDK versions, especially wrt. New vs. Old Architecture requirements. It also makes updates around system setup (including both the correct SDK and using WinGet instead of chocolatey). Finally, updates are backported to older versioned docs as appropriate. ### Why To make it clearer what versions of Windows are supported for apps made with different versions of RNW. ## Screenshots N/A
1 parent 9ba41a0 commit 17a4dfc

File tree

13 files changed

+395
-36
lines changed

13 files changed

+395
-36
lines changed

.spelling

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ WebView
119119
Win32
120120
WinAppDriver
121121
WinAppSDK
122+
WinGet
122123
WinRT
123124
WinUI
124125
WinUI3

docs/rnw-dependencies.md

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,12 @@ id: rnw-dependencies
33
title: System Requirements
44
---
55

6-
![Architecture](https://img.shields.io/badge/architecture-needs_review-red)
7-
8-
> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).
6+
![Architecture](https://img.shields.io/badge/architecture-new_&_old-green)
97

108
You can only develop React Native for Windows app on Windows. You can run React Native for Windows apps only on:
119

1210
- All Windows 11 devices
13-
- Windows 10 devices with Windows version: 10.0.16299.0 (aka 1709, aka Redstone 3, aka Fall Creators Update) or higher
14-
Some features may not work on all versions. See [Windows 10 Compatibility](win10-compat.md) for version support details.
11+
- Up-to-date Windows 10 devices (see [Windows OS Compatibility](win10-compat.md) for details)
1512

1613
To develop React-Native for Windows apps, you need to install several dependencies.
1714

@@ -48,15 +45,15 @@ Alternatively, you can setup your environment manually:
4845
- `Universal Windows Platform development`
4946
- Include `C++ (v143) Universal Windows Platform tools` (check under 'Optional')
5047
- **Individual Components**
51-
- Include `Windows 10 SDK (10.0.19041.0)` (target OS version from [this table](win10-compat.md#react-native-app-supported-os-versions))
48+
- Include `Windows 10 SDK (10.0.22621.0)` (target OS version from [this table](win10-compat.md#supported-os-versions))
5249
- Include `MSVC v143 - VS 2022 C++ ARM64 build tools (Latest)` (to target ARM64 devices)
5350
- [Enable Long Paths in Windows 10, Version 1607, and Later](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#enable-long-paths-in-windows-10-version-1607-and-later).
5451
- Install the latest version of the [.NET 6.0 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/6.0).
5552

5653
Options to install [Node.js](https://nodejs.org) separately:
57-
- Using [Chocolatey](https://chocolatey.org/) (_React Native recommended_). To use chocolatey, from an elevated Command Prompt, run:
54+
- Using [WinGet](https://aka.ms/winget) (_React Native recommended_). To use WinGet, from an elevated Command Prompt, run:
5855
```bat
59-
choco install nodejs-lts
56+
winget install OpenJS.NodeJS.LTS --version 18.18.0
6057
```
6158
- Using [another package manager](https://nodejs.org/en/download/package-manager/) such as [Scoop](https://scoop.sh/) or [Node Version Switcher (nvs)](https://github.com/jasongin/nvs)
6259
- Directly from [Node.js](https://nodejs.org/en/download)
@@ -65,7 +62,7 @@ Optional steps that are _highly recommended_:
6562

6663
- Install [Yarn](https://yarnpkg.com/en/docs/install) (**required** to contribute to react-native-windows)
6764
- Install `git` using a method such as:
68-
- Using a package manager such as [Chocolatey](https://chocolatey.org/) or [Scoop](https://scoop.sh/)
65+
- Using a package manager such as [WinGet](https://aka.ms/winget), [Chocolatey](https://chocolatey.org/) or [Scoop](https://scoop.sh/)
6966
- Install [git for Windows](https://gitforwindows.org/)
7067
- Install [GitHub Desktop](https://desktop.github.com/)
7168

docs/win10-compat.md

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,36 @@
11
---
22
id: win10-compat
3-
title: Backward compatibility with Windows versions
3+
title: Windows OS Compatibility
44
---
55

6-
![Architecture](https://img.shields.io/badge/architecture-needs_review-red)
6+
![Architecture](https://img.shields.io/badge/architecture-new_&_old-green)
77

8-
> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).
8+
React Native for Windows apps require the **Windows 10 May 2019 Update** (i.e. version 1903, build 10.18362.0) or higher to run.
99

10-
React Native for Windows supports devices running on Windows 10 and higher.
11-
React Native for Windows layers cleanly on top of the [native Windows UI platform](https://github.com/microsoft/microsoft-ui-xaml) which means there are some APIs that may not be supported in all versions of Windows since the corresponding native capabilities were not backward compatible with older OS versions. The following table captures these deltas. If you are using any of the APIs below, they will gracefully fail (no-op) when the app is running on Windows devices of corresponding OS versions.
10+
> **Note:** Old Architecture apps only require the **Windows 10 October 2018 Update** (i.e. version 1809, Build 10.0.17763.0) or higher to run. For more information on React Native architectures in React Native for Windows, see [New vs. Old Architecture](new-architecture.md).
1211
13-
| [Windows 10 SDK](https://developer.microsoft.com/en-us/windows/downloads/sdk-archive) | React Native for Windows support |
14-
| :-----------------------------------------------------------------------------------: | ----- |
15-
| **May 2020 update**<br> Version 2004 ; Build 10.0.19041.0 | **All APIs, scenarios supported** |
16-
| **May 2019 update**<br> Version 1903 ; Build 10.0.18362.1 | **All APIs, scenarios supported** |
17-
| **October 2018 update**<br> Version 1809 ; Build 10.0.17763.0 | Unsupported: <ul><li>`useNativeDriver` for animations</li><li>`View.transform` property</li><li>React Native for Windows in XAML islands for hosting inside WPF/Win32 scenarios</li><li>When using Hermes engine, the default locale will always be `en_US` and the default time zone will always be `Etc/UTC`, irrespective of the system settings </li> |
18-
| **April 2018 Update**<br> Version 1803 ; Build 10.0.17134.12 | Unsupported : (Same as above plus): <ul><li>Flyout: edge alignments, `ShowAt` capability</li><li>`Picker.editable`, `Picker.text`</li> |
19-
| **Fall Creators Update**<br> Version 1709 ; Build 10.0.16299.91 | Unsupported : Same as above |
20-
| **Creators Update**<br> Version 1703 ; Build 10.0.15063.468 | Unsupported : (Same as above plus): <ul><li>Keyboard events</li><li>`TextInput.placeholderTextColor`</li><li>`TextInput.secureTextEntry` may have some fast typing issues</li> |
12+
## Supported OS Versions
2113

22-
## React Native App Supported OS Versions
23-
24-
The following table captures the default versions of Windows 10 that a React Native for Windows app supports. The "Target" is the version of the SDK that the app is compiled against, and the "Minimum" is the lowest version that the app will run on. Note that as of RNW 0.66, developers can easily override these default values to suit their own needs.
14+
The following table captures the default versions of Windows that a React Native for Windows app supports. The "Target OS" is the version of the SDK that the app is compiled against, and the "Minimum OS" is the lowest version of Windows that the app will run on.
2515

2616
| React Native Windows | Target OS Version | Minimum OS Version |
2717
| :--: | :-: | :-: |
28-
| 0.72+ | **May 2020 update**<br> Version 2004 ; Build 10.0.19041.0 | **October 2018 update**<br> Version 1809 ; Build 10.0.17763.0 |
29-
| 0.68 - 0.71 | **May 2020 update**<br> Version 2004 ; Build 10.0.19041.0 | **Fall Creators Update**<br> Version 1709 ; Build 10.0.16299.91 |
30-
| 0.66 - 0.67 | **May 2020 update**<br> Version 2004 ; Build 10.0.19041.0 | **Creators Update**<br> Version 1703 ; Build 10.0.15063.468 |
31-
| 0.62 - 0.65 | **May 2019 update**<br> Version 1903 ; Build 10.0.18362.1 | **Fall Creators Update**<br> Version 1709 ; Build 10.0.16299.91 |
32-
| 0.60 - 0.61 | **May 2019 update**<br> Version 1903 ; Build 10.0.18362.1 | **Creators Update**<br> Version 1703 ; Build 10.0.15063.468 |
18+
| 0.76+ | **Windows 11 2022 Update**<br>Version 22H2 ; Build 10.0.22621.0 | New Arch: **Windows 10 May 2019 Update**<br>Version 1903 ; Build 10.0.18362.0<br><br>Old Arch: **Windows 10 October 2018 Update**<br>Version 1809 ; Build 10.0.17763.0 |
19+
| 0.75 | **Windows 11 2022 Update**<br>Version 22H2 ; Build 10.0.22621.0 | **Windows 10 October 2018 Update**<br>Version 1809 ; Build 10.0.17763.0 |
20+
| 0.72 - 0.74 | **Windows 10 May 2020 Update**<br>Version 2004 ; Build 10.0.19041.0 | **Windows 10 October 2018 Update**<br>Version 1809 ; Build 10.0.17763.0 |
21+
22+
> **Note:** To override the default SDK versions, see [Customizing SDK versions](customizing-sdk-versions).
23+
24+
## Backwards Compatibility
25+
26+
React Native for Windows uses native Windows APIs that necessitate the minimum requirement of the **Windows 10 May 2019 Update** in order to run with all APIs and scenarios supported. Older versions of the Windows OS, when supported at all, may by missing certain functionality due to the lack of certain Windows APIs. The following table captures this missing functionality:
27+
28+
> **Note:** If you are using any of the APIs below, they should gracefully fail (no-op) when the app is running on Windows devices of the corresponding OS versions.
29+
30+
| [Windows SDK](https://developer.microsoft.com/en-us/windows/downloads/sdk-archive) | React Native for Windows support |
31+
| :-----------------------------------------------------------------------------------: | :----- |
32+
| **Windows 10<br>May 2019 Update**<br>Version 1903<br>Build 10.0.18362.1 | **All APIs, scenarios supported** |
33+
| **Windows 10<br>October 2018 Update**<br>Version 1809<br>Build 10.0.17763.0 | **Unsupported:** <ol><li>`useNativeDriver` for animations</li><li>`View.transform` property</li><li>React Native for Windows in XAML islands for hosting inside WPF/Win32 scenarios</li><li>When using Hermes engine, the default locale will always be `en_US` and the default time zone will always be `Etc/UTC`, irrespective of the system settings </li></ol> |
34+
| **Windows 10<br>April 2018 Update**<br>Version 1803<br>Build 10.0.17134.12 | **Unsupported:** (Same as above plus): <ol><li>Flyout: edge alignments, `ShowAt` capability</li><li>`Picker.editable`, `Picker.text`</li></ol> |
35+
| **Windows 10<br>Fall Creators Update**<br>Version 1709<br>Build 10.0.16299.91 | **Unsupported:** (Same as above) |
36+
| **Windows 10<br>Creators Update**<br>Version 1703<br>Build 10.0.15063.468 | **Unsupported:** (Same as above plus): <ol><li>Keyboard events</li><li>`TextInput.placeholderTextColor`</li><li>`TextInput.secureTextEntry` may have some fast typing issues</li></ol> |

website/.unbroken_exclusions

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,35 +35,35 @@ File not found getting-started.md while parsing versioned_docs/version-0.78/gett
3535
File not found new-architecture.md while parsing versioned_docs/version-0.78/getting-started.md
3636
File not found autolink-windows-cli.md while parsing versioned_docs/version-0.78/getting-started.md
3737
File not found init-windows-cli.md while parsing versioned_docs/version-0.78/getting-started.md
38+
File not found rnw-dependencies.md while parsing versioned_docs/version-0.78/getting-started.md
3839
File not found run-windows-cli.md while parsing versioned_docs/version-0.78/getting-started.md
3940
File not found native-modules.md while parsing versioned_docs/version-0.78/getting-started.md
40-
File not found rnw-dependencies.md while parsing versioned_docs/version-0.78/getting-started.md
4141
File not found autolink-windows-cli.md while parsing versioned_docs/version-0.78/native-modules-autolinking.md
4242
File not found run-windows-cli.md while parsing versioned_docs/version-0.78/native-modules-autolinking.md
4343
File not found config.md while parsing versioned_docs/version-0.78/native-modules-autolinking.md
4444
File not found getting-started.md while parsing versioned_docs/version-0.77/getting-started.md
4545
File not found new-architecture.md while parsing versioned_docs/version-0.77/getting-started.md
4646
File not found autolink-windows-cli.md while parsing versioned_docs/version-0.77/getting-started.md
4747
File not found init-windows-cli.md while parsing versioned_docs/version-0.77/getting-started.md
48+
File not found rnw-dependencies.md while parsing versioned_docs/version-0.77/getting-started.md
4849
File not found run-windows-cli.md while parsing versioned_docs/version-0.77/getting-started.md
4950
File not found native-modules.md while parsing versioned_docs/version-0.77/getting-started.md
50-
File not found rnw-dependencies.md while parsing versioned_docs/version-0.77/getting-started.md
5151
File not found autolink-windows-cli.md while parsing versioned_docs/version-0.77/native-modules-autolinking.md
5252
File not found run-windows-cli.md while parsing versioned_docs/version-0.77/native-modules-autolinking.md
5353
File not found config.md while parsing versioned_docs/version-0.77/native-modules-autolinking.md
5454
File not found autolink-windows-cli.md while parsing versioned_docs/version-0.76/getting-started.md
5555
File not found getting-started.md while parsing versioned_docs/version-0.76/getting-started.md
5656
File not found init-windows-cli.md while parsing versioned_docs/version-0.76/getting-started.md
57+
File not found rnw-dependencies.md while parsing versioned_docs/version-0.76/getting-started.md
5758
File not found run-windows-cli.md while parsing versioned_docs/version-0.76/getting-started.md
5859
File not found native-modules.md while parsing versioned_docs/version-0.76/getting-started.md
59-
File not found rnw-dependencies.md while parsing versioned_docs/version-0.76/getting-started.md
6060
File not found getting-started.md while parsing versioned_docs/version-0.76/native-modules-setup.md
6161
File not found init-windows-cli.md while parsing versioned_docs/version-0.76/native-modules-setup.md
6262
File not found native-modules-autolinking.md while parsing versioned_docs/version-0.76/native-modules-setup.md
63+
File not found rnw-dependencies.md while parsing versioned_docs/version-0.76/native-modules-setup.md
6364
File not found setup-ci.md while parsing versioned_docs/version-0.76/native-modules-setup.md
6465
File not found view-managers.md while parsing versioned_docs/version-0.76/native-modules-setup.md
6566
File not found native-modules.md while parsing versioned_docs/version-0.76/native-modules-setup.md
66-
File not found rnw-dependencies.md while parsing versioned_docs/version-0.76/native-modules-setup.md
6767
File not found supported-community-modules.md while parsing versioned_docs/version-0.76/native-modules-setup.md
6868
File not found testing.md while parsing versioned_docs/version-0.76/native-modules-setup.md
6969
File not found getting-started.md while parsing versioned_docs/version-0.76/new-architecture.md
@@ -105,6 +105,7 @@ File not found managing-cpp-deps.md while parsing versioned_docs/version-0.75/nu
105105
File not found native-modules-csharp-codegen.md while parsing versioned_docs/version-0.75/nuget.md
106106
File not found supported-community-modules.md while parsing versioned_docs/version-0.75/nuget.md
107107
File not found run-windows-cli.md while parsing versioned_docs/version-0.75/react-native-windows-cli.md
108+
File not found win10-compat.md while parsing versioned_docs/version-0.75/rnw-dependencies.md
108109
File not found getting-started.md while parsing versioned_docs/version-0.75/view-managers.md
109110
File not found native-modules.md while parsing versioned_docs/version-0.75/view-managers.md
110111
File not found native-modules-setup.md while parsing versioned_docs/version-0.75/view-managers.md
@@ -151,6 +152,7 @@ File not found native-modules-jsvalue.md while parsing versioned_docs/version-0.
151152
File not found view-managers.md while parsing versioned_docs/version-0.72/native-modules.md
152153
File not found native-code-language-choice.md while parsing versioned_docs/version-0.72/native-modules.md
153154
File not found flyout-component-windows.md while parsing versioned_docs/version-0.72/popup-component-windows.md
155+
File not found win10-compat.md while parsing versioned_docs/version-0.72/rnw-dependencies.md
154156
File not found IReactPackageProvider-api-windows.md while parsing versioned_docs/version-0.71/coreapp.md
155157
File not found ReactInstanceSettings-api-windows.md while parsing versioned_docs/version-0.71/coreapp.md
156158
File not found native-modules.md while parsing versioned_docs/version-0.71/getting-started.md
@@ -205,6 +207,7 @@ File not found winui3.md while parsing versioned_docs/version-0.68/nuget.md
205207
File not found native-modules-csharp-codegen.md while parsing versioned_docs/version-0.68/nuget.md
206208
File not found nuget-update.md while parsing versioned_docs/version-0.68/nuget.md
207209
File not found supported-community-modules.md while parsing versioned_docs/version-0.68/nuget.md
210+
File not found win10-compat.md while parsing versioned_docs/version-0.68/rnw-dependencies.md
208211
File not found hermes.md while parsing versioned_docs/version-0.67/customizing-SDK-versions.md
209212
File not found rnw-dependencies.md while parsing versioned_docs/version-0.67/getting-started.md
210213
File not found native-modules.md while parsing versioned_docs/version-0.67/getting-started.md

website/static/css/docs.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,3 +156,6 @@ table tr th {
156156
font-family: "Helvetica Neue", Arial, sans-serif;
157157
text-transform: uppercase;
158158
}
159+
table td li {
160+
font-size: 100%;
161+
}

0 commit comments

Comments
 (0)