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.