chore: bump Node.js minimum to 25#961
Conversation
ueberDB has historically tracked Etherpad's Node floor. With Etherpad now moving to require Node.js >= 25 (ether/etherpad#7749), bump ueberDB's `engines.node` and CI runner Node version to match. This keeps the library in lock-step with its primary consumer so plugin authors and Etherpad installs don't end up on diverging runtimes. External consumers still on Node 22/24 should pin to a 6.0.x release; this commit prepares 6.1.x for the cutover. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
Review Summary by QodoBump Node.js minimum requirement to 25.0.0
WalkthroughsDescription• Bump Node.js minimum requirement from 22.0.0 to 25.0.0 • Update CI workflows to test on Node.js 25 • Align ueberDB runtime with Etherpad's Node floor • Prepare 6.1.x release for Node 25 cutover Diagramflowchart LR
A["Node 22.0.0"] -->|upgrade| B["Node 25.0.0"]
B -->|applied to| C["package.json engines"]
B -->|applied to| D["CI workflows"]
C -->|affects| E["6.1.x releases"]
D -->|tests on| F["Node 25 runtime"]
File Changes1. package.json
|
Code Review by Qodo
1. Unpinned CI Node version
|
Etherpad has settled back on Node 24 as its minimum supported runtime (ether/etherpad#7781), so ueberDB's recent bump to >=25 (#961) is now ahead of its primary consumer. Lower `engines.node` and the CI runner back to 24 to keep the library in lock-step. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
package.jsonengines.node:>=22.0.0→>=25.0.0ci.yml,npmpublish.yml):node-version: 22.22.0→25Companion to ether/etherpad#7749, which moves Etherpad's runtime floor to Node 25. ueberDB has historically tracked Etherpad's minimum and tests on the same Node version, so bumping here keeps the library and its primary consumer in lock-step.
Tradeoff to confirm
External consumers (third-party projects that depend on
ueberdb2) still on Node 18/20/22 will no longer be able to install the next 6.1.x release. The previous engine policy (>=22.0.0, relaxed from>=22.22.0in 784cfcf) was conservative so consumers on widely-deployed Node 22 could keep installing. Bumping to 25 makes ueberDB depend on a non-LTS Current release, so anyone not on Node 25 needs to pin to a 6.0.x line.This PR is the "see what happens" experiment — green CI here verifies that the library itself works on Node 25; the policy decision (do we actually want to require 25 in the published package) is separate.
Test plan
testmatrix onpush).>=22.0.0and let consumers self-select their runtime?🤖 Generated with Claude Code