Node.js Version Timeline
Live data
Data Collection Methodology
Data Collection Methodology
How Teams Use This Data
LTS Upgrade Planning
Engineering teams use our version timeline to plan migrations between LTS releases, tracking the 30-month support windows.
Security Patching
DevOps teams monitor active vs maintenance LTS status to prioritise security patch deployments across Node.js services.
Help Us Improve This Data
Found an inaccuracy or have a correction? We review all community feedback to maintain data quality.
Maintained by the ReleaseRun Team
This page is maintained by platform engineers who have collectively managed hundreds of Node.js deployments across production environments. We aggregate and verify data from official sources to help teams make informed upgrade decisions.
Related Articles
Latest guidesQuick Reference
Key Dates
- Current LTS: 22.x (Jod)
- EOL Soon: 20.x (Apr 2026)
- LTS Window: 30 months
Best Practices
- Stick to even-numbered LTS releases for production
- Test with the next LTS before it goes Active
- Use nvm or fnm to manage multiple versions
- Check native addon compatibility before upgrading
Official Resources
Complete Node.js Version Timeline
We track 25 Node.js releases. The latest version is 25.8.2.
Node.js is a JavaScript runtime built on Chrome V8 that powers server-side applications worldwide. This page provides comprehensive version tracking for all Node.js releases, helping engineers plan LTS upgrades and track EOL dates.
Node.js releases define the server-side JavaScript runtime landscape, with the Node.js Foundation and OpenJS Foundation delivering platform updates that shape web servers, API backends, microservices, and build tooling for developers worldwide. This complete Node.js release history documents every major version from Node.js 0.1 through the latest updates, tracking V8 engine upgrades, npm package manager improvements, security hardening, and async runtime enhancements that affect backend engineers, full-stack developers, and DevOps engineers building JavaScript infrastructure.
Since Ryan Dahl’s 2009 introduction using Google’s V8 engine, Node.js has evolved from a simple event-driven I/O platform into the backbone of the modern JavaScript ecosystem—powering development workflows at Netflix, LinkedIn, PayPal, Uber, and millions of projects via npm. Each release introduces critical capabilities: the ES modules revolution began with Node.js 12, native fetch arrived in Node.js 18, the built-in test runner landed in Node.js 18, and Corepack for package manager management arrived in Node.js 16. Understanding Node.js evolution helps teams optimize application performance, adopt modern JavaScript features, and plan LTS upgrade paths.
Why Track Node.js Releases?
Plan LTS Upgrade Paths and Avoid EOL Risk Node.js follows a strict LTS schedule: even-numbered versions become Long-Term Support (LTS) for 30 months while odd-numbered versions receive only 6 months of support. Running EOL Node.js versions exposes applications to unpatched security vulnerabilities and incompatible npm package requirements. Our release history documents exact EOL dates, maintenance windows, and codenames (Hydrogen, Iron, Jod) to help teams plan zero-downtime upgrade paths.
Leverage Native Runtime Features and Reduce Dependencies Recent Node.js releases add native capabilities that replace heavyweight npm packages: native fetch (replacing node-fetch/axios for many use cases), native test runner (replacing Jest/Mocha for unit tests), native crypto improvements (replacing bcrypt), and native fs.watch stability (replacing chokidar). Tracking releases helps teams audit which dependencies can be safely removed, reducing bundle sizes and attack surfaces.
Adopt V8 Engine Performance Improvements Each Node.js major version bundles a newer V8 engine, bringing JIT compilation improvements, memory management enhancements, and new JavaScript language features. V8 updates in Node.js 20+ improved startup time 30-40% for certain workloads and reduced memory overhead for long-running services. Tracking V8 versions in Node.js helps performance engineers identify when runtime upgrades deliver measurable throughput improvements.
Navigate Breaking Changes and API Deprecations Node.js regularly deprecates legacy APIs: the `url` module (replaced by WHATWG URL), `crypto.createCipher` (replaced by `crypto.createCipheriv`), `assert` module changes, and HTTP parsing strictness updates. Our release guides document deprecation timelines and migration paths, preventing surprise `DeprecationWarning` escalations or breaking changes when upgrading Node.js versions in production.
Use Cases: Who Uses This Release History?
Backend Engineers and API Developers Track HTTP/2 improvements, fetch API additions, stream changes, and async runtime enhancements. Understand when new Node.js versions improve Express/Fastify performance, enable native WebSocket support, or introduce Promise-based fs/child_process APIs that simplify async code.
DevOps Engineers and CI/CD Architects Monitor Docker base image upgrade timelines (node:18-alpine → node:20-alpine → node:22-alpine), EOL dates for runtime version pinning in Dockerfiles, and npm/corepack changes affecting package installation steps. Plan upgrade windows before EOL dates cause CI/CD vulnerability scanner failures.
Full-Stack Developers and Framework Users Track ECMAScript feature availability (top-level await, class fields, error cause) to understand when to drop Babel transforms for Node.js targets. Know when Next.js, Nuxt, SvelteKit, and other frameworks require minimum Node.js versions that force upgrades.
Security Engineers and Compliance Teams Monitor Node.js security release cadence, CVE patches, and OpenSSL version upgrades bundled with each major version. Node.js security releases follow 1-3 day turnaround for critical CVEs—tracking release history helps security teams plan emergency upgrade procedures and understand patch coverage timelines.
npm Package Maintainers and Library Authors Track npm version changes bundled with each Node.js release, new package.json `exports` field support, ES module resolution improvements, and `–experimental-*` flags becoming stable. Understand when Node.js LTS support determines minimum engine requirements for published packages.
FAQ Section
What is Node.js LTS and how long is it supported? Node.js uses a predictable release schedule: even-numbered major versions (18, 20, 22) enter Active LTS 6 months after release and receive security patches for 30 months total. Odd-numbered versions (19, 21, 23) are Current releases receiving only 6 months of support. Production deployments should always target Active or Maintenance LTS versions.
How does Node.js versioning work? Node.js follows semantic versioning: major versions (18→20→22) introduce breaking changes and new features, minor versions (20.0→20.1) add backward-compatible features, and patch versions (20.1.0→20.1.1) fix bugs and security issues. The version number corresponds to the V8 JavaScript engine version bundled with that release.
What V8 engine version is included in each Node.js release? Each Node.js major version ships a specific V8 engine: Node.js 20 ships V8 11.3, Node.js 22 ships V8 12.4, and Node.js 23 ships V8 13.x. V8 versions determine available JavaScript language features, WebAssembly support, and JIT compilation characteristics.
When should I upgrade my Node.js version? Upgrade when your current version enters End-of-Life (security patches stop), when a framework dependency requires a newer minimum version, or when a new LTS version includes performance improvements relevant to your workload. Use `releaserun check` in CI to automatically flag EOL Node.js versions before they become security incidents.
How do I run multiple Node.js versions? Use nvm (Node Version Manager), fnm (Fast Node Manager), or Volta to manage multiple Node.js versions per project. CI/CD systems like GitHub Actions use `actions/setup-node@v4` with the `node-version` matrix strategy to test against multiple versions simultaneously.
Get Node.js Releases — Complete Version History, LTS Schedule & Upgrade Guides Release Alerts
Breaking changes, security patches, and EOL warnings — delivered monthly.
Frequently Asked Questions
What is an LTS release?
Even-numbered Node.js releases (18, 20, 22) enter Long Term Support with 30 months of maintenance. Odd-numbered releases are Current (experimental) with only 6 months of support.
How often is this data updated?
Version lifecycle data is refreshed from endoflife.date every 6 hours. New releases appear within hours.
Which version should I use?
For production, use the latest Active LTS release. Currently that is Node.js 22 (Jod).