# nodejs/release

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/nodejs-release).**

4,339 stars · 664 forks · JavaScript

## Links

- GitHub: https://github.com/nodejs/Release
- awesome-repositories: https://awesome-repositories.com/repository/nodejs-release.md

## Topics

`node` `nodejs`

## Description

The Node.js Release repository is the official tooling and process definition for managing the release lifecycle of the Node.js runtime itself. It implements a time-based branching model that creates new major version branches from the main line every six months, with even-numbered lines designated for Long-Term Support (LTS) and odd-numbered lines remaining as Current releases. The project defines a strict state machine that governs how each release line transitions through Current, Active LTS, and Maintenance phases, each with its own rules for what changes may land.

The repository provides a staging-branch cherry-pick pipeline that isolates backported changes for each LTS line, ensuring that commits land on a staging branch before being cut into a release. It also generates and publishes machine-readable JSON schedules that detail each Node.js version's release date, support phases, and end-of-life deadlines, enabling external automation tools and deployment pipelines to consume this lifecycle data programmatically. The release schedule management capabilities forecast when versions will enter Active LTS, shift to Maintenance, and reach end-of-life, allowing teams to plan upgrades in advance.

The project covers the full scope of Node.js version lifecycle tracking, from classifying release phases to managing branch creation and coordinating update eligibility across multiple version lines. Its documentation and tooling are designed to be consumed by both human operators and automated systems, with the machine-readable schedule exports serving as the primary integration surface for external automation.

## Tags

### Part of an Awesome List

- [Release Data Exporters](https://awesome-repositories.com/f/awesome-lists/data/data-export/json-exports/release-data-exporters.md) — Exports Node.js version schedules as machine-readable JSON files for external automation integration.
- [Version Transition Forecasts](https://awesome-repositories.com/f/awesome-lists/devtools/node-js-version-management/version-transition-forecasts.md) — Forecasts planned dates for Node.js version transitions through Active LTS, Maintenance, and end-of-life. ([source](https://cdn.jsdelivr.net/gh/nodejs/release@main/README.md))

### Data & Databases

- [Release Schedule Exports](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-extraction-ingestion/data-import-and-export/metadata-exporters/workflow-configuration-export/external-automation-exports/machine-parseable-exports/release-schedule-exports.md) — Exports machine-readable JSON schedules detailing Node.js version release dates and support phases.

### Development Tools & Productivity

- [Release Phase Definitions](https://awesome-repositories.com/f/development-tools-productivity/release-management/release-phase-definitions.md) — Classifies Node.js release lines into Current, Active LTS, or Maintenance phases with change eligibility rules. ([source](https://cdn.jsdelivr.net/gh/nodejs/release@main/README.md))
- [Release Phase Queries](https://awesome-repositories.com/f/development-tools-productivity/release-management/release-phase-queries.md) — Classifies every Node.js release line by phase so users know which versions receive updates. ([source](https://cdn.jsdelivr.net/gh/nodejs/release@main/README.md))
- [Staging Branch Pipelines](https://awesome-repositories.com/f/development-tools-productivity/staging-and-commit-interfaces/staging-branch-pipelines.md) — Maintains separate staging branches per LTS line for cherry-picked commits before release cuts. ([source](https://cdn.jsdelivr.net/gh/nodejs/release@main/README.md))
- [Staging Branch Cherry-Pick Pipelines](https://awesome-repositories.com/f/development-tools-productivity/version-control-repository-tools/version-control-managers/git-utilities/commit-cherry-picking-tools/staging-branch-cherry-pick-pipelines.md) — Maintains staging branches per release line where cherry-picked commits land before release cuts.

### DevOps & Infrastructure

- [Fixed Cadence Release Triggers](https://awesome-repositories.com/f/devops-infrastructure/automation-orchestration/task-execution-frameworks/event-based-triggers/time-based-triggers/fixed-cadence-release-triggers.md) — Triggers new major version branches on a fixed six-month schedule independent of feature readiness.
- [LTS Line Staging Branches](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/release-branch-submission-workflows/lts-line-staging-branches.md) — Provides dedicated staging branches for each LTS line to isolate backported changes before release.
- [Long-term Support Policies](https://awesome-repositories.com/f/devops-infrastructure/long-term-support-policies.md) — Manages Node.js version transitions through Current, Active LTS, and Maintenance phases for update eligibility.
- [Release Phase Classifiers](https://awesome-repositories.com/f/devops-infrastructure/release-automation/git-release-automators/release-configuration-tools/create-or-update-release-configurators/release-phase-classifiers.md) — Categorizes Node.js versions into Current, Active LTS, or Maintenance phases with update eligibility rules.
- [Version Lifecycle Trackers](https://awesome-repositories.com/f/devops-infrastructure/version-control-management/version-control-utilities/branch-management-utilities/branch-synchronizers/upstream-trackers/upstream-version-trackers/version-lifecycle-trackers.md) — Monitors Node.js version support phases and end-of-life dates to coordinate system upgrades.

### Programming Languages & Runtimes

- [Release Lifecycle Trackers](https://awesome-repositories.com/f/programming-languages-runtimes/node-js-version-managers/release-lifecycle-trackers.md) — Tracks Node.js version dates, support phases, and end-of-life deadlines for upgrade coordination.
- [Release Schedule Managers](https://awesome-repositories.com/f/programming-languages-runtimes/release-schedule-managers.md) — Publishes machine-readable JSON schedules defining each Node.js version's release date, support phases, and end-of-life deadline. ([source](https://cdn.jsdelivr.net/gh/nodejs/release@main/README.md))
- [Major Release Schedulers](https://awesome-repositories.com/f/programming-languages-runtimes/release-schedule-managers/major-release-schedulers.md) — Branches new semver-major Node.js versions from main every six months with LTS or Current designation. ([source](https://cdn.jsdelivr.net/gh/nodejs/release@main/README.md))
- [Release Timeline Tracking](https://awesome-repositories.com/f/programming-languages-runtimes/release-timeline-tracking.md) — Generates machine-readable JSON files mapping each Node.js version to its current support phase, start date, and end-of-life date. ([source](https://github.com/nodejs/Release/tree/main/doc/))

### Security & Cryptography

- [Release Phase State Machines](https://awesome-repositories.com/f/security-cryptography/account-lifecycle-management/lifecycle-state-machines/release-phase-state-machines.md) — Implements a state machine governing Node.js version transitions through Current, Active LTS, and Maintenance phases.

### Software Engineering & Architecture

- [Semver-Major Branching Models](https://awesome-repositories.com/f/software-engineering-architecture/development-methodologies/software-development-lifecycle/release-branching-strategies/branching-model-orchestration/semver-major-branching-models.md) — Creates semver-major branches from main every six months, alternating between LTS and Current lines.
- [Release Lifecycle Management](https://awesome-repositories.com/f/software-engineering-architecture/release-lifecycle-management.md) — Tracks Node.js release dates, support phases, and end-of-life deadlines across multiple version lines.
- [LTS Branch Managers](https://awesome-repositories.com/f/software-engineering-architecture/release-management/lts-branch-managers.md) — Maintains separate staging and release branches for Node.js LTS lines to manage backported changes.
