chore: drop Node 18 support, require Node >= 20 - #56
Merged
Conversation
Node 18 reached end-of-life in April 2025. Bump the engines floor to >=20.0.0, drop 18.x from the CI validate matrix, and move the Docker E2E runner to Node 22 (testcontainers 12 pulls undici 8, which requires Node >= 20.18). Updates README and CONTRIBUTING to match. Unblocks the ora 9 and globby 16 upgrades, both of which require Node >= 20.
There was a problem hiding this comment.
Pull request overview
This PR raises the project’s supported Node.js baseline from 18 to 20 to reflect Node 18 EOL and to unblock dependency upgrades that require Node >= 20.
Changes:
- Bump
package.jsonengines.nodeto>=20.0.0. - Update CI to drop Node 18 from the validate matrix and run Docker E2E on Node 22.
- Update docs/CHANGELOG to reflect the new Node support policy.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Updates the documented minimum Node.js requirement to >= 20.0.0. |
| package.json | Raises the engines.node floor to >= 20.0.0. |
| CONTRIBUTING.md | Updates contributor-facing Node.js support/matrix documentation. |
| CHANGELOG.md | Adds an Unreleased note about dropping Node 18 support. |
| .github/workflows/test.yml | Removes Node 18 from CI matrix; updates Docker E2E runner Node version. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| uses: actions/setup-node@v7 | ||
| with: | ||
| node-version: 20.x | ||
| # Node 22: testcontainers 12 pulls undici 8, which needs Node >= 20.18 |
Comment on lines
+54
to
+56
| - **Minimum supported Node.js is now 20** (was 18). Node 18 reached end-of-life | ||
| in April 2025; the `engines` field, CI test matrix, and Docker E2E runner have | ||
| been updated accordingly. This unblocks dependencies that require Node >= 20. |
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.
Node 18 reached end-of-life in April 2025. This raises the Node floor so the project can adopt dependencies that require Node >= 20.
Changes
package.json:engines.node>=18.0.0→>=20.0.0[18.x, 20.x, 22.x]→[20.x, 22.x]20.x→22.x(testcontainers 12 pulls undici 8, which requires Node >= 20.18)Why
Unblocks the open Dependabot upgrades that require Node >= 20:
Node 18 has been EOL for 15+ months.
🤖 Generated with Claude Code