Version 0.24.0
- the
fromURI method now returns Either String ConnectionOpts to better handle parsing-errors
Version 0.23.0
- bump dependency bounds for
crypton-connection
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
Version 0.12.3
- send version info of this library to RabbitMQ on connecting
Version 0.12.2
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
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