[rabbitmq-discuss] Pika v0.9.5 Released

Gavin M. Roy gmr at myyearbook.com
Tue Mar 29 07:04:48 BST 2011


I am pleased to announce that Pika v0.9.5 is now available for download. Pika AMQP 0-9-1/RabbitMQ 2.0+ client library for Python.

Pika v0.9.5 adds over 100 additional unit and functional tests covering Python 2.4 through Python 2.7 and addresses major bugs found in v0.9.4. 

All users of the 0.9 tree of Pika are highly encouraged to upgrade to v0.9.5.

Pika's home has moved to https://github.com/pika and documentation is now available at http://pika.github.com.

Thanks to Brian K. Jones, Jason J. W. Williams, Marek Majkowski, Peter Magnusson and Samuel Stauffer for bug-fixes, suggestions and contributions to this release.

Pika v0.9.5 is mainly a bug fix version and is intended to be the last version in the 0.9 tree, however please report any issues at https://github.com/pika/pika/issues

Pika may be installed via source from http://pypi.python.org/packages/source/p/pika/pika-0.9.5.tar.gz (md5: 38527f6977bf0a0b204710b93b0c6417)

It is also available for installation via easy_install and pip:

 pip install pika / easy_install pika

Changelog
- Scope changes with adapter IOLoops and CallbackManager allowing for cleaner, multi-threaded operation
- Add support for Confirm.Select with channel.Channel.confirm_delivery()
- Add examples of delivery confirmation to examples (demo_send_confirmed.py)
- Update uses of log.warn with warning.warn for TCP Back-pressure alerting
- License boilerplate updated to simplify license text in source files
- Increment the timeout in select_connection.SelectPoller reducing CPU utilization
- Bug fix in Heartbeat frame delivery addressing issue #35
- Remove abuse of pika.log.method_call through a majority of the code
- Rename of key modules: table to data, frames to frame
- Cleanup of frame module and related classes
- Restructure of tests and test runner
- Update functional tests to respect RABBITMQ_HOST, RABBITMQ_PORT environment variables
- Bug fixes to reconnection_strategies module
- Fix the scale of timeout for PollPoller to be specified in milliseconds
- Remove mutable default arguments in RPC calls
- Add data type validation to RPC calls
- Move optional credentials erasing out of connection.Connection into credentials module
- Add support to allow for additional external credential types
- Add a NullHandler to prevent the 'No handlers could be found for logger "pika"' error message when not using pika.log in a client app at all.
- Clean up all examples to make them easier to read and use
- Move documentation into its own repository https://github.com/pika/documentation
- channel.py:
- Move channel.MAX_CHANNELS constant from connection.CHANNEL_MAX
- Add default value of None to ChannelTransport.rpc
- Validate callback and acceptable replies parameters in ChannelTransport.RPC
- Remove unused connection attribute from Channel
- connection.py:
- Remove unused import of struct
- Remove direct import of pika.credentials.PlainCredentials
- Change to import pika.credentials
- Move CHANNEL_MAX to channel.MAX_CHANNELS
- Change ConnectionParameters initialization parameter heartbeat to boolean
- Validate all inbound parameter types in ConnectionParameters
- Remove the Connection._erase_credentials stub method in favor of letting the Credentials object deal with that itself.
- Warn if the credentials object intends on erasing the credentials and a reconnection strategy other than NullReconnectionStrategy is specified.
- Change the default types for callback and acceptable_replies in Connection._rpc
- Validate the callback and acceptable_replies data types in Connection._rpc
- adapters.blocking_connection.BlockingConnection:
- Addition of _adapter_disconnect to blocking_connection.BlockingConnection
- Add timeout methods to BlockingConnection addressing issue #41
- BlockingConnection didn't allow you register more than one consumer callback because basic_consume was overridden to block immediately. New behavior allows you to do so.
- Removed overriding of base basic_consume and basic_cancel methods. Now uses underlying Channel versions of those methods.
- Added start_consuming() method to BlockingChannel to start the consumption loop.
- Updated stop_consuming() to iterate through all the registered consumers in self._consumers and issue a basic_cancel.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20110329/3a37278c/attachment.htm>


More information about the rabbitmq-discuss mailing list