|Release||Status||Codename||Initial Release||Active LTS Start||Maintenance Start||End-of-life|
Dates are subject to change.
The Release schedule is available also as a JSON file.
There are three phases that a Node.js release can be in: 'Current', 'Active Long Term Support (LTS)', and 'Maintenance'. Odd-numbered release lines are not promoted to LTS - they will not go through the 'Active LTS' or 'Maintenance' phases.
Changes required for critical security and bug fixes may lead to semver-major changes landing within a release stream, such situations will be rare and will land as semver-minor. Although, those changes should have a revert option included.
The term 'supported release lines' will be used to refer to all release lines that are not End-of-Life.
|Release||Status||Codename||Initial Release||Active LTS Start||Maintenance LTS Start||End-of-life|
The Release working group's purpose is:
Its responsibilities are:
The Release working group is structured into teams and membership in the working group does not automatically result in membership in these teams. These teams are:
releasers team is entrusted with the secrets and CI access to be able
build and sign releases. Additions to the releasers team must be approved
by the TSC following the process outlined in GOVERNANCE.md.
The Long Term Support (LTS) team manages the process/content of LTS releases and the required backporting for these releases. Additions to the LTS team needs sign off from the rest of the LTS team.
The Canary in the Gold Mine (CITGM) team maintains CITGM as one of the key sanity checks for releases. This team maintains the CITGM repository and works to keep CITGM builds running and passing regularly. This also includes maintaining the CI jobs in collaboration with the Build Working Group.
New semver-major releases of Node.js are branched from
main every six
months. New even-numbered versions are released in April and odd-numbered
versions in October.
In coordination with a new odd-numbered major release, the previous even-numbered major version will transition to Long Term Support. The transition to Long Term Support will happen in a semver-minor release and should happen after the new major version is released.
Every even (LTS) major version will be actively maintained for 12 months from the date it enters LTS coverage. Following those 12 months of active support, the major version will transition into "maintenance" mode for 18 months. Prior to Node.js 12 the active period was 18 months and the maintenance period 12 months. See Releases Phases for details of which changes are expected to land during each release phase.
The exact date that a release will be moved to LTS, moved between LTS modes, or deprecated will be chosen no later than the first day of the month it is to change. If the release team plans to change the release date, it will be done with no less than 14 days notice.
All LTS releases will be assigned a codename. A list of expected upcoming codenames is available in CODENAMES.md.
Every LTS major version has two branches in the GitHub repository: a release branch and a staging branch. The release branch is used to cut new releases. Only members of the @nodejs/releasers team should land commits onto release branches. The staging branch is used to land cherry-picked or backported commits from main that need to be included in a future release. Only members of @nodejs/backporters should land commits onto staging branches.
For example, for Node.js v4, there is a
v4.x branch and a
branch. When commits land in main that must be cherry-picked for a future
Node.js v4 release, those must be landed into the
v4.x-staging branch. When
commits are backported for a future Node.js v4 release, those must come in the
form of pull requests opened against the
v4.x-staging branch. Commits are
only landed in the
v4.x branch when a new
v4.x release is being prepared.
Generally, changes are expected to live in a Current release for at least 2 weeks before being backported. It is possible for a commit to land earlier at the discretion of the Release working group.
The working group members are the union of the LTS, Releasers and CITGM team members listed below.