Node.js
Backend & InfraNode.js JavaScript runtime ✨🐢🚀✨
Release History
View all versions →v26.8.12 fixesAn out-of-band release to correct the version reported by `node --version` from an alpha to the intended stable version. Also includes a fix for a script in the tools directory.
v26.8.05 fixes11 featuresThis release introduces several minor version bumps with new features like SIV/GCM-SIV modes in crypto, improved histogram implementations, and REPL syntax highlighting. It also includes important bug fixes and performance enhancements across various modules.
v24.20.053 fixes9 featuresThis release introduces new features like package maps for loaders, `node:stream/iter`, and `--permission-audit`, alongside numerous bug fixes and improvements across various modules including buffer, crypto, and test runner.
v26.7.033 fixes4 featuresThis release introduces new features like perfetto support and Symbol.dispose in ModuleHooks, alongside numerous bug fixes and dependency updates. It also includes a minor version bump for crypto and module functionalities.
v26.6.016 fixes3 featuresThis release introduces new features to the ffi and test_runner modules, alongside numerous bug fixes and dependency updates. Notably, the crypto module has undergone significant backend restructuring.
v24.19.04 fixes31 featuresThis release introduces several minor version bumps with new features and bug fixes across various modules including buffer, crypto, http, and stream. Notable additions include `blob.textStream()`, improved `httpValidation`, and enhanced crypto functionalities.
v24.18.111 fixesThis is a security release addressing multiple vulnerabilities across http2, permission, https, sqlite, dns, zlib, and http modules. It also includes dependency updates for llhttp and undici.
v26.5.110 fixesThis is a security release addressing multiple vulnerabilities across various modules including http2, permission, https, sqlite, dns, zlib, and http. It also includes dependency updates for llhttp and undici.
v22.23.210 fixesThis is a security release that addresses several vulnerabilities across http2, permission, https, dns, zlib, and http modules. It also includes dependency updates for llhttp and undici.
v26.5.06 fixes5 featuresThis release introduces several minor features like blob.textStream() and an experimental ESM flag, alongside dependency updates and various bug fixes across modules like buffer and crypto. A new release key from Stewart X Addison is also introduced.
v26.4.07 fixes14 featuresThis release introduces significant features like package maps in the loader, VFS subsystem support, and enhancements to crypto and networking APIs. It also includes various performance optimizations and bug fixes across core modules.
v24.18.08 fixes14 featuresThis release introduces several minor version features, including new Web Cryptography algorithms (TurboSHAKE, KangarooTwelve) and an increased default Buffer pool size. It also includes security updates via root certificate renewal and various hardening improvements across the crypto module.
v22.23.12 fixesThis release addresses an unexpected behavior introduced in version 22.23.0 and includes an http fix related to stream listeners on idle agent sockets.
v26.3.111 fixesThis is a security release addressing multiple high and medium severity vulnerabilities across TLS, crypto, HTTP/2, DNS, and permission handling modules. Key fixes involve input validation and boundary checks to prevent potential exploits.
v24.17.011 fixesThis is a security release addressing multiple high and medium severity CVEs across TLS, crypto, HTTP/2, and DNS modules. It also includes dependency upgrades for nghttp2, llhttp, openssl, and undici.
v22.23.0Breaking16 fixesThis is a security release addressing multiple high and medium severity CVEs across TLS, crypto, HTTP/2, and DNS modules. It also includes dependency updates and removes deprecated http2 priority signaling.
v26.3.05 fixes4 featuresThis release introduces minor version bumps including an increased default Buffer pool size and new HTTP validation options, alongside important documentation updates and dependency upgrades.
v24.16.06 fixes11 featuresThis release introduces several minor features, including randomUUIDv7(), enhanced debugger capabilities, and signal support for fs.stat(). It also includes numerous dependency updates across the codebase.
v26.2.011 fixes3 featuresThis release stabilizes `stream.compose`, adds `Temporal.Instant` support to file system stats, and introduces the ability to send arbitrary 1xx HTTP status codes. It also includes numerous dependency updates and crypto hardening improvements.
v22.22.31 fixThis release focuses heavily on updating numerous internal dependencies, including V8, OpenSSL, npm, and others, alongside minor documentation improvements and a critical fix in the crypto module.
v26.1.06 fixes18 featuresThis release introduces the experimental `node:ffi` module for native library interaction and brings numerous minor version updates across core modules like buffer, crypto, fs, and http, enhancing functionality and hardening security.
v26.0.0Breaking3 fixes6 featuresNode.js 26 introduces the Temporal API by default and updates V8 to 14.6 and Undici to 8.0. This release also includes several major breaking changes, removing legacy stream modules and deprecated HTTP methods.
v24.15.010 fixes14 featuresThis release introduces several new features across CLI, crypto, fs, and stream modules, stabilizes ESM require and module caching, and includes numerous performance improvements and bug fixes across core modules.
v25.9.07 fixes7 featuresThis release introduces significant improvements to test runner mocking APIs by consolidating export options and adds new features like scoped usage for AsyncLocalStorage and new Web Crypto algorithms. It also deprecates `module.register()`.
v25.8.29 fixesThis is a security release addressing multiple high and medium severity CVEs related to prototype pollution, permission checks, and cryptographic comparisons.
Common Errors
SyntaxError3 reportsSyntaxError in Node.js usually arises from invalid JavaScript syntax, such as typos, incorrect use of reserved words, or improperly closed brackets/parentheses. Carefully review the code indicated by the error message (especially the line and offset) for syntax violations, and consult JavaScript documentation to ensure correct usage of language features. After fixing syntax errors, restart the Node.js process to apply the changes.
OnFatalError3 reports"OnFatalError" in Node.js generally indicates an unrecoverable error within the V8 JavaScript engine, often due to memory exhaustion, stack overflows, or bugs in native modules or the Node.js runtime itself. To mitigate this, ensure your code avoids excessive memory allocations (e.g., creating extremely large arrays), carefully manage recursion to prevent stack overflows, and verify the compatibility and stability of any native modules you're using. Update Node.js to the latest stable version, as newer releases often contain bug fixes addressing such errors.
AbortError2 reportsZodError1 reportZodError often arises during debugging or logging when `util.inspect` attempts to stringify a ZodError object, which contains circular references leading to infinite recursion. To fix this, use `JSON.stringify` with a replacer function to handle or exclude circular references within the ZodError object or use a ZodError method like `.errors` to extract and inspect the error details. Alternatively, consider a custom error formatting utility that handles ZodError objects gracefully.
DataCloneError1 reportThe DataCloneError in Node.js typically arises when attempting to transfer non-transferable objects (like functions, class instances, or objects containing them) across realms, such as using `postMessage` to communicate between a web worker and the main thread or when cloning objects for caching. To resolve this, ensure you are only transferring plain JavaScript objects or explicitly serializable data (like JSON-compatible types) by stripping out problematic properties or manually reconstructing the necessary data on the receiving end. Consider using structured cloning alternatives or custom serialization if you need to transfer complex data and direct transfer is not possible.
ZodLikeError1 reportThe "ZodLikeError" in Node.js often arises when an object with custom getter properties (like those found in some Error objects) is passed to a logging or serialization function that Zod or a similar library uses for validation or transformation. These getters can throw exceptions or cause infinite recursion during validation, leading to the error. To fix this, either sanitize the input object by removing or materializing the getter properties before logging/serializing (e.g., using structuredClone or a custom object mapper), or configure Zod to handle or ignore properties that may cause issues during validation.
Related Backend & Infra Packages
Production-Grade Container Scheduling and Management
Promise based HTTP client for the browser and node.js
A modern runtime for JavaScript and TypeScript.
Deliver web apps with confidence 🚀
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
Free and Open Source, Distributed, RESTful Search Engine
Subscribe to Updates
Get notified when new versions are released