Skip to content

Update module github.com/Azure/go-amqp to v0.19.1 #84

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

red-hat-konflux[bot]
Copy link

This PR contains the following updates:

Package Type Update Change
github.com/Azure/go-amqp require minor v0.17.4 -> v0.19.1

Release Notes

Azure/go-amqp (github.com/Azure/go-amqp)

v0.19.1

Compare Source

Bugs Fixed
  • Fixed a race closing a Session, Receiver, or Sender in succession when the first attempt times out.
  • Check the LinkError.RemoteErr field when determining if a link was cleanly closed.

v0.19.0

Compare Source

Final beta before v1.0.0

Breaking Changes
  • Dial() and NewConn() now require a context.Context as their first parameter.
    • As a result, the ConnOptions.Timeout field has been removed.
  • Methods Sender.Send() and Receiver.Receive() now take their respective options-type as the final argument.
  • The ManualCredits field in ReceiverOptions has been consolidated into field Credit.
  • Renamed fields in the ReceiverOptions for configuring options on the source.
  • Renamed DetachError to LinkError as "detach" has a specific meaning which doesn't equate to the returned link errors.
  • The Receiver.DrainCredit() API has been removed.
  • Removed fields Batching and BatchMaxAge in ReceiverOptions.
  • The IncomingWindow and OutgoingWindow fields in SessionOptions have been removed.
  • The field SenderOptions.IgnoreDispositionErrors has been removed.
    • By default, messages that are rejected by the peer no longer close the Sender.
  • The field SendSettled in type Message has been moved to type SendOptions and renamed as Settled.
  • The following type aliases have been removed.
    • Address, Binary, MessageID, SequenceNumber, Symbol
  • Method Message.LinkName() has been removed.
Bugs Fixed
  • Don't discard incoming frames while closing a Session.
  • Client-side termination of a Session due to invalid state will wait for the peer to acknowledge the Session's end.
  • Ensure that Receiver.Receive() drains prefetched messages when the link closed.
  • Fixed an issue that could cause closing a Receiver to hang under certain circumstances.
Other Changes
  • Debug logging has been cleaned up to reduce the number of redundant entries and consolidate the entry format.
    • DEBUG_LEVEL 1 now captures all sent/received frames along with basic flow control information.
    • Higher debug levels add entries when a frame transitions across mux boundaries and other diagnostics info.
  • Refactored handling of incoming frames to eliminate potential deadlocks due to "mux pumping".
  • Disallow sending of frames once the end performative has been sent.
  • Clean up client-side state when a context.Context expires or is cancelled and document the potential side-effects.
  • Unexpected frames will now terminate a Session, Receiver, or Sender as required.
  • Cleaned up tests that triggered the race detector.

v0.18.1

Compare Source

Bugs Fixed
  • Fixed an issue that could cause Conn.connReader() to become blocked in rare circumstances.
  • Fixed an issue that could cause outgoing transfers to be rejected by some brokers due to out-of-sequence delivery IDs.
  • Fixed an issue that could cause senders and receivers within the same session to deadlock if the receiver was configured with ReceiverSettleModeFirst.
  • Enabled support for senders in an at-most-once configuration.
Other Changes
  • The connection mux goroutine has been removed, eliminating a potential source of deadlocks.
  • Automatic link flow control is built on the manual creditor.
  • Clarified docs that messages received from a sender configured in a mode other than SenderSettleModeSettled must be acknowledged.
  • Clarified default value for Conn.IdleTimeout and removed unit prefix.

v0.18.0

Compare Source

This is intended to be the last release before GA with breaking changes. At this point the public surface area is frozen and will only break if something is wrong or can't be reasonably fixed in a non-breaking way.

Features Added
  • Added ConnError type that's returned when a connection is no longer functional.
  • Added SessionError type that's returned when a session has been closed.
  • Added SASLType used when configuring the SASL authentication mechanism.
  • Added Ptr() method to SenderSettleMode and ReceiverSettleMode types.
Breaking Changes
  • The minimum version of Go required to build this module is now 1.18.
  • The type Client has been renamed to Conn, and its constructor New() renamed to NewConn().
  • Removed ErrConnClosed, ErrSessionClosed, ErrLinkClosed, and ErrTimeout sentinel error types.
  • The following methods now require a context.Context as their first parameter.
    • Conn.NewSession(), Session.NewReceiver(), Session.NewSender()
  • Removed context.Context parameter and error return from method Receiver.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 Conn, Session, Sender, and Receiver constructors has been replaced with a struct-based config.
    • This removes the ConnOption, SessionOption, and LinkOption 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.
  • The Dial() and New() constructors now require an *ConnOptions parameter.
  • Conn.NewSession() now requires a *SessionOptions parameter.
  • Session.NewSender() now requires target address and *SenderOptions parameters.
  • Session.NewReceiver() now requires source address and *ReceiverOptions parameters.
  • The various SASL configuration funcs have been slightly renamed.
  • The following constant types had their values renamed in accordance with the SDK design guidelines.
    • SenderSettleMode, ReceiverSettleMode, ExpiryPolicy
  • Constant type ErrorCondition has been renamed to ErrCond.
    • The ErrCond values have had their names updated to include the ErrCond prefix.
  • LinkFilterSource and LinkFilterSelector have been renamed to NewLinkFilter and NewSelectorFilter respectively.
  • The RemoteError field in DetachError has been renamed.
Bugs Fixed
  • Fixed potential panic in muxHandleFrame() when checking for manual creditor.
  • Fixed potential panic in attachLink() when copying source filters.
  • NewConn() will no longer return a broken *Conn 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 to Conn.NewSession() expires before exit.
  • Newly created link won't leak if the context passed to link.attach() expires before exit.
  • Fixed an issue causing dispositions to hang indefinitely with batching enabled when the receiver link is detached.
Other Changes
  • Errors when reading/writing to the underlying net.Conn are now wrapped in a ConnError 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.

v0.17.5

Compare Source

  • SASL External Fix #​129
  • Remove unneeded disposition in modeFirst #​130

Configuration

📅 Schedule: Branch creation - "after 5am on sunday" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

To execute skipped test pipelines write comment /ok-to-test.

This PR has been generated by MintMaker (powered by Renovate Bot).

Signed-off-by: red-hat-konflux <126015336+red-hat-konflux[bot]@users.noreply.github.com>
@brusdev brusdev closed this Feb 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant