Ruby RabbitMQ clients blog

News and updates about various Ruby clients for RabbitMQ

Bunny 2.5.1 Is Released

TL;DR

Bunny 2.5.1 is released to rubygems.org.

2.5.1 is a maintenance release.

Changes between Bunny 2.5.0 and 2.5.1

More Defensive Consumer Work Pool

Bunny::ConsumerWorkPool#join and Bunny::ConsumerWorkPool#pause no longer fails with a NoMethodError on nil when executed on a work pool that doesn’t have active threads (consumers).

This change is largely cosmetic and won’t affect the majority of of projects in any way.

Full Change Log

Full change log can be found on GitHub.

About the Author

Michael maintains Bunny and several other RabbitMQ client libraries.

March Hare 2.18.0 Is Released

TL;DR

March Hare 2.18.0 is released to rubygems.org.

This is a maintenance release.

Changes Between 2.17.0 and 2.18.0

RabbitMQ Java Client Upgrade

RabbitMQ Java client dependency has been updated to 3.6.5.

Changes Between 2.16.0 and 2.17.0

User-provided Consumer Tags

It is now possible to provide a custom consumer tag instead of relying on RabbitMQ to generate one.

GH issue: #92

Contributed by Eger Andreas.

RabbitMQ Java Client Upgrade

RabbitMQ Java client dependency has been updated to 3.6.2.

Full Change Log

Please consult the change log to learn about the changes.

About the Author

Michael on behalf of the Ruby RabbitMQ Clients Team

Bunny 2.5.0 Is Released

TL;DR

Bunny 2.5.0 is released to rubygems.org.

2.5.0 is a maintenance release.

Changes between Bunny 2.4.0 and 2.5.0

Exchange Bindings are Now Correctly Recovered

GitHub issue: #410

Contributed by Andrew Bruce.

Bunny::Channel#wait_for_confirms Awaits While There’re Outstanding Unconfirmed Messages

GitHub issue: #424

Contributed by Dimitar Dimitrov.

Queue Recovery Respects the :no_declare Option

Queue recovery now respects the :no_declare option.

Bunny::Channel#wait_for_confirms Throws Early

Bunny::Channel#wait_for_confirms now throws an exception early when invoked on a closed channel.

GitHub issue: #428.

Contributed by Dimitar Dimitrov.

Full Change Log

Full change log can be found on GitHub.

About the Author

Michael maintains Bunny and several other RabbitMQ client libraries.

Bunny 2.4.0 Is Released

TL;DR

Bunny 2.4.0 is released to rubygems.org.

2.4.0 is a minor feature release.

Changes between Bunny 2.3.0 and 2.4.0

Unconfirmed Delivery Tag Set Reset on Network Recovery

Channels will now reset their unconfirmed delivery tag set after recovery.

GitHub issue: #406

Contributed by Bill Ruddock.

Support (Quoted) IPv6 Addresses in Address Lists

GitHub issue: #383.

Contributed by Jeremy Heiler.

Transport#read_fully Doesn’t Try to Recover

Since transport is replaced by a recovering connection anyway, and this produces confusing errors up the stack.

GitHub issue: #359

Contributed by Donal McBreen.

Client-Provided Session :properties Merged with Defaults

Client-Provided Session :properties will now be merged with defaults instead of replacing them. This makes it much more convenient to override a single key.

More Predictable RABBITMQ_URL Handling

RABBITMQ_URL no longer will be used if any other connection options are provided. This makes it possible to use RABBITMQ_URL for some connections and options for others in a single OS process.

GitHub issue: #403

Contributed by Jimmy Petersen.

Full Change Log

Full change log can be found on GitHub.

About the Author

Michael maintains Bunny and several other RabbitMQ client libraries.

Bunny 2.3.1 Is Released

TL;DR

Bunny 2.3.1 is released to rubygems.org.

2.3.1 is a maintenance release.

Changes between Bunny 2.3.0 and 2.3.1

Support (Quoted) IPv6 Addresses in Address Lists

GitHub issue: #383.

Contributed by Jeremy Heiler.

Transport#read_fully Doesn’t Try to Recover

Since transport is replaced by a recovering connection anyway, and this produces confusing errors up the stack.

GitHub issue: #359

Contributed by Donal McBreen.

Full Change Log

Full change log can be found on GitHub.

About the Author

Michael maintains Bunny and several other RabbitMQ client libraries.

Amqp Gem 1.6.0 Is Released

TL;DR

amqp gem 1.6.0 is released to rubygems.org.

This is a maintenance release that has no new features but updates amq-protocol dependency and drops Ruby 1.9 support.

Changes Between 1.5.0 and 1.6.0

amq-protocol Update

Minimum amq-protocol version is now 2.0.1.

Provide More Details in TCP Connection Failure Exception

Contributed by Neil Hooey.

GH issue: #222.

Ensures frameset is cleared after an unhandled exception

Ensures frameset is cleared after an unhandled exception. This avoids confusing exceptions such as

1
undefined method `method_class' for #<AMQ::Protocol::BodyFrame:0x0000001e8a60b0>

Contributed by Michael Lutsiuk.

GH issue: #218

Full Change Log

Full change log can be found on GitHub.

About the Author

Michael on behalf of the Ruby RabbitMQ Clients Team

Amqp Gem 1.5.3 Is Released

TL;DR

amqp gem 1.5.3 is released to rubygems.org.

This is a maintenance release.

Changes Between 1.5.1 and 1.5.3

Provide More Details in TCP Connection Failure Exception

Contributed by Neil Hooey.

GH issue: #222.

Ensures frameset is cleared after an unhandled exception

Ensures frameset is cleared after an unhandled exception. This avoids confusing exceptions such as

1
undefined method `method_class' for #<AMQ::Protocol::BodyFrame:0x0000001e8a60b0>

Contributed by Michael Lutsiuk.

GH issue: #218

Full Change Log

Full change log can be found on GitHub.

About the Author

Michael on behalf of the Ruby RabbitMQ Clients Team

Bunny 2.3.0 Is Released

TL;DR

Bunny 2.3.0 is released to rubygems.org.

2.3.0 is a minor feature release.

Changes between Bunny 2.2.0 and 2.3.0

Thread#abort_on_exception Setting for Consumer Work Pool Threads

Bunny::Session#create_channel now supports a 3rd argument that, when set to true, makes consumer work pool threads to have Thread#abort_on_exception set on them.

GH issue: #382

Contributed by Seamus Abshere.

Explicit Transport Closure on Recovery

Bunny now will explicitly close previosly used transport before starting connection recovery.

GitHub issue: #377.

Contributed by bkanhoopla.

No TLS Socket Double-init

Makes sure that TLS sockets are not double-initialized.

GH issue: #345.

Contributed by Carl Hörberg.

Lazily Evaluated Debug Log Strings

GH issue: #375

Contributed by Omer Katz.

Full Change Log

Full change log can be found on GitHub.

About the Author

Michael maintains Bunny and several other RabbitMQ client libraries.

Hutch 0.21.0 Is Released

TL;DR

Hutch 0.21.0 is released to rubygems.org.

This is a bug fix release.

Changes Between 0.20.0 and 0.21.0 (February 7th, 2016)

JRuby Compatibility Restored

Contributed by Jesper Josefsson.

More Reliable Rails app Detection

Rails application detection now won’t produce false positives for applications that include config/environment.rb. Instead, bin/rails and script/rails are used.

Contributed by @bisusubedi.

Refactoring

Contributed by Jesper Josefsson and Olle Jonsson.

Full Changelog

Full change log can be found on GitHub.

About the Author

Michael on behalf of the Hutch maintainers Team.