Here’s a rundown of the key features and improvements in the latest release.
NAME RELEASED ACTIVE SUPPORT SECURITY SUPPORT LATEST Node 24 CURRENT 2025-05-06 2026-10-20 2028-04-30 24.10.0 Node 22 LTS 2024-04-24 2025-10-21 2027-04-30 22.20.0 In this article below, you’ll find changelogs and download / update information regarding Node.js!
Node.js LTS & Current Download for macOS:
Node.js LTS & Current Download for Windows:
For other downloads like Linux libraries, source codes, Docker images, etc. please visit https://nodejs.org/en/download/
Node.js Release Schedule:
Node.js v23
- Default ESM in require(): Native ES modules can now be used with
require()by default, simplifying module usage without experimental flags.
- Dropping Windows 32-bit Support: Node.js 23 no longer supports 32-bit Windows systems, focusing on modern platforms.
- Stable node –run Command: The
--runcommand is now stable, making it easier to execute scripts directly from the command line.
- Enhanced Test Runner: Support for glob patterns in test runner coverage improves testing flexibility.
- Experimental Features: TypeScript integration, Web Storage API, and SQLite support have been introduced, improving versatility.
- Performance Boosts: On-disk code caching and improved buffer and filesystem performance enhance runtime efficiency.
Node.js v22
Here’s a rundown of the key features and improvements of this version. The full details are explained here.
- Integrated WebSocket Client: The WebSocket client is now enabled by default, facilitating real-time data exchange directly from Node.js applications without the need for experimental flags.
- V8 JavaScript Engine Update: The V8 engine has been upgraded to version 12.4.254.14, which may improve performance and support for modern JavaScript features.
- Support for ESM Graphs: Node.js 22 introduces support for synchronously requiring ESM (ECMAScript Module) graphs, allowing for more flexible and efficient module usage.
- FileSystem Enhancements: The fs module now includes glob and globSync functions, expanding capabilities for pattern matching in file operations.
- Command Line Improvements: A new CLI option,
node --run, lets you execute scripts defined inpackage.jsondirectly, streamlining workflow processes (experimental feature).
- Stream Performance Tuning: The default highWaterMark for stream buffering has been increased, potentially improving I/O performance under heavy loads.
- Maglev Optimization: On supported architectures, the Maglev backend for V8 is enabled, aiming to boost JavaScript execution speeds.
Additional Changes:
- The watch module has been marked stable, indicating readiness for production use.
- The AbortSignal creation performance has been enhanced, which could improve responsiveness in applications using abortable operations.
- Experimental features like import assertions have been dropped, reflecting a shift towards stabilizing functionality.
Remember, Node.js 22 will transition to long-term support (LTS) in October.
Node.js v21
The latest major version of Node.js has just released with a few new interesting experimental features and a lot of fixes and optimization. You can find our highlights in this article: https://blog.risingstack.com/nodejs-21/
- Built-in WebSocket client:
A browser-compatible WebSocket implementation has been added to Node.js with this new release as an experimental feature. You can give it a go using the--experimental-websocketflag. The current implementation allows for opening and closing of websocket connections and sending data.
- flush option for the writeFile type filesystem functions:
Up until now, it was possible for data to not be flushed immediately to permanent storage when a write operation completed successfully, allowing read operations to get stale data. In response, aflushoption has been added to the fs module file writing functions that, when enabled, forces data to be flushed at the end of a successful write operation usingsync.
- Addition of a global navigator Object:
This new release also introduces a global navigator object to take steps towards enhancing web interoperability. We can now access hardware concurrency information through navigator.hardwareConcurrency, the only currently implemented method on the object.
- Array grouping:
There is a new static method added toObjectandMap,groupBy(), that groups the items of a given iterable according to a provided callback function.
- Additional changes:
- Both the
fetchand thewebstreamsmodules are now marked as stable after receiving a few changes with this version. - A host of performance improvements as usual with any new release.
- WebAssembly gets extended const expressions
- Another new experimental flag,
--experimental-default-type, has been added that allows setting the default module type to ESM - The
globalPreloadhook has been removed, it’s functionality replaced byregisterandinitialize - Glob patterns are now supported in the test runner
- Both the
Learn More Node.js from RisingStack
At RisingStack we’ve been writing JavaScript / Node tutorials for the community in the past 5 years. If you’re beginner to Node.js, we recommend checking out our Node Hero tutorial series! The goal of this series is to help you get started with Node.js and make sure you understand how to write an application using it.
See all chapters of the Node Hero tutorial series:- Getting Started with Node.js
- Using NPM
- Understanding async programming
- Your first Node.js HTTP server
- Node.js database tutorial
- Node.js request module tutorial
- Node.js project structure tutorial
- Node.js authentication using Passport.js
- Node.js unit testing tutorial
- Debugging Node.js applications
- Node.js Security Tutorial
- How to Deploy Node.js Applications
- Monitoring Node.js Applications
As a sequel to Node Hero, we have completed another series called Node.js at Scale – which focuses on advanced Node / JavaScript topics. Take a look!



