NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #522 most downloaded on PyPI
Messaging library for Python.
Last release 5 days ago
21 Sep 2026
Ships unpredictably
gaps range from 2 weeks to 9 months
Nearly every release is documented
notes for 58 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
16 years old
207 releases · first in 2010
:release-date: 2011-04-05 03:51 P.M CEST :release-by: Ask Solem
1.1.0 started using Queue.LifoQueue which is only available in Python 2.6+ (Issue #33). We now ship with our own LifoQueue.
:release-date: 2011-04-05 01:05 P.M CEST :release-by: Ask Solem
Virtual transports: Message body is now base64 encoded by default (Issue #27).
This should solve problems sending binary data with virtual transports.
Message compatibility is handled by adding a body_encoding property, so messages sent by older versions is compatible with this release. However -- If you are accessing the messages directly not using Kombu, then you have to respect the body_encoding property.
If you need to disable base64 encoding then you can do so via the transport options:
Connection(transport='...', transport_options={'body_encoding': None})For transport authors:
You don't have to change anything in your custom transports, as this is handled automatically by the base class.
If you want to use a different encoder you can do so by adding a key to Channel.codecs. Default encoding is specified by the Channel.body_encoding attribute.
A new codec must provide two methods: encode(data) and decode(data).
ConnectionPool/ChannelPool/Resource: Setting limit=None (or 0) now disables pool semantics, and will establish and close the resource whenever acquired or released.
ConnectionPool/ChannelPool/Resource: Is now using a LIFO queue instead of the previous FIFO behavior.
This means that the last resource released will be the one acquired next. I.e. if only a single thread is using the pool this means only a single connection will ever be used.
Connection: Cloned connections did not inherit transport_options (__copy__).
contrib/requirements is now located in the top directory of the distribution.
MongoDB: Now supports authentication using the userid and password arguments to Connection (Issue #30).
Connection: Default autentication credentials are now delegated to the individual transports.
This means that the userid and password arguments to Connection is no longer guest/guest by default.
The amqplib and pika transports will still have the default credentials.
Consumer.__exit__ did not have the correct signature (Issue #32).
Channel objects now have a channel_id attribute.
mongod (Issue #29).
log messages for connection related actions.
KOMBU_LOG_DEBUG will also enable KOMBU_LOG_CONNECTION.
One column per quarter.
cjson is no longer a recommended json implementation, and anyjson will now emit a deprecation warning if used.
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 Connection.ensure_connection works properly with Redis.
consumer_tag argument to Queue.consume can't be None (Issue #21).
A None value is now automatically converted to empty string. An empty string will make the server generate a unique tag.
Connection now supports a transport_options argument.
This can be used to pass additional arguments to transports.
Pika: drain_events raised socket.timeout even if no timeout set (Issue #8).
:release-date: 2011-03-22 04:00 P.M CET :release-by: Ask Solem
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 InvalidData exception suddenly changed name to DataError.
The KOMBU_LOG_DEBUG environment variable can now be set to log all channel method calls.
Support for the following environment variables have been added:
KOMBU_LOG_CHANNEL will wrap channels in an object that logs every method call.
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 Connection >>> conn = Connection() >>> 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)
:release-date: 2011-03-17 04:00 P.M CET :release-by: Ask Solem
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.
:release-date: 2011-02-28 04:00 P.M CET :release-by: Ask Solem
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.
:release-date: 2011-02-12 04:00 P.M CET :release-by: Ask Solem
ConnectionPool: Re-connect if amqplib connection closed
Adds Queue.as_dict + Exchange.as_dict.
Copyright headers updated to include 2011.
:release-date: 2011-01-31 10:45 P.M CET :release-by: Ask Solem
amqplib: Message properties were not set properly.
Ghettoq backend names are now automatically translated to the new names.
:release-date: 2011-01-28 12:00 P.M CET :release-by: Ask Solem
Redis: Now works with Linux (epoll)
:release-date: 2011-01-27 12:00 P.M CET :release-by: Ask Solem
Initial release
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
:release-date: 2010-07-22 04:20 P.M CET :release-by: Ask Solem
Initial fork of carrot
Your coding agent can read these notes before it upgrades. Set up the MCP server →