Node.js 24 Drops MSVC, Embraces ClangCL on Windows

Node.js 24 is here with V8 13.6 engine, npm 11, global URLPattern, and ClangCL support on Windows.

Node.js, a highly popular open-source, cross-platform JavaScript runtime environment, released version 24.0, promising improved performance, better security, and easier development experiences.

One of the most noteworthy changes is the upgrade of the V8 JavaScript engine to version 13.6. Developers can now enjoy new JavaScript features like Float16Array, explicit resource management, RegExp.escape, WebAssembly Memory64, and the handy Error.isError, keeping pace with evolving web standards.

Additionally, Node.js 24 ships with npm 11, which brings performance enhancements, stronger security protocols, and improved compatibility with contemporary JavaScript packages, ensuring smoother and faster package management.

Another significant development is the mandatory transition from MSVC to ClangCL for compiling Node.js on Windows. This change streamlines the build process, enhancing consistency across different development environments.

Meanwhile, AsyncLocalStorage has been optimized to use AsyncContextFrame by default, which provides a more efficient implementation for asynchronous context tracking, improving both performance and robustness in complex applications.

On the usability front, the URLPattern API is now globally accessible, eliminating the need for explicit imports. The experimental Permission Model introduced in Node.js 20 also sees some enhancements. Now flagged simply as “–permission,” it signifies improved stability and readiness for wider adoption.

Thanks to the test runner module enhancements, writing tests has become notably simpler and less error-prone. The module now waits automatically for subtests to complete, freeing developers from the hassle of manual promise management.

Lastly, Node.js 24 also upgrades its HTTP client capabilities by incorporating Undici 7, providing better performance and expanded support for modern HTTP features.

However, developers should take note of several deprecated or removed APIs in this release, including the runtime deprecation of url.parse() in favor of the WHATWG URL API, removal of tls.createSecurePair, and several other API changes intended to streamline the platform.

For more information, see the announcement.

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

Leave a Reply

Your email address will not be published. Required fields are marked *