Microsoft.Azure.Devices.Client.1.29.0-preview-004
- Update Service API version for PnP features
- SDK fixes from
Master
branch:- AMQP transport layer redesign to further stabilize connection pooling and multiplexing features.
- Upgrading the Amqp library dependency to v2.4.1.
- Add SQM ID to UserAgent string for non-HTTP protocols.
- Added ClosedChannelException to the list of retry-able Network Exceptions.
- Fixed IoTHub connection string parsing logic.
- Add IsUsable flag to IDelegatingHandler to check MqttTransportHandler state.
- URL encode device ID and module ID for HsmAuthentication audience.
- Fix time calculation for AMQP token refresher.
- Add AMQP token refresh cleanup on device client close or dispose.
- Fix for safe disposal of device client.
- Fix to treat exceptions as network exceptions if they are directly defined or derived from exceptions defined in network exceptions list in
ErrorDelegatingHandler
. - Updated Amqp library to use the latest (Microsoft.Azure.Amqp 2.4.2).
- Fixed incorrect ifdef pragma for server certificate validation.
- Perform consistent hashing in assigning connections to the connection pool.
- AMQP resources are no longer disposed on disconnection.
- AMQP resources are locked to allow synchronized access.
- AMQP resources are created prior to access.
AmqpTransportHandler
is not disposed on disconnection.- Catch exception while creation of AMQP resources, and if not recoverable, close and recover the owner resource (eg: non-recoverable link creation failure will close and recover the session, non-recoverable session creation failure will close and recover the connection).
AmqpUnitManager
will handle the lifetime ofAmqpUnit
.- Add expiration date in SharedAccessSignature exception message
- Return ConnectionStatusChangeReason
Device_Disabled
as part of the ConnectionStatusChangesHandler callback if IoT hub returns a DeviceNotFoundException. - Fix of mqtt droping message while disconnected
- ReceiveAsync(timeout) changes to fix open issues regarding timeout not being respected on AMQP.
- Add null checks on Abandon/Reject/CompleteAsync in internal client
- Fix issue where integer underflow caused exponential backoff time to retry to underflow
- Fix exception mapping for openlink and opensession failure on AMQP
- Fix AMQP connection leak with valid X509 cert but invalid device id
Microsoft.Azure.Devices.1.27.0-preview-004
- SDK fixes from
Master
branch:- Added null check for device ID and module ID.
- Make ConfigurationMetrics on Configuration settable
- Updated Amqp library to use the latest (Microsoft.Azure.Amqp 2.4.2).