Run a Node.js LTS release. As of 19 October 2026 the Node.js releases page lists v24 and v22 as LTS, v26 as Current and v20 as end-of-life. Production applications should use Active or Maintenance LTS only, and anything marked EOL no longer gets fixes, so move off it.
Reading the release table
Here is what the Node.js previous-releases page shows today:
| Version | Codename | First released | Status |
|---|---|---|---|
| v26 | none | 5 May 2026 | Current |
| v24 | Krypton | 6 May 2025 | LTS |
| v22 | Jod | 24 April 2024 | LTS |
| v20 | Iron | 17 April 2023 | EOL |
The page also marks v26 as the latest release and v24 as the latest LTS. Check the table again when you plan, because it changes.
What Current and LTS mean
Major versions enter Current status for six months, which gives library authors time to add support. Historically, up to Node.js 26, odd-numbered releases became unsupported after six months while even-numbered ones moved to Active LTS. Starting with Node.js 27, the page says the cycle becomes annual and every major version moves to LTS after its Current phase.
LTS means long-term support, and the page says it typically guarantees that critical bugs are fixed for a total of 30 months. The word typically is theirs, so do not treat 30 months as a contract.
What this means for your pipeline
Node is not just the app runtime. It is also inside your build agents, your dev containers and the laptops of every frontend developer. An EOL version in a Dockerfile base image is the most common way teams end up behind.
A simple rule works well:
- Production and CI use a current LTS.
- Developers use the same major as CI, via a version file in the repository.
- When your version approaches EOL, schedule the upgrade at least a quarter ahead.
- Test on the next LTS in a CI job before you need it.
When to skip Current
Current is fine for trying new features on a side project. For anything with users, wait for LTS. Library authors who must support several majors can test against Current in CI without shipping on it.
Where the version hides
Check these places for a Node major: Dockerfiles, CI workflow files, dev container configs, serverless runtime settings, package.json engines fields and version manager files. They drift independently.
Safeguard's dependency scanning and SBOM generation help show which projects pull in which versions. You can run a free scan at gold.safeguard.sh/scan.
Common mistakes
Teams most often pin a version in one file and forget the rest. The Dockerfile says one major, the CI matrix says another and a laptop runs a third. Pick the major once, write it in a version file, and have the other places read it or fail a check when they differ.
Another mistake is waiting for end-of-life before planning. Upgrades across several majors are harder than upgrading one major a year, because deprecations stack up.
Quick check
Is Node.js 20 still supported?
The Node.js releases page lists v20 as EOL, last updated 24 March 2026, so plan to leave it.
Can I use the Current release in production?
The page says production applications should only use Active LTS or Maintenance LTS releases.
Sources
Last reviewed: 19 October 2026.