From 2644f9431a460cabba84308f86aebeca355c0692 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20Sol=C3=A1r?= Date: Tue, 8 Sep 2026 18:49:50 +0200 Subject: [PATCH] feat: require Node.js 22 or newer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Node 20 reached end of life on 2026-04-30 and the dependency tree already excluded it: chalk@6 declares engines >=22, so `engines: ">=20"` was a promise the install could not keep. README and the installation docs have said 22+ for a while — this makes the manifest agree. Raise engines.node to >=22, drop the ^20.19.0 arm from devEngines, and remove Node 20 from the Local Tests matrix, which is what is currently failing on master. devEngines keeps the stricter >=22.12.0 floor that the build tooling needs. That is the contributor requirement; engines.node is the support claim made to users, and it tracks the Node major line. Co-Authored-By: Claude Opus 5 --- .github/workflows/check.yaml | 2 +- package.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 283716a96..e7695ab3d 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -76,7 +76,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-2025] - node-version: [20, 22, 24] + node-version: [22, 24] runs-on: ${{ matrix.os }} diff --git a/package.json b/package.json index c4d8187ba..a2f2e460c 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ }, "homepage": "https://github.com/apify/apify-cli#readme", "engines": { - "node": ">=20" + "node": ">=22" }, "dependencies": { "@apify/actor-memory-expression": "^0.2.0", @@ -151,7 +151,7 @@ "runtime": [ { "name": "node", - "version": "^20.19.0 || >=22.12.0", + "version": ">=22.12.0", "onFail": "error" }, {