Skip to content
All Platforms

Node.js releases & version history

JavaScript Runtime Latest: 25.8.2
25
Releases
21
Articles
4
Supported

Node.js Version Timeline

Live data
25v25.8.2
Released: Oct 15, 2025EOL: Jun 1, 2026
Supported
24v24.14.1
Released: May 6, 2025EOL: Apr 30, 2028
SupportedLTS
23v23.11.1
Released: Oct 16, 2024EOL: Jun 1, 2025
End of Life
22v22.22.2
Released: Apr 24, 2024EOL: Apr 30, 2027
MaintenanceLTS
21v21.7.3
Released: Oct 17, 2023EOL: Jun 1, 2024
End of Life
20v20.20.2
Released: Apr 18, 2023EOL: Apr 30, 2026
MaintenanceLTS
19v19.9.0
Released: Oct 18, 2022EOL: Jun 1, 2023
End of Life
18v18.20.8
Released: Apr 19, 2022EOL: Apr 30, 2025
End of LifeLTS
17v17.9.1
Released: Oct 19, 2021EOL: Jun 1, 2022
End of Life
16v16.20.2
Released: Apr 20, 2021EOL: Sep 11, 2023
End of LifeLTS
15v15.14.0
Released: Oct 20, 2020EOL: Jun 1, 2021
End of Life
14v14.21.3
Released: Apr 21, 2020EOL: Apr 30, 2023
End of LifeLTS
13v13.14.0
Released: Oct 22, 2019EOL: Jun 1, 2020
End of Life
12v12.22.12
Released: Apr 23, 2019EOL: Apr 30, 2022
End of LifeLTS
11v11.15.0
Released: Oct 23, 2018EOL: Jun 30, 2019
End of Life
10v10.24.1
Released: Apr 24, 2018EOL: Apr 30, 2021
End of LifeLTS
9v9.11.2
Released: Oct 31, 2017EOL: Jun 30, 2018
End of Life
8v8.17.0
Released: May 30, 2017EOL: Dec 31, 2019
End of LifeLTS
7v7.10.1
Released: Oct 25, 2016EOL: Jun 30, 2017
End of Life
6v6.17.1
Released: Apr 26, 2016EOL: Apr 30, 2019
End of LifeLTS
5v5.12.0
Released: Oct 30, 2015EOL: Jun 30, 2016
End of Life
4v4.9.1
Released: Sep 9, 2015EOL: Apr 30, 2018
End of LifeLTS
3v3.3.1
Released: Aug 4, 2015EOL: Jan 1, 1970
Supported
2v2.5.0
Released: May 4, 2015EOL: Jan 1, 1970
Supported
1v1.8.4
Released: Jan 20, 2015EOL: Jan 1, 1970
Supported

Data Collection Methodology

Version & Lifecycle Data
Pulled from endoflife.date API every 6 hours. Includes release dates, EOL dates, and LTS status.
Security Advisories
CVE data sourced from Node.js Security Releases.

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.

Updated daily Verified data

Related Articles

Latest guides

Quick 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

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

🔔 Get notified when Node.js Releases — Complete Version History, LTS Schedule & Upgrade Guides ships a new version, hits EOL, or gets a CVE Node.js Releases — Complete Version History, LTS Schedule & Upgrade Guides Alerts