From 805722686ecc1eb3291af14c2edac4254649ca47 Mon Sep 17 00:00:00 2001 From: Simeon Huang Date: Wed, 28 Jan 2026 12:40:05 +0000 Subject: [PATCH 1/5] feat: Add Node.js v24 support and set as default Co-authored-by: Ona --- chunks/lang-node/chunk.yaml | 3 +++ dazzle.yaml | 14 ++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/chunks/lang-node/chunk.yaml b/chunks/lang-node/chunk.yaml index 504ed1231..1668ca396 100644 --- a/chunks/lang-node/chunk.yaml +++ b/chunks/lang-node/chunk.yaml @@ -11,3 +11,6 @@ variants: - name: "23" args: NODE_VERSION: 23.11.1 + - name: "24" + args: + NODE_VERSION: 24.13.0 diff --git a/dazzle.yaml b/dazzle.yaml index 2c8f65abf..3a16cef2d 100644 --- a/dazzle.yaml +++ b/dazzle.yaml @@ -37,7 +37,7 @@ combiner: - lang-clojure - lang-go:1.24 - lang-java:11 - - lang-node:22 + - lang-node:24 - lang-python:3.13 - lang-ruby:3.2 - lang-rust:1 @@ -64,13 +64,13 @@ combiner: ref: - base chunks: - - lang-node:23 + - lang-node:24 - tool-chrome - name: node-lts ref: - base chunks: - - lang-node:22 + - lang-node:24 - tool-chrome - name: node-18 ref: @@ -90,12 +90,18 @@ combiner: chunks: - lang-node:22 - tool-chrome - - name: node-23 + - name: "node-23" ref: - base chunks: - lang-node:23 - tool-chrome + - name: "node-24" + ref: + - base + chunks: + - lang-node:24 + - tool-chrome - name: python ref: - base From 5f74fb3a132f247d165ee754d1ee647d9184da75 Mon Sep 17 00:00:00 2001 From: Kyle Brennan Date: Thu, 12 Feb 2026 20:05:23 +0000 Subject: [PATCH 2/5] fix: add v24 to node version test assertion Co-authored-by: Ona --- tests/lang-node.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/lang-node.yaml b/tests/lang-node.yaml index c7c6866e6..b6be702c2 100644 --- a/tests/lang-node.yaml +++ b/tests/lang-node.yaml @@ -6,7 +6,8 @@ - stdout.indexOf("v18") != -1 || stdout.indexOf("v20") != -1 || stdout.indexOf("v22") != -1 || - stdout.indexOf("v23") != -1 + stdout.indexOf("v23") != -1 || + stdout.indexOf("v24") != -1 - desc: it should have yarn command: [yarn --version] entrypoint: [bash, -i, -c] From 2586527c25362b89e7921d28662a720442945d46 Mon Sep 17 00:00:00 2001 From: Kyle Brennan Date: Thu, 12 Feb 2026 21:50:16 +0000 Subject: [PATCH 3/5] Add node-24 to image promotion, sync, README, and changelog Co-authored-by: Ona --- .github/promote-images.yml | 1 + .github/sync-containers.yml | 1 + CHANGELOG.md | 6 ++++++ README.md | 1 + 4 files changed, 9 insertions(+) diff --git a/.github/promote-images.yml b/.github/promote-images.yml index 614de0470..b5696206c 100644 --- a/.github/promote-images.yml +++ b/.github/promote-images.yml @@ -18,6 +18,7 @@ workspace-node-20: "TIMESTAMP_TAG" workspace-node-22: "TIMESTAMP_TAG" workspace-node-23: "TIMESTAMP_TAG" + workspace-node-24: "TIMESTAMP_TAG" workspace-python: "TIMESTAMP_TAG" workspace-python-3.10: "TIMESTAMP_TAG" workspace-python-3.11: "TIMESTAMP_TAG" diff --git a/.github/sync-containers.yml b/.github/sync-containers.yml index 84fa3b6d0..9e5fdc755 100644 --- a/.github/sync-containers.yml +++ b/.github/sync-containers.yml @@ -15,6 +15,7 @@ sync: - node-20 - node-22 - node-23 + - node-24 - python - python-3.10 - python-3.11 diff --git a/CHANGELOG.md b/CHANGELOG.md index 1dfdb0fb3..98e716e20 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ A curated, chronologically ordered list of notable changes in [Gitpod's default workspace images](https://hub.docker.com/u/gitpod). +## 2026-02-12 + +- Introduce `gitpod/workspace-node-24` +- Bump `gitpod/workspace-node-lts` and `gitpod/workspace-full` to Node.js 24 +- Bump `gitpod/workspace-node` to Node.js 24 + ## 2026-01-20 - Remove `gitpod/workspace-python-3.9` (Python 3.9 reached EOL October 2025) diff --git a/README.md b/README.md index d2f28fea4..e66ce1601 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ Each contains a set of chunks: a common base and a language / tool. Every image - [`gitpod/workspace-node-20`](https://hub.docker.com/r/gitpod/workspace-node-20) ✅ - [`gitpod/workspace-node-22`](https://hub.docker.com/r/gitpod/workspace-node-22) ✅ - [`gitpod/workspace-node-23`](https://hub.docker.com/r/gitpod/workspace-node-23) ✅ +- [`gitpod/workspace-node-24`](https://hub.docker.com/r/gitpod/workspace-node-24) ✅ - [`gitpod/workspace-python`](https://hub.docker.com/r/gitpod/workspace-python) ✅ - [`gitpod/workspace-python-3.10`](https://hub.docker.com/r/gitpod/workspace-python-3.10) ✅ - [`gitpod/workspace-python-3.11`](https://hub.docker.com/r/gitpod/workspace-python-3.11) ✅ From b239582a92efc2f658b194a526330346b24545ce Mon Sep 17 00:00:00 2001 From: Kyle Brennan Date: Thu, 12 Feb 2026 22:05:14 +0000 Subject: [PATCH 4/5] Add Node.js v25 as workspace-node and standalone image Adds lang-node:25 variant (v25.6.1), workspace-node-25 image, and bumps workspace-node to Node 25. Co-authored-by: Ona --- .github/promote-images.yml | 1 + .github/sync-containers.yml | 1 + CHANGELOG.md | 4 ++-- README.md | 1 + chunks/lang-node/chunk.yaml | 3 +++ dazzle.yaml | 8 +++++++- tests/lang-node.yaml | 3 ++- 7 files changed, 17 insertions(+), 4 deletions(-) diff --git a/.github/promote-images.yml b/.github/promote-images.yml index b5696206c..db427deee 100644 --- a/.github/promote-images.yml +++ b/.github/promote-images.yml @@ -19,6 +19,7 @@ workspace-node-22: "TIMESTAMP_TAG" workspace-node-23: "TIMESTAMP_TAG" workspace-node-24: "TIMESTAMP_TAG" + workspace-node-25: "TIMESTAMP_TAG" workspace-python: "TIMESTAMP_TAG" workspace-python-3.10: "TIMESTAMP_TAG" workspace-python-3.11: "TIMESTAMP_TAG" diff --git a/.github/sync-containers.yml b/.github/sync-containers.yml index 9e5fdc755..34910c345 100644 --- a/.github/sync-containers.yml +++ b/.github/sync-containers.yml @@ -16,6 +16,7 @@ sync: - node-22 - node-23 - node-24 + - node-25 - python - python-3.10 - python-3.11 diff --git a/CHANGELOG.md b/CHANGELOG.md index 98e716e20..d6e7b0de6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,9 +4,9 @@ A curated, chronologically ordered list of notable changes in [Gitpod's default ## 2026-02-12 -- Introduce `gitpod/workspace-node-24` +- Introduce `gitpod/workspace-node-24` and `gitpod/workspace-node-25` - Bump `gitpod/workspace-node-lts` and `gitpod/workspace-full` to Node.js 24 -- Bump `gitpod/workspace-node` to Node.js 24 +- Bump `gitpod/workspace-node` to Node.js 25 ## 2026-01-20 diff --git a/README.md b/README.md index e66ce1601..dacee4172 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,7 @@ Each contains a set of chunks: a common base and a language / tool. Every image - [`gitpod/workspace-node-22`](https://hub.docker.com/r/gitpod/workspace-node-22) ✅ - [`gitpod/workspace-node-23`](https://hub.docker.com/r/gitpod/workspace-node-23) ✅ - [`gitpod/workspace-node-24`](https://hub.docker.com/r/gitpod/workspace-node-24) ✅ +- [`gitpod/workspace-node-25`](https://hub.docker.com/r/gitpod/workspace-node-25) ✅ - [`gitpod/workspace-python`](https://hub.docker.com/r/gitpod/workspace-python) ✅ - [`gitpod/workspace-python-3.10`](https://hub.docker.com/r/gitpod/workspace-python-3.10) ✅ - [`gitpod/workspace-python-3.11`](https://hub.docker.com/r/gitpod/workspace-python-3.11) ✅ diff --git a/chunks/lang-node/chunk.yaml b/chunks/lang-node/chunk.yaml index 1668ca396..6dee821ea 100644 --- a/chunks/lang-node/chunk.yaml +++ b/chunks/lang-node/chunk.yaml @@ -14,3 +14,6 @@ variants: - name: "24" args: NODE_VERSION: 24.13.0 + - name: "25" + args: + NODE_VERSION: 25.6.1 diff --git a/dazzle.yaml b/dazzle.yaml index 3a16cef2d..deee2b584 100644 --- a/dazzle.yaml +++ b/dazzle.yaml @@ -64,7 +64,7 @@ combiner: ref: - base chunks: - - lang-node:24 + - lang-node:25 - tool-chrome - name: node-lts ref: @@ -102,6 +102,12 @@ combiner: chunks: - lang-node:24 - tool-chrome + - name: "node-25" + ref: + - base + chunks: + - lang-node:25 + - tool-chrome - name: python ref: - base diff --git a/tests/lang-node.yaml b/tests/lang-node.yaml index b6be702c2..4c2f1c9d0 100644 --- a/tests/lang-node.yaml +++ b/tests/lang-node.yaml @@ -7,7 +7,8 @@ stdout.indexOf("v20") != -1 || stdout.indexOf("v22") != -1 || stdout.indexOf("v23") != -1 || - stdout.indexOf("v24") != -1 + stdout.indexOf("v24") != -1 || + stdout.indexOf("v25") != -1 - desc: it should have yarn command: [yarn --version] entrypoint: [bash, -i, -c] From 5979e2b262bab1e2cbe87bd0af787099fd39cd33 Mon Sep 17 00:00:00 2001 From: Kyle Brennan Date: Thu, 12 Feb 2026 22:08:33 +0000 Subject: [PATCH 5/5] Fix inconsistent quoting of node image names in dazzle.yaml Co-authored-by: Ona --- dazzle.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dazzle.yaml b/dazzle.yaml index deee2b584..ffe59091b 100644 --- a/dazzle.yaml +++ b/dazzle.yaml @@ -90,19 +90,19 @@ combiner: chunks: - lang-node:22 - tool-chrome - - name: "node-23" + - name: node-23 ref: - base chunks: - lang-node:23 - tool-chrome - - name: "node-24" + - name: node-24 ref: - base chunks: - lang-node:24 - tool-chrome - - name: "node-25" + - name: node-25 ref: - base chunks: