Skip to content

chore: upgrade Node.js to latest LTS (24) across the repo#2370

Closed
josephfusco wants to merge 1 commit into
canaryfrom
ci/node-24-lts
Closed

chore: upgrade Node.js to latest LTS (24) across the repo#2370
josephfusco wants to merge 1 commit into
canaryfrom
ci/node-24-lts

Conversation

@josephfusco
Copy link
Copy Markdown
Member

Aligns the repository's CI matrices, default Node version, .nvmrc, and package engines to the supported Node LTS line (drops EOL 18/20, defaults to 24, keeps 22 in CI for the active LTS).

Closes #2369

Node 20 reached EOL in April 2026 and Node 18 has been EOL since
April 2025. Node 24 became the active LTS in October 2025.

- Bump default Node version in CI workflows and the cache-restore
  action from 22 -> 24.
- Drop EOL Node versions (18, 20) from CI test matrices, leaving
  ['22', '24'] (current and latest LTS).
- Raise engines.node to >=22 in root, packages/*, and example
  workspaces.
- Update .nvmrc from v18 to 24.

Closes #2369
@josephfusco josephfusco requested a review from a team as a code owner May 22, 2026 14:56
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 22, 2026

⚠️ No Changeset found

Latest commit: 85736e4

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions
Copy link
Copy Markdown
Contributor

📦 Next.js Bundle Analysis for @faustwp/getting-started-example

This analysis was generated by the Next.js Bundle Analysis action. 🤖

This PR introduced no changes to the JavaScript bundle! 🙌

@josephfusco
Copy link
Copy Markdown
Member Author

Closing in favor of a phased approach.

Existing customers are running production deployments on the Node versions this PR would force off (Node 20 in particular). Bumping engines.node to >=22 across all packages would either (a) emit install warnings for those customers, (b) hard-fail their engine-strict installs, or (c) force a Node runtime upgrade in lockstep with a routine package upgrade.

Splitting into two phases:

  • Phase 1 (now)ci: drop Node 18 from CI matrix, add Node 24 #2371 — CI matrix only. Adds Node 24, keeps Node 20, drops Node 18 (EOL March 2025). No engines change, no major version bump, no customer impact.
  • Phase 2 (later)engines.node >=22 + major version bump (4.0.0 for core/cli, matching the v3.0.0 precedent that dropped Node 16) + migration doc. Will be scheduled once customer adoption of Node 22+ has organically moved further along.

The issue (#2369) will be updated to reflect the phased plan.

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.

chore: upgrade Node.js to latest LTS (24) across the repo

1 participant