Skip to content

feat: support the Alpha release phase - #9223

Open
RafaelGSS wants to merge 4 commits into
nodejs:mainfrom
RafaelGSS:feat-support-the-alpha-release-phase
Open

RafaelGSS wants to merge 4 commits into
nodejs:mainfrom
RafaelGSS:feat-support-the-alpha-release-phase

Conversation

@RafaelGSS

@RafaelGSS RafaelGSS commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

feat: support the Alpha release phase

Node.js 27 introduces Alpha releases versioned as
vN.0.0-alpha.X.Y.Z (see nodejs/node#63135).

- Keep Alpha versions in the release data instead of letting nodevu
  coerce them into vN.0.0, and give them the new Alpha status.
- Add a /download/alpha page and warn that Alpha releases are not
  meant for production.
- Fall back to the latest LTS on /download/current and
  /download/archive/current while there is no Current release.
- Match pre-releases in the platform and installer checks.

Refs: https://github.com/nodejs/Release/issues/1187

Note

I pushed two commits that bump @nodevu/core to 1.1.0, which supports Alpha releases (cutenode/nodevu#86), and drop the nodevu workaround. The Alpha status now comes from alpha.isAlpha, like LTS does from lts.isLts.

CI will fail on pnpm install (ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION) until 2026-10-22 00:09 UTC. 1.1.0 was published on 2026-10-21 at 00:09 UTC, and pnpm rejects packages younger than a day, even when they come from the lockfile. Re-running the failed checks after that should make them pass.

Node.js 27 introduces Alpha releases versioned as
vN.0.0-alpha.X.Y.Z (see nodejs/node#63135).

- Keep Alpha versions in the release data instead of letting nodevu
  coerce them into vN.0.0, and give them the new Alpha status.
- Add a /download/alpha page and warn that Alpha releases are not
  meant for production.
- Fall back to the latest LTS on /download/current and
  /download/archive/current while there is no Current release.
- Match pre-releases in the platform and installer checks.

Refs: nodejs/Release#1187
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
@RafaelGSS
RafaelGSS requested a review from a team as a code owner October 16, 2026 20:48
@vercel

vercel Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
nodejs-org Error Error Oct 21, 2026 11:43am UTC

Request Review

@codecov

codecov Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

⚠️ JUnit XML file not found

The CLI was unable to find any JUnit XML files to upload.
For more help, visit our troubleshooting guide.

@github-actions

Copy link
Copy Markdown
Contributor

📦 Build Size Comparison

Summary

Metric Value
Old Total First Load JS 7.20 MB
New Total First Load JS 7.20 MB
Delta 5.32 KB (+0.07%)

Changes

🔄 Modified Routes (4)
Route Old First Load JS New First Load JS Delta
/[locale] 1.69 MB 1.69 MB 📈 1.33 KB (+0.08%)
/[locale]/[...path] 1.69 MB 1.69 MB 📈 1.33 KB (+0.08%)
/[locale]/blog/[...path] 1.69 MB 1.69 MB 📈 1.33 KB (+0.08%)
/[locale]/download/archive/[version] 1.69 MB 1.69 MB 📈 1.33 KB (+0.08%)

if (release?.status === 'LTS' && pathname.includes('current')) {
if (
release?.status === 'LTS' &&
(pathname.includes('current') || pathname.includes('alpha'))

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we don't need that right ? since this for redirecting "old" link

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not strictly needed, it only keeps the URL consistent with the selected release, like we do for /current. Happy to drop it if you prefer

Comment thread apps/site/next-data/generators/majorNodeReleases.mjs
1.1.0 supports the Alpha release phase: Alpha releases keep their
pre-release identifiers instead of being coerced into `vN.0.0`, and
every release has an `alpha.isAlpha` flag, like `lts.isLts`.

Refs: cutenode/nodevu#86

Assisted-by: Claude Opus 5.5 <noreply@anthropic.com>
nodevu now keeps Alpha releases as they are, so the site no longer
strips pre-releases before nodevu parses index.json and rebuilds them
afterwards. The Alpha status comes from `alpha.isAlpha`, the same way
LTS comes from `lts.isLts`.

Assisted-by: Claude Opus 5.5 <noreply@anthropic.com>

This branch had an error being deployed

1 failed deployment
Preview — a6ae48b7 Deployed Oct 21, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants