= Version 0.8.0 * [API] AMQP::Exchange#initialize now accepts :arguments option that takes a hash. Brokers may implement AMQP extensions using (usually x-prefixed) declaration arguments. * [API] AMQP::Queue#initialize now accepts :arguments option that takes a hash. RabbitMQ recognizes x-message-ttl argument and uses it as message TTL in milliseconds for queue that is being declared. * [API] AMQP#Logger is deprecated. It will be removed before 1.0 release. * [API] AMQP#fork is deprecated. It will be removed before 1.0 release. * [API] AMQP::RPC is deprecated. It will be removed before 1.0 release. * [FEATURE] Significant improvements to the documentation * [FEATURE] Support for RabbitMQ extensions to AMQP 0.9.1 * [API] AMQP::Exchange#publish now accepts (an optional) block that is called as soon as message is considered published (EventMachine loop has pushed payload down the network stack). * [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 3 arguments. 1 argument means handler is only interested in content payload 2 arguments mean handler is interested in headers and the content 3 arguments mean handler is interested in headers, content and AMQP method instance * [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).