Priority
P1 — High — make the published runtime support contract truthful before broad production adoption.
Current problem
The package still declares 20 || >=22 and the README says Node 20+, while Node 20 reached end of life on March 24, 2026. CI runs the full development/integration suite on Node 24 and then a packed-consumer test on a floating latest Node 20, so it neither tests the bottom of the declared Node 20 range nor reflects the maintained production runtimes.
Current evidence:
The resolved Vite/Vitest development-tool floor is not itself the consumer-runtime contract; packed artifacts must be tested independently at the declared minimum.
Open decision
Choose deliberately between:
- Continue supporting the EOL Node 20 line and pin/prove its exact minimum consumer version, accepting the maintenance and security-support implications.
- Move DialCache to Node 22+ and test packed consumers at an exact minimum Node 22 release while retaining the full suite on Node 24/current LTS.
Recommendation: choose Node 22+. Production applications should not be encouraged onto an EOL runtime, and this removes the stale 20.0-versus-20.19 framing without tying consumer support to dev-tool requirements.
Acceptance criteria
- Confirm the maintained major-version floor.
- Align
engines.node and README requirements.
- Pin the packed-consumer job to an exact minimum supported version rather than a floating major.
- Run real packed ESM and CommonJS cache behavior plus declaration checks at that minimum.
- Keep the full unit, integration, build, and declaration suite on Node 24/current LTS.
- Document the compatibility change in the PR and release notes.
Impact
This changes only the advertised/install-time support matrix and CI proof. It does not change cache keys, Redis protocol, runtime APIs, or stored data.
Priority
P1 — High — make the published runtime support contract truthful before broad production adoption.
Current problem
The package still declares
20 || >=22and the README says Node 20+, while Node 20 reached end of life on March 24, 2026. CI runs the full development/integration suite on Node 24 and then a packed-consumer test on a floating latest Node 20, so it neither tests the bottom of the declared Node 20 range nor reflects the maintained production runtimes.Current evidence:
The resolved Vite/Vitest development-tool floor is not itself the consumer-runtime contract; packed artifacts must be tested independently at the declared minimum.
Open decision
Choose deliberately between:
Recommendation: choose Node 22+. Production applications should not be encouraged onto an EOL runtime, and this removes the stale 20.0-versus-20.19 framing without tying consumer support to dev-tool requirements.
Acceptance criteria
engines.nodeand README requirements.Impact
This changes only the advertised/install-time support matrix and CI proof. It does not change cache keys, Redis protocol, runtime APIs, or stored data.