Repository: argoproj/argo-cd
Pull request #23027 (2025-05-18 12:09:44)

docs: Fix typo in releasing.md
<!--
Note on DCO:

If the DCO action in the integration test fails, one or more of your commits are not signed off. Please click on the *Details* link next to the DCO action for instructions on how to resolve this.
-->

The workflow name in releasing.md `Init ARGOCD Release` did not match the [actual one](https://github.com/argoproj/argo-cd/blob/0707bff1c2df0174e4e36db7dade08cadc0a0009/.github/workflows/init-release.yaml#L1), so I corrected the documentation accordingly.
I also checked for other similar typos but couldn't find any.: https://github.com/search?q=repo%3Aargoproj%2Fargo-cd+%2F%28%3F-i%29ARGOCD%5Cs%2F&type=code

Checklist:

* [x] Either (a) I've created an [enhancement proposal](https://github.com/argoproj/argo-cd/issues/new/choose) and discussed it with the community, (b) this is a bug fix, or (c) this does not need to be in the release notes.
* [ ] The title of the PR states what changed and the related issues number (used for the release note).
* [x] The title of the PR conforms to the [Toolchain Guide](https://argo-cd.readthedocs.io/en/latest/developer-guide/toolchain-guide/#title-of-the-pr)
* [ ] I've included "Closes [ISSUE #]" or "Fixes [ISSUE #]" in the description to automatically close the associated issue.
* [ ] I've updated both the CLI and UI to expose my feature, or I plan to submit a second PR with them.
* [x] Does this PR require documentation updates?
* [x] I've updated documentation as required by this PR.
* [x] I have signed off all my commits as required by [DCO](https://github.com/argoproj/argoproj/blob/master/community/CONTRIBUTING.md#legal)
* [ ] I have written unit and/or e2e tests for my change. PRs without these are unlikely to be merged.
* [x] My build is green ([troubleshooting builds](https://argo-cd.readthedocs.io/en/latest/developer-guide/ci/)).
* [ ] My new feature complies with the [feature status](https://github.com/argoproj/argoproj/blob/master/community/feature-status.md) guidelines.
* [x] I have added a brief description of why this PR is necessary and/or what this PR solves.
* [ ] Optional. My organization is added to USERS.md.
* [ ] Optional. For bug fixes, I've indicated what older releases this fix should be cherry-picked into (this may or may not happen depending on risk/complexity).

<!-- Please see [Contribution FAQs](https://argo-cd.readthedocs.io/en/latest/developer-guide/faq/) if you have questions about your pull-request. -->


bunnyshell[bot]: ### :white_check_mark: Preview Environment created on [Bunnyshell](https://www.bunnyshell.com) and will be deployed shortly




See: [Environment Details](https://environments.bunnyshell.com/b/environment/l4DAyLvDzN)



Patch:
diff --git a/.github/workflows/ci-build.yaml b/.github/workflows/ci-build.yaml
index 93e906f52..ee0e2644d 100644
--- a/.github/workflows/ci-build.yaml
+++ b/.github/workflows/ci-build.yaml
@@ -14,7 +14,7 @@ on:
 env:
   # Golang version to use across CI steps
   # renovate: datasource=golang-version packageName=golang
-  GOLANG_VERSION: '1.24.1'
+  GOLANG_VERSION: '1.24.3'
 
 concurrency:
   group: ${{ github.workflow }}-${{ github.ref }}
diff --git a/.github/workflows/image.yaml b/.github/workflows/image.yaml
index 525f52ab2..e2ef286b4 100644
--- a/.github/workflows/image.yaml
+++ b/.github/workflows/image.yaml
@@ -53,7 +53,7 @@ jobs:
     with:
       # Note: cannot use env variables to set go-version (https://docs.github.com/en/actions/using-workflows/reusing-workflows#limitations)
       # renovate: datasource=golang-version packageName=golang
-      go-version: 1.24.1
+      go-version: 1.24.3
       platforms: ${{ needs.set-vars.outputs.platforms }}
       push: false
 
@@ -70,7 +70,7 @@ jobs:
       ghcr_image_name: ghcr.io/argoproj/argo-cd/argocd:${{ needs.set-vars.outputs.image-tag }}
       # Note: cannot use env variables to set go-version (https://docs.github.com/en/actions/using-workflows/reusing-workflows#limitations)
       # renovate: datasource=golang-version packageName=golang
-      go-version: 1.24.1
+      go-version: 1.24.3
       platforms: ${{ needs.set-vars.outputs.platforms }}
       push: true
     secrets:
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index 8d03b62f6..b9b7d5643 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -11,7 +11,7 @@ permissions: {}
 
 env:
   # renovate: datasource=golang-version packageName=golang
-  GOLANG_VERSION: '1.24.1' # Note: go-version must also be set in job argocd-image.with.go-version
+  GOLANG_VERSION: '1.24.3' # Note: go-version must also be set in job argocd-image.with.go-version
 
 jobs:
   argocd-image:
@@ -25,7 +25,7 @@ jobs:
       quay_image_name: quay.io/argoproj/argocd:${{ github.ref_name }}
       # Note: cannot use env variables to set go-version (https://docs.github.com/en/actions/using-workflows/reusing-workflows#limitations)
       # renovate: datasource=golang-version packageName=golang
-      go-version: 1.24.1
+      go-version: 1.24.3
       platforms: linux/amd64,linux/arm64,linux/s390x,linux/ppc64le
       push: true
     secrets:
diff --git a/Dockerfile b/Dockerfile
index 8dc1c0331..789283a40 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -4,7 +4,7 @@ ARG BASE_IMAGE=docker.io/library/ubuntu:24.04@sha256:80dd3c3b9c6cecb9f1667e9290b
 # Initial stage which pulls prepares build dependencies and CLI tooling we need for our final image
 # Also used as the image in CI jobs so needs all dependencies
 ####################################################################################################
-FROM docker.io/library/golang:1.24.1@sha256:c5adecdb7b3f8c5ca3c88648a861882849cc8b02fed68ece31e25de88ad13418 AS builder
+FROM docker.io/library/golang:1.24.3@sha256:86b4cff66e04d41821a17cea30c1031ed53e2635e2be99ae0b4a7d69336b5063 AS builder
 
 WORKDIR /tmp
 
@@ -103,7 +103,7 @@ RUN HOST_ARCH=$TARGETARCH NODE_ENV='production' NODE_ONLINE_ENV='online' NODE_OP
 ####################################################################################################
 # Argo CD Build stage which performs the actual build of Argo CD binaries
 ####################################################################################################
-FROM --platform=$BUILDPLATFORM docker.io/library/golang:1.24.1@sha256:c5adecdb7b3f8c5ca3c88648a861882849cc8b02fed68ece31e25de88ad13418 AS argocd-build
+FROM --platform=$BUILDPLATFORM docker.io/library/golang:1.24.3@sha256:86b4cff66e04d41821a17cea30c1031ed53e2635e2be99ae0b4a7d69336b5063 AS argocd-build
 
 WORKDIR /go/src/github.com/argoproj/argo-cd
 
diff --git a/docs/developer-guide/releasing.md b/docs/developer-guide/releasing.md
index ed3a0163c..4764539ee 100644
--- a/docs/developer-guide/releasing.md
+++ b/docs/developer-guide/releasing.md
@@ -22,7 +22,7 @@ triggered. This will be automated in the very near future.
 * Commit & push changes to `CHANGELOG.md`
 * Update `goreleaser.yaml` with the updated blog post link in the `Release Notes Blog Post` section.
 
-**The `Init ARGOCD Release` workflow will perform the following steps:**
+**The `Init ArgoCD Release` workflow will perform the following steps:**
 
 * Update `VERSION` file in the release branch
 * Update manifests with image tags of the new version in the release branch
diff --git a/docs/operator-manual/resource_actions_builtin.md b/docs/operator-manual/resource_actions_builtin.md
index 20681af40..c3ebbff5d 100644
--- a/docs/operator-manual/resource_actions_builtin.md
+++ b/docs/operator-manual/resource_actions_builtin.md
@@ -8,10 +8,12 @@
 - [argoproj.io/AnalysisRun/terminate](https://github.com/argoproj/argo-cd/blob/master/resource_customizations/argoproj.io/AnalysisRun/actions/terminate/action.lua)
 - [argoproj.io/CronWorkflow/create-workflow](https://github.com/argoproj/argo-cd/blob/master/resource_customizations/argoproj.io/CronWorkflow/actions/create-workflow/action.lua)
 - [argoproj.io/Rollout/abort](https://github.com/argoproj/argo-cd/blob/master/resource_customizations/argoproj.io/Rollout/actions/abort/action.lua)
+- [argoproj.io/Rollout/pause](https://github.com/argoproj/argo-cd/blob/master/resource_customizations/argoproj.io/Rollout/actions/pause/action.lua)
 - [argoproj.io/Rollout/promote-full](https://github.com/argoproj/argo-cd/blob/master/resource_customizations/argoproj.io/Rollout/actions/promote-full/action.lua)
 - [argoproj.io/Rollout/restart](https://github.com/argoproj/argo-cd/blob/master/resource_customizations/argoproj.io/Rollout/actions/restart/action.lua)
 - [argoproj.io/Rollout/resume](https://github.com/argoproj/argo-cd/blob/master/resource_customizations/argoproj.io/Rollout/actions/resume/action.lua)
 - [argoproj.io/Rollout/retry](https://github.com/argoproj/argo-cd/blob/master/resource_customizations/argoproj.io/Rollout/actions/retry/action.lua)
+- [argoproj.io/Rollout/skip-current-step](https://github.com/argoproj/argo-cd/blob/master/resource_customizations/argoproj.io/Rollout/actions/skip-current-step/action.lua)
 - [argoproj.io/WorkflowTemplate/create-workflow](https://github.com/argoproj/argo-cd/blob/master/resource_customizations/argoproj.io/WorkflowTemplate/actions/create-workflow/action.lua)
 - [batch/CronJob/create-job](https://github.com/argoproj/argo-cd/blob/master/resource_customizations/batch/CronJob/actions/create-job/action.lua)
 - [external-secrets.io/ExternalSecret/refresh](https://github.com/argoproj/argo-cd/blob/master/resource_customizations/external-secrets.io/ExternalSecret/actions/refresh/action.lua)
diff --git a/docs/user-guide/projects.md b/docs/user-guide/projects.md
index bf6354b7d..8ca1e63af 100644
--- a/docs/user-guide/projects.md
+++ b/docs/user-guide/projects.md
@@ -173,7 +173,7 @@ Argo CD will use the policies defined in the AppProject roles while authorizing
 
 _Note 1_: It is very important that policy roles follow the pattern `proj:<project-name>:<role-name>` or they won't be effective during the Argo CD authorization process.
 
-_Note 2_: The example above used `applications` as the resource for the policy definition. However other types of resources can also be used: `repositories`, `clusters`, `logs`, `exec` and `projects`. See the [RBAC documentation](../operator-manual/rbac.md) for more details about those resources.
+_Note 2_: The example above used `applications` as the resource for the policy definition. However other types of resources can also be used: `repositories`, `clusters`, `logs` and `exec`. See the [RBAC documentation](../operator-manual/rbac.md) for more details about those resources.
 
 In order to create roles in a project and add policies to a role, a user will need permission to update a project.  The following commands can be used to manage a role.
 
diff --git a/go.mod b/go.mod
index b7f879fc1..4ea32f9f3 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
 module github.com/argoproj/argo-cd/v3
 
-go 1.24.1
+go 1.24.3
 
 require (
 	code.gitea.io/sdk/gitea v0.21.0
diff --git a/resource_customizations/argoproj.io/Rollout/actions/discovery.lua b/resource_customizations/argoproj.io/Rollout/actions/discovery.lua
index 966034d36..509e29f77 100644
--- a/resource_customizations/argoproj.io/Rollout/actions/discovery.lua
+++ b/resource_customizations/argoproj.io/Rollout/actions/discovery.lua
@@ -15,6 +15,7 @@ actions["resume"] = {["disabled"] = not(paused)}
 local fullyPromoted = obj.status.currentPodHash == obj.status.stableRS
 actions["abort"] = {["disabled"] = fullyPromoted or obj.status.abort}
 actions["retry"] = {["disabled"] = fullyPromoted or not(obj.status.abort)}
+actions["pause"] = {["disabled"] = fullyPromoted or obj.status.abort or obj.spec.paused }
 
 actions["promote-full"] = {["disabled"] = true}
 if obj.status ~= nil and not(fullyPromoted) then
@@ -28,4 +29,6 @@ if obj.status ~= nil and not(fullyPromoted) then
     end
 end
 
+actions["skip-current-step"] = {["disabled"] = obj.spec.strategy.canary == nil or obj.spec.strategy.canary.steps == nil or obj.status.currentStepIndex == table.getn(obj.spec.strategy.canary.steps)}
+
 return actions
diff --git a/resource_customizations/argoproj.io/Rollout/actions/pause/action.lua b/resource_customizations/argoproj.io/Rollout/actions/pause/action.lua
new file mode 100644
index 000000000..79c2b6001
--- /dev/null
+++ b/resource_customizations/argoproj.io/Rollout/actions/pause/action.lua
@@ -0,0 +1,2 @@
+obj.spec.paused = true
+return obj
diff --git a/resource_customizations/argoproj.io/Rollout/actions/skip-current-step/action.lua b/resource_customizations/argoproj.io/Rollout/actions/skip-current-step/action.lua
new file mode 100644
index 000000000..7c796e154
--- /dev/null
+++ b/resource_customizations/argoproj.io/Rollout/actions/skip-current-step/action.lua
@@ -0,0 +1,9 @@
+if obj.status ~= nil then
+    if obj.spec.strategy.canary ~= nil and obj.spec.strategy.canary.steps ~= nil and obj.status.currentStepIndex < table.getn(obj.spec.strategy.canary.steps) then
+        if obj.status.pauseConditions ~= nil and table.getn(obj.status.pauseConditions) > 0 then
+            obj.status.pauseConditions = nil
+        end
+        obj.status.currentStepIndex = obj.status.currentStepIndex + 1
+    end
+end
+return obj
\ No newline at end of file


Test patch:
diff --git a/resource_customizations/argoproj.io/Rollout/actions/action_test.yaml b/resource_customizations/argoproj.io/Rollout/actions/action_test.yaml
index 194794efe..035cbe314 100644
--- a/resource_customizations/argoproj.io/Rollout/actions/action_test.yaml
+++ b/resource_customizations/argoproj.io/Rollout/actions/action_test.yaml
@@ -12,6 +12,10 @@ discoveryTests:
       disabled: true
     - name: promote-full
       disabled: true
+    - name: skip-current-step
+      disabled: true
+    - name: pause
+      disabled: true
 - inputPath: testdata/pre_v0.6_not_paused_rollout.yaml
   result:
     - name: restart
@@ -25,6 +29,10 @@ discoveryTests:
       disabled: true
     - name: promote-full
       disabled: true
+    - name: skip-current-step
+      disabled: true
+    - name: pause
+      disabled: false
 - inputPath: testdata/pre_v0.6_nil_paused_rollout.yaml
   result:
     - name: restart
@@ -38,6 +46,10 @@ discoveryTests:
       disabled: true
     - name: promote-full
       disabled: true
+    - name: skip-current-step
+      disabled: true
+    - name: pause
+      disabled: false
 - inputPath: testdata/has_pause_condition_rollout.yaml
   result:
     - name: restart
@@ -51,6 +63,10 @@ discoveryTests:
       disabled: true
     - name: promote-full
       disabled: false
+    - name: skip-current-step
+      disabled: false
+    - name: pause
+      disabled: false
 - inputPath: testdata/no_pause_condition_rollout.yaml
   result:
     - name: restart
@@ -64,6 +80,10 @@ discoveryTests:
       disabled: true
     - name: promote-full
       disabled: false
+    - name: skip-current-step
+      disabled: false
+    - name: pause
+      disabled: false
 - inputPath: testdata/healthy_rollout.yaml
   result:
     - name: restart
@@ -77,6 +97,10 @@ discoveryTests:
       disabled: true
     - name: promote-full
       disabled: true
+    - name: skip-current-step
+      disabled: true
+    - name: pause
+      disabled: true
 - inputPath: testdata/v0.9_aborted_rollout.yaml
   result:
     - name: restart
@@ -90,6 +114,10 @@ discoveryTests:
       disabled: false
     - name: promote-full
       disabled: false
+    - name: skip-current-step
+      disabled: false
+    - name: pause
+      disabled: true
 - inputPath: testdata/v0.9_aborted_bg_rollout.yaml
   result:
     - name: restart
@@ -103,6 +131,10 @@ discoveryTests:
       disabled: false
     - name: promote-full
       disabled: true
+    - name: skip-current-step
+      disabled: true
+    - name: pause
+      disabled: true
 - inputPath: testdata/aborted_bg_rollout.yaml
   result:
     - name: restart
@@ -116,6 +148,10 @@ discoveryTests:
       disabled: false
     - name: promote-full
       disabled: false
+    - name: skip-current-step
+      disabled: true
+    - name: pause
+      disabled: true
 actionTests:
 - action: resume
   inputPath: testdata/pre_v0.6_paused_rollout.yaml
@@ -138,3 +174,6 @@ actionTests:
 - action: promote-full
   inputPath: testdata/aborted_rollout.yaml
   expectedOutputPath: testdata/promote-full_rollout.yaml
+- action: skip-current-step
+  inputPath: testdata/rollout-step1.yaml
+  expectedOutputPath: testdata/rollout-step1-after-skip-current-step.yaml
diff --git a/resource_customizations/argoproj.io/Rollout/actions/testdata/rollout-step1-after-skip-current-step.yaml b/resource_customizations/argoproj.io/Rollout/actions/testdata/rollout-step1-after-skip-current-step.yaml
new file mode 100644
index 000000000..b0ebfc235
--- /dev/null
+++ b/resource_customizations/argoproj.io/Rollout/actions/testdata/rollout-step1-after-skip-current-step.yaml
@@ -0,0 +1,81 @@
+apiVersion: argoproj.io/v1alpha1
+kind: Rollout
+metadata:
+  name: rollouts-demo
+  namespace: rollout-test-custom-actions
+spec:
+  replicas: 5
+  restartAt: "2025-05-15T14:13:44Z"
+  revisionHistoryLimit: 2
+  selector:
+    matchLabels:
+      app: rollouts-demo
+  strategy:
+    canary:
+      steps:
+      - pause: {}
+      - pause: {}
+  template:
+    metadata:
+      labels:
+        app: rollouts-demo
+    spec:
+      containers:
+      - image: argoproj/rollouts-demo:blue
+        name: rollouts-demo
+        ports:
+        - containerPort: 8080
+          name: http
+          protocol: TCP
+        resources:
+          requests:
+            cpu: 5m
+            memory: 32Mi
+status:
+  HPAReplicas: 5
+  availableReplicas: 5
+  blueGreen: {}
+  canary: {}
+  conditions:
+  - lastTransitionTime: "2025-05-15T14:15:48Z"
+    lastUpdateTime: "2025-05-15T14:15:48Z"
+    message: Rollout has minimum availability
+    reason: AvailableReason
+    status: "True"
+    type: Available
+  - lastTransitionTime: "2025-05-15T14:16:58Z"
+    lastUpdateTime: "2025-05-15T14:16:58Z"
+    message: Rollout is not healthy
+    reason: RolloutHealthy
+    status: "False"
+    type: Healthy
+  - lastTransitionTime: "2025-05-15T14:16:58Z"
+    lastUpdateTime: "2025-05-15T14:16:58Z"
+    message: RolloutCompleted
+    reason: RolloutCompleted
+    status: "False"
+    type: Completed
+  - lastTransitionTime: "2025-05-15T14:16:58Z"
+    lastUpdateTime: "2025-05-15T14:16:58Z"
+    message: Rollout is paused
+    reason: RolloutPaused
+    status: Unknown
+    type: Progressing
+  - lastTransitionTime: "2025-05-15T14:16:58Z"
+    lastUpdateTime: "2025-05-15T14:16:58Z"
+    message: Rollout is paused
+    reason: RolloutPaused
+    status: "True"
+    type: Paused
+  controllerPause: true
+  currentPodHash: 687d76d795
+  currentStepHash: 79c9b9f6bf
+  currentStepIndex: 1
+  message: CanaryPauseStep
+  observedGeneration: "20"
+  phase: Paused
+  readyReplicas: 5
+  replicas: 5
+  restartedAt: "2025-05-15T14:13:44Z"
+  selector: app=rollouts-demo
+  stableRS: 6cf78c66c5
\ No newline at end of file
diff --git a/resource_customizations/argoproj.io/Rollout/actions/testdata/rollout-step1.yaml b/resource_customizations/argoproj.io/Rollout/actions/testdata/rollout-step1.yaml
new file mode 100644
index 000000000..989cee846
--- /dev/null
+++ b/resource_customizations/argoproj.io/Rollout/actions/testdata/rollout-step1.yaml
@@ -0,0 +1,84 @@
+apiVersion: argoproj.io/v1alpha1
+kind: Rollout
+metadata:
+  name: rollouts-demo
+  namespace: rollout-test-custom-actions
+spec:
+  replicas: 5
+  restartAt: "2025-05-15T14:13:44Z"
+  revisionHistoryLimit: 2
+  selector:
+    matchLabels:
+      app: rollouts-demo
+  strategy:
+    canary:
+      steps:
+      - pause: {}
+      - pause: {}
+  template:
+    metadata:
+      labels:
+        app: rollouts-demo
+    spec:
+      containers:
+      - image: argoproj/rollouts-demo:blue
+        name: rollouts-demo
+        ports:
+        - containerPort: 8080
+          name: http
+          protocol: TCP
+        resources:
+          requests:
+            cpu: 5m
+            memory: 32Mi
+status:
+  HPAReplicas: 5
+  availableReplicas: 5
+  blueGreen: {}
+  canary: {}
+  conditions:
+  - lastTransitionTime: "2025-05-15T14:15:48Z"
+    lastUpdateTime: "2025-05-15T14:15:48Z"
+    message: Rollout has minimum availability
+    reason: AvailableReason
+    status: "True"
+    type: Available
+  - lastTransitionTime: "2025-05-15T14:16:58Z"
+    lastUpdateTime: "2025-05-15T14:16:58Z"
+    message: Rollout is not healthy
+    reason: RolloutHealthy
+    status: "False"
+    type: Healthy
+  - lastTransitionTime: "2025-05-15T14:16:58Z"
+    lastUpdateTime: "2025-05-15T14:16:58Z"
+    message: RolloutCompleted
+    reason: RolloutCompleted
+    status: "False"
+    type: Completed
+  - lastTransitionTime: "2025-05-15T14:16:58Z"
+    lastUpdateTime: "2025-05-15T14:16:58Z"
+    message: Rollout is paused
+    reason: RolloutPaused
+    status: Unknown
+    type: Progressing
+  - lastTransitionTime: "2025-05-15T14:16:58Z"
+    lastUpdateTime: "2025-05-15T14:16:58Z"
+    message: Rollout is paused
+    reason: RolloutPaused
+    status: "True"
+    type: Paused
+  controllerPause: true
+  currentPodHash: 687d76d795
+  currentStepHash: 79c9b9f6bf
+  currentStepIndex: 0
+  message: CanaryPauseStep
+  observedGeneration: "20"
+  pauseConditions:
+  - reason: CanaryPauseStep
+    startTime: "2025-05-15T14:16:58Z"
+  phase: Paused
+  readyReplicas: 5
+  replicas: 5
+  restartedAt: "2025-05-15T14:13:44Z"
+  selector: app=rollouts-demo
+  stableRS: 6cf78c66c5
diff --git a/ui-test/package.json b/ui-test/package.json
index 9a6f4229a..e10225c45 100644
--- a/ui-test/package.json
+++ b/ui-test/package.json
@@ -19,9 +19,9 @@
   },
   "devDependencies": {
     "@types/mocha": "^10.0.10",
-    "@types/node": "^22.15.18",
+    "@types/node": "^22.15.19",
     "dotenv": "^16.5.0",
-    "mocha": "^11.2.2",
+    "mocha": "^11.3.0",
     "prettier": "^2.8.8",
     "tslint": "^6.1.3",
     "tslint-config-prettier": "^1.18.0",
diff --git a/ui-test/yarn.lock b/ui-test/yarn.lock
index 1c1be14d3..7c0c07888 100644
--- a/ui-test/yarn.lock
+++ b/ui-test/yarn.lock
@@ -60,10 +60,10 @@
   resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.10.tgz#91f62905e8d23cbd66225312f239454a23bebfa0"
   integrity sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==
 
-"@types/node@*", "@types/node@^22.15.18":
-  version "22.15.18"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-22.15.18.tgz#2f8240f7e932f571c2d45f555ba0b6c3f7a75963"
-  integrity sha512-v1DKRfUdyW+jJhZNEI1PYy29S2YRxMV5AOO/x/SjKmW0acCIOqmbj6Haf9eHAhsPmrhlHSxEhv/1WszcLWV4cg==
+"@types/node@*", "@types/node@^22.15.19":
+  version "22.15.19"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-22.15.19.tgz#ba9f321675243af0456d607fa82a4865931e0cef"
+  integrity sha512-3vMNr4TzNQyjHcRZadojpRaD9Ofr6LsonZAoQ+HMUa/9ORTPoxVIw0e0mpqWpdjj8xybyCM+oKOUH2vwFu/oEw==
   dependencies:
     undici-types "~6.21.0"
 
@@ -1041,10 +1041,10 @@ mkdirp@^0.5.3:
   dependencies:
     minimist "^1.2.5"
 
-mocha@^11.2.2:
-  version "11.2.2"
-  resolved "https://registry.yarnpkg.com/mocha/-/mocha-11.2.2.tgz#2dfefc9652de746389f5286888034239b6486231"
-  integrity sha512-VlSBxrPYHK4YNOEbFdkCxHQbZMoNzBkoPprqtZRW6311EUF/DlSxoycE2e/2NtRk4WKkIXzyrXDTrlikJMWgbw==
+mocha@^11.3.0:
+  version "11.3.0"
+  resolved "https://registry.yarnpkg.com/mocha/-/mocha-11.3.0.tgz#b2cf42b50fd22a563b4995b386ea901606c97b65"
+  integrity sha512-J0RLIM89xi8y6l77bgbX+03PeBRDQCOVQpnwOcCN7b8hCmbh6JvGI2ZDJ5WMoHz+IaPU+S4lvTd0j51GmBAdgQ==
   dependencies:
     browser-stdout "^1.3.1"
     chokidar "^4.0.1"