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
separateMajorMinoris on by default;separateMultipleMajorfurther 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
How to Enable Renovate Automerge After Tests PassTurn on Renovate automerge with automerge and automergeType, so a PR or branch merges only after required sta…
How to Choose Pinning vs Ranges in RenovateDecide between pinning exact versions and keeping semver ranges in Renovate with rangeStrategy, balancing rep…