Skip to content
Latchkey

How to Separate Major and Minor Updates in Renovate

Use matchUpdateTypes in packageRules to route major, minor, and patch updates onto different branches with different automerge and labeling rules.

Renovate classifies each update as major, minor, patch, pin, or digest. Match on matchUpdateTypes to isolate majors into their own PRs for careful review while letting non-majors flow faster.

Steps

  • Add a rule matching ["major"] to label and isolate breaking updates.
  • Add a rule matching ["minor", "patch"] for the safer flow.
  • Optionally automerge only the non-major rule.

Config

renovate.json
{
  "extends": ["config:recommended"],
  "separateMajorMinor": true,
  "packageRules": [
    {
      "matchUpdateTypes": ["major"],
      "labels": ["dependencies", "major"],
      "automerge": false
    },
    {
      "matchUpdateTypes": ["minor", "patch"],
      "automerge": true
    }
  ]
}

Gotchas

  • separateMajorMinor is on by default; separateMultipleMajor further splits multiple major jumps.
  • A version bump that is technically minor can still break you; keep tests required even on automerged minors.
  • Majors often need code changes, which is exactly why they should not automerge.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →