Major Node Changes
This document is a short list of changes in Node.js' major releases. It does not cover point releases, just e.g., v13, v14 and so on.
v24 (2025)
- v8 13.6
- Adds
Float16Array,RegExp.escape - Adds explicit resource management, aka, the
usingkeyword
- Adds
- Improves
AsyncLocalStorage(async context tracking) performance - Modifies the test runner to automatically wait for subtests
URLPatternis now a global
v23 (2024)
- Better support for
require(esm)in more places, for interopability - Mark
--runas stable
v22 (2024)
- v8 12.4
- Including
Array.fromAsync, additionalSetmethods
- Including
- Experimental support for
require()on ESM - Node itself can
--run <script>from "package.json" - Native
WebSocket - Glob functions inside
node:fs
v21 (2023)
- Experimental support (behind a flag) for
- native
WebSocket - default ESM support
- native
- Added global
navigatorobject - v8 11.8, including array
groupBy
v20 (2023)
- V8 11.3, including change array by-copy methods such as
toSorted - Experimental permission model (e.g., restrict FS access)
- Marks the test runner as stable
v19 (2022)
- Adds
node --watch - V8 10.7
v18 (2022, LTS until 2025-04-30)
- Adds built-in Fetch API (
fetch)- Includes
Headers,FormData,Bloband so on - Adds Web Streams API including
ReadableStreamand friends
- Includes
- Adds
BroadcastChannel - Adds experimental test runner
- V8 10.1
- Includes
Array.findLast()andArray.findLastIndex()
- Includes
- Built-in test runner
v17 (2021)
- V8 9.5
v16 (2021, LTS until 2024-04-30)
- Adds
'timers/promises'API - V8 9.0
- Adds the
/dflag to regular expressions
- Adds the
- Native support for arm64 on macOS
- Adds
AbortControlleras stable
v15 (2020)
- NPM 7 #35631
- Throw On Unhandled Rejections #33021
- If you create a
Promisewithout a catch handler, or use a top-levelawait, a failure will cause your program to crash by default
- If you create a
- V8 8.6
- Supports new operators
&&=,||=, and??=
- Supports new operators
v14 (2020, LTS until 2023-04-30)
- ES Modules no longer generate warnings
- Supports top-level
await - V8 8.1
- Supports optional chaining, nullish coalescing and friends (the
?.,??operators) - Improved
Intlsupport
- Supports optional chaining, nullish coalescing and friends (the
v13 (2019)
- Support for ECMAScript modules
- Includes
.mjsextension and setting"type": "module"
- Includes
- Full ICU support, with support for hundreds of locales