Ruby RabbitMQ clients blog

News and updates about various Ruby clients for RabbitMQ

Bunny 0.9.0.pre7 Is Released


Bunny 0.9.0.pre7 is released to

This release consists of bug fixes and (very) minor features. It is 100% backwards compatible.


This release includes a number of bug fixes and (very) minor features plus API reference.

Change Log


Bunny::Channel#on_error is a new method that lets you define handlers for channel errors that are caused by methods that have no responses in the protocol (basic.ack, basic.reject, and basic.nack).

This is rarely necessary but helps make sure no error goes unnoticed.


channel.on_error |ch, channel_close|
  puts channel_close.inspect

Fixed Framing of Larger Messages With Unicode Characters

Larger (over 128K) messages with non-ASCII characters are now always encoded correctly with amq-protocol 1.2.0.

Efficiency Improvements

Publishing of large messages is now done more efficiently.

Contributed by Greg Brockman.

API Reference

Bunny API reference is now up online.

Bunny::Channel#basic_publish Support For :persistent

Bunny::Channel#basic_publish now supports both :delivery_mode and :persistent options.


Bunny::Channel#nacked_set is a counter-part to Bunny::Channel#unacked_set that contains basic.nack-ed (rejected) delivery tags.

Plans for 0.9.0 Final

There is still a few things we need to do before Bunny 0.9 can be declared complete:

  • Make network failure recovery configurable
  • Bring back TLS support
  • Add logging

Michael on behalf of the Ruby RabbitMQ Clients Team