On October 28, 2026, the Node.js project released version 26.13.0, officially moving the 26.x branch into Long Term Support (LTS) status. This release carries the codename Lithium and will be maintained through the end of April 2029. For teams running production server workloads, this is the signal to start planning a migration away from older branches.
A transition release, not a feature release
Despite the version bump, 26.13.0 brings almost no code changes compared to 26.12.1. The official release notes state that the update is limited to metadata, notably the process.release object, to reflect the branch’s new LTS status. The headline features of the Node.js 26 line, starting with the Temporal API enabled by default, were already covered when the branch first shipped.
Support calendar: three active lines at once
With this transition, three LTS branches now coexist in the Node.js lifecycle, each at a different maintenance stage.
| Branch | Codename | Status as of Oct 29, 2026 | End of life (EOL) |
|---|---|---|---|
| Node.js 22 | Jod | Maintenance LTS | April 30, 2027 |
| Node.js 24 | Krypton | Maintenance LTS (since Oct 20, 2026) | April 30, 2028 |
| Node.js 26 | Lithium | Active LTS (since Oct 28, 2026) | April 30, 2029 |
Node.js 26 therefore becomes the recommended branch for any new project, while Node.js 24 enters maintenance mode: it keeps receiving security fixes but will no longer gain new features.
A Linux caveat worth checking
The release notes flag a detail relevant to anyone migrating from an LTS branch older than Node.js 24: since Node.js 25, the official Linux binaries link against libatomic, a library that sometimes needs a separate install depending on the distribution. On Debian and Ubuntu, the package is usually called libatomic1.
# Check the active version and branch status
node -v
node -p "process.release"
# Install the current LTS with nvm
nvm install --lts
nvm alias default lts/*
# On Debian/Ubuntu, if node fails to start
sudo apt-get install -y libatomic1
The move of Node.js 26.x into Long Term Support, codenamed Lithium, guarantees updates through the end of April 2029.
Before migrating a server fleet to Node.js 26, it is worth checking that native dependencies (modules compiled in C/C++) are compatible with the new ABI, and testing the application’s startup on the production Linux image before rolling out broadly.
Key takeaways
Node.js 26 “Lithium” becomes the reference Active LTS branch through 2029, Node.js 24 “Krypton” moves into maintenance, and Node.js 22 “Jod” enters its final year of support ahead of an end-of-life set for April 2027. Teams still running odd-numbered or non-LTS versions have every reason to plan their move to Lithium now, building on the fact that Node.js 26 already stabilized the Temporal API at release.
Announcements like this one often go unnoticed because they change nothing in the code, but that is exactly what makes them a reliable marker: an LTS switch is the moment a version stops being a bet and becomes a sane default for production. On the infrastructure I run for clients, including self-hosted setups built with CloudPanel, I systematically schedule the version bump in the weeks following this kind of announcement rather than waiting for the previous branch’s end of life, to avoid migrating under pressure. — Simon Janvier
Further reading: the official release notes at nodejs.org/en/blog/release/v26.13.0.
