- Added
ConnectionError
type that's returned when a connection is no longer functional. - Added
LinkTargetCapabilities()
option to specify desired target capabilities. - Added
SASLType
used when configuring the SASL authentication mechanism. - Added
Ptr()
method toSenderSettleMode
andReceiverSettleMode
types.
- Removed
ErrConnClosed
andErrTimeout
sentinel error types. - The following methods now require a
context.Context
as their first parameter.Client.NewSession()
,Session.NewReceiver()
,Session.NewSender()
- Removed
context.Context
parameter anderror
return from methodReceiver.Prefetched()
. - The following type names had the prefix
AMQP
removed to prevent stuttering.AMQPAddress
,AMQPMessageID
,AMQPSymbol
,AMQPSequenceNumber
,AMQPBinary
- Various
Default*
constants are no longer exported. - The args to
Receiver.ModifyMessage()
have changed. - The "variadic config" pattern for
Client
,Session
,Sender
, andReceiver
constructors has been replaced with a struct-based config.- This removes the
ConnOption
,SessionOption
, andLinkOption
types and all of the associated configuration funcs. - The sender and receiver specific link options have been moved into their respective options types.
- The
ConnTLS()
option was removed as part of this change.
- This removes the
- The
Dial()
andNew()
constructors now require an*ConnOptions
parameter. Client.NewSession()
now requires a*SessionOptions
parameter.Session.NewSender()
now requirestarget
address and*SenderOptions
parameters.Session.NewReceiver()
now requiressource
address and*ReceiverOptions
parameters.- The various SASL configuration funcs have been slightly renamed.
- Fixed potential panic in
muxHandleFrame()
when checking for manual creditor. - Fixed potential panic in
attachLink()
when copying source filters. New()
will no longer return a broken*Client
in some instances.- Incoming transfer frames received during initial link detach are no longer discarded.
- Session will no longer flood peer with flow frames when half its incoming window is consumed.
- Newly created
Session
won't leak if the context passed toClient.NewSession()
expires before exit. - Newly created
link
won't leak if the context passed tolink.attach()
expires before exit. - Fixed an issue causing dispositions to hang indefinitely with batching enabled when the receiver link is disconnected.
- Errors when reading/writing to the underlying
net.Conn
are now wrapped in aConnectionError
type. - Disambiguate error message for distinct cases where a session wasn't found for the specified remote channel.
- Removed
link.Paused
as it didn't add much value and was broken in some cases. - Only send one flow frame when a drain has been requested.
- Session window size increased to 5000.
- Creation and deletion of
Session
instances have been made deterministic. - Allocation and deallocation of link handles has been made deterministic.