Blog: Evolving the Node.js Release Schedule#8631
Blog: Evolving the Node.js Release Schedule#8631UlisesGascon wants to merge 8 commits intonodejs:mainfrom
Conversation
- Add "About the Alpha Channel" section explaining: - Target audience (library authors, CI pipelines) - Expectations (no security patches, API may change) - Rationale (feedback loop + V8 updates) - ABI stability noted as TBD - Simplify schedule phases: Alpha → Current → LTS (29 months) - Remove Active LTS / Maintenance distinction - Add Ubuntu release cycle comparison for familiarity - Clean up v26/v27 timelines (remove Maintenance milestone)
- Add comprehensive 10-year schedule table (v27-v36) with Alpha, Release, LTS, and End of Life dates - Clarify that Alpha channel uses only nightly builds (no formal alpha releases, reducing releaser workload) - Link to nodejs.org/download/nightly for early testing - Reorder Timeline section: v26 → v27 → 10-year table
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
👋 Codeowner Review RequestThe following codeowners have been identified for the changed files: Team reviewers: @nodejs/releasers @nodejs/nodejs-website Please review the changes when you have a chance. Thank you! 🙏 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8631 +/- ##
==========================================
+ Coverage 75.01% 75.11% +0.10%
==========================================
Files 103 104 +1
Lines 9068 9094 +26
Branches 315 314 -1
==========================================
+ Hits 6802 6831 +29
+ Misses 2264 2261 -3
Partials 2 2 ☔ View full report in Codecov by Sentry. |
| @@ -0,0 +1,114 @@ | |||
| --- | |||
| date: '2026-04-01T00:00:00.000Z' | |||
There was a problem hiding this comment.
This is just a placeholder, no idea when makes sense to publish it.
apps/site/pages/en/blog/announcements/evolving-the-nodejs-release-schedule.md
Outdated
Show resolved
Hide resolved
|
|
||
| ### About the Alpha Channel | ||
|
|
||
| The Alpha channel replaces odd-numbered releases. Alpha releases are signed, tagged, and tested through CITGM. This is different from [nightly builds](https://nodejs.org/download/nightly/), which remain available as automated untested builds from main. |
There was a problem hiding this comment.
Nit: imo CITGM could use a link or explanation - I expect very very few of the people reading this will know what it is.
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
RafaelGSS
left a comment
There was a problem hiding this comment.
Despite those changes, I think we need to mention that it's up to the release team to define what the rules will be to ship semver-major commits in alpha versions.
|
|
||
| Starting with `27.x`, Node.js will move from two major releases per year to one. This post explains what's changing, why, and what it means for users. | ||
|
|
||
| ## Why This Change |
There was a problem hiding this comment.
Let's add the issue where we discussed it extensively: nodejs/Release#1113
|
|
||
| ### Volunteer Sustainability | ||
|
|
||
| Node.js is maintained primarily by volunteers. While some contributors receive sponsorship, most of the work (reviewing PRs, handling security issues, cutting releases, backporting fixes) is done by people in their spare time. |
There was a problem hiding this comment.
We should also mention that we care about predictability for enterprises, so any new schedule will be well-defined so companies can prepare their teams to handle it.
| Starting with `27.x` in 2027: | ||
|
|
||
| - **One major release per year** (April), with LTS promotion in October | ||
| - **Every release becomes LTS**. No more odd/even distinction. |
There was a problem hiding this comment.
| - **Every release becomes LTS**. No more odd/even distinction. | |
| - **Every release becomes LTS**. No more odd/even distinction - Node.js 27 will be LTS. |
It always good to clarify.
There was a problem hiding this comment.
Node.js 27.0.0 (released circa April 2027) will not be LTS, LTS comes later, in October (likely 27.10.0 or something like that)
| **Who it's for:** Library authors and CI pipelines testing compatibility with upcoming breaking changes. Not intended for production use. | ||
|
|
||
| **What to expect:** | ||
| - Semver-major changes land during this phase |
There was a problem hiding this comment.
We should clarify that although we might have two releases per month for Alpha, it's not written in stone, and it's up to the release team to define when to ship updates.
|
|
||
| ## Thank You | ||
|
|
||
| This change is the result of discussions across GitHub issues, Release Working Group meetings, and [the Collaboration Summit Chesapeake 2025](https://youtu.be/ppi87YjU9x0?si=NFF5WKIGDJE_U-_V&t=6524). We thank everyone who contributed feedback. |
There was a problem hiding this comment.
I think it's worth mentioning that we are going to discuss and present it again at the upcoming collaborator summit in London.
apps/site/pages/en/blog/announcements/evolving-the-nodejs-release-schedule.md
Outdated
Show resolved
Hide resolved
apps/site/pages/en/blog/announcements/evolving-the-nodejs-release-schedule.md
Outdated
Show resolved
Hide resolved
Co-authored-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com> Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
|
Folks this looks really nice, and it's a pleasant touch that the version numbers will match the year of release. I would suggest adding one short section to the beginning of the blog post, something along these lines...
TL;DR For most developers who upgrade even-numbered LTS releases yearly or biennially Almost nothing will change for you in practical terms, except starting in 2027 LTS releases of Node.js will begin including odd version numbers: 27, 28, 29 and so on will all be LTS releases. This will have little to no impact on new features and upgrades being included in LTS releases of Node.js. The primary impact of this change will be a significant reduction of unproductive busywork for the Node.js project, allowing everyone contributing to Node.js to spend a greater portion of their time and energy on useful activity and constructive effort. For developers more familiar with the details of the Node.js release process Effectively this change will eliminate short-lived odd-numbered releases, replacing them with an "Alpha" period preceding the "Current" release for LTS versions of Node.js, allowing similar early compatibility testing and library & addon development with less ceremony.
Here is the goal. Someone on Hacker News or Reddit posts some low-effort fearmongering. You want someone else to be able to simply copy-and-paste a short summary from the blog post that will defuse any further drama within forty-five seconds. That is how long you have to frame the discussion before they all head off on some tangent. Then a routine post about Node.js inevitably transforms into dozens of comments debating the borrow checker, or higher-kinded types, or how Ken Thompson and Rob Pike miraculously reincarnated as freshman CS students at some community college after pioneering Unix. (Not that I've seen this movie before or anything.) I bet you can avoid much of that nonsense if you lead with a succinct sound bite, targeting the majority of your audience with a quick recap of the bare basics they need to understand. Create a brief message rapidly conveying the relaxing idea that this will be a harmless nothingburger for most Node devs. Or I don't care if you copy some of my verbiage, or copy the whole thing, or anything you prefer. I just think you'll have less drama if you offer a soothing sound bite of your own, rather than letting someone else (such as chronic JavaScript haters) hype up whatever sound bite they prefer. EDIT: I tried looking through these issues, and I can't find any consensus of how Active LTS versus Maintenance LTS is going to be handled. That might change the messaging slightly, but I'm guessing not much. Frankly it wouldn't surprise me if a fair number of people right now are not clear on the distinction. |
|
|
||
| - **One major release per year** (April), with LTS promotion in October | ||
| - **Every release becomes LTS**. No more odd/even distinction. | ||
| - **Alpha channel replaces odd-numbered releases** for early testing (for librairies) |
There was a problem hiding this comment.
| - **Alpha channel replaces odd-numbered releases** for early testing (for librairies) | |
| - **Alpha channel replaces odd-numbered releases** for early testing |
There was a problem hiding this comment.
If you don't choose panva's suggestion, there is still a typo in "librairies" -> libraries
Preview url: https://nodejs-org-git-fork-ulisesgascon-release-announcement-openjs.vercel.app/en/blog/announcements/evolving-the-nodejs-release-schedule
Objective
This is an initial draft of the blog post, intended to collect feedback and iterate until we have a clear plan for communicating the release schedule change.
Context
We have been discussing this topic for a while in nodejs/Release#1113, nodejs/Release#953 and at the Collaboration Summit Chesapeake 2025.
The goal of this post is to communicate the change clearly to users as part of the messaging around Node 26.x, since the new plan will take effect starting with Node 27.x. We decided to write this blog post during our last Release WG meeting.