The default cooldown period for Dependabot version updates is now 3 days.

The default cooldown period for Dependabot version updates is now 3 days.

Dependabot version updates get a default 3-day cooldown. Security updates remain immediate.
2026.07.25

This page has been translated by machine translation. View original

Dependabot is a GitHub service that analyzes package dependencies and creates pull requests to fix vulnerabilities and update versions.

Given the current state of software supply chains, package management ecosystems are increasingly adopting quarantine period mechanisms that prevent the installation of packages that have not been available for a certain period of time, in order to avoid installing compromised packages. In fact, GitHub also released this feature (cooldown) in July 2025.

Starting July 14, 2026, the default cooldown period became 3 days.

https://github.blog/changelog/2026-07-14-dependabot-version-updates-introduce-default-package-cooldown/

On the other hand, security updates that fix vulnerabilities are still created immediately as before.

In other words, it works appropriately even without the Dependabot configurator being especially conscious of it.

This article verifies how the version Dependabot updates to changes depending on whether the cooldown setting is present or absent, targeting @aws-sdk/client-s3.

Changes to the Default Cooldown Period for Version Updates in the July 2026 Update

The cooldown feature was not added this time.
GitHub announced in the July 1, 2025 Changelog that the cooldown feature for Dependabot version updates became Generally Available.
At that time, it was a feature where users explicitly set the minimum number of days elapsed for a package by adding cooldown to .github/dependabot.yml.

What changed in the July 2026 update is the behavior when no waiting days are specified under cooldown in .github/dependabot.yml.

Item Before Change After Change
cooldown setting Available Available
Default candidate version for cooldown update Latest version Latest version that has been available for 3 or more days

In other words,

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "daily"

when written this way, the current behavior is the same as explicitly specifying default-days: 3 as follows.

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "daily"
    cooldown:
      default-days: 3

Tried It Out

Targeting @aws-sdk/client-s3, which is updated several times a week, we verify which version Dependabot will update to by specifying 3.1090.0 (which has been available for about a week) in package.json and running Dependabot.

{
  "name": "dependabot-cooldown-aws-sdk-sample",
  "version": "1.0.0",
  "private": true,
  "dependencies": {
    "@aws-sdk/client-s3": "3.1090.0"
  }
}

Using the same package.json, we compare by only changing the cooldown setting in the Dependabot configuration (.github/dependabot.yml).

Case cooldown Setting Expected Update Target
Case 1 Omit cooldown section Latest version among those published 3 or more days ago
Case 2 default-days: 0 Latest version published at the time of execution

Recent Release Status

The recent release status of @aws-sdk/client-s3 is as follows.

$ npm view @aws-sdk/client-s3 time --json | tail -n 6
...
  "3.1090.0": "2026-07-17T18:52:52.080Z",
  "3.1091.0": "2026-07-20T18:48:14.180Z",
  "3.1092.0": "2026-07-21T18:48:40.603Z",
  "3.1093.0": "2026-07-22T18:47:09.729Z",
  "3.1094.0": "2026-07-23T18:48:25.707Z"
}

Case 1: Omitting cooldown

This is the case to confirm the default behavior this time. The cooldown section is not written in dependabot.yml.

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "daily"

When run on the night of July 24, 2026, Dependabot created a PR to update from 3.1090.0 to 3.1091.0, which was the latest version among those published 3 or more days ago.

$ gh pr diff 1 --repo quiver/dependabot-cooldown | grep '@aws-sdk/client-s3'
-    "@aws-sdk/client-s3": "3.1090.0"
+    "@aws-sdk/client-s3": "3.1091.0"

cooldown-case1-default-3days

Case 2: Specifying default-days: 0

This is the case to disable cooldown for comparison.

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "daily"
    cooldown:
      default-days: 0

The expected result is that the latest version published at the time of execution is proposed in a PR, regardless of how many days have passed since publication.

When Dependabot was run after changing the settings, a PR was created to update from 3.1090.0 to the latest version at the time of verification, 3.1094.0.

$ gh pr diff 2 --repo quiver/dependabot-cooldown | grep '@aws-sdk/client-s3'
-    "@aws-sdk/client-s3": "3.1090.0"
+    "@aws-sdk/client-s3": "3.1094.0"

cooldown-case2-0days

Summary

As one defense against software supply chain threats, the cooldown feature has been widely adopted, with various approaches including server-side solutions like Dependabot, tool-level solutions like npm and uv, and proxies like Takumi Guard.

With the July 2026 Dependabot change, security updates are still handled immediately, while version updates have had their cooldown changed from 0 days to 3 days, making it easier to mitigate attacks where packages are taken down shortly after publication, even with default parameters.

As stated in the GitHub official blog's "Defense in depth", please consider the following measures in addition to cooldown and defend in multiple layers.

  • Locking dependencies with lock files
  • Disabling install scripts in CI where possible
  • Limiting permissions of tokens used in build pipelines
  • Reviewing update PRs before merging

Share this article

Related articles