Skip to content

feat: apply group settings when only one update is present#43629

Merged
jamietanna merged 6 commits into
renovatebot:mainfrom
felipecrs:feat/groupSingleUpdates
Jun 2, 2026
Merged

feat: apply group settings when only one update is present#43629
jamietanna merged 6 commits into
renovatebot:mainfrom
felipecrs:feat/groupSingleUpdates

Conversation

@felipecrs

Copy link
Copy Markdown
Contributor

Changes

By default, Renovate titles PRs after the individual dependency when a group contains only a single update.

This PR adds a new configuration option, groupSingleUpdates, that allows users to choose whether Renovate should always title PRs after the group, even when the group contains only a single update.

Discussed and proposed in #25588 (comment). Note I chose a different option name than the one proposed in the discussion, as I think this name is more descriptive of the behavior it controls.

Context

Please select one of the following:

  • This closes an existing Issue, Closes: #
  • This doesn't close an Issue, but I accept the risk that this PR may be closed if maintainers disagree with its opening or implementation

AI assistance disclosure

Did you use AI tools to create any part of this pull request?

Please select one option and, if yes, briefly describe how AI was used (e.g., code, tests, docs) and which tool(s) you used.

  • No — I did not use AI for this contribution.
  • Yes — minimal assistance (e.g., IDE autocomplete, small code completions, grammar fixes).
  • Yes — substantive assistance (AI-generated non‑trivial portions of code, tests, or documentation).
  • Yes — other (please describe):

This PR has been written with assistance of Claude Opus 4.6.

Documentation (please check one with an [x])

  • I have updated the documentation, or
  • No documentation update is required

How I've tested my work (please select one)

I have verified these changes via:

  • Code inspection only, or
  • Newly added/modified unit tests, or
  • No unit tests, but ran on a real repository, or
  • Both unit tests + ran on a real repository

The public repository:

@github-actions github-actions Bot requested a review from viceice May 27, 2026 14:23
@felipecrs felipecrs marked this pull request as draft May 27, 2026 14:24
@github-actions github-actions Bot removed the request for review from viceice May 27, 2026 14:24
@felipecrs felipecrs force-pushed the feat/groupSingleUpdates branch from 6b7760f to 58b8d30 Compare May 27, 2026 14:25
@felipecrs felipecrs marked this pull request as ready for review May 27, 2026 14:30
@github-actions github-actions Bot requested a review from viceice May 27, 2026 14:30
Comment thread lib/workers/repository/updates/generate.ts
@felipecrs felipecrs force-pushed the feat/groupSingleUpdates branch from 72b575a to 199d233 Compare May 27, 2026 16:44

@RahulGautamSingh RahulGautamSingh 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.

needs docs

@felipecrs

felipecrs commented May 28, 2026

Copy link
Copy Markdown
Contributor Author

@RahulGautamSingh, I believe the auto-generated docs are good enough. I even had an extra sentence but thought it was superfluous.

199d233

image

What do you think?

EDIT: Some examples:

@jamietanna jamietanna left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thinking about this some more, I'm wondering if this should maybe be the default - what do @renovatebot/maintainers think?

IMO, it's a little confusing when a group only contains a single update and has a different title.

For instance, I noticed this earlier today on one of my projects (which I'd exepct there to be multiple dependencies in the group for)

Are there any other settings that may/may not be used when there's a group that may not be wanted if only one update is there?

@felipecrs

Copy link
Copy Markdown
Contributor Author

I do understand the rationale behind it: if there's only one update, titling the PR after update makes it a lot more descriptive than titling it after the group.

But I tend to agree, it is a common source of confusion for my users too.

Are there any other settings that may/may not be used when there's a group that may not be wanted if only one update is there?

I can't think of anything, but have in mind anything under group is applicable in this case. It can hold arbitrary config.

https://docs.renovatebot.com/configuration-options/#group

I.e. I think it should be treated as a breaking change if we go that route.

@reduckted

Copy link
Copy Markdown
Contributor

Looking at the example posted here:
#25588 (comment)

That sets groupSingleUpdates in a package rule. Can it also be applied at the top-level so that it applies to all groups (and could therefore be added to a common preset so that I don't have to edit the Renovate configs in dozens of repositories)?

@felipecrs

Copy link
Copy Markdown
Contributor Author

Looking at the example posted here: #25588 (comment)

That sets groupSingleUpdates in a package rule. Can it also be applied at the top-level so that it applies to all groups (and could therefore be added to a common preset so that I don't have to edit the Renovate configs in dozens of repositories)?

Absolutely. It can be set at any level.

@secustor

secustor commented Jun 1, 2026

Copy link
Copy Markdown
Member

Thinking about this some more, I'm wondering if this should maybe be the default - what do @renovatebot/maintainers think?

SGTM, I ran into this too some times

@jamietanna jamietanna left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Per comments (and +1'd by secustor) we'll make this on-by-default, and then folks who wish the old behaviour can disable it where they'd like to

@felipecrs

Copy link
Copy Markdown
Contributor Author

Alright. Working on it.

Question: should I add a breaking change notice to it, or would you rather handle that yourself during merge?

@jamietanna

Copy link
Copy Markdown
Contributor

I'm happy arguing this isn't a full "breaking change", so no need to document anything additionally

I'll see about whether it's worth adding a bit of a call out in the GitHub Release itself

Comment thread docs/usage/configuration-options.md
@jamietanna jamietanna changed the title feat: add groupSingleUpdates option feat: apply group settings when only one update is present Jun 2, 2026
@jamietanna jamietanna added this pull request to the merge queue Jun 2, 2026
Merged via the queue into renovatebot:main with commit e5b0950 Jun 2, 2026
47 checks passed
@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 43.208.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@faenschi

faenschi commented Jun 3, 2026

Copy link
Copy Markdown

Hi! We've noticed that since this PR merged, our Maven dependency MR titles changed from:

deps(deps): update dependency ch.foobar.ri:commonphases to v33

to:

deps(deps): update version.foobar.commonphases to v33

This change appears to have been released in a patch/minor version update, but it was breaking for us—a lot of our PRs got recreated due to the title format change.

We understand this is due to the new groupSingleUpdates behavior—when a group contains only a single update, Renovate titles the PR using the group property name instead of the individual dependency name.

Questions:

  1. Was this a breaking change intended for a major version bump? It seems like this should have been opt-in rather than the default.
  2. Should groupSingleUpdates default to false for Maven/Java projects to maintain backward compatibility?
  3. Are there docs explaining the migration path for users affected by this change?

We've worked around this by setting "groupSingleUpdates": false in our Renovate presets, but other teams may hit this issue.

Thanks!

@jamietanna

Copy link
Copy Markdown
Contributor

Moving discussion into #43756

@renovatebot renovatebot locked as resolved and limited conversation to collaborators Jun 3, 2026
@felipecrs felipecrs deleted the feat/groupSingleUpdates branch June 3, 2026 13:22
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants