Microsoft.Azure.Devices.Client v1.21.3
• Fix MQTT ReceiveAsync with cancellation token always returns null.
• Fix MQTT packet id becomes 0 on 32kth messages sent which caused MQTT connection drop.
• Fix AMQP SendEventBatchAsync always throws InvalidOperationException.
• Fix AMQP connection throws ObjectDisposedException while OpenAsync failed on open sender link.
• Fix AMQP SendTwinPatchAsync with cancellation token doesn’t cancel after cancellation token is cancelled.
• Revert to throw TimeoutException if operation times out instead of IotHubCommunicationException.
• Revert to throw OperationCancelledException if operation is cancelled instead of IotHubCommunicationException.
• Fix connection string parser to allow special characters such as semicolon.
• Fix a missing await for async task in MQTT which could cause race condition to the connection.
• Add clarification to connection status callback documentation for HTTP.
• Add clarification to device operation timeout documentation.