Skip to content
Calcrivo

Helm Chart Version Calculator

Compare two SemVer chart versions, determine which is newer, and see whether the change is a major, minor, or patch bump.

Inputs

The chart's current SemVer version, e.g. 1.4.2.

The proposed new SemVer version to compare against.

New Version Is

newer

Version Bump Type

minor

Potentially Breaking (Major Bump)

false

Step by step

  1. Parsed current version

    1.4.2

    = 1.4.2

  2. Parsed new version

    1.5.0

    = 1.5.0

  3. Comparison result

    1.5.0 vs 1.4.2

    = newer

  4. Bump type

    minor

    = minor

How it works

Helm chart versions follow SemVer (MAJOR.MINOR.PATCH), and comparing two versions means comparing each segment left-to-right until a difference is found — the first differing segment determines both which version is newer and what kind of bump occurred. By SemVer convention, a major bump signals breaking changes, a minor bump signals backward-compatible new functionality, and a patch bump signals backward-compatible fixes, which is exactly the signal `helm dependency update` and chart consumers rely on when deciding whether an upgrade is safe to take automatically.

Formula

comparison = compare(newMajor.newMinor.newPatch, curMajor.curMinor.curPatch)

curMajor.curMinor.curPatch
Current SemVer version
newMajor.newMinor.newPatch
New SemVer version to compare

Frequently Asked Questions

Does Helm enforce SemVer for chart versions?

Yes — Chart.yaml's `version` field must be a valid SemVer 2 string, and Helm uses SemVer range constraints (e.g. `^1.2.3`, `~1.2.0`) in dependency declarations to decide which versions satisfy a requirement.

How are pre-release versions like 1.5.0-rc.1 compared?

This calculator compares only the numeric major.minor.patch core; full SemVer also orders pre-release tags (alpha < beta < rc) and pre-release versions rank lower than their corresponding release version.

Should appVersion also follow SemVer?

No — Chart.yaml's `appVersion` reflects the version of the application being deployed (which may follow its own versioning scheme) and is independent of the chart's own `version` field, which tracks the chart's packaging changes.

You might also need