Skip to content

Releases: Azure/go-amqp

v1.4.0-beta.1

05 Dec 23:52
63cbd1a
Compare
Choose a tag to compare
v1.4.0-beta.1 Pre-release
Pre-release

Features Added

  • Added Sender support for delayed confirmation of message settlement and retrieval of delivery state.
    • Sender.SendWithReceipt sends a message and returns a SendReceipt.
    • SendReceipt.Wait waits for confirmation of settlement and returns the message's delivery state.
    • The DeliveryState interface encapsulates concrete delivery outcomes StateAccepted, StateModified, StateRejected, StateReleased and
      non-terminal delivery state StateReceived.

v1.3.0

03 Dec 14:37
45cff0b
Compare
Choose a tag to compare

Features Added

  • Added methods Done and Err to Conn
    • Done returns a channel that's closed when Conn has closed.
    • Err explains why Conn was closed.
  • encoding.Symbol was exposed as a public type Symbol.

v1.2.0

30 Sep 17:13
fff23c3
Compare
Choose a tag to compare

Features Added

  • Added type Null used to send an AMQP null message value.
  • Added method Properties to Conn, Session, Receiver, and Sender 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's false.

v1.1.0

20 Aug 21:34
58e8fd8
Compare
Choose a tag to compare

Features Added

  • Allow for errors.As() to see the underlying AMQP error by (PR#329)

v1.0.5

04 Mar 15:04
2dff4b3
Compare
Choose a tag to compare

Bugs Fixed

  • Fixed an issue that could cause delays when parsing small frames.

v1.0.4

16 Jan 22:31
b0717e4
Compare
Choose a tag to compare

Other Changes

  • A Receiver's unsettled messages are tracked as a count (currently used for diagnostic purposes only).

v1.0.3

09 Jan 20:50
76124f7
Compare
Choose a tag to compare

Bugs Fixed

  • Fixed an issue that could cause a memory leak when settling messages across Receiver instances.

v1.0.2

05 Sep 18:41
1c1e489
Compare
Choose a tag to compare

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

08 Jun 22:46
e17dc33
Compare
Choose a tag to compare

Bugs Fixed

  • Fixed an issue that could cause links to terminate with error "received disposition frame with unknown link handle X".

v1.0.0

05 May 00:17
aa7222e
Compare
Choose a tag to compare

Features Added

  • Added ConnOptions.WriteTimeout to control the write deadline when writing to net.Conn.

Bugs Fixed

  • Calling Dial() with a cancelled context doesn't create a connection.
  • Context cancellation is properly honored in calls to Dial() and NewConn().
  • Fixed potential race during Conn.Close().
  • Disable sending frames when closing Session, Sender, and Receiver.
  • 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 condition amqp.ErrCondTransferLimitExceeded when attempting to send a transfer on a link with no credit.
  • Sender.Send() will return an *amqp.Error with condition amqp.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, and Sender no longer result in the potential for Conn to unexpectedly terminate.
  • Session channel and link handle exhaustion will now return *ConnError and *SessionError respectively, closing the respective Conn or Session.
  • If a context.Context contains a deadline/timeout, that value will be used as the write deadline when writing to net.Conn.