================ Change history ================ 1.0.7 ===== :release-date: 2011-03-28 16:00 P.M CEST * Now depends on anyjson 0.3.1 cjson is no longer a recommended json implementation, and anyjson will now emit a deprecation warning if used. * Please note that the Pika backend only works with version 0.5.2. The latest version (0.9.x) drastically changed API, and it is not compatible yet. * on_decode_error is now called for exceptions in message_to_python (Issue #24). * Redis: did not respect QoS settings. * Redis: Creating a connection now ensures the connection is established. This means ``BrokerConnection.ensure_connection`` works properly with Redis. * consumer_tag argument to ``Queue.consume`` can't be :const:`None` (Issue #21). A None value is now automatically converted to empty string. An empty string will make the server generate a unique tag. * BrokerConnection now supports a ``transport_options`` argument. This can be used to pass additional arguments to transports. * Pika: ``drain_events`` raised :exc:`socket.timeout` even if no timeout set (Issue #8). 1.0.6 ===== :release-date: 2011-03-22 16:00 P.M CET * The ``delivery_mode`` aliases (persistent/transient) were not automatically converted to integer, and would cause a crash if using the amqplib transport. * Redis: The redis-py :exc:`InvalidData` exception suddenly changed name to :exc:`DataError`. * The :envvar:`KOMBU_LOG_DEBUG` environment variable can now be set to log all channel method calls. Support for the following environment variables have been added: * :envvar:`KOMBU_LOG_CHANNEL` will wrap channels in an object that logs every method call. * :envvar:`KOMBU_LOG_DEBUG` both enables channel logging and configures the root logger to emit messages to standard error. **Example Usage**:: $ KOMBU_LOG_DEBUG=1 python >>> from kombu import BrokerConnection >>> conn = BrokerConnection() >>> channel = conn.channel() Start from server, version: 8.0, properties: {u'product': 'RabbitMQ',.............. } Open OK! known_hosts [] using channel_id: 1 Channel open >>> channel.queue_declare("myq", passive=True) [Kombu channel:1] queue_declare('myq', passive=True) (u'myq', 0, 1) 1.0.5 ===== :release-date: 2011-03-17 16:00 P.M CET * Fixed memory leak when creating virtual channels. All virtual transports affected (redis, mongodb, memory, django, sqlalchemy, couchdb, beanstalk). * Virtual Transports: Fixed potential race condition when acking messages. If you have been affected by this, the error would show itself as an exception raised by the OrderedDict implementation. (``object no longer exists``). * MongoDB transport requires the ``findandmodify`` command only available in MongoDB 1.3+, so now raises an exception if connected to an incompatible server version. * Virtual Transports: ``basic.cancel`` should not try to remove unknown consumer tag. 1.0.4 ===== :release-date: 2011-02-28 16:00 P.M CET * Added Transport.polling_interval Used by django-kombu to increase the time to sleep between SELECTs when there are no messages in the queue. Users of django-kombu should upgrade to django-kombu v0.9.2. 1.0.3 ===== :release-date: 2011-02-12 16:00 P.M CET * ConnectionPool: Re-connect if amqplib connection closed * Adds ``Queue.as_dict`` + ``Exchange.as_dict``. * Copyright headers updated to include 2011. 1.0.2 ===== :release-date: 2011-01-31 10:45 P.M CET * amqplib: Message properties were not set properly. * Ghettoq backend names are now automatically translated to the new names. 1.0.1 ===== :release-date: 2011-01-28 12:00 P.M CET * Redis: Now works with Linux (epoll) 1.0.0 ===== :release-date: 2011-01-27 12:00 P.M CET * Initial release 0.1.0 ===== :release-date: 2010-07-22 4:20 P.M CET * Initial fork of carrot