diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4c078d3490f5c7c94332aaf68540209cf4da588a..4ec13712d2ae615323f74ac5cf118729cc504bea 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,15 @@
+# [4.0.0](https://gitlab.com/to-be-continuous/node/compare/3.15.2...4.0.0) (2024-07-15)
+
+
+### Bug Fixes
+
+* when enabled, build should be always run ([5175c16](https://gitlab.com/to-be-continuous/node/commit/5175c1655ce97d28b9719e9cc193eeb754a39476))
+
+
+### BREAKING CHANGES
+
+* restoring the expected behavior might break some projects pipeline
+
 ## [3.15.2](https://gitlab.com/to-be-continuous/node/compare/3.15.1...3.15.2) (2024-06-17)
 
 
diff --git a/README.md b/README.md
index e6c6f488e4282b8336810504b6608802774d7303..e5c58ae8ef907f0cfa05f9b16d4aa18fb68deded 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@ Add the following to your `gitlab-ci.yml`:
 ```yaml
 include:
   # 1: include the component
-  - component: gitlab.com/to-be-continuous/node/gitlab-ci-node@3.15.2
+  - component: gitlab.com/to-be-continuous/node/gitlab-ci-node@4.0.0
     # 2: set/override component inputs
     inputs:
       image: "registry.hub.docker.com/library/node:20" # ⚠ this is only an example
@@ -31,7 +31,7 @@ Add the following to your `gitlab-ci.yml`:
 include:
   # 1: include the template
   - project: 'to-be-continuous/node'
-    ref: '3.15.2'
+    ref: '4.0.0'
     file: '/templates/gitlab-ci-node.yml'
 
 variables:
@@ -491,9 +491,9 @@ With:
 ```yaml
 include:
   # main template
-  - component: gitlab.com/to-be-continuous/node/gitlab-ci-node@3.15.2
+  - component: gitlab.com/to-be-continuous/node/gitlab-ci-node@4.0.0
   # Vault variant
-  - component: gitlab.com/to-be-continuous/node/gitlab-ci-node-vault@3.15.2
+  - component: gitlab.com/to-be-continuous/node/gitlab-ci-node-vault@4.0.0
     inputs:
       # audience claim for JWT
       vault-oidc-aud: "https://vault.acme.host"
diff --git a/templates/gitlab-ci-node-vault.yml b/templates/gitlab-ci-node-vault.yml
index efaa5348c02f01487a2f242ec488f83d669abcf6..e5aa1569e30c94e6c4ba87b43800fb3eecba97f0 100644
--- a/templates/gitlab-ci-node-vault.yml
+++ b/templates/gitlab-ci-node-vault.yml
@@ -22,7 +22,7 @@ variables:
 .node-base:
   services:
     - name: "$TBC_TRACKING_IMAGE"
-      command: ["--service", "node", "3.15.2"]
+      command: ["--service", "node", "4.0.0"]
     - name: "$TBC_VAULT_IMAGE"
       alias: "vault-secrets-provider"
   variables:
diff --git a/templates/gitlab-ci-node.yml b/templates/gitlab-ci-node.yml
index a21ae3720be737b42a2913881e105eaf7e113bc2..ccca4df760167b9c5e031008e6b79f8108fadedb 100644
--- a/templates/gitlab-ci-node.yml
+++ b/templates/gitlab-ci-node.yml
@@ -614,7 +614,7 @@ stages:
   image: $NODE_IMAGE
   services:
     - name: "$TBC_TRACKING_IMAGE"
-      command: ["--service", "node", "3.15.2"]
+      command: ["--service", "node", "4.0.0"]
   variables:
     # Yarn cache (better than --cache-folder option, deprecated)
     YARN_CACHE_FOLDER: "$CI_PROJECT_DIR/$NODE_PROJECT_DIR/.yarn"