Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Cooldown

cooldown requires a version to be at least a certain age before Clover will adopt it. A fresh release is held back until it has had time to settle, which guards against yanked or quickly-patched versions.

# clover: provider=github repository=redis/redis cooldown=72h constraint=minor
FROM redis:7.2.0

Durations

The value is a duration. Hours work, and longer units compose:

ValueMeaning
72h72 hours
2w3d2 weeks and 3 days

A version that is newer than its cooldown is simply skipped, and Clover stays on the current value until the candidate ages in.

Cooldown needs a publication date to measure age against. Dated sources include HashiCorp and Node.js releases, classic Helm repositories, and forge releases (source=releases). Where the source dates nothing it returns - notably GitHub and Gitea tags (the default source=tags) - Clover cannot check the cooldown, so rather than silently update past it, the marker is skipped with a warning and the line is held. Switch to source=releases, or remove the cooldown, to update such a line. (GitLab tags may carry a date individually, so only the undated ones go unchecked.)

Cooldown still applies when tracking floating refs. A digest or commit that is too fresh is held back even though no version is being selected.

Precedence

Three places can set a cooldown, and they resolve in a fixed order. The --cooldown flag on run overrides every directive for that invocation, and --cooldown=0 disables cooldowns outright, which is useful when a fix must ship now. A directive’s own cooldown key is next, a deliberate per-line choice. The run.cooldown config default comes last, filling in only for directives that carry no cooldown of their own.