[0.9.5](https://github.com/pika/pika/compare/0.9.4...0.9.5)
**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.