= Version 0.8.0 * [API] AMQP::Channel.new now accepts (an optional) block and yields newly opened channel to it as soon as channel.open-ok arrives from the broker. * [API] AMQP::Header#ack now can acknowledge multiple deliveries * [API] AMQP::Exchange#delete now takes (an optional) block that is called when exchange.delete-ok response arrives. * [API] AMQP::Header now implements #to_hash * [API] AMQP::Queue#pop block now can take 1, 2 or 7 (that's right) arguments. 1 argument means handler is only interested in content payload 2 arguments means handler is interested in headers and the content 7 arguments means handlers wants all the properties get-ok (or get-empty) carries * [API] AMQP::Queue#purge now takes an optional block which is called when queue.purge-ok response arrives. * [API] AMQP::Queue#delete now takes an optional block which is called when queue.delete-ok response arrives. * [API] AMQP::Queue#delete now accepts :nowait option. * [API] AMQP::Queue#unbind now takes an optional block which is called when queue.unbind-ok response arrives. * [API] AMQP::Queue#unbind now accepts :routing_key as alias to :key. we believe it is a good idea to use AMQP terms. * [API] AMQP::Channel#prefetch now takes (an optional) 2nd parameter that specifies that QoS settings should be applied to underlying connection, as well as optional callback. * [API] AMQP::Channel#recover now takes (an optional) callback that is called when basic.recover-ok is received. * [API] AMQP::Frame is gone. * [API] AMQP::Buffer is gone. Serialization & framing are now handled primarily by amq-protocol. * [FEATURE] AMQP gem is now AMQP 0.9.1 compatible: it runs atop of amq-client gem * [API] AMQP::Queue#publish is deprecated. * [API] Name argument for AMQP::Queue.new and Channel#queue is optional. = Version 0.7.1 * [BUG] AMQP gem no longer conflicts with Builder 2.1.2 on Ruby 1.9. All Ruby on Rails 3 users who run Ruby 1.9 are highly recommended to upgrade! * [API] AMQP::Exchange.default no longer caches exchange object between calls because it may lead to very obscure issues when channel that exchange was using is closed (due to connection loss, as part of test suite teardown or in any other way). * [API] AMQP::Exchange.default now accepts channel as a parameter. * [API] AMQP::Exchange#channel * [BUG] Basic.Return is not supported by amqp gem yet, but it should not result in obscure exceptions * [API] AMQP::Exchange#publish now supports content type overriding. * [API] Introduce AMQP::Exchange #durable?, #transient?, #auto_deleted? and #passive? * [API] Introduce AMQP::Channel#open? * [BUG] AMQP connection was considered established prematurely. * [API] MQ.logging is removed; please use AMQP.logging from now on. * [API] MQ::Queue class is deprecated; please use AMQP::Queue from now on. * [API] MQ::Exchange class is deprecated; please use AMQP::Exchange from now on. * [API] MQ class is deprecated; please use AMQP::Channel from now on. * [API] require "mq" is deprecated; please use require "amqp" from now on. = Version 0.7 * [BUG] Sync API for queues and exchanges, support for server-generated queues & exchange names (via semi-lazy collection). * [BUG] Sync API for MQ#close (Channel.Close) [issue #34]. * [FEATURE] AMQP URL from majek's fork, with some fixes. Example: AMQP.start("amqps://") * [DEVELOP] Added some em-spec-based specs, bin/irb, Gemfile. * [FEATURE] Added MQ::Exchange.default for the default exchange. * [FEATURE] Raise an exception if we're trying to use Basic.Reject with RabbitMQ. * [FEATURE] Fail if an entity is re-declared with different options. * [BUG] Don't reconnect if the credentials are wrong. * [BUG] Fixed an exception which occurred when Queue#bind was called synchronously with a callback. * [DEVELOPMENT] Added a lot of specs (Bacon replaced by rSpec 2).