Skip to content

Bump bunny from 2.23.0 to 2.24.0#374

Open
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/bundler/main/bunny-2.24.0
Open

Bump bunny from 2.23.0 to 2.24.0#374
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/bundler/main/bunny-2.24.0

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Sep 15, 2025

Bumps bunny from 2.23.0 to 2.24.0.

Release notes

Sourced from bunny's releases.

2.24.0

Changes between Bunny 2.23.0 and 2.24.0 (March 23, 2025)

An Option that Will Cancel Consumers Before a Channel Closing is Initiated

Sometimes it makes more sense to avoid any possible in-flight deliveires rather than trying to deal with them in a reasonable way, even though all outstanding deliveries that were not confirmed will be requeued after a channel closure event.

Here is how this setting is supposed to be used:

c = Bunny.new; c.start
ch = c.create_channel.configure do |new_ch|
  new_ch.prefetch(10)
  new_ch.cancel_consumers_before_closing!
end
q = ch.quorum_queue("a.queue")

This setting is opt-in and disabled by default.

Changelog

Sourced from bunny's changelog.

Changes between Bunny 2.24.0 and 3.0.0 (in development)

Topology Recovery Improvements

Back in 2013-2014, RabbitMQ Java client's connection recovery was heavily influenced by what was available in Bunny.

In 2025, Bunny starts adopting the features Java client has developed over the years, starting with connection-level topology tracking.

Now all exchanges, queues, bindings recorded for topology recovery are stored and maintained by Bunny::Session and not Bunny::Channel. This makes recovery somewhat simpler and eliminates a class of problems where, say, a queue was declared on one channel, deleted on another, and re-created by Bunny's connection recovery contrary to the user's intent.

The only potentially breaking change here is: the client now intentionally skips tracking queue and exchange declarations with passive: true.

GitHub issues: #704, #711

Reduced Connection Recovery Logging

On connections that have connection recovery enabled, certain I/O exceptions are now logged at debug level to reduce log noise.

GitHub issue: #711

Topology Recovery Filters

class ExampleTopologyFilter < Bunny::TopologyRecoveryFilter
  def filter_queues(qs)
    qs.filter { |rq| rq.name.start_with?(/^filter-me/) }
  end
def filter_exchanges(xs)
xs.filter { |rx| rx.name.start_with?(/^filter-me/) }
end
def filter_queue_bindings(bs)
bs.filter { |rb| rb.destination.start_with?(/^filter-me/) }
end
def filter_exchange_bindings(bs)
bs.filter { |rb| rb.destination.start_with?(/^filter-me/) }
end
def filter_consumers(bs)
bs.filter { |rc| rc.consumer_tag.start_with?(/filter-me/) }
</tr></table>

... (truncated)

Commits
  • ec4f76e 2.24.0
  • 1660fe8 Change log updates
  • 0529363 Introduce a Bunny::Channel setting for cancelling of all consumers before clo...
  • 5543c40 Further improve resource cleanup in tests
  • 2bb1aaf Merge pull request #706 from byroot/gemspec
  • 0bdebea Run fewer iterations on CI
  • 63e4a1a Prepare for #706
  • eaa00f5 Skip certain long-running non-essential tests on CI
  • 037d691 Add source_code_uri in gemspec
  • 473482e These flaky tests do not test channel recovery
  • Additional commits viewable in compare view

Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

Bumps [bunny](https://github.com/ruby-amqp/bunny) from 2.23.0 to 2.24.0.
- [Release notes](https://github.com/ruby-amqp/bunny/releases)
- [Changelog](https://github.com/ruby-amqp/bunny/blob/main/ChangeLog.md)
- [Commits](ruby-amqp/bunny@2.23.0...2.24.0)

---
updated-dependencies:
- dependency-name: bunny
  dependency-version: 2.24.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code labels Sep 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants