Node 24 has been released, incorporating several important updates. The V8 JavaScript engine has been enhanced to version 13.6, and npm has been upgraded to version 11.
Node 24's release has discontinued support for MSVC, requiring the use of ClangCL for Windows compilation. The AsyncLocalStorage API has adopted AsyncContextFrame as its default, enhancing performance and reliability for complex use cases. The URLPattern API is now available globally, offering an advanced pattern-matching system for URLs. The experimental permission model has been improved, and the test runner module can now handle subtests, making testing easier and reducing mistakes related to unhandled promises. Undici 7 has also been incorporated, enhancing the capabilities of the HTTP client.
Node.js — Node v24.0.0 (Current)
We’re excited to announce the release of Node.js 24! This release brings several significant updates, including the upgrade of the V8 JavaScript engine to version 13.6 and npm to version 11. Starting with Node.js 24, support for MSVC has been removed, and ClangCL is now required to compile Node.js on Windows. The
AsyncLocalStorage
API now usesAsyncContextFrame
by default, andURLPattern
is available globally. These changes, along with many other improvements, continue to push the platform forward.As a reminder, Node.js 24 will enter long-term support (LTS) in October, but until then, it will be the "Current" release for the next six months. We encourage you to explore the new features and benefits offered by this latest release and evaluate their potential impact on your applications.
Notable Changes
V8 13.6
The V8 engine is updated to version 13.6, which includes several new JavaScript features:
The V8 update was a contribution by Michaël Zasso in #58070.
npm 11
Node.js 24 comes with npm 11, which includes several improvements and new features. This update brings enhanced performance, improved security features, and better compatibility with modern JavaScript packages.
The npm update was a contribution by the npm team in #56274.
AsyncLocalStorage
defaults toAsyncContextFrame
AsyncLocalStorage
now usesAsyncContextFrame
by default, which provides a more efficient implementation of asynchronous context tracking. This change improves performance and makes the API more robust for advanced use cases.This change was a contribution by Stephen Belanger in #55552.
URLPattern
as a globalThe
URLPattern
API is now exposed on the global object, making it easier to use without explicit imports. This API provides a powerful pattern matching system for URLs, similar to how regular expressions work for strings.This feature was a contribution by Jonas Badalič in #56950.
Permission Model Improvements
The experimental Permission Model introduced in Node.js 20 has been improved, and the flag has been changed from
--experimental-permission
to simply--permission
, indicating its increasing stability and readiness for broader adoption.This change was a contribution by Rafael Gonzaga in #56240.
Test Runner Enhancements
The test runner module now automatically waits for subtests to finish, eliminating the need to manually await test promises. This makes writing tests more intuitive and reduces common errors related to unhandled promises.
The test runner improvements were contributions by Colin Ihrig in #56664.
Undici 7
Node.js 24 includes Undici 7, which brings numerous improvements to the HTTP client capabilities, including better performance and support for newer HTTP features.