amqp-0.22.2: changelog.md
### Version 0.22.2
* replace `connection` dependency with `crypton-connection`
### Version 0.22.1
* fix a potential deadlock in `closeConnection`
### Version 0.22.0
* `closeChannel` now uses a `ChannelClosedException` to kill the channel-thread instead of `ThreadKilled`. This fixes a bug in 0.21.0 that led to errors being printed on the screen when `closeChannel` was called.
### Version 0.21.0
* added method `isNormalChannelClose`
* Channels that have no explicit exception handlers (added using `addChannelExceptionHandler`) will now print all exceptions to `stderr`, even if those are not of type `ChannelClosedException`. This is an uncommon situation, so it should not have an observable effect for most users.
### Version 0.20.0
* `fromURI` now activates TLS if the URI starts with `ampqs://`. Previously it only changed the port, without activating TLS.
* `fromURI` now supports multi-broker URIs in the form of `amqp://user:pass@host-1:port-2,host-2:port-2/vhost`
### Version 0.19.1
* add `nackMsg` and `nackEnv` methods
### Version 0.19.0
* change `FVString` to be binary instead of UTF-8 encoded
### Version 0.18.3
* respond to `channel.close` messages from the server with `channel.close_ok`
### Version 0.18.2
* support `connection` 0.3 and drop support for `network` < 2.6
### Version 0.18.1
* new function `addConnectionBlockedHandler` to be notified when the connection is blocked (due to the server being resource-constrained)
### Version 0.18.0
* `ConnectionClosedException` and `ChannelClosedException` now specify whether the close was normal (user-initiated) or abnormal (caused by an AMQP exception)
* channels that are abnormally closed and have no exception handler (set using `addChannelExceptionHandler`) will now print the error to `stderr`
* new function `getServerProperties` to get the RabbitMQ server-properties
* `consumeMsgs'` now allows setting a consumer-cancellation-callback
### Version 0.17.0
* When the server asynchronously closed a channel, this was (erroneously) internally represented as a `ConnectionClosedException`. It is now represented as a `ChannelClosedException`. This could affect you if you explicitly match on `ConnectionClosedException` or `ChannelClosedException` in your code, for example when using `addChannelExceptionHandler`.
### Version 0.16.0
* new `coName` field in `ConnectionOpts` to specify a custom name that will be displayed in the RabbitMQ web interface
### Version 0.15.1
* export the `AckType` data-type and constructors
### Version 0.15.0
* The way channels are closed internally was changed. This may affect you if you have installed an exception handler inside the callback passed to `consumeMsgs`. Specifically, the exceptions used internally to close channels are now wrapped inside `ChanThreadKilledException`. You should make sure to re-throw this exception if you did catch it.
### Version 0.14.1
* show all exceptions if no host can be connected to
### Version 0.14.0
* publishMsg now returns the message sequence-number
* new `TLSCustom` field in `TLSSettings`
### Version 0.13.1
* don't print to stderr when `openConnection` fails to connect to a broker
### Version 0.13.0
* support for [RabbitMQ publisher confirms](http://www.rabbitmq.com/confirms.html)
### Version 0.12.3
* send version info of this library to RabbitMQ on connecting
### Version 0.12.2
* GHC 7.10 compatibility
### Version 0.12.1
* error messages now go to stderr
### Version 0.12.0
* new function addChannelExceptionHandler
### Version 0.11.0
* all content fields for messages are now supported
### Version 0.10.0
* the maximum number of channels can now be set
### Version 0.9.0
* add 'global' flag for qos
### Version 0.8.3
* implement closeChannel
### Version 0.8.0
* TLS support
* new helper function rejectEnv
* new field exchangeArguments in ExchangeOpts
* new module Network.AMQP.Lifted with consumeMsgs functions lifted to MonadBaseControl
### Version 0.7.0
* new function fromURI to parse AMQP URIs
* heartbeat support
### Version 0.6.0
* new function addReturnListener which allows specifying a handler for returned messages
* new function openConnection'' with support for most AMQP connection options
* better error message on failed connection handshake
### Version 0.5.0
* support for AMQP 0-9-1
* new function consumeMsgs' which allows you to pass in a field-table
* new function bindExchange allows for binding an exchange to another exchange
* new function unbindQueue allows unbinding a queue from an exchange
* new function unbindExchange allows unbinding an exchange from an exchange
### Version 0.4.3
* use Handles instead of sockets
* fix deprecation warnings from Data.Binary
### Version 0.4.2
* add (Read, Ord, Eq, Show) instances for most data-types
### Version 0.4.1
* add queueHeaders field to QueueOpts
### Version 0.4
* Data.Text is now used instead of Strings. Using the _OverloadedStrings_ extension will make upgrading easier
* the field-types in Network.AMQP.Types should now be more compatible with RabbitMQ
* hostnames passed to openConnection will now be resolved
* basic QoS support
* exceptions thrown in a callback will not erroneously close the channel anymore