- Don't require python-msgpack-python for testing until issues are fixed.
It's an optional feature anyway
- Expanded test coverage
- Don't require python-msgpack-python for testing until issues are fixed.
It's an optional feature anyway
- Drop link to python3-kombu, it's not really support Py3K ATM
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-kombu?expand=0&rev=84
Kombu 3 consumers will no longer accept pickle/yaml or msgpack
by default, and you will have to explicitly enable untrusted deserializers
either globally using kombu.enable_insecure_serializers, or
using the accept argument to kombu.Consumer.
- New utility function to disable/enable untrusted serializers.
- kombu.disable_insecure_serializers
- kombu.enable_insecure_serializers
- Consumer: `accept` can now be used to specify a whitelist
of content types to accept.
If the accept whitelist is set and a message is received
with a content type that is not in the whitelist then a
:exc:`~kombu.exceptions.ContentDisallowed` exception
is raised. Note that this error can be handled by the already
existing `on_decode_error` callback
Examples:
Consumer(accept=['application/json'])
Consumer(accept=['pickle', 'json'])
- Now depends on amqp 1.0.11
- pidbox: Mailbox now supports the `accept` argument.
- Redis: More friendly error for when keys are missing.
- Connection URLs: The parser did not work well when there were
multiple '+' tokens.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-kombu?expand=0&rev=76
- Pidbox: Now warns if there are multiple nodes consuming from
the same pidbox.
- Adds Queue.on_declared <kombu.Queue.on_declared>
A callback to be called when the queue is declared,
with signature (name, messages, consumers).
- Now uses fuzzy matching to suggest alternatives to typos in transport
names.
- SQS: Adds new transport option queue_prefix.
Contributed by j0hnsmith.
- pyamqp: No longer overrides verify_connection.
- SQS: Now specifies the driver_type and driver_name
attributes.
Fix contributed by Mher Movsisyan.
- Fixed bug with kombu.utils.retry_over_time when no errback
specified.
- Update to 2.5.9:
- Pidbox: Now warns if there are multiple nodes consuming from
the same pidbox.
- Adds Queue.on_declared <kombu.Queue.on_declared>
A callback to be called when the queue is declared,
with signature (name, messages, consumers).
- Now uses fuzzy matching to suggest alternatives to typos in transport
names.
- SQS: Adds new transport option queue_prefix.
Contributed by j0hnsmith.
- pyamqp: No longer overrides verify_connection.
- SQS: Now specifies the driver_type and driver_name
attributes.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-kombu?expand=0&rev=75
- Now depends on amqp 1.0.10 which fixes a Python 3 compatibility
error.
- Redis: Fixed a possible race condition (Issue #171).
- Redis: Ack emulation/visibility_timeout can now be disabled
using a transport option.
Ack emulation adds quite a lot of overhead to ensure data is safe
even in the event of an unclean shutdown. If data loss do not worry
you there is now an `ack_emulation` transport option you can use
to disable it:
Connection('redis://', transport_options={'ack_emulation': False})
- SQS: Fixed boto v2.7 compatibility (Issue #207).
- Exchange: Should not try to re-declare default exchange ("")
(Issue #209).
- SQS: Long polling is now disabled by default as it was not
implemented correctly, resulting in long delays between receiving
messages (Issue #202).
- Fixed Python 2.6 incompatibility depending on exc.errno
being available.
Fix contributed by Ephemera.
- Update to 2.5.8:
- Now depends on amqp 1.0.10 which fixes a Python 3 compatibility
error.
- Redis: Fixed a possible race condition (Issue #171).
- Redis: Ack emulation/visibility_timeout can now be disabled
using a transport option.
Ack emulation adds quite a lot of overhead to ensure data is safe
even in the event of an unclean shutdown. If data loss do not worry
you there is now an `ack_emulation` transport option you can use
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-kombu?expand=0&rev=74
- Now depends on amqp 1.0.9
- Redis: A regression in 2.5.6 caused the redis transport to
ignore options set in transport_options.
- Redis: New socket_timeout transport option.
- Redis: InconsistencyError is now regarded as a recoverable error.
- Resource pools: Will no longer attempt to release resource
that was never acquired.
- MongoDB: Now supports the ssl option.
Contributed by Sebastian Pawlus.
- Update to 2.5.7:
- Now depends on amqp 1.0.9
- Redis: A regression in 2.5.6 caused the redis transport to
ignore options set in transport_options.
- Redis: New socket_timeout transport option.
- Redis: InconsistencyError is now regarded as a recoverable error.
- Resource pools: Will no longer attempt to release resource
that was never acquired.
- MongoDB: Now supports the ssl option.
Contributed by Sebastian Pawlus.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-kombu?expand=0&rev=73
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
cancelling 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.
- Update to 2.5.5:
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.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-kombu?expand=0&rev=70
- Add requirements on Python-2.6 compat modules Python-2.6 for SLES:
+ python-importlib and python-ordereddict
- Update to 2.5.3:
- Pidbox: Fixed compatibility with Python 2.6
- Aditional changes from 2.5.2:
- [Redis] Fixed connection leak and added a new 'max_connections'
transport option.
- Aditional changes from 2.5.1
- Fixed bug where return value of Queue.as_dict could not be
serialized with JSON (Issue #177).
- Aditional changes from 2.5.0
- 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 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 kombu.Connection can now be a list of connection
URLs:
OBS-URL: https://build.opensuse.org/request/show/144413
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kombu?expand=0&rev=20
- Pidbox: Fixed compatibility with Python 2.6
- Aditional changes from 2.5.2:
- [Redis] Fixed connection leak and added a new 'max_connections'
transport option.
- Aditional changes from 2.5.1
- Fixed bug where return value of Queue.as_dict could not be
serialized with JSON (Issue #177).
- Aditional changes from 2.5.0
- 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 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 kombu.Connection can now be a list of connection
URLs:
Connection(['amqp://foo', 'amqp://bar'])
or it can be a single string argument with several URLs separated by
semicolon:
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-kombu?expand=0&rev=60
- Redis: Fixed race condition that could occur while trying to
restore messages (Issue #171).
Fix contributed by Ollie Walsh.
- Redis: Each channel is now using a specific connection pool
instance, which is disconnected on connection failure.
- ProducerPool: Fixed possible dead-lock in the acquire method.
- ProducerPool: force_close_all no longer tries to call the
non-existent Producer._close.
- librabbitmq: Now implements transport.verify_connection so
that connection pools will not give back connections that are
no longer working.
- New and better repr() for Queue and Exchange objects.
- Python3: Fixed problem with running the unit test suite.
- Python3: Fixed problem with JSON codec.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-kombu?expand=0&rev=57
- Redis: Fair queue cyle implementation improved (Issue #166).
Contributed by Kevin McCarthy.
- Redis: Number of messages to restore in one iteration is now
unlimited, but can be configured using the unacked_restore_limit
transport option.
- Redis: A Redis based mutex is now used while restoring messages.
- LamportClock.adjust now returns the new clock value.
- Heartbeats can now be specified in URLs.
Fix contributed by Mher Movsisyan.
- Kombu can now be used with PyDev, PyCharm and other static
analysis tools.
- Fixes problem with msgpack on Python 3 (Issue #162).
Fix contributed by Jasper Bryant-Greene
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-kombu?expand=0&rev=56
- Virtual: Unknown exchanges now default to 'direct' when sending
a message.
- MongoDB: Fixed memory leak when merging keys stored in the db
(Issue #159)
Fix contributed by Michael Korbakov.
- MongoDB: Better index for MongoDB transport (Issue #158).
This improvement will create a new compund index for queue and
_id in order to be able to use both indexed fields for getting
a new message (using queue field) and sorting by _id. It'll be
necessary to manually delete the old index from the collection.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-kombu?expand=0&rev=55
- Update to 2.4.2:
- Having an empty transport name broke in 2.4.1.
- Aditional changes from 2.4.1:
- Redis: Fixed race condition that could cause the consumer to
crash (Issue #151)
Often leading to the error message "could not convert string to
float"
- Connection retry could cause an inifite loop (Issue #145).
- The amqp alias is now resolved at runtime, so that eventlet
detection works even if patching was done later.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-kombu?expand=0&rev=50
- New experimental ZeroMQ transport.
Contributed by John Watson.
- Redis: Ack timed-out messages were not restored when using the eventloop.
- Now uses pickle protocol 2 by default to be cross-compatible with Python 3.
The protocol can also now be changed using the PICKLE_PROTOCOL
environment variable.
- Adds Transport.supports_ev attribute.
- Pika: Queue purge was not working properly.
Fix contributed by Steeve Morin.
- Pika backend was no longer working since Kombu 2.3
Fix contributed by Steeve Morin.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-kombu?expand=0&rev=49