Kombu

Latest version: v5.5.0

Safety actively analyzes 714815 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 19 of 30

2.5.5

Not secure
=====
:release-date: 2013-02-07 05:00 P.M UTC
:release-by: Ask Solem

SQS: Now supports long polling (Issue 176).

The polling interval default has been changed to 0 and a new
transport option (``wait_time_seconds``) has been added.
This parameter specifies how long to wait for a message from
SQS, and defaults to 20 seconds, which is the maximum
value currently allowed by Amazon SQS.

Contributed by James Saryerwinnie.

- SQS: Now removes unpickleable fields before restoring messages.

- Consumer.__exit__ now ignores exceptions occurring while
canceling the consumer.

- Virtual: Routing keys can now consist of characters also used
in regular expressions (e.g. parens) (Issue 194).

- Virtual: Fixed compression header when restoring messages.

Fix contributed by Alex Koshelev.

- Virtual: ack/reject/requeue now works while using ``basic_get``.

- Virtual: Message.reject is now supported by virtual transports
(requeue depends on individual transport support).

- Fixed typo in hack used for static analyzers.

Fix contributed by Basil Mironenko.

.. _version-2.5.4:

2.5.4

Not secure
=====
:release-date: 2012-12-10 12:35 P.M UTC
:release-by: Ask Solem

- Fixed problem with connection clone and multiple URLs (Issue 182).

Fix contributed by Dane Guempel.

- zeromq: Now compatible with libzmq 3.2.x.

Fix contributed by Andrey Antukh.

- Fixed Python 3 installation problem (Issue 187).

.. _version-2.5.3:

2.5.3

Not secure
=====
:release-date: 2012-11-29 12:35 P.M UTC
:release-by: Ask Solem

- Pidbox: Fixed compatibility with Python 2.6

2.5.2

Not secure
=====
:release-date: 2012-11-29 12:35 P.M UTC
:release-by: Ask Solem

- [Redis] Fixed connection leak and added a new 'max_connections' transport
option.

.. _version-2.5.1:

2.5.1

Not secure
=====
:release-date: 2012-11-28 12:45 P.M UTC
:release-by: Ask Solem

- Fixed bug where return value of Queue.as_dict could not be serialized with
JSON (Issue 177).

.. _version-2.5.0:

2.5.0

Not secure
=====
:release-date: 2012-11-27 04:00 P.M UTC
:release-by: Ask Solem

- `py-amqp`_ is now the new default transport, replacing ``amqplib``.

The new `py-amqp`_ library is a fork of amqplib started with the
following goals:

- Uses AMQP 0.9.1 instead of 0.8
- Support for heartbeats (Issue 79 + Issue 131)
- Automatically revives channels on channel errors.
- Support for all RabbitMQ extensions
- Consumer Cancel Notifications (Issue 131)
- Publisher Confirms (Issue 131).
- Exchange-to-exchange bindings: ``exchange_bind`` / ``exchange_unbind``.
- API compatible with :mod:`librabbitmq` so that it can be used
as a pure-python replacement in environments where rabbitmq-c cannot
be compiled. librabbitmq will be updated to support all the same
features as py-amqp.

- Support for using multiple connection URL's for failover.

The first argument to :class:`~kombu.Connection` can now be a list of
connection URLs:

.. code-block:: python

Connection(['amqp://foo', 'amqp://bar'])

or it can be a single string argument with several URLs separated by
semicolon:

.. code-block:: python

Connection('amqp://foo;amqp://bar')

There is also a new keyword argument ``failover_strategy`` that defines
how :meth:`~kombu.Connection.ensure_connection`/
:meth:`~kombu.Connection.ensure`/:meth:`kombu.Connection.autoretry` will
reconnect in the event of connection failures.

The default reconnection strategy is ``round-robin``, which will simply
cycle through the list forever, and there's also a ``shuffle`` strategy
that will select random hosts from the list. Custom strategies can also
be used, in that case the argument must be a generator yielding the URL
to connect to.

Example:

.. code-block:: python

Connection('amqp://foo;amqp://bar')

- Now supports PyDev, PyCharm, pylint and other static code analysis tools.

- :class:`~kombu.Queue` now supports multiple bindings.

You can now have multiple bindings in the same queue by having
the second argument be a list:

.. code-block:: python

from kombu import binding, Queue

Queue('name', [
binding(Exchange('E1'), routing_key='foo'),
binding(Exchange('E1'), routing_key='bar'),
binding(Exchange('E2'), routing_key='baz'),
])

To enable this, helper methods have been added:

- :meth:`~kombu.Queue.bind_to`
- :meth:`~kombu.Queue.unbind_from`

Contributed by Rumyana Neykova.

- Custom serializers can now be registered using Setuptools entry-points.

See :ref:`serialization-entrypoints`.

- New :class:`kombu.common.QoS` class used as a thread-safe way to manage
changes to a consumer or channels prefetch_count.

This was previously an internal class used in Celery now moved to
the :mod:`kombu.common` module.

- Consumer now supports a ``on_message`` callback that can be used to process
raw messages (not decoded).

Other callbacks specified using the ``callbacks`` argument, and
the ``receive`` method will be not be called when a on message callback
is present.

- New utility :func:`kombu.common.ignore_errors` ignores connection and
channel errors.

Must only be used for cleanup actions at shutdown or on connection loss.

- Support for exchange-to-exchange bindings.

The :class:`~kombu.Exchange` entity gained ``bind_to``
and ``unbind_from`` methods:

.. code-block:: python

e1 = Exchange('A')(connection)
e2 = Exchange('B')(connection)

e2.bind_to(e1, routing_key='rkey', arguments=None)
e2.unbind_from(e1, routing_key='rkey', arguments=None)

This is currently only supported by the ``pyamqp`` transport.

Contributed by Rumyana Neykova.

.. _version-2.4.10:

Page 19 of 30

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.