Skip to content

Upgrading RabbitMQ.Client 6 to 7

Breaking6.8.1 → 7.2.2Breaking29Security1New44Changed90Fixed64Other161

BreakingUpgrade verdict

28 breaking changes and a security fix.

  • Removes the unused UseBackgroundThreadsForIO.
  • An internal session-management option called AutoClose is gone.
  • Old ways of publishing messages that were already marked obsolete are gone, so code using them must switch to the supported publishing methods.
  • Renames ProcessingConcurrency to ConsumerDispatchConcurrency.
Top 4 of 29 that need code or config changes

Target frameworks requirement changed in 7.0.0-rc.13: .NETFramework4.6.2, .NETStandard2.0 → .NETStandard2.0, net8.0.

Breaking28
Removes the unused UseBackgroundThreadsForIO.
UseBackgroundThreadsForIO
Removes AutoClose from SessionManager.
SessionManagerAutoClose
Removes deprecated message publishing method overloads in 7.x.
Renames ProcessingConcurrency to ConsumerDispatchConcurrency.
ProcessingConcurrencyConsumerDispatchConcurrency
Removes IAsyncConnectionFactory.
IAsyncConnectionFactory
Drops deprecated members of framing.
Removes batch publishing because its optimizations are now applied to regular publishes and outgoing frames.
Splits connection, enables nullable and removes SoftProtocolException.
SoftProtocolException
Renames IModel and related names as part 1 of #1308.
IModel
Removes ReceiveBufferSize and SendBufferSize to improve message rates.
ReceiveBufferSizeSendBufferSize
Removes the synchronous API.
Removes more synchronous code.
Continues removing the synchronous API.
Removes the ClientArrayPool type.
ClientArrayPool
Removes the in modifier from async method parameters.
Uses async consumer only, removing synchronous consumer support.
Renames the OpenTelemetry attribute messaging.operation to messaging.operation.type.
messaging.operationmessaging.operation.type
Unifies the API on IModel.
IModel
Folds IAutorecoveringConnection back into IConnection as a breaking public API change.
IAutorecoveringConnectionIConnection
Reduces close and abort methods in the public API.
Adds CancellationToken parameters to Async members of IChannel.
IChannelCancellationToken
Makes ReadonlyBasicProperties a class.
ReadonlyBasicProperties
Makes BasicProperties a class.
BasicProperties
Changes InboundFrame to a class.
InboundFrame
Makes IncomingCommand a class and simplifies the surrounding code.
IncomingCommand
Replaces ReadOnlyBasicProperties with IReadOnlyBasicProperties.
ReadOnlyBasicPropertiesIReadOnlyBasicProperties
Requires IChannel for AsyncDefaultBasicConsumer.
IChannelAsyncDefaultBasicConsumer
Removes the internal ChannelOptions class.
ChannelOptions
Security1
Bumps System.Text.RegularExpressions due to a known CVE in earlier versions.
System.Text.RegularExpressions