ruby / ruby/rubygems

Allow specific message bundle config ignore for post-install messages

Open
#9,808 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Bundler
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
  1. Add a gem with a post_install_message to your Gemfile (e.g. httparty).
  2. Run bundle install. Note the message prints every time.
  3. Run bundle config set ignore_messages.httparty true.
  4. Run bundle install again — 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.