-
Notifications
You must be signed in to change notification settings - Fork 6.5k
Blog: Evolving the Node.js Release Schedule #8631
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+214
−3
Merged
Changes from 6 commits
Commits
Show all changes
27 commits
Select commit
Hold shift + click to select a range
548adaf
feat(blog): create post evolving the Node.js Release Schedule
UlisesGascon 62a4ff2
docs: add Alpha channel details and simplify LTS terminology
UlisesGascon cc35d52
docs: add 10-year schedule and clarify Alpha as nightly builds
UlisesGascon 3c1aa4e
docs: use proper terminology
UlisesGascon 295317e
docs: clarify Alpha channel vs nightly builds in release schedule post
UlisesGascon 1d1c970
docs: add image to support the new schedule
UlisesGascon edf1129
copy-edit
aduh95 8e611a8
Apply suggestions from code review
aduh95 e5c2095
docs: improve readability
UlisesGascon fc0544b
docs: improve readability
UlisesGascon 26a711c
docs: improve readability
UlisesGascon 5309f98
docs: improve readability
UlisesGascon 66a5c46
docs: improve readability
UlisesGascon 79d6b87
docs: improve readability
UlisesGascon 7dd8066
docs: improve readability
UlisesGascon 3539972
docs: improve readability
UlisesGascon 5cf9c14
docs: improve readability
UlisesGascon 463ed6d
test: update getAuthorWithId test for new nodejs author order
UlisesGascon 7503c54
docs: fix TL;DR accuracy per review feedback
UlisesGascon 13f3189
docs: improve readability
UlisesGascon 23ce3d1
docs: rename Interim phase to Current
UlisesGascon 01ecbeb
docs: improve readability
UlisesGascon 1f5459f
docs: update publication date to April 2nd
UlisesGascon 2661a1d
docs: improve readability
UlisesGascon 7a5f663
Apply suggestions from code review
aduh95 6ec1d8b
Update apps/site/pages/en/blog/announcements/evolving-the-nodejs-rele…
aduh95 2d5173a
Merge branch 'main' into release-announcement
aduh95 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
114 changes: 114 additions & 0 deletions
114
apps/site/pages/en/blog/announcements/evolving-the-nodejs-release-schedule.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,114 @@ | ||
| --- | ||
| date: '2026-04-01T00:00:00.000Z' | ||
| category: announcements | ||
| title: Evolving the Node.js Release Schedule | ||
| layout: blog-post | ||
| author: The Node.js Release Team | ||
|
UlisesGascon marked this conversation as resolved.
Outdated
|
||
| --- | ||
|
|
||
| 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. | ||
|
|
||
|
UlisesGascon marked this conversation as resolved.
|
||
| ## Why This Change | ||
|
UlisesGascon marked this conversation as resolved.
|
||
|
|
||
| The current release schedule is 10 years old. It was created during the io.js merger to balance the needs of a growing ecosystem. As one contributor put it at the time, it was "a guess of what enterprises would need." | ||
|
|
||
| We now have a decade of data showing how people actually use Node.js: | ||
|
|
||
| - Odd-numbered releases see minimal adoption. Users wait for LTS. | ||
| - The odd/even distinction confuses newcomers. | ||
| - Many organizations skip odd releases entirely, upgrading only between LTS versions. | ||
|
UlisesGascon marked this conversation as resolved.
Outdated
|
||
|
|
||
| ### 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. | ||
|
UlisesGascon marked this conversation as resolved.
Outdated
|
||
|
|
||
| Managing security releases across four or five active release lines has become difficult to sustain. Each additional line increases backporting complexity. By reducing concurrent release lines, we can focus on better supporting the releases people actually use. | ||
|
|
||
| ## What's Changing | ||
|
|
||
| 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. | ||
|
UlisesGascon marked this conversation as resolved.
Outdated
|
||
| - **Alpha channel replaces odd-numbered releases** for early testing | ||
| - **Version numbers align with years**: `27.x` in 2027, `28.x` in 2028 | ||
| - **Maximum 3 active release lines** (down from 5) | ||
|
ChALkeR marked this conversation as resolved.
Outdated
|
||
|
|
||
| ### New Schedule | ||
|
|
||
| | Phase | Duration | Description | | ||
| | ------- | --------- | ----------------------------------------------- | | ||
| | Alpha | 5 months | Oct to Mar. Early testing, semver-major allowed | | ||
|
UlisesGascon marked this conversation as resolved.
Outdated
|
||
| | Current | 6 months | Apr to Oct. Stabilization | | ||
|
trivikr marked this conversation as resolved.
|
||
| | LTS | 29 months | Long-term support with security fixes | | ||
|
UlisesGascon marked this conversation as resolved.
Outdated
|
||
|
|
||
| Total support: 35 months from release to End of Life. | ||
|
|
||
|
UlisesGascon marked this conversation as resolved.
|
||
| This model follows a pattern similar to Ubuntu's release cycle: predictable April/October anchors, with interim releases for testing and LTS releases for production. | ||
|
|
||
| ### 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. | ||
|
UlisesGascon marked this conversation as resolved.
Outdated
|
||
|
|
||
| **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 | ||
|
UlisesGascon marked this conversation as resolved.
Outdated
|
||
| - Releases are signed and tagged (unlike nightly) | ||
| - API may change between releases | ||
|
|
||
| **Why:** Provides early feedback on breaking changes with quality gates that nightly builds lack. Also allows landing V8 updates earlier in the cycle. | ||
|
|
||
| ## What's NOT Changing | ||
|
|
||
| - **LTS support duration** remains similar (29 months) | ||
| - **Migration windows preserved**. Overlap between LTS versions remains. | ||
| - **Quality standards unchanged**. Same testing, same CITGM, same security process. | ||
| - **Predictable schedule**. April releases, October LTS promotion. | ||
|
|
||
| ## Timeline | ||
|
|
||
|  | ||
|
UlisesGascon marked this conversation as resolved.
|
||
|
|
||
| ### `26.x` (Current Schedule) | ||
|
|
||
| | Milestone | Date | | ||
| | ----------- | ------------ | | ||
| | Release | April 2026 | | ||
| | Enters LTS | October 2026 | | ||
| | Maintenance | October 2027 | | ||
| | End of Life | April 2029 | | ||
|
|
||
| `26.x` follows the existing schedule. This is the last release under the current model. | ||
|
|
||
| ### `27.x` (New Schedule) | ||
|
|
||
| | Milestone | Date | | ||
| | ------------ | ------------ | | ||
| | Alpha begins | October 2026 | | ||
| | Release | April 2027 | | ||
| | Enters LTS | October 2027 | | ||
| | End of Life | March 2030 | | ||
|
|
||
| `27.x` is the first release under the new schedule. | ||
|
|
||
| ### The Next 10 Years | ||
|
|
||
| | Version | Alpha | Release | LTS | End of Life | | ||
| | ------- | -------- | -------- | -------- | ----------- | | ||
| | 27.x | Oct 2026 | Apr 2027 | Oct 2027 | Mar 2030 | | ||
| | 28.x | Oct 2027 | Apr 2028 | Oct 2028 | Mar 2031 | | ||
| | 29.x | Oct 2028 | Apr 2029 | Oct 2029 | Mar 2032 | | ||
| | 30.x | Oct 2029 | Apr 2030 | Oct 2030 | Mar 2033 | | ||
| | 31.x | Oct 2030 | Apr 2031 | Oct 2031 | Mar 2034 | | ||
| | 32.x | Oct 2031 | Apr 2032 | Oct 2032 | Mar 2035 | | ||
| | 33.x | Oct 2032 | Apr 2033 | Oct 2033 | Mar 2036 | | ||
| | 34.x | Oct 2033 | Apr 2034 | Oct 2034 | Mar 2037 | | ||
| | 35.x | Oct 2034 | Apr 2035 | Oct 2035 | Mar 2038 | | ||
| | 36.x | Oct 2035 | Apr 2036 | Oct 2036 | Mar 2039 | | ||
|
|
||
| ## 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. | ||
|
UlisesGascon marked this conversation as resolved.
Outdated
|
||
|
|
||
| For questions or comments, see [GitHub Issue #1113](https://github.com/nodejs/Release/issues/1113). | ||
40 changes: 40 additions & 0 deletions
40
apps/site/public/static/images/blog/announcements/2026-new-release-schedule.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.