Open-source project
nodejs/Release avatar
nodejs/Release

Node.js Release Working Group: Schedule, Policy, and Governance

Node.js Release Working Group

4,357 stars675 forksJavaScriptLicense varies

At a glance

What is it?
The nodejs/Release repository is the canonical source for the Node.js release schedule, LTS policy, backporting rules, and working group governance. It documents which release lines are currently supported, when each transitions between phases, and how the Release Working Group and its three teams operate.
Who is it for?
The nodejs/Release repository is the right starting point for any team that needs to know whether a specific Node.js version is still receiving security updates or when it reaches End-of-Life. As of the schedule in this repository, 22.x (Jod) is in Maintenance LTS until 2027-04-30, 24.x (Krypton) is in Active LTS, and 26.x is the current release.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 36 days ago.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 27, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What the repository contains and who uses it

The nodejs/Release repository serves as the operational home of the Node.js Release Working Group. It holds the release schedule as a table in the README and as a machine-readable schedule.json file, the codenames document (CODENAMES.md), governance documentation (GOVERNANCE.md), contribution guidelines, and a generateReleasePlan.mjs script for planning future releases.

The primary audience is Node.js project contributors, enterprise teams who need to plan dependency upgrades, and developers who need to verify whether a specific release line still receives security patches. The schedule is not maintained in the main nodejs/node repository: when teams link to a canonical Node.js EOL reference, they typically cite this repository's README or its schedule.json. The last push was on 2026-08-24.

Currently supported release lines: 22.x, 24.x, and 26.x

As of the schedule in this repository, three release lines are not yet End-of-Life. Node.js 22.x (codename Jod) is in Maintenance LTS, which means it receives only critical bug fixes and security updates. It entered Maintenance on 2025-10-21 and reaches End-of-Life on 2027-04-30. Node.js 22.x entered its initial Active LTS phase on 2024-10-29 after its initial release on 2024-04-24.

Node.js 24.x (codename Krypton) is in Active LTS, receiving new features, bug fixes, and stability-vetted updates. It entered Active LTS on 2025-10-28 and transitions to Maintenance on 2026-10-20, with End-of-Life on 2028-04-30. Node.js 26.x is the Current release line, first published on 2026-05-05. It enters Active LTS on 2026-10-28, Maintenance on 2027-10-20, and reaches End-of-Life on 2029-04-30. The README notes that all dates are subject to change.

The three release phases and what they deliver

The README defines three phases that a supported Node.js release goes through. Current incorporates most non-major (non-breaking) changes from the nodejs/node main branch. It is the bleeding edge of the project and receives frequent updates. Odd-numbered release lines never leave the Current phase; they do not progress to LTS.

Active LTS is for even-numbered major versions after they are promoted from Current. The Release team audits changes for appropriateness and stability before including them in an Active LTS release. New features, bug fixes, and updates all qualify, but the threshold for inclusion is higher than in Current. Maintenance is the final phase before End-of-Life: it receives only critical bug fixes and security updates. New features may be added at the Release team's discretion only when they support migration to later release lines. The README notes that critical security changes may occasionally land as semver-minor in a Maintenance release, and those changes should include a revert option.

Working group teams: Releasers, Backporters, and CITGM

The Release Working Group is divided into three teams with distinct responsibilities. The Releasers team holds the credentials and CI access required to build and sign official releases. The README states that additions to the Releasers team require TSC (Technical Steering Committee) approval through a documented governance process, making it one of the most gatekept teams in the Node.js project. This restriction exists because compromising the release-signing process would affect the security of every installation of Node.js.

The Backporters team manages the process of applying changes from newer release lines back to older supported lines. The Release team defines the policy for what qualifies for backporting. The CITGM team maintains the Canary in the Gold Mine test suite, which is one of the primary sanity checks before a release is published. CITGM tests a set of popular npm packages against a release candidate to catch regressions that the Node.js test suite alone might not catch. The team maintains CITGM's CI jobs in collaboration with the Build Working Group.

The release cadence: six months, even/odd, and LTS promotion

The README describes a fixed cadence for major releases. New semver-major releases branch from the nodejs/node main branch every six months. Even-numbered major versions are released in April; odd-numbered major versions are released in October. Node.js 24.x was released in May 2025 (close to the April target), 26.x in May 2026, and the pattern continues with 28.x expected around April 2027.

When a new odd-numbered major version is released in October, the previous even-numbered major version transitions to Active LTS in the same timeframe. For example, when 25.x was released in October 2024, Node.js 24.x entered Active LTS. This alignment is designed so that projects moving from one LTS line to the next always have a supported even-numbered target. Odd-numbered lines are short-lived by design: they exist to allow the project to ship features and break APIs before the next LTS line is cut.

End-of-Life release history and upgrade implications

The README maintains a comprehensive table of all End-of-Life release lines from v0.10.x to the most recent. Node.js 20.x (Iron) reached End-of-Life on 2026-04-30. Node.js 18.x (Hydrogen) reached End-of-Life on 2025-04-30. Node.js 16.x (Gallium) reached End-of-Life on 2023-09-11. All odd-numbered versions in this table had much shorter lifespans: for example, Node.js 25.x entered End-of-Life on 2026-06-01.

For teams that run Node.js 20.x or older, the schedule makes clear that no further security patches will be published. The schedule.json file at the root of the repository is the machine-readable version of this table. It allows tooling and dependency management systems to verify whether a given Node.js version is still in a supported phase without parsing the README table.

The schedule.json file and the generateReleasePlan script

The repository provides two machine-readable resources alongside the human-readable documentation. The schedule.json file at the root contains the release schedule in structured form, with each release line keyed by its major version number and carrying start, lts, maintenance, and end dates. This is the authoritative data source for tools that display Node.js version compatibility or EOL warnings.

The generateReleasePlan.mjs script at the root generates a release plan for future cycles. The schedule.svg file provides a visual timeline of the release schedule. The CODENAMES.md file documents the alphabetical LTS codename sequence: Argon, Boron, Carbon, Dubnium, Erbium, Fermium, Gallium, Hydrogen, Iron, Jod, and Krypton for the releases through 26.x. Odd-numbered releases do not receive codenames.

Editorial conclusion

The nodejs/Release repository is the right starting point for any team that needs to know whether a specific Node.js version is still receiving security updates or when it reaches End-of-Life. As of the schedule in this repository, 22.x (Jod) is in Maintenance LTS until 2027-04-30, 24.x (Krypton) is in Active LTS, and 26.x is the current release. The repository itself contains no code to install; the schedule.json file is the machine-readable form of the release schedule and can be consumed directly.

Frequently asked questions

What is the difference between Active LTS and Maintenance LTS in Node.js?

The README defines Active LTS as receiving new features, bug fixes, and updates that have been audited for stability. Maintenance LTS receives only critical bug fixes and security updates. New features are rarely added to Maintenance and only when they support migration to a later release line.

When does Node.js 24.x reach End-of-Life?

According to the schedule in the nodejs/Release repository, Node.js 24.x (codename Krypton) reaches End-of-Life on 2028-04-30. It transitions from Active LTS to Maintenance on 2026-10-20. The README notes that all dates are subject to change.

What is the CITGM team in the Node.js Release Working Group?

CITGM stands for Canary in the Gold Mine. The README describes it as one of the key sanity checks for releases. The CITGM team tests popular npm packages against Node.js release candidates to catch regressions before a release is published, and maintains the related CI jobs in collaboration with the Build Working Group.

Official sources

  1. Issues
  2. nodejs/Release on GitHub
  3. README
For maintainers

Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/nodejs-release.svg)](https://hysenlabs.com/projects/nodejs-release)
Community notes

Community notes