python-kombu/python-kombu.changes
Alexandre Rogoski 865d1c7c99 - Update to 2.3.0:
- New pyamqp:// transport!
    The new py-amqp library is a fork of amqplib started with the
    following goals:
        - Uses AMQP 0.9.1 instead of 0.8
        - Should support all RabbitMQ extensions
        - API compatible with librabbitmq so that it can be used
          as a pure-python replacement in environments where rabbitmq-c cannot
          be compiled.
    py-amqp: http://amqp.readthedocs.org/
    If you start using use py-amqp instead of amqplib you can enjoy many
    advantages including:
        - Heartbeat support (Issue #79 + Issue #131)
        - Consumer Cancel Notifications (Issue #131)
        - Publisher Confirms
    amqplib has not been updated in a long while, so maintaining our own fork
    ensures that we can quickly roll out new features and fixes without
    resorting to monkey patching.
    To use the py-amqp transport you must install the amqp library:
        $ pip install amqp
    and change the connection URL to use the correct transport:
        >>> conn = Connection('pyamqp://guest:guest@localhost//')
    The pyamqp:// transport will be the default fallback transport
    in Kombu version 3.0, when librabbitmq is not installed,
    and librabbitmq will also be updated to support the same features.
  - Connection now supports heartbeat argument.
    If enabled you must make sure to manually maintain heartbeats
    by calling the Connection.heartbeat_check at twice the rate
    of the specified heartbeat interval.
    E.g. if you have Connection(heartbeat=10),

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-kombu?expand=0&rev=47
2012-07-26 00:07:12 +00:00

696 lines
29 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-------------------------------------------------------------------
Thu Jul 26 00:01:34 UTC 2012 - alexandre@exatati.com.br
- Update to 2.3.0:
- New pyamqp:// transport!
The new py-amqp library is a fork of amqplib started with the
following goals:
- Uses AMQP 0.9.1 instead of 0.8
- Should support all RabbitMQ extensions
- API compatible with librabbitmq so that it can be used
as a pure-python replacement in environments where rabbitmq-c cannot
be compiled.
py-amqp: http://amqp.readthedocs.org/
If you start using use py-amqp instead of amqplib you can enjoy many
advantages including:
- Heartbeat support (Issue #79 + Issue #131)
- Consumer Cancel Notifications (Issue #131)
- Publisher Confirms
amqplib has not been updated in a long while, so maintaining our own fork
ensures that we can quickly roll out new features and fixes without
resorting to monkey patching.
To use the py-amqp transport you must install the amqp library:
$ pip install amqp
and change the connection URL to use the correct transport:
>>> conn = Connection('pyamqp://guest:guest@localhost//')
The pyamqp:// transport will be the default fallback transport
in Kombu version 3.0, when librabbitmq is not installed,
and librabbitmq will also be updated to support the same features.
- Connection now supports heartbeat argument.
If enabled you must make sure to manually maintain heartbeats
by calling the Connection.heartbeat_check at twice the rate
of the specified heartbeat interval.
E.g. if you have Connection(heartbeat=10),
then you must call Connection.heartbeat_check() every 5 seconds.
if the server has not sent heartbeats at a suitable rate then
the heartbeat check method must raise an error that is listed
in Connection.connection_errors.
The attribute Connection.supports_heartbeats has been added
for the ability to inspect if a transport supports heartbeats
or not.
Calling heartbeat_check on a transport that does
not support heartbeats results in a noop operation.
- SQS: Fixed bug with invalid characters in queue names.
Fix contributed by Zach Smith.
- utils.reprcall: Fixed typo where kwargs argument was an empty tuple by
default, and not an empty dict.
-------------------------------------------------------------------
Wed Jul 11 12:52:40 UTC 2012 - saschpe@suse.de
- Re-enable testsuite and add it's build-time dependencies
-------------------------------------------------------------------
Tue Jul 10 22:40:59 UTC 2012 - alexandre@exatati.com.br
- Update to 2.2.6:
- Adds ``messaging.entry_to_queue`` for compat with previous versions.
-------------------------------------------------------------------
Tue Jul 10 16:34:37 UTC 2012 - alexandre@exatati.com.br
- Update to 2.2.5:
- Pidbox: Now sets queue expire at 10 seconds for reply queues.
- EventIO: Now ignores ``ValueError`` raised by epoll unregister.
- MongoDB: Fixes Issue #142
Fix by Flavio Percoco Premoli
-------------------------------------------------------------------
Thu Jul 5 16:30:11 UTC 2012 - alexandre@exatati.com.br
- Update to 2.2.4:
- Support for msgpack-python 0.2.0 (Issue #143)
The latest msgpack version no longer supports Python 2.5, so if you're
still using that you need to depend on an earlier msgpack-python version.
Fix contributed by Sebastian Insua
- kombu.common.maybe_declare no longer caches entities with the
auto_delete flag set.
- New experimental filesystem transport.
Contributed by Bobby Beever.
- Virtual Transports: Now support anonymous queues and exchanges.
-------------------------------------------------------------------
Mon Jun 25 02:37:27 UTC 2012 - alexandre@exatati.com.br
- Update to 2.2.3:
- BrokerConnection now renamed to Connection.
The name Connection has been an alias for a very long time,
but now the rename is official in the documentation as well.
The Connection alias has been available since version 1.1.3,
and BrokerConnection will still work and is not deprecated.
- Connection.clone() now works for the sqlalchemy transport.
- kombu.common.eventloop, kombu.utils.uuid,
and kombu.utils.url.parse_url can now be
imported from the kombu module directly.
- Pidbox transport callback after_reply_message_received now happens
in a finally block.
- Trying to use the librabbitmq:// transport will now show the right
name in the ImportError if librabbitmq is not installed.
The librabbitmq falls back to the older pylibrabbitmq name for
compatibility reasons and would therefore show No module named
pylibrabbitmq instead of librabbitmq.
-------------------------------------------------------------------
Fri Jun 22 17:03:30 UTC 2012 - alexandre@exatati.com.br
- Update to 2.2.2:
- Now depends on anyjson 0.3.3
- Json serializer: Now passes buffer objects directly,
since this is supported in the latest anyjson version.
- Fixes blocking epoll call if timeout was set to 0.
Fix contributed by John Watson.
- setup.py now takes requirements from the requirements/ directory.
- The distribution directory contrib/ is now renamed to extra/
-------------------------------------------------------------------
Thu Jun 21 14:40:14 UTC 2012 - alexandre@exatati.com.br
- Update to 2.2.1:
- SQS: Default visibility timeout is now 30 minutes.
Since we have ack emulation the visibility timeout is
only in effect if the consumer is abrubtly terminated.
- retry argument to Producer.publish now works properly,
when the declare argument is specified.
- Json serializer: didn't handle buffer objects (Issue #135).
Fix contributed by Jens Hoffrichter.
- Virtual: Now supports passive argument to exchange_declare.
- Exchange & Queue can now be bound to connections (which will use
the default channel):
>>> exchange = Exchange("name")
>>> bound_exchange = exchange(connection)
>>> bound_exchange.declare()
- SimpleQueue & SimpleBuffer can now be bound to connections (which
will use the default channel).
- Connection.manager.get_bindings now works for librabbitmq and pika.
- Adds new transport info attributes:
- Transport.driver_type
Type of underlying driver, e.g. "amqp", "redis", "sql".
- Transport.driver_name
Name of library used e.g. "amqplib", "redis", "pymongo".
- Transport.driver_version()
Version of underlying library.
-------------------------------------------------------------------
Fri Jun 8 12:58:07 UTC 2012 - alexandre@exatati.com.br
- Update to 2.2.0:
- Please read descriptive changelog here:
http://kombu.readthedocs.org/en/latest/changelog.html#version-2-2-0
-------------------------------------------------------------------
Mon May 7 20:49:30 UTC 2012 - alexandre@exatati.com.br
- Update to 2.1.8:
* Bound Exchange/Queue's are now pickleable.
* Consumer/Producer can now be instantiated without a channel,
and only later bound using .revive(channel).
* ProducerPool now takes Producer argument.
* kombu.utils.fxrange now counts forever if the
stop argument is set to None.
(fxrange is like xrange but for decimals).
* Auto delete support for virtual transports were incomplete
and could lead to problems so it was removed.
* Cached declarations (kombu.common.maybe_declare)
are now bound to the underlying connection, so that
entities are redeclared if the connection is lost.
This also means that previously uncacheable entities
(e.g. non-durable) can now be cached.
* compat ConsumerSet: can now specify channel.
-------------------------------------------------------------------
Fri Apr 27 18:59:01 UTC 2012 - alexandre@exatati.com.br
- Update to 2.1.7:
* compat consumerset now accepts optional channel argument.
-------------------------------------------------------------------
Mon Apr 23 14:41:50 UTC 2012 - alexandre@exatati.com.br
- Update to 2.1.6:
* SQLAlchemy transport was not working correctly after URL parser change.
* maybe_declare now stores cached declarations per underlying connection
instead of globally, in the rare case that data disappears from the
broker after connection loss.
* Django: Added South migrations.
Contributed by Joseph Crosland.
-------------------------------------------------------------------
Fri Apr 13 17:37:56 UTC 2012 - alexandre@exatati.com.br
- Update to 2.1.5:
* The url parser removed more than the first leading slash (Issue #121).
* SQLAlchemy: Can now specify url using + separator
Example::
BrokerConnection("sqla+mysql://localhost/db")
* Better support for anonymous queues (Issue #116).
Contributed by Michael Barrett.
* Connection.as_uri now quotes url parts (Issue #117).
* Beanstalk: Can now set message TTR as a message property.
Contributed by Andrii Kostenko
-------------------------------------------------------------------
Tue Apr 3 16:49:46 UTC 2012 - alexandre@exatati.com.br
- Update to 2.1.4:
* MongoDB: URL parsing are now delegated to the pymongo library
(Fixes Issue #103 and Issue #87).
Fix contributed by Flavio Percoco Premoli and James Sullivan
* SQS: A bug caused SimpleDB to be used even if sdb persistence
was not enabled (Issue #108).
Fix contributed by Anand Kumria.
* Django: Transaction was committed in the wrong place, causing
data cleanup to fail (Issue #115).
Fix contributed by Daisuke Fujiwara.
* MongoDB: Now supports replica set URLs.
Contributed by Flavio Percoco Premoli.
* Redis: Now raises a channel error if a queue key that is currently
being consumed from disappears.
Fix contributed by Stephan Jaekel.
* All transport 'channel_errors' lists now includes
kombu.exception.StdChannelError.
* All kombu exceptions now inherit from a common
kombu.exceptions.KombuError.
-------------------------------------------------------------------
Tue Mar 27 08:35:53 UTC 2012 - saschpe@suse.de
- Change rabbitmq-server recommends to suggests, OpenStack doesn't like that
- Simplified macro usage
- Use upstream tarball
-------------------------------------------------------------------
Tue Mar 20 17:42:53 UTC 2012 - alexandre@exatati.com.br
- Update to 2.1.3:
* Fixes Jython compatibility issues.
* Fixes Python 2.5 compatibility issues.
-------------------------------------------------------------------
Wed Mar 14 13:45:07 UTC 2012 - alexandre@exatati.com.br
- Add BuildRequires python-unittest2 to fix SLE builds.
-------------------------------------------------------------------
Wed Mar 14 13:26:04 UTC 2012 - alexandre@exatati.com.br
- Do not touch files without a submitrequest.
-------------------------------------------------------------------
Sat Mar 10 17:49:39 UTC 2012 - saschpe@gmx.de
- Require rabbitmq-server, suggest mongodb or couchdb
-------------------------------------------------------------------
Sat Mar 10 17:00:40 UTC 2012 - saschpe@gmx.de
- Update to version 2.1.1:
* Connection URLs now supports encoded characters.
* Fixed a case where connection pool could not recover from connection loss.
* We now patch amqplib's __del__ method to skip trying to close the socket
if it is not connected, as this resulted in an annoying warning.
* Compression can now be used with binary message payloads.
- Don't install INSTALL
- Run testsuite
-------------------------------------------------------------------
Sat Feb 4 18:00:49 UTC 2012 - alexandre@exatati.com.br
- Update to 2.1.0:
* MongoDB: Now supports fanout (broadcast) (Issue #98).
Contributed by Scott Lyons.
* pika transport: Now works with pika 0.9.5 and 0.9.6dev.
The old pika transport (supporting 0.5.x) is now available
as alias oldpika.
(Note terribly latency has been experienced with the new pika
versions, so this is still an experimental transport).
-------------------------------------------------------------------
Tue Jan 17 01:15:23 UTC 2012 - alexandre@exatati.com.br
- Update to 2.0.0:
Important Notes
- No longer supports Python 2.4.
New Transports
- django-kombu is now part of Kombu core.
- kombu-sqlalchemy is now part of Kombu core.
News
- kombu.mixins.ConsumerMixin is a mixin class that lets you
easily write consumer programs and threads.
- SQS Transport: Added support for SQS queue prefixes (Issue #84).
- Producer.publish now supports automatic retry.
- Producer.publish now supports a declare keyword argument.
Fixes
- Redis transport: Timeout was multiplied by 1000 seconds when
using select for event I/O (Issue #86).
-------------------------------------------------------------------
Wed Nov 30 14:55:08 UTC 2011 - alexandre@exatati.com.br
- Update to 1.5.1:
* Fixes issue with kombu.compat introduced in 1.5.0 (Issue #83).
* Adds the ability to disable content_types in the serializer registry.
-------------------------------------------------------------------
Mon Nov 28 02:19:24 UTC 2011 - alexandre@exatati.com.br
- Update to 1.5.0:
* kombu.pools: Fixed a bug resulting in resources not being properly released.
This was caused by the use of __hash__ to distinguish them.
* Virtual transports: Dead-letter queue is now disabled by default.
The dead-letter queue was enabled by default to help application
authors, but now that Kombu is stable it should be removed.
There are after all many cases where messages should just be dropped
when there are no queues to buffer them, and keeping them without
supporting automatic cleanup is rather considered a resource leak
than a feature.
If wanted the dead-letter queue can still be enabled, by using
the deadletter_queue transport option:
>>> x = BrokerConnection("redis://",
... transport_options={"deadletter_queue": "ae.undeliver"})
In addition, an UndeliverableWarning is now emitted when
the dead-letter queue is enabled and a message ends up there.
* MongoDB transport now supports Replicasets (Issue #81).
* The Connection.ensure methods now accepts a max_retries value
of 0.
A value of 0 now means *do not retry*, which is distinct from :const:None
which means *retry indefinitely*.
* SQS Transport: Now has a lowercase sqs alias, so that it can be
used with broker URLs (Issue #82).
* SQS Transport: Fixes KeyError on message acknowledgements (Issue #73).
The SQS transport now uses UUID's for delivery tags, rather than
a counter.
* SQS Transport: Unicode related fixes (Issue #82).
* Redis version check could crash because of improper handling of types
(Issue #63).
* Fixed error with Resource.force_close_all, when resources
not yet properly initialized. (Issue #78).
-------------------------------------------------------------------
Thu Oct 27 22:33:03 UTC 2011 - alexandre@exatati.com.br
- Update to 1.4.3:
- Fixes bug in ProducerPool where too many resources would be acquired.
-------------------------------------------------------------------
Wed Oct 26 18:12:33 UTC 2011 - alexandre@exatati.com.br
- Update to 1.4.2:
- Eventio: Polling should ignore errno.EINTR
- SQS: str.encode did only start accepting kwargs after Py2.7.
- simple_task_queue example didnt run correctly (Issue #72).
- Empty messages would not raise an exception not able to be
handled by on_decode_error (Issue #72)
- CouchDB: Properly authenticate if user/password set (Issue #70)
- BrokerConnection.Consumer had the wrong signature.
-------------------------------------------------------------------
Mon Sep 26 18:46:36 UTC 2011 - alexandre@exatati.com.br
- Update to 1.4.1:
- 1.4.0 broke the producer pool, resulting in new connections being
established for every acquire.
-------------------------------------------------------------------
Thu Sep 22 16:59:42 UTC 2011 - alexandre@exatati.com.br
- Update to 1.4.0:
- Adds module kombu.mixins.
- New example: Task Queue Example
- MongoDB transport did not work with MongoDB >= 2.0 (Issue #66)
- Redis-py version check did not account for beta identifiers in
version string.
- Producer and Consumer now accepts a connection instance as the
first argument.
- BrokerConnection has aquired a connected attribute that can be
used to check if the connection instance has established a
connection.
- ConnectionPool.acquire_channel now returns the connections
default channel rather than establising a new channel that must be manually handled.
- Added kombu.common.maybe_declare
- kombu.compat.entry_to_queue() has been moved to kombu.common
- New module kombu.clocks now contains an implementation of
Lamports logical clock.
-------------------------------------------------------------------
Mon Sep 19 18:45:36 UTC 2011 - alexandre@exatati.com.br
- Update to 1.3.5:
* Python 3: AMQP_PROTOCOL_HEADER must be bytes, not str.
- Changes from 1.3.4:
* Fixes syntax error in pools.reset
-------------------------------------------------------------------
Thu Sep 15 16:55:35 UTC 2011 - alexandre@exatati.com.br
- Update to 1.3.3:
* pools.reset did not support after forker arguments.
-------------------------------------------------------------------
Sun Sep 11 01:15:42 UTC 2011 - alexandre@exatati.com.br
- Update to 1.3.2:
* Broke Python 2.5 compatibility by importing parse_qsl from urlparse
* Connection.default_channel is now closed when connection is revived
after connection failures.
* Pika: Channel now supports the connection.client attribute
as required by the simple interface.
* pools.set_limit now raises an exception if the limit is lower
than the previous limit.
* pools.set_limit no longer resets the pools.
-------------------------------------------------------------------
Thu Sep 8 01:40:01 UTC 2011 - alexandre@exatati.com.br
- Update to 1.3.1:
* Last release broke after fork for pool reinitialization.
* Producer/Consumer now has a connection attribute,
giving access to the BrokerConnection of the
instance.
* Pika: Channels now have access to the underlying
BrokerConnection instance using channel.connection.client.
This was previously required by the Simple classes and is now
also required by Consumer and Producer.
* Connection.default_channel is now closed at object revival.
* Adds kombu.clocks.LamportClock.
* compat.entry_to_queue has been moved to new module kombu.common.
-------------------------------------------------------------------
Mon Sep 5 22:53:31 UTC 2011 - alexandre@exatati.com.br
- Update to 1.3.0:
* Broker connection info can be now be specified using URLs
* Now comes with default global connection and producer pools
* SQS Transport: Persistence using SimpleDB is now disabled by
default, after reports of unstable SimpleDB connections leading
to errors
* Producer can now be used as a context manager
* Producer.__exit__ now properly calls release instead of close
* Now silences all exceptions from import ctypes to match behaviour
of the standard Python uuid module, and avoid passing on
MemoryError exceptions on SELinux-enabled systems (Issue #52 +
Issue #53)
* amqp is now an alias to the amqplib transport
* kombu.syn.detect_environment now returns default, eventlet,
or gevent depending on what monkey patches have been installed
* Serialization registry has new attribute type_to_name so it is
possible to lookup serializater name by content type
* Exchange argument to Producer.publish can now be an Exchange
instance
* compat.Publisher now supports the channel keyword argument
* Acking a message on some transports could lead to KeyError being
raised (Issue #57)
* Connection pool: Connections are no long instantiated when the
pool is created, but instantiated as needed instead
* Tests now pass on PyPy
* Connection.as_uri now includes the password if the keyword
argument include_password is set
* Virtual transports now comes with a default
default_connection_params attribute
-------------------------------------------------------------------
Fri Jul 29 12:44:33 UTC 2011 - alexandre@exatati.com.br
- Update to 1.2.1:
* Now depends on amqplib >= 1.0.0.
* Redis: Now automatically deletes auto_delete queues at basic_cancel.
* serialization.unregister added so it is possible to remove unwanted
seralizers.
* Fixes MemoryError while importing ctypes on SELinux (Issue #52).
* BrokerConnection.autoretry is a version of ensure that works
with arbitrary functions (i.e. it does not need an associated object
that implements the revive method.
* ConnectionPool.acquire no longer force establishes the connection.
The connection will be established as needed.
* BrokerConnection.ensure now supports an on_revive callback
that is applied whenever the connection is re-established.
* Consumer.consuming_from(queue) returns True if the Consumer is
consuming from queue.
* Consumer.cancel_by_queue did not remove the queue from queues.
* compat.ConsumerSet.add_queue_from_dict now automatically declared
the queue if auto_declare set.
-------------------------------------------------------------------
Fri Jul 15 12:52:07 UTC 2011 - alexandre@exatati.com.br
- Update to 1.2.0:
* Virtual: Fixes cyclic reference in Channel.close (Issue #49).
* Producer.publish: Can now set additional properties using keyword
arguments (Issue #48).
* Adds Queue.no_ack option to control the no_ack option for individual queues.
* Recent versions broke pylibrabbitmq support.
* SimpleQueue and SimpleBuffer can now be used as contexts.
* Test requirements specifies PyYAML==3.09 as 3.10 dropped Python 2.4 support
* Now properly reports default values in Connection.info/.as_uri
-------------------------------------------------------------------
Mon Jun 13 22:42:00 UTC 2011 - alexandre@exatati.com.br
- Update to 1.1.6:
* Redis: Fixes issue introduced in 1.1.4, where a redis connection
failure could leave consumer hanging forever.
* SQS: Now supports fanout messaging by using SimpleDB to store routing
tables.
This can be disabled by setting the supports_fanout transport option:
>>> BrokerConnection(transport="SQS",
... transport_options={"supports_fanout": False})
* SQS: Now properly deletes a message when a message is acked.
* SQS: Can now set the Amazon AWS region, by using the region
transport option.
* amqplib: Now uses localhost as default hostname instead of raising an
error.
-------------------------------------------------------------------
Tue Jun 7 22:57:44 UTC 2011 - alexandre@exatati.com.br
- Update to 1.1.5:
* Fixes compatibility with redis-py 2.4.4.
- Aditional changes from:
* Redis transport: Now requires redis-py version 2.4.4 or later.
* New Amazon SQS transport added.
* librabbitmq transport: Fixes default credentials support.
* amqplib transport: Now supports login_method for SSL auth.
Default login_method is AMQPLAIN.
-------------------------------------------------------------------
Thu Apr 21 18:07:47 UTC 2011 - alexandre@exatati.com.br
- Update to 1.1.3:
* Redis: Consuming from multiple connections now works with
Eventlet.
* Redis: Can now perform channel operations while the channel
is in BRPOP/LISTEN mode (Issue #35).
Also the async BRPOP now times out after 1 second, this
means that cancelling consuming from a queue/starting
consuming from additional queues has a latency of up to
one second (BRPOP does not support subsecond timeouts).
* Virtual: Allow channel objects to be closed multiple times
without error.
* amqplib: AttributeError has been added to the list of known
connection related errors (Connection.connection_errors).
* amqplib: Now converts SSLError timeout errors to
socket.timeout (http://bugs.python.org/issue10272)
* Ensures cyclic references are destroyed when the connection
is closed.
-------------------------------------------------------------------
Wed Apr 6 17:43:07 UTC 2011 - alexandre@exatati.com.br
- Update to 1.1.2:
* Redis: Fixes serious issue where messages could be lost.
The issue could happen if the message exceeded a certain number
of kilobytes in size.
It is recommended that all users of the Redis transport should
upgrade to this version, even if not currently experiencing any
issues.
-------------------------------------------------------------------
Wed Apr 6 00:59:48 UTC 2011 - alexandre@exatati.com.br
- Update to 1.1.1:
* 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.
For transport authors:
You dont 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.
* BrokerConnection: 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 BrokerConnection (Issue #30).
* BrokerConnection: Default autentication credentials are now
delegated to the individual transports.
* Consumer.__exit__() did not have the correct signature
(Issue #32).
* Channel objects now have a channel_id attribute.
* MongoDB: Version sniffing broke with development versions of
mongod (Issue #29).
* New environment variable KOMBU_LOG_CONNECTION will now emit
debug log messages for connection related actions.
KOMBU_LOG_DEBUG will also enable KOMBU_LOG_CONNECTION.
-------------------------------------------------------------------
Tue Mar 29 01:14:55 UTC 2011 - alexandre@exatati.com.br
- Update to 1.0.7:
* 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 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 socket.timeout even if no timeout
set (Issue #8).
-------------------------------------------------------------------
Tue Mar 22 16:59:52 UTC 2011 - alexandre@exatati.com.br
- Update to 1.0.6:
- 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.
- Aditional changes from 1.0.5:
- 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.
- Added AUTHORS Changelog FAQ INSTALL README THANKS TODO files
as documentation.
-------------------------------------------------------------------
Tue Mar 1 00:31:41 UTC 2011 - alexandre@exatati.com.br
- Update to 1.0.4:
* 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.
-------------------------------------------------------------------
Sat Feb 12 17:17:22 UTC 2011 - alexandre@exatati.com.br
- Initial package (1.0.3) for openSUSE.