Skip to content

feat: bump dependency ranges in Renovate pull requests - #10323

Merged
cryptodev-2s merged 2 commits into
mainfrom
feat/renovate-bump-ranges
Sep 21, 2026
Merged

cryptodev-2s merged 2 commits into
mainfrom
feat/renovate-bump-ranges

Conversation

@cryptodev-2s

@cryptodev-2s cryptodev-2s commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Explanation

By default Renovate leaves a manifest alone when the new version already satisfies the declared range, so #10318 bumped ts-jest to 29.4.12 in yarn.lock and touched no package.json at all. That keeps the declared minimum at the old version and produces no changelog entry, since nothing published changed.

We want a changelog entry for every dependency bump, so rangeStrategy: bump moves the range with the release: ^29.4.11 becomes ^29.4.12 across every workspace that declares it, the same as Dependabot does today. Out of range updates like #10320 already behaved this way.

peerDependencies are exempted back to widen. An explicit rangeStrategy overrides Renovate's peer handling (npm/range.ts), and 11 peer entries here have simple ranges that would be narrowed rather than broadened, @babel/runtime ^7.0.0 most obviously. The other 11 are complex ranges like ^16.8.0 || ^17.0.0 and widen regardless.

The cost is diff size. A single patch now rewrites the same line in every manifest that declares the dependency, and each of those packages needs an entry. #10322 is what writes them.

Important

Depends on #10322. Without it the repair workflow still skips Renovate pull requests, and every one of them lands red on Check changelog.

References

Depends on #10322. Follows #10317. Part of WPC-1161.

Checklist

  • I've updated the test suite for new or updated code as appropriate
  • I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
  • I've communicated my changes to consumers by updating changelogs for packages I've changed
  • I've introduced breaking changes in this PR and have prepared draft pull requests for clients and consumer packages to resolve them

Note

Low Risk
Tooling-only change to Renovate; it does not alter runtime code, but it will enlarge dependency PR diffs across workspaces.

Overview
Renovate is configured to raise semver ranges in package.json when a newer release still satisfies the existing constraint (rangeStrategy: bump), matching Dependabot behavior so lockfile-only bumps no longer skip manifest updates and downstream changelog tooling can see a published change.

A peer-only override sets rangeStrategy: widen for peerDependencies, undoing the global bump so wide peer ranges stay broadened instead of tightened.

Note: This is meant to work with the changelog repair workflow in #10322; without that, Renovate PRs may fail Check changelog.

Reviewed by Cursor Bugbot for commit 9ab221a. Bugbot is set up for automated code reviews on this repo. Configure here.

@cryptodev-2s
cryptodev-2s marked this pull request as ready for review September 21, 2026 15:48
@cryptodev-2s
cryptodev-2s deployed to default-branch September 21, 2026 15:49 — with GitHub Actions Active

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit f2a33f8. Configure here.

Comment thread renovate.json
@cryptodev-2s cryptodev-2s self-assigned this Sep 21, 2026

@mcmire mcmire left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

Comment thread renovate.json
},
"packageRules": [
{
"description": "Restores the default for peer ranges, which `rangeStrategy` above would otherwise override. Peer ranges are deliberately wide, so they get broadened rather than raised.",

@mcmire mcmire Sep 21, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Didn't realize that this was the default for peer dependencies (source here). I would think that Renovate would leave peer deps alone, but I guess that strategy may limit the degree could upgrade production deps. I guess we can see how well this strategy works out in practice. We don't have many peer deps anyway so maybe it doesn't matter.

@cryptodev-2s
cryptodev-2s added this pull request to the merge queue Sep 21, 2026
Merged via the queue into main with commit c6d91ca Sep 21, 2026
664 of 666 checks passed
@cryptodev-2s
cryptodev-2s deleted the feat/renovate-bump-ranges branch September 21, 2026 17:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants