Skip to content

feat!: require node >=24, test on 24 & 26, support npm >=11#433

Merged
scottlovegrove merged 4 commits into
mainfrom
feat/node-24
Jul 16, 2026
Merged

feat!: require node >=24, test on 24 & 26, support npm >=11#433
scottlovegrove merged 4 commits into
mainfrom
feat/node-24

Conversation

@scottlovegrove

Copy link
Copy Markdown
Collaborator

Node 20 has reached end-of-life. This raises the minimum supported node to 24, adds explicit node 26 coverage via a CI test matrix, and declares npm >=11 support.

Changes

  • .nvmrc: 2024
  • package.json engines: node: ">=24", npm: ">=11"
  • test.yml: now runs a [24, 26] node matrix
  • release.yml: publish node 2224

Breaking change

Minimum node is now 24; node 20 and 22 are no longer supported.

Node 20 has reached end-of-life. Raise the minimum supported node to 24,
add explicit node 26 coverage via a CI test matrix, and declare npm >=11.

BREAKING CHANGE: minimum node is now 24; node 20 and 22 are no longer supported.
@scottlovegrove scottlovegrove self-assigned this Jul 16, 2026
@doistbot
doistbot requested a review from henningmu July 16, 2026 12:47

@doistbot doistbot left a comment

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.

This PR bumps the minimum Node version to 24, adds a CI test matrix covering Node 24 and 26, and declares npm >=11 support across .nvmrc, package.json, and the CI/release workflows.

Few things worth tightening:

  • Update CODEBASE.md — it still references Node >=20.18.1, which now contradicts the new runtime policy declared here.
  • Regenerate package-lock.json with the supported npm version — its root entry still declares node: >=20.18.1 and omits the npm engine, leaving the checked-in lockfile out of sync with the manifest.

Share FeedbackReview Logs

Comment thread package.json
Comment thread package.json
Address doistbot review: CODEBASE.md still advertised Node >=20.18.1 and the
package-lock root engines entry was out of sync with the new manifest.
The node-24 bump set engines.node to ">=24"; the doctor node check regex required a full semver, so it silently degraded to a warn. Accept and pad partial major ranges before comparing.

@henningmu henningmu left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

…karound

cli-core 0.26.2 accepts partial versions, so the local padVersion helper is no longer needed; the relaxed >= range regex stays.
@scottlovegrove
scottlovegrove merged commit d97e7f4 into main Jul 16, 2026
6 checks passed
@scottlovegrove
scottlovegrove deleted the feat/node-24 branch July 16, 2026 15:09
doist-release-bot Bot added a commit that referenced this pull request Jul 16, 2026
## [3.0.0](v2.1.0...v3.0.0) (2026-07-16)

### ⚠ BREAKING CHANGES

* require node >=24, test on 24 & 26, support npm >=11 (#433)

### Features

* require node >=24, test on 24 & 26, support npm >=11 ([#433](#433)) ([d97e7f4](d97e7f4))
@doist-release-bot

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 3.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants