Software 43238 Published by

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 uses AsyncContextFrame by default, and URLPattern 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 to AsyncContextFrame

AsyncLocalStorage now uses AsyncContextFrame 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 global

The  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.

Node.js — Node v24.0.0 (Current)