Run an LTS line, not a Current one. As of 19 October 2026 that means Node.js 24 or 22. Node.js 26 is scheduled to enter Active LTS on 28 October 2026, so it becomes the natural target for new services shortly after. Node.js 20 is past end of life.
The decision in one table
| Situation | Reasonable target | Why |
|---|---|---|
| New service, no legacy constraints | 24 now, or 26 after 28 Oct | Longest remaining support |
| Existing service on 22 | Stay on 22, plan a move to 24 or 26 | 22 is supported until 2027-04-30 |
| Existing service on 20 or older | Move now to 22 or 24 | 20 ended 2026-04-30 |
| Library you publish | Test on every supported LTS line | Your users are spread across them |
Dates come from the Node.js Release working group schedule file.
Why not just take the newest
The newest line is called Current for a reason. The Node.js project describes the first six months of a major version as a window for library authors to add support. Native addons and some build tools tend to lag during that period. Moving to the line the day it enters Active LTS is the cheaper path, because the ecosystem has had its six months.
Why not just stay put
Staying on a line until its last day trades a small amount of effort now for a deadline later. Line 22 ends on 30 April 2027. If you wait until that quarter, you will test, fix and ship inside one quarter, usually while other work competes.
A simple way to choose
- List every service and its current Node.js line. Your container images, CI files and
enginesentries are the places to look. - Mark any line that is in Maintenance or past end of life.
- Pick one target line for the whole organisation, so you maintain fewer variations.
- Upgrade one low risk service first and record what broke.
- Roll the rest out in order of exposure, internet facing services first.
Step 3 matters most. Two or three runtime lines in production is normal. Seven is a patching problem waiting to happen.
Try it yourself
The vulnerability management demo shows how findings are grouped across assets. Look at how one old component can appear in many services, which is the same shape a stale runtime takes.
Click through it at your own pace, or open it full screen.
Safeguard's asset discovery and dependency scanning can help you list which services run which runtime lines. You can try the free scan at gold.safeguard.sh/scan.
Quick check
Is Node.js 26 production ready today?
The releases page still shows it as Current. The schedule file lists 28 October 2026 for its move to Active LTS, which is the project's signal that it is ready for general use.
Can I skip a line, for example go from 20 straight to 24?
Yes. Test against the target line and read the release notes for the lines in between, since removals accumulate.
For a longer view of support windows, see How long is a Node.js LTS release supported.
Sources
Last reviewed: 19 October 2026.