Summary
Node.js 20 reaches end-of-life in April 2026, but the repo still advertises it as a supported floor. The runtime toolchain is already on 22 (mise node = "22", workflow node-version: 22.x), so the gap is purely in the declared support range and a few Lambda runtime references.
Affected places (triage across the repo)
engines.node floor — ">= 20.x <= 24.x" → ">= 22.x <= 24.x" (4 workspace manifests):
package.json:8
cli/package.json:10
cdk/package.json:78
docs/package.json:29
Lambda CompatibleRuntimes still list nodejs20.x (decide whether to drop):
cdk/test/constructs/cedar-wasm-layer.test.ts:46
cdk/test/stacks/agent.test.ts:167
- (plus the construct source these assert against — trace from the tests)
Standalone integration project (outside yarn workspaces, needs its own edit + re-lock):
integrations/jira-forge-app/ — check its package.json engines/Forge runtime and re-lock if changed (see #712 for the standalone-project pin caveat).
No change needed (already on 22, listed for completeness): root/child mise.toml node = "22"; .github/workflows/* node-version: 22.x / "22".
Proposed change
Bump the engines.node floor to >= 22.x in the four manifests; separately decide whether to drop nodejs20.x from Lambda CompatibleRuntimes (that affects deployed function runtime support, so it may warrant its own call).
Acceptance
- No workspace manifest advertises Node 20 as supported.
mise run build passes on Node 22.
- Decision recorded on the Lambda
nodejs20.x runtime references (drop or keep).
Notes
Needs maintainer approved + assignment before implementation (ADR-003). Filing for triage.
Summary
Node.js 20 reaches end-of-life in April 2026, but the repo still advertises it as a supported floor. The runtime toolchain is already on 22 (
misenode = "22", workflownode-version: 22.x), so the gap is purely in the declared support range and a few Lambda runtime references.Affected places (triage across the repo)
engines.nodefloor —">= 20.x <= 24.x"→">= 22.x <= 24.x"(4 workspace manifests):package.json:8cli/package.json:10cdk/package.json:78docs/package.json:29Lambda
CompatibleRuntimesstill listnodejs20.x(decide whether to drop):cdk/test/constructs/cedar-wasm-layer.test.ts:46cdk/test/stacks/agent.test.ts:167Standalone integration project (outside yarn workspaces, needs its own edit + re-lock):
integrations/jira-forge-app/— check itspackage.jsonengines/Forge runtime and re-lock if changed (see #712 for the standalone-project pin caveat).No change needed (already on 22, listed for completeness): root/child
mise.tomlnode = "22";.github/workflows/*node-version: 22.x/"22".Proposed change
Bump the
engines.nodefloor to>= 22.xin the four manifests; separately decide whether to dropnodejs20.xfrom LambdaCompatibleRuntimes(that affects deployed function runtime support, so it may warrant its own call).Acceptance
mise run buildpasses on Node 22.nodejs20.xruntime references (drop or keep).Notes
Needs maintainer
approved+ assignment before implementation (ADR-003). Filing for triage.