Problem
Node.js 20 reached its End-of-Life (EOL) on April 30, 2026 (see the Node.js Previous Releases page). Continuing to build, test, and ship Hyperledger Cacti on an EOL Node.js version means the project no longer receives security fixes, bug fixes, or performance improvements from the Node.js project. This exposes downstream users to potential security vulnerabilities and makes it harder to use modern tooling, dependencies, and language features that have dropped support for Node 20.
Proposed solution
Upgrade the project to use Node.js 26 (or 27, consider) as the default runtime and build target. According to the Node.js Release schedule, Node.js 26 is supported until April 30, 2029, which gives the project a stable, actively maintained LTS window.
Key actions:
- Update
.nvmrc, package.json engines fields, and CI workflows to Node 26.
- Audit and update dependencies that require Node >= 26, or pin/transpile those that do not.
- Update Docker images and development documentation to reflect the new Node version.
- Run the full test matrix on Node 26 and fix any runtime or test failures caused by the upgrade.
Alternatives considered
- Upgrade to Node 22 LTS: While still supported, it would only postpone the next upgrade and fail to maximize the supported lifetime.
Affected package(s)
No response
Additional context
@VRamakrishna @sandeepnRES @outSH @AndreAugusto11 @LordKubaya
Related to #3963
Problem
Node.js 20 reached its End-of-Life (EOL) on April 30, 2026 (see the Node.js Previous Releases page). Continuing to build, test, and ship Hyperledger Cacti on an EOL Node.js version means the project no longer receives security fixes, bug fixes, or performance improvements from the Node.js project. This exposes downstream users to potential security vulnerabilities and makes it harder to use modern tooling, dependencies, and language features that have dropped support for Node 20.
Proposed solution
Upgrade the project to use Node.js 26 (or 27, consider) as the default runtime and build target. According to the Node.js Release schedule, Node.js 26 is supported until April 30, 2029, which gives the project a stable, actively maintained LTS window.
Key actions:
.nvmrc,package.jsonenginesfields, and CI workflows to Node 26.Alternatives considered
Affected package(s)
No response
Additional context
@VRamakrishna @sandeepnRES @outSH @AndreAugusto11 @LordKubaya
Related to #3963