# RabbitMQ Transport Upgrade Version 7 to 8 ## Timeout manager The [timeout manager has been removed from NServiceBus 8](/nservicebus/upgrades/7to8/index.md#timeout-manager-removed), so the `EnableTimeoutManager` backwards compatibility API has been removed from the transport. The [timeout migration tool](/nservicebus/tools/migrate-to-native-delivery.md) should be used to migrate any remaining timeout messages. ## Certificate connection string options removed The `certPath` and `certPassphrase` connection string options have been removed. The [`SetClientCertificate`](/transports/rabbitmq/connection-settings.md#transport-layer-security-support-peer-verification) API should be used instead. ## `requestedHeartbeat` connection string option removed The `requestedHeartbeat` connection string option has been removed. The [`SetHeartbeatInterval`](/transports/rabbitmq/connection-settings.md#controlling-behavior-when-the-broker-connection-is-lost-heartbeat-interval) API should be used instead. ## `retryDelay` connection string option removed The `retryDelay` connection string option has been removed. The [`SetNetworkRecoveryInterval`](/transports/rabbitmq/connection-settings.md#controlling-behavior-when-the-broker-connection-is-lost-network-recovery-interval) API should be used instead. ## Transport no longer claims to support `TransportTransactionMode.None` The transport does not have any functional difference between `TransportTransactionMode.ReceiveOnly` and `TransportTransactionMode.None` modes, but there has been no way to indicate this before NServiceBus 8. Now that NServiceBus 8 has enabled this, the transport now only supports `TransportTransactionMode.ReceiveOnly`. ## `IRoutingTopology` `SetupSubscription` and `TeardownSubscription` changes The `type` parameter of the `SetupSubscription` and `TeardownSubscription` methods of the `IRoutingTopology` interface has changed from `System.Type` to `NServiceBus.Unicast.Messages.MessageMetadata`. [Custom routing topology](/transports/rabbitmq/routing-topology.md#custom-routing-topology) implementations will need to be updated. ## Invocation of handler code has changed The invocation of handler code has changed to use the RabbitMQ async consumer. This has implications when it comes to parallel execution of handlers. For example synchronous handlers will run sequentially. In order to achieve higher parallelism, handlers need to be modified according to the [asynchronous handlers documentation](/nservicebus/handlers/async-handlers.md).