@@ -12,8 +12,10 @@ file a new issue.
1212
1313* [ Supported platforms] ( #supported-platforms )
1414 * [ Input] ( #input )
15- * [ Strategy] ( #strategy )
1615 * [ Platform list] ( #platform-list )
16+ * [ Tier 1] ( #tier-1 )
17+ * [ Tier 2] ( #tier-2 )
18+ * [ Experimental] ( #experimental )
1719 * [ Supported toolchains] ( #supported-toolchains )
1820 * [ Official binary platforms and toolchains] ( #official-binary-platforms-and-toolchains )
1921 * [ OpenSSL asm support] ( #openssl-asm-support )
@@ -72,58 +74,70 @@ which it belongs.
7274
7375Node.js relies on V8 and libuv. We adopt a subset of their supported platforms.
7476
75- ### Strategy
76-
77- There are three support tiers:
78-
79- * ** Tier 1** : These platforms represent the majority of Node.js users. The
80- Node.js Build Working Group maintains infrastructure for full test coverage.
81- Test failures on tier 1 platforms will block releases.
82- * ** Tier 2** : These platforms represent smaller segments of the Node.js user
83- base. The Node.js Build Working Group maintains infrastructure for full test
84- coverage. Test failures on tier 2 platforms will block releases.
85- Infrastructure issues may delay the release of binaries for these platforms.
86- * ** Experimental** : May not compile or test suite may not pass. The core team
87- does not create releases for these platforms. Test failures on experimental
88- platforms do not block releases. Contributions to improve support for these
89- platforms are welcome.
90-
91- Platforms may move between tiers between major release lines. The table below
92- will reflect those changes.
93-
9477### Platform list
9578
79+ Support for different platforms are organized into three tiers. Platforms may
80+ move between tiers between major release lines. The tables below will reflect
81+ those changes.
82+
9683Node.js compilation/execution support depends on operating system, architecture,
97- and libc version. The table below lists the support tier for each supported
98- combination. A list of [ supported compile toolchains] ( #supported-toolchains ) is
99- also supplied for tier 1 platforms.
84+ and libc version.
10085
10186** For production applications, run Node.js on supported platforms only.**
10287
10388Node.js does not support a platform version if a vendor has expired support
10489for it. In other words, Node.js does not support running on End-of-Life (EoL)
105- platforms. This is true regardless of entries in the table below.
106-
107- | Operating System | Architectures | Versions | Support Type | Notes |
108- | ---------------- | ---------------- | --------------------------------- | ------------ | ------------------------------------ |
109- | GNU/Linux | x64 | kernel >= 4.18[ ^ 1 ] , glibc >= 2.28 | Tier 1 | e.g. Ubuntu 20.04, Debian 10, RHEL 8 |
110- | GNU/Linux | x64 | kernel >= 3.10, musl >= 1.1.19 | Experimental | e.g. Alpine 3.8 |
111- | GNU/Linux | x86 | kernel >= 3.10, glibc >= 2.17 | Experimental | Downgraded as of Node.js 10 |
112- | GNU/Linux | arm64 | kernel >= 4.18[ ^ 1 ] , glibc >= 2.28 | Tier 1 | e.g. Ubuntu 20.04, Debian 10, RHEL 8 |
113- | GNU/Linux | armv7 | kernel >= 4.18[ ^ 1 ] , glibc >= 2.28 | Experimental | Downgraded as of Node.js 24 |
114- | GNU/Linux | armv6 | kernel >= 4.14, glibc >= 2.24 | Experimental | Downgraded as of Node.js 12 |
115- | GNU/Linux | ppc64le >=power9 | kernel >= 4.18[ ^ 1 ] , glibc >= 2.28 | Tier 2 | e.g. Ubuntu 20.04, RHEL 8 |
116- | GNU/Linux | s390x >=z14 | kernel >= 4.18[ ^ 1 ] , glibc >= 2.28 | Tier 2 | e.g. RHEL 8 |
117- | GNU/Linux | loong64 | kernel >= 5.19, glibc >= 2.36 | Experimental | |
118- | GNU/Linux | riscv64 | kernel >= 5.19, glibc >= 2.36 | Experimental | |
119- | Windows | x64 | >= Windows 10/Server 2016 | Tier 1 | [ ^ 2 ] ,[ ^ 3 ] |
120- | Windows | arm64 | >= Windows 10 | Tier 2 | |
121- | macOS | x64 | >= 13.5 | Tier 1 | For notes about compilation see [ ^ 4 ] |
122- | macOS | arm64 | >= 13.5 | Tier 1 | |
123- | SmartOS | x64 | >= 18 | Tier 2 | |
124- | AIX | ppc64be >=power9 | >= 7.2 TL04 | Tier 2 | |
125- | FreeBSD | x64 | >= 13.2 | Experimental | |
126- | OpenHarmony | arm64 | >= 5.0 | Experimental | |
90+ platforms. This is true regardless of entries in the tables below.
91+
92+ #### Tier 1
93+
94+ These platforms represent the majority of Node.js users. The Node.js Build
95+ Working Group maintains infrastructure for full test coverage. Test failures on
96+ tier 1 platforms will block releases.
97+
98+ A list of [ supported compile toolchains] ( #supported-toolchains ) is also supplied
99+ for tier 1 platforms.
100+
101+ | Operating System | Architectures | Versions | Notes |
102+ | ---------------- | ---------------- | --------------------------------- | ------------------------------------ |
103+ | GNU/Linux | x64 | kernel >= 4.18[ ^ 1 ] , glibc >= 2.28 | e.g. Ubuntu 20.04, Debian 10, RHEL 8 |
104+ | GNU/Linux | arm64 | kernel >= 4.18[ ^ 1 ] , glibc >= 2.28 | e.g. Ubuntu 20.04, Debian 10, RHEL 8 |
105+ | Windows | x64 | >= Windows 10/Server 2016 | [ ^ 2 ] ,[ ^ 3 ] |
106+ | macOS | x64 | >= 13.5 | For notes about compilation see [ ^ 4 ] |
107+ | macOS | arm64 | >= 13.5 | |
108+
109+ #### Tier 2
110+
111+ These platforms represent smaller segments of the Node.js user base. The
112+ Node.js Build Working Group maintains infrastructure for full test coverage.
113+ Test failures on tier 2 platforms will block releases. Infrastructure issues
114+ may delay the release of binaries for these platforms.
115+
116+ | Operating System | Architectures | Versions | Notes |
117+ | ---------------- | ---------------- | --------------------------------- | ------------------------- |
118+ | GNU/Linux | ppc64le >=power9 | kernel >= 4.18[ ^ 1 ] , glibc >= 2.28 | e.g. Ubuntu 20.04, RHEL 8 |
119+ | GNU/Linux | s390x >=z14 | kernel >= 4.18[ ^ 1 ] , glibc >= 2.28 | e.g. RHEL 8 |
120+ | Windows | arm64 | >= Windows 10 | |
121+ | SmartOS | x64 | >= 18 | |
122+ | AIX | ppc64be >=power9 | >= 7.2 TL04 | |
123+
124+ #### Experimental
125+
126+ May not compile or test suite may not pass. The core team does not create
127+ releases for these platforms. Test failures on experimental platforms do not
128+ block releases. Contributions to improve support for these platforms are
129+ welcome.
130+
131+ | Operating System | Architectures | Versions | Notes |
132+ | ---------------- | ---------------- | ------------------------------ | --------------------------- |
133+ | GNU/Linux | x64 | kernel >= 3.10, musl >= 1.1.19 | e.g. Alpine 3.8 |
134+ | GNU/Linux | x86 | kernel >= 3.10, glibc >= 2.17 | Downgraded as of Node.js 10 |
135+ | GNU/Linux | armv7 | kernel >= 4.18, glibc >= 2.28 | Downgraded as of Node.js 24 |
136+ | GNU/Linux | armv6 | kernel >= 4.14, glibc >= 2.24 | Downgraded as of Node.js 12 |
137+ | GNU/Linux | loong64 | kernel >= 5.19, glibc >= 2.36 | |
138+ | GNU/Linux | riscv64 | kernel >= 5.19, glibc >= 2.36 | |
139+ | FreeBSD | x64 | >= 13.2 | |
140+ | OpenHarmony | arm64 | >= 5.0 | |
127141
128142<!-- lint disable final-definition-->
129143
0 commit comments