Skip to content

chore: upgrade project from Node.js 20 to Node.js 26 #4633

Description

@RafaelAPB

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Triage_NeededTriage if the issue is/still relevant, bug report is valid, arch/design details etc.enhancementNew feature or request

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions