Move the Node floor off EOL 20 to 24 - #3244
Open
olaservo wants to merge 1 commit into
Open
Conversation
CONTRIBUTING.md already states "Node.js 24 or above" and .nvmrc pins v24.2.0, but package.json still declared `engines.node: ">=20"` and three workflow entries still provisioned Node 20. Node 20 reached end of life on 2026-04-30, so the release-cutting job in particular was running on an unsupported runtime. Align the stragglers with the requirement the repo already documents: - package.json (and the lockfile root it mirrors): >=20 -> >=24 - cut-release.yml: the `final` job's setup-node 20 -> 24 - sep-lifecycle.yml / sep-lifecycle-manual.yml: NODE_VERSION 20 -> 24 main.yml, markdown-format.yml, and render-seps.yml were already on 24 and are unchanged. No dependency versions move; the lockfile diff is the root `engines` field only. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Motivation and Context
CONTRIBUTING.mdalready states "Node.js 24 or above" and.nvmrcpinsv24.2.0, butpackage.jsonstill declaredengines.node: ">=20"and three workflow entries still provisioned Node 20.Node 20 ("Iron") reached end of life on 2026-04-30 (nodejs/Release schedule) — about three months ago — so it no longer receives security patches. The most notable case is
cut-release.yml, where the job that promotes the draft spec and cuts a release was provisioning an unsupported runtime.How Has This Been Tested?
npx tsc --noEmitpasses clean.npm install --package-lock-only; the resulting diff is the rootenginesfield only, with no dependency versions moving.Breaking Changes
None
Types of changes
Checklist
Additional context
Files deliberately left alone:
main.yml,markdown-format.yml, andrender-seps.ymlwere already on 24.Two pre-existing local check failures are worth noting so they aren't attributed to this change —
npm run check:schema:ts(prettier) andnpm run check:schema:jsonboth fail identically on a pristinemaincheckout on Windows, becausecore.autocrlf=truegives the schema files CRLF terminators. They are a Windows-checkout artifact, not a regression here, and CI on Linux is unaffected.🤖 Generated with Claude Code