Allow specific message bundle config ignore for post-install messages
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 4k
- Forks
- 1.9k
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 81
Description
Describe the problem as clearly as you can
bundle config set ignore_messages.<gem> true suppresses all post-install messages from that gem, forever. There's no way to silence one specific message while still seeing a different message the same gem prints later (e.g. a new deprecation notice, or a security warning).
In practice this means teams either live with a message they've already read on every bundle install, or they opt out of that gem's post-install channel entirely and risk missing something that actually matters in the future.
Common real-world examples: readline and httparty both print a post-install message that has stayed identical across many releases. Once you've read it, there's no benefit to seeing it again on every install — but fully ignoring the gem means a genuinely new message (a security notice, a breaking change) would go unseen too.
Did you try upgrading rubygems & bundler?
Yes — reproduced on the latest release.
Post steps to reproduce the problem
- Add a gem with a
post_install_messageto yourGemfile(e.g.httparty). - Run
bundle install. Note the message prints every time. - Run
bundle config set ignore_messages.httparty true. - Run
bundle installagain — the message is gone, but so would any future, different message from that gem.
Which command did you run?
bundle install / bundle config set ignore_messages.<gem> true
What were you expecting to happen?
A way to suppress a specific message (e.g. by exact text or a digest of it) so that only that message is silenced — if the gem later changes or adds a different post-install message, it should still show up.
What happened instead?
ignore_messages only accepts a gem name and suppresses every message from that gem indiscriminately, with no content-level granularity.
Proposed API, for discussion:
bundle config set ignore_messages.httparty.<message-digest> true
A digest (e.g. SHA of the message text) matches on the message itself, so it keeps working even if a gem changes its message without bumping the version, and doesn't require Bundler to reason about version ordering.
We considered scoping suppression to the gem version instead (ignore_messages.httparty.<version> true), but ruled it out: gems like readline and httparty keep the same message across many releases, so per-version scoping would force you to re-suppress on every upgrade even though nothing changed — the opposite of "set it once and only hear about it when it's actually new."
Environment
Bundler 4.0.19
Platforms ruby, arm64-darwin-23
Ruby <any>
RubyGems 4.0.19
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing bundle config set ignore_messages.<gem> true and bundle install, focusing on how post-install messages are selected and suppressed. Define how a message digest is stored and matched, then verify that an unchanged message is hidden while a changed or additional message still appears.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100