Releases: Azure/go-amqp
Releases · Azure/go-amqp
v1.4.0-beta.1
Features Added
- Added
Sender
support for delayed confirmation of message settlement and retrieval of delivery state.Sender.SendWithReceipt
sends a message and returns aSendReceipt
.SendReceipt.Wait
waits for confirmation of settlement and returns the message's delivery state.- The
DeliveryState
interface encapsulates concrete delivery outcomesStateAccepted
,StateModified
,StateRejected
,StateReleased
and
non-terminal delivery stateStateReceived
.
v1.3.0
v1.2.0
Features Added
- Added type
Null
used to send an AMQPnull
message value. - Added method
Properties
toConn
,Session
,Receiver
, andSender
which contains the peer's respective properties.
Bugs Fixed
- Fixed a rare race in
Conn.start
that could cause goroutines to be leaked if the provided context was canceld/expired.
Other Changes
- The field
MessageHeader.Durable
is not omitted when it'sfalse
.
v1.1.0
Features Added
- Allow for errors.As() to see the underlying AMQP error by (PR#329)
v1.0.5
Bugs Fixed
- Fixed an issue that could cause delays when parsing small frames.
v1.0.4
Other Changes
- A
Receiver
's unsettled messages are tracked as a count (currently used for diagnostic purposes only).
v1.0.3
Bugs Fixed
- Fixed an issue that could cause a memory leak when settling messages across Receiver instances.
v1.0.2
Bugs Fixed
- Fixed an issue that could cause frames to be sent even when the provided context.Context was cancelled.
- Fixed a potential hang in Sender.Send() that could happen in rare circumstances.
- Ensure that Sender's delivery count and link credit are updated when a transfer fails to send due to context cancellation/timeout.
v1.0.1
Bugs Fixed
- Fixed an issue that could cause links to terminate with error "received disposition frame with unknown link handle X".
v1.0.0
Features Added
- Added
ConnOptions.WriteTimeout
to control the write deadline when writing tonet.Conn
.
Bugs Fixed
- Calling
Dial()
with a cancelled context doesn't create a connection. - Context cancellation is properly honored in calls to
Dial()
andNewConn()
. - Fixed potential race during
Conn.Close()
. - Disable sending frames when closing
Session
,Sender
, andReceiver
. - Don't leak in-flight messages when a message settlement API is cancelled or times out waiting for acknowledgement.
Sender.Send()
will return an*amqp.Error
with conditionamqp.ErrCondTransferLimitExceeded
when attempting to send a transfer on a link with no credit.Sender.Send()
will return an*amqp.Error
with conditionamqp.ErrCondMessageSizeExceeded
if the message or delivery tag size exceeds the maximum allowed size for the link.
Other Changes
- Debug logging includes the address of the object that's writing a log entry.
- Context expiration or cancellation when creating instances of
Session
,Receiver
, andSender
no longer result in the potential forConn
to unexpectedly terminate. - Session channel and link handle exhaustion will now return
*ConnError
and*SessionError
respectively, closing the respectiveConn
orSession
. - If a
context.Context
contains a deadline/timeout, that value will be used as the write deadline when writing tonet.Conn
.