About Node.js 21
Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
This is a security release.
Notable Changes
Commits
| Publisher | Node.js Foundation |
|---|---|
| Author | OpenJS Foundation |
| Version | 21.7.3 |
| Release date | 2024-04-10 |
| License | MIT |
| Installer type | wix |
| Architecture | x64, x86, arm64 |
| Package ID | OpenJS.NodeJS.21 |
| Admin rights | Required |
| Install scope | All users |
winget install --id=OpenJS.NodeJS.21 -ewinget upgrade --id=OpenJS.NodeJS.21 -ewinget uninstall --id=OpenJS.NodeJS.21 -emsiexec /i "node-v21.7.3-x64.msi" /quiet /norestartmsiexec /x {22E18847-C43D-44BA-8A7E-715DCB7DBE22} /quietNode.js 21 adds these commands to the command line: corepack, node, npm, npx.
Node.js 21 can open or be associated with 3 file types:
This is a security release.
Notable changes
- CVE-2024-27983 - Assertion failed in nodehttp2Http2Session::~Http2Session() leads to HTTP/2 server crash- (High)
- CVE-2024-27982 - HTTP Request Smuggling via Content Length Obfuscation- (Medium)
- llhttp version 9.2.1
- undici version 6.11.1
Commits
- [3dfc10c851] - deps: update undici to 6.11.1 (Node.js GitHub Bot) #52328
- [aceea1c5e7] - deps: update undici to 6.10.2 (Node.js GitHub Bot) #52227
- [5f0f96b275] - deps: update llhttp to 9.2.0 (Node.js GitHub Bot) #51719
- [1a65e98e22] - http: do not allow OBS fold in headers by default (Paolo Insogna) nodejs-private/node-private#556
- [3bd39fb474] - src: ensure to close stream when destroying session (Anna Henningsen) nodejs-private/node-private#561
Notable Changes
This release reverts #51389, which landed in Node.js 21.7.0. It is a documented feature that t.after() hooks are run even if a test has no subtests. The hook can be used to clean up the test itself.
Commits
- [0dfe810ac7] - benchmark: update iterations of benchmark/async_hooks/async-local- (Lei Shi) #51420
- [625c9e0ac9] - benchmark: update iterations of benchmark/domain/domain-fn-args.js (Lei Shi) #51408
- [7ff3551bad] - build: fix arm64 host cross-compilation in GN (Cheng Zhao) #51903
- [fd86ea8b71] - Revert "build: workaround for node-core-utils" (Richard Lau) #51975
- [23c32ab3a7] - build: respect the NODE env variable in Makefile (Antoine du Hamel) #51743
- [9617adc064] - Revert "build: fix warning in cares under GN build" (Luigi Pinca) #51865
- [5864534095] - deps: update nghttp2 to 1.60.0 (Node.js GitHub Bot) #51948
- [fcf235d623] - doc: add policy for distribution (Geoffrey Booth) #51918
- [87d2acc8b1] - doc: fix actual result of example is different in events (Deokjin Kim) #51925
- [5908c121c6] - doc: clarify Corepack threat model (Antoine du Hamel) #51917
- [20e0ba3b94] - doc,module: clarify hook chain execution sequence (Jacob Smith) #51884
- [4d997971ac] - lib: make sure close net server (theanarkh) #51929
- [fcc6d54aa3] - lib: return directly if udp socket close before lookup (theanarkh) #51914
- [10aaabd158] - meta: bump github/codeql-action from 3.23.2 to 3.24.6 (dependabot[bot]) #51942 …
Yes. Node.js 21 is free and open-source software released under the MIT license.
The latest version is 21.7.3, released on Apr 10, 2024.
The download button links to the official installer published on nodejs.org, the same file Windows Package Manager installs. You can verify the downloaded file by comparing its SHA-256 checksum with de33d68e92e8948b96515bafee206d0b5c1f5440eb2e07aa15d6ce2f6493f53b.
Node.js 21 runs on Windows and is available for 64-bit (x64), 32-bit (x86), ARM64 systems.
Run the offline installer with msiexec /i "node-v21.7.3-x64.msi" /quiet /norestart, or install it with Windows Package Manager: winget install --id=OpenJS.NodeJS.21 -e --silent.
Open Settings › Apps › Installed apps, find Node.js 21 and select Uninstall. From the command line, run winget uninstall --id=OpenJS.NodeJS.21 -e.
Node.js 21 supports 3 file types, including .cjs, .js, .mjs.