Skip to content

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

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/github.com-azure-go-amqp-0.x
Open

Update module github.com/Azure/go-amqp to v0.19.1#73
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/github.com-azure-go-amqp-0.x

Conversation

@renovate

@renovate renovate Bot commented Dec 5, 2023

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
github.com/Azure/go-amqp v0.17.5 -> v0.19.1 age adoption passing confidence

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.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

Rebasing: Whenever PR is behind base branch, 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

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot changed the title Update module github.com/Azure/go-amqp to v0.19.1 Update module github.com/Azure/go-amqp to v0.19.1 - autoclosed Dec 31, 2024
@renovate renovate Bot closed this Dec 31, 2024
@renovate
renovate Bot deleted the renovate/github.com-azure-go-amqp-0.x branch December 31, 2024 15:08
@renovate renovate Bot changed the title Update module github.com/Azure/go-amqp to v0.19.1 - autoclosed Update module github.com/Azure/go-amqp to v0.19.1 Jan 3, 2025
@renovate renovate Bot reopened this Jan 3, 2025
@renovate
renovate Bot force-pushed the renovate/github.com-azure-go-amqp-0.x branch from d8eced9 to a203dd9 Compare January 3, 2025 17:20
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.

0 participants