Safeguard
Developer Tools•

How do you group dependency updates without hiding risk?

Grouping cuts pull request noise, but a bad group hides one risky bump inside ten safe ones. Group by type and update level, and keep majors separate.

Safeguard Security Team
4 min read

Group by update level and dependency type, and keep major updates out of the group. A group of patch and minor updates for development tools is easy to review and revert. A group that mixes a major framework bump with nine patches hides the one change that needs attention.

What grouping options usually exist

The documentation for one widely used bot lists these group filters: dependency type (development or production, available for several package managers), name patterns with wildcards and exclusions, and update types (patch, minor or major). By default a group includes every update level. A dependency that matches more than one group lands in the first group that matches, and anything unmatched still gets its own pull request.

Those details matter. Order of group definitions changes results, and a missing filter means majors can slip in.

Good groups and bad groups

GroupVerdictReason
Development dependencies, patch and minorGoodLow blast radius, easy revert
Production dependencies, patch onlyGoodSmall changes, one review
One framework family by name patternGoodPieces must move together
All dependencies, all update levelsBadHides majors and 0.x minors
Production minor plus majorBadMixes routine and breaking work

Steps to set up grouping

  1. Count your last 30 bot pull requests by type: patch, minor, major, development, production.
  2. Create a group for development dependencies limited to patch and minor.
  3. Create a group for production patch updates only.
  4. Add name pattern groups for packages that must upgrade together, such as a framework and its plugins.
  5. Leave majors ungrouped so each gets its own pull request, title and owner.
  6. Exclude 0.x packages from broad groups, since the semantic versioning specification allows breaking changes at any time in major version zero.

The trade-offs

Larger groups mean fewer pull requests but harder diagnosis when CI fails. If a group of twelve fails, you must find which one broke. Smaller groups cost more review clicks but pinpoint failures. A decent starting size is a group you could bisect in a few minutes.

Grouping also changes your audit trail. One merge commit for twelve bumps means a revert undoes all twelve. Decide whether that is acceptable. For security fixes, many teams keep each pull request separate so a single advisory maps to a single change.

Check your results

After two weeks, look at how often a grouped pull request needed splitting. If you split more than occasionally, tighten the group. If you never touch the group beyond clicking merge, you may be able to widen it, within the limits above.

Try it yourself

Click through it at your own pace, or open it full screen. Look at how findings are prioritized rather than listed one by one. Grouping should follow the same idea: review by risk, not by file.

Quick check

Should security fixes be grouped?

Often no. A separate pull request per advisory keeps the link between a vulnerability and its fix clear for audit and revert.

Does grouping reduce the number of CI runs?

Yes, because there are fewer branches. The cost is slower diagnosis when a group fails.

Safeguard scans manifests and lockfiles into an SBOM, uses reachability analysis to show which flagged dependencies your code actually calls, and can open fix pull requests (off by default, every category on Manual). You can try a free scan on a public repository.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.