Node.js 26 LTS: which version to run and how to upgrade safely
Node.js 26 is now Active LTS, 24 is in maintenance and 22 ends in April 2027. Support dates, breaking changes and a safe production upgrade plan.
Node.js 26 became the Active LTS release on 28 October 2026, under the codename "Lithium", and is supported until the end of April 2029. For new production projects, it is now the version to choose. If you run Node.js 24, you have plenty of time: it moved to Maintenance LTS on 20 October 2026 and is supported until April 2028. If you are on Node.js 22, start planning now, because it reaches end of life on 30 April 2027. Anything on Node.js 20 or older is already end of life and no longer receives security fixes.
This guide sets out where each release line stands at the time of writing (November 2026), what changes in Node.js 26, and a step-by-step way to upgrade a production app without drama.
Node.js release lines at a glance
| Version | Codename | Status | End of life | Latest release |
|---|---|---|---|---|
| Node.js 26 | Lithium | Active LTS (from 28 October 2026) | 30 April 2029 | 26.13.0 |
| Node.js 24 | Krypton | Maintenance LTS (from 20 October 2026) | 30 April 2028 | 24.22.2 |
| Node.js 22 | Jod | Maintenance LTS | 30 April 2027 | 22.23.4 |
| Node.js 27 | None yet | Alpha (not for production) | 30 April 2030 (planned) | 27.0.0 alpha |
The Node.js project recommends that production apps only use Active LTS or Maintenance LTS releases. Maintenance LTS lines get critical bug fixes and security patches, but no new features.
A new release schedule from Node.js 27
Node.js 26 is the last line on the old schedule, where even-numbered versions became LTS and odd-numbered versions were short-lived. From Node.js 27, the project moves to one major release a year:
- A new line is branched each October and receives alpha releases for six months.
- Each April it gets its first major release and enters Current.
- After six months as Current, it moves to LTS in October.
- Every line gets 30 months of LTS, so 36 months in total, and there is no separate maintenance phase.
For businesses, this is simpler: one new LTS each October, and every version becomes LTS. Node.js 27 is planned to enter Current in April 2027 and LTS in October 2027.
What changes in Node.js 26
Most apps will run on Node.js 26 with few or no code changes, but a handful of changes are worth checking before you switch.
New features
-
Temporal is enabled by default. This modern date and time API is a more robust alternative to the old
Dateobject, with proper time zone and calendar support. -
V8 14.6, which adds
Map.prototype.getOrInsert(),getOrInsertComputed()andIterator.concat(). -
Undici 8, the HTTP client behind the built-in
fetch. - npm 11 is bundled (11.20.0 with 26.13.0).
Breaking changes to check
-
http.Server.prototype.writeHeader()has been removed. UsewriteHead(). -
The old internal stream modules such as
_stream_readableand_stream_writableare gone. Older dependencies sometimes import them directly. -
module.register()now shows a runtime deprecation warning, which matters if you use custom loaders. -
Extensionless CommonJS files are no longer allowed inside packages marked
"type": "module". -
The
--experimental-transform-typesflag has been removed. Built-in TypeScript type stripping still works. - Several crypto deprecations have moved forward, and readable streams now read one buffer at a time.
A Linux gotcha: libatomic
Since Node.js 25, the official Linux binaries are linked against libatomic. If you upgrade from Node.js 24, 22 or older, you may need to install it separately, depending on your distribution. Slim and minimal container images are the most likely place to hit this, so check your Dockerfile.
How to upgrade a production Node.js app safely
-
1
Inventory where Node.js runs. List every place a version is set:
.nvmrc, theenginesfield inpackage.json, Dockerfiles, CI workflows, serverless runtime settings and hosting control panels. Version drift between local, CI and production causes many upgrade surprises. - 2 Update dependencies on your current version first. Bring packages up to date before changing Node.js, so you are only changing one thing at a time. Pay special attention to packages with native add-ons, as they are compiled against a specific Node.js ABI and need versions that support Node.js 26.
-
3
Read the deprecation warnings you already have. Run your app and tests with
--trace-deprecationon your current version. Warnings today are often removals in the next major. - 4 Switch a branch to Node.js 26. Update the version everywhere from step 1, reinstall dependencies from a clean state and regenerate the lockfile if your package manager requires it.
- 5 Run the full test suite and a production build in CI. Add Node.js 26 to your CI matrix alongside your current version for a while, so you can see differences side by side.
- 6 Test in staging with realistic traffic. Check memory usage, response times, background jobs, scheduled tasks, file uploads and anything using streams, crypto or outbound HTTP.
- 7 Roll out gradually and keep a rollback ready. Deploy to one instance or a small share of traffic first, watch error rates and logs, and keep the previous image or runtime setting available until you are confident.
Change one thing at a time: dependencies first, then the runtime, then the rollout.
Keep up with security releases
Upgrading the major version is only half the job. Node.js publishes security releases across all supported lines. The most recent, on 21 October 2026, fixed four high severity issues, including a Brotli decompression flaw in node:zlib and several TLS hostname checking problems, in 22.23.4, 24.22.1 and 26.12.1. The Node.js project notes that end-of-life versions are also affected by issues like these but receive no fixes. Watch the Node.js blog or security mailing list and plan to apply patch releases promptly. This is general information rather than security advice for your particular set-up.
Frequently asked questions
Should I upgrade from Node.js 24 to 26 straight away?
There is no rush. Node.js 24 is supported until April 2028. A sensible approach is to move to 26 in the next few months, once your key dependencies and hosting platform officially support it.
Is Node.js 22 still safe to use?
It still receives security fixes until 30 April 2027, so it is safe if you keep it patched. Plan your upgrade to 24 or 26 well before that date.
Can I skip from Node.js 22 straight to 26?
Yes, many teams do. Read the breaking changes for 24 and 26, and expect a little more testing than for a single step.
What about my hosting provider?
Managed platforms and serverless providers add new runtimes on their own timelines. Check that Node.js 26 is available before you plan a production switch.
Need help upgrading your Node.js app?
We build and maintain Node.js APIs, integrations and back ends, and can plan and carry out runtime upgrades with testing and a rollback plan. See our Node.js development services, the React front end and Node.js API we built for a startup incubator, and our guide to Node.js integrations for Shopify, HubSpot and CRMs. For ongoing upkeep, talk to us about maintenance.
Sources: Node.js 26.13.0 (LTS) release, Node.js 26.0.0 release, Node.js release schedule, Node.js previous releases, October 2026 security releases.
(over to you)
Planning a build like this?
Tell us what you're building and we'll come back with ideas and next steps.