I just want to give the community a heads up: I am going to release amqp gem 0.7.2
release on Sunday and 0.8.0.RC14 will follow in the next few days.
0.8.0.RC14 is fully backwards compatible with RC13 but amq-client library
will need an upgrade to the 0.7.0 (will be released right before amqp 0.8.0.RC14). So when upgrading, make
sure to update your Gemfile or .gemspec dependency on amq-client if necessary.
0.8.0.RC14 introduces a number of exciting features related to application recovery from network & broker failures:
* A number of events/callbacks and API methods useful to developers who want to implement their own recovery strategies.
* Automatic recovery mode that makes it very easy to re-declare all entities, bindings & consumers when AMQP connection recovers from
a network outage or broker failure: it is opt-in (not opt-out) and will make recovery significantly simpler for "the 80%" of apps.
There are also other improvements:
* RC14 will no longer have pre-release gem dependencies. This should make life easier for RubyGems 1.3.7 users, most notably those running on Heroku.
RubyGems 1.3.7, also know as "the Internet Explorer 6 of the Ruby ecosystem", has broken pre-release version comparison logic and considers
version 0.7.0.pre9 to be more recent than 0.7.0.pre35, for example.
* Ability to register more than one consumer per queue on the same channel. Historically AMQP:::Queue#subscribe only allowed to register one consumer.
This is still being the case for backwards compatibility but you now can easily instantiate AMQP::Consumers directly.
* New bitset-based channel id allocator. Previously apps that open & close channels aggressively could hit connection max channel limit
pretty quickly because channel id was a growing integer. Now channel id are allocated from a pool of integers, just as in the RabbitMQ Java client.
* Support for arrays in attribute tables (for example, message headers)
* Documentation is now being proof-read and edited by Chris Duncan, the creator of the bunny gem.
* TLS guide
* Numerous small improvements to all other guides & code examples.
RC14 will be the second to last RC before 0.8.0. RC15 will bring up support for Ruby 1.8.7-p249 (this particular patch level) that has a bug that seriously affects amqp gem.
Have a great sunny Sunday.