Key takeaways
- Current is a new major line in its first six months. LTS (long-term support) lines get critical bug fixes for about 30 months, and Node.js says production should only use LTS.
- On 7 November 2026, nodejs.org lists 26 (Lithium), 24 (Krypton) and 22 (Jod) as LTS, 27 as Alpha, and everything else as end of life. No line is in Current right now.
- From Node.js 27 there is one major release a year: six months of Alpha from October, six months of Current from April, then 30 months of LTS. Every line becomes LTS, so the odd/even rule ends.
- Node.js has pre-announced security releases for 26.x, 24.x and 22.x on or shortly after 11 November 2026, with a highest severity of HIGH. End-of-life versions such as 20 do not get them.
- Run node -v to see your version, and node -p "process.release.lts" to see the LTS codename, which is undefined on non-LTS releases.
On this page
Node.js LTS vs Current, in one line: Current is a brand new major version in its first six months, and LTS (long-term support) is a version that gets critical bug fixes for about 30 months. The Node.js releases page says "production applications should only use Active LTS or Maintenance LTS releases." On 7 November 2026 the LTS lines are 26 (Lithium), 24 (Krypton) and 22 (Jod). Node.js 27 is in a new Alpha phase, so right now no line is in Current at all.
This explainer covers what each phase means, where every line stands today, how the yearly schedule that starts with Node.js 27 changes things, which version to pick, and the commands to check what you are running.
The short version for beginners
Node.js ships its big changes in numbered major versions, such as 22, 24 and 26. Each major version is a release line: it starts at x.0.0 and then gets smaller updates (26.1.0, 26.2.0 and so on) for as long as it is supported. Each line moves through a fixed set of phases:
Alpha
New from Node.js 27: early test builds. The Release Working Group schedule says APIs and ABIs may change between alpha releases, and that alphas are for library authors and CI pipelines, not production.
Current
The first six months after x.0.0. The releases page says this "gives library authors time to add support for them."
LTS
Long-term support, which "typically guarantees that critical bugs will be fixed for a total of 30 months." Up to Node.js 26 this is split into Active LTS and Maintenance LTS (more on that below).
End of life (EOL)
The project stops maintaining the line. The Node.js EOL page says it "will no longer receive updates, including security patches."
If you only remember one rule: run an LTS line in production, and move off it before its end-of-life date.
Every Node.js line and its status today
This table shows the lines that are still supported or recently ended, as listed on the nodejs.org releases page on 7 November 2026. The end-of-life dates come from the Release Working Group schedule, which nodejs.org links to for full details and which notes that dates are subject to change.
| Line | Codename | First released | Status on nodejs.org | End of life |
|---|---|---|---|---|
| 27 | None yet | Oct 29, 2026 | Alpha | 2030-04-30 (planned) |
| 26 | Lithium | May 05, 2026 | LTS | 2029-04-30 |
| 25 | None | Oct 15, 2025 | EOL | 2026-06-01 |
| 24 | Krypton | May 06, 2025 | LTS | 2028-04-30 |
| 22 | Jod | Apr 24, 2024 | LTS | 2027-04-30 |
| 20 | Iron | Apr 17, 2023 | EOL | 2026-04-30 |
The same page lists v26.13.0 as the latest LTS release. Odd-numbered lines (25, 23, 21 and earlier) show no codename: codenames label LTS lines, and under the old model odd lines never became LTS.
Active LTS vs Maintenance LTS
The nodejs.org table only says "LTS". The Release Working Group schedule splits it further for lines up to Node.js 26:
- Active LTS gets new features, bug fixes and updates the release team judges appropriate and stable.
- Maintenance LTS gets critical bug fixes and security updates, and occasionally features that help people move to a later line.
| Line | Phase today | Active LTS start | Maintenance start | End of life |
|---|---|---|---|---|
| 26 (Lithium) | Active LTS | 2026-10-28 | 2027-10-20 | 2029-04-30 |
| 24 (Krypton) | Maintenance LTS | 2025-10-28 | 2026-10-20 | 2028-04-30 |
| 22 (Jod) | Maintenance LTS | 2024-10-29 | 2025-10-21 | 2027-04-30 |
The Node.js announcement Evolving the Node.js Release Schedule gives the same plan for 26 in months: LTS in October 2026, Maintenance in October 2027, end of life in April 2029.
The annual cycle from Node.js 27
Up to Node.js 26, Node.js shipped two major versions a year. The nodejs.org releases page says that historically (up to Node.js 26), "odd-numbered releases (9, 11, etc.) become unsupported after six months, and even-numbered releases (10, 12, etc.) move to Active LTS status." According to the Release Working Group, even lines then had 12 months of Active LTS followed by 18 months of Maintenance.
The announcement says: "Starting with 27.x, Node.js will move from two major releases per year to one." Its reasons include that odd-numbered releases see minimal adoption, that the odd/even split confuses newcomers, and that security releases across four or five active lines had become hard to sustain. Node.js 26 is "the last release line under the current model."
| Up to Node.js 26 | From Node.js 27 | |
|---|---|---|
| Major versions per year | Two (April and October) | One, in April |
| Which lines become LTS | Even-numbered only | Every line |
| Before Current | Nothing | Six months of Alpha, October to March |
| Current | Six months | Six months, April to October |
| LTS | 12 months Active, then 18 months Maintenance | 30 months, all Active LTS, no Maintenance phase |
| Version numbers | Sequential | Match the year of the first Current release: 27.0.0 in 2027, 28.0.0 in 2028 |
The April and October cadence and the all Active LTS, no Maintenance detail come from the Release Working Group schedule. The announcement itself lists only Alpha, Current, LTS (30 months) and EOL.
The announcement adds that total support is "36 months from first Current release to End of Life," and that alpha versions use semver prerelease names such as 27.0.0-alpha.1. It also says the schedule "is not final and may be amended."
A worked example: the Node.js 27 timeline
Here is how the new cycle plays out for its first line, using the dates in the Release Working Group schedule:
- Alpha starts 2026-10-28. nodejs.org lists the first 27 release on Oct 29, 2026.
- Current starts 2027-04-22, with 27.0.0.
- LTS starts 2027-10-20.
- End of life is 2030-04-30.
For teams that already upgrade only to LTS, the announcement sums it up: "little changes beyond version numbering."
Which Node.js version should you use?
- A new production app: Node.js 26. It is the Active LTS line and has the latest end-of-life date of the LTS lines, 30 April 2029.
- An app on 24: you are on Maintenance LTS until 30 April 2028. You still get critical and security fixes, so there is time to plan a move to 26.
- An app on 22: Maintenance LTS ends on 30 April 2027. That is under six months away, so plan the upgrade now.
- An app on 20 or older, or on 25: these are end of life. Upgrade to an LTS line. The EOL page lists commercial support from OpenJS Ecosystem Sustainability Program partners, but calls it "a temporary solution."
- A library author or CI pipeline: test against the 27 Alpha builds to catch breaking changes early. Do not run them in production.
How to check your Node.js version
The Node.js command-line docs list -v, --version as "Print node's version." Run either in a terminal:
node -v
node --version
The output starts with a v, followed by major, minor and patch numbers. The first number is the release line, so output starting v24. means you are on the 24 line.
Check whether your build is an LTS release
The process documentation says process.release.lts is "a string label identifying the LTS label for this release," and that it is undefined for all other release types, including Current. The -p flag runs a script and prints the result:
node -p "process.release.lts"
node -p "process.version"
On an LTS release the first command prints the line's codename, such as Lithium for 26. A 26.x build from before its LTS promotion on 28 October 2026 prints undefined, because it was a Current release. process.version returns the Node.js version string, the same information as node -v.
Switching versions with nvm
On macOS and Linux, many developers use nvm to keep several versions side by side. Its README shows these commands:
nvm ls-remote --lts # list available LTS versions
nvm install --lts # install the latest LTS release
nvm install 24 # install a 24.x release
nvm use 22 # switch this shell to 22.x
nvm current # show the version active in this shell
A .nvmrc file in your project can hold a version number or a string such as lts/*. When you run nvm use or nvm install with no version, nvm reads it from the current directory or a parent. The README says nvm "also supports Windows in some cases," mainly through WSL. Native Windows version managers exist, but the nvm project does not support them.
Tell npm which versions your project supports
The npm docs describe an engines field in package.json:
{
"engines": {
"node": ">=24"
}
}
npm says this field is "advisory only" unless the engine-strict config flag is set, and otherwise produces warnings when your package is installed as a dependency.
The 11 November 2026 security release
The release schedule matters most when a security fix ships, because only supported lines get it. On 3 November 2026 the Node.js project updated its security release pre-announcement. It is the same idea as a phone's Android security patch level: the fix only helps if your version is one that receives it.
What is confirmed vs not yet known
Confirmed
New versions of the 26.x, 24.x and 22.x lines, "on, or shortly after, Wednesday, November 11, 2026." The highest severity issue in each of the three lines is HIGH. End-of-life versions "are always affected."
Not yet known
The CVE numbers, what the issues are, how many there are, and the exact fixed version numbers. The pre-announcement lists none of these.
In practice: if you run 26, 24 or 22, watch for the new patch release and update to it. If you run 20, 25 or anything older, there will be no fix for your line. The pre-announcement also points to the low-volume nodejs-sec mailing list for future security notices.
For more explainers like this one, see the Dexaloop Tech hub.
Questions
What is the difference between Node.js LTS and Current?
Current is a new major line during its first six months, when library authors add support for it. LTS means long-term support: Node.js says it typically guarantees that critical bugs are fixed for a total of 30 months. Node.js says production applications should only use Active LTS or Maintenance LTS releases.
Which Node.js version should I use in production today?
An LTS line. On 7 November 2026 those are 26 (Lithium, Active LTS), 24 (Krypton, Maintenance LTS) and 22 (Jod, Maintenance LTS). For a new project, 26 has the longest runway, with end of life on 30 April 2029 in the Release Working Group schedule.
Is there a Current version of Node.js right now?
No. Node.js 26 moved to LTS on 28 October 2026, and Node.js 27 is in its Alpha phase. The schedule puts the start of 27's Current phase at 22 April 2027.
Will odd-numbered Node.js versions still be dropped after six months?
Not from Node.js 27. The Node.js project says every release becomes LTS and that Node.js 27 will become LTS. The odd/even rule applied up to Node.js 26, which is the last line under the old model.
When do Node.js 22 and 24 reach end of life?
The Release Working Group schedule lists 30 April 2027 for 22.x and 30 April 2028 for 24.x. It also says the dates are subject to change.
What happens if I stay on an end-of-life version like Node.js 20?
It gets no more updates, including security patches. The 11 November 2026 pre-announcement says end-of-life versions are always affected when a security release occurs. Node.js 20 reached end of life on 30 April 2026.
Sources
- Node.js Releases (nodejs.org) (accessed 7 November 2026)
- Evolving the Node.js Release Schedule (Node.js blog, Node.js Releasers) (accessed 7 November 2026)
- Release schedule (Node.js Release Working Group, nodejs/release on GitHub) (accessed 7 November 2026)
- Wednesday, November 11, 2026 Security Releases (Node.js blog) (accessed 7 November 2026)
- End-Of-Life (nodejs.org) (accessed 7 November 2026)
- Command-line API, Node.js v26.13.0 documentation (accessed 7 November 2026)
- Process, Node.js v26.13.0 documentation (accessed 7 November 2026)
- nvm README (nvm-sh/nvm on GitHub) (accessed 7 November 2026)
- package.json engines (npm Docs) (accessed 7 November 2026)
Written from the sources above and checked against them before publishing. Found a mistake? Email support@dexaloop.com and we will correct it.