Releases: Azure/azure-iot-sdk-csharp
Microsoft Azure IoT SDKs for .NET Release 2024-11-21
Microsoft.Azure.Devices 1.40.0
- Allow for user to pass in custom scopes when using TokenCredential authentication
- Fix bug where opening service client with Amqp_WebSocket_Only throws ArgumentOutOfRangeException
https://www.nuget.org/packages/Microsoft.Azure.Devices/1.40.0
Microsoft Azure IoT SDKs for .NET LTS Patch Release 2024-03-29
Changes:
- Updated to use DotNetty 0.7.6
Release with new packages:
- Update to Microsoft.Azure.Devices.Client 1.36.10
- Update to Microsoft.Azure.Devices.Provisioning.Transport.Mqtt 1.14.4
Microsoft Azure IoT SDKs for .NET Release 2024-03-28
Changes:
- Updated to use DotNetty 0.7.6
Bug Fix:
- Fix bug where module client send batch fails if output name already set (#3441)
Release with new packages:
- Microsoft.Azure.Devices.Client 1.42.3
- Microsoft.Azure.Devices.Provisioning.Transport.Mqtt 1.17.5
Microsoft Azure IoT SDKs for .NET LTS patch Release 2023-12-20
This release is a patch for the Microsoft Azure IoT Hub SDK for .NET LTS patch Release 2023-01-24 LTS release.
Microsoft.Azure.Devices.Client 1.36.9
- Using 'Azure.Storage.Blobs' instead of 'WindowsAzure.Storage' (#3418)
- Removed support for .NET 451 (#3418)
Microsoft.Azure.Devices 1.31.6
Microsoft Azure IoT SDKs for .NET Release 2023-12-20
Microsoft.Azure.Devices.Client 1.42.2
Security Updates:
- Using 'Azure.Storage.Blobs' instead of 'WindowsAzure.Storage' (#3414)
Microsoft Azure IoT SDKs for .NET Release 2023-12-11
Microsoft.Azure.Devices.Client 1.42.1
Security Updates:
- Update to latest newtonsoft.json library (#3403)
- Upgrade dotnetty to latest (#3401)
- Remove support for net451, netcore21, net5, upgrade azure core dependency, target net6 (#3400)
Bug fixes:
- Use local Newtonsoft settings when serializing/deserializing instead of assigning global settings (#3402)
- Log possibly unobserved exceptions in MQTT (#3319)
Microsoft.Azure.Devices 1.39.1
Security Updates:
- Update to latest newtonsoft.json library (#3403)
- Remove support for net451, netcore21, net5, upgrade azure core dependency, target net6 (#3400)
Bug fixes:
- Use local Newtonsoft settings when serializing/deserializing instead of assigning global settings (#3402)
- Log possibly unobserved exceptions in MQTT (#3319)
Microsoft.Azure.Devices.Shared 1.30.4
Security Updates:
- Update to latest newtonsoft.json library (#3403)
- Remove support for net451, netcore21, net5, upgrade azure core dependency, target net6 (#3400)
Bug fixes:
- Use local Newtonsoft settings when serializing/deserializing instead of assigning global settings (#3402)
Microsoft.Azure.Devices.Provisioning.Client 1.19.4
Security Updates:
- Update to latest newtonsoft.json library (#3403)
- Remove support for net451, netcore21, net5, upgrade azure core dependency, target net6 (#3400)
Bug fixes:
- Log possibly unobserved exceptions in MQTT (#3319)
Microsoft.Azure.Devices.Provisioning.Service 1.18.4
Security Updates:
- Update to latest newtonsoft.json library (#3403)
- Remove support for net451, netcore21, net5, upgrade azure core dependency, target net6 (#3400)
Bug fixes:
- Use local Newtonsoft settings when serializing/deserializing instead of assigning global settings (#3402)
- Log possibly unobserved exceptions in MQTT (#3319)
Microsoft.Azure.Devices.Provisioning.Transport.Amqp 1.16.6
Security Updates:
- Remove support for net451, netcore21, net5, upgrade azure core dependency, target net6 (#3400)
Microsoft.Azure.Devices.Provisioning.Transport.Http 1.15.4
Security Updates:
- Remove support for net451, netcore21, net5, upgrade azure core dependency, target net6 (#3400)
Microsoft.Azure.Devices.Provisioning.Transport.Mqtt 1.17.4
Security Updates:
- Upgrade dotnetty to latest (#3401)
- Remove support for net451, netcore21, net5, upgrade azure core dependency, target net6 (#3400)
Bug fixes:
- Log possibly unobserved exceptions in MQTT (#3319)
Microsoft.Azure.Devices.Provisioning.Security.Tpm 1.14.4
Security Updates:
- Update to latest newtonsoft.json library (#3403)
- Remove support for net451, netcore21, net5, upgrade azure core dependency, target net6 (#3400)
Bug fixes:
- Use local Newtonsoft settings when serializing/deserializing instead of assigning global settings (#3402)
Microsoft Azure IoT SDKs for .NET v2 Preview #7 Release 2023-08-17
This is the seventh preview of the v2 clients. You can read about the changes in this migration guide.
Relevant changes
- Direct method subscription not removed after disconnect by @tmahmood-microsoft in #3359
Microsoft Azure IoT SDKs for .NET v2 Preview #6 Release 2023-08-07
This is the sixth preview of the v2 clients. You can read about the changes in this migration guide.
Relevant changes
- Add OnBehalfOf authentication to V2 for edgehub by @patilsnr in #3353
- Make currentRetryCount consistent across IotHub and DPS by @patilsnr in #3355
- addresses supporting byte[] in direct methods and making TwinProperties able to be directly converted to json by @patilsnr in #3340
- [v2 - bug fix] Queue MQTT C2D messages if callback not set by @tmahmood-microsoft #3336
- Add comment explaining twin patch over edge isn't applied immediately by @abhipsaMisra in #3331
- Exception on passing different gateway hostnames through different inputs by @abhipsaMisra in #3330
- Remove default remote certificate callback by @timtay-microsoft in #3329
- Use gateway hostname from options for connection string flow by @abhipsaMisra in #3326
- Throw exception if IoT device module invokes an IoT edge module API by @abhipsaMisra in #3323
- Fix twin desired property payload conversion - MQTT by @tmahmood-microsoft in #3322
- Make DirectMethodPrequest.Payload to be settable by client applications by @abhipsaMisra in #3317
- Update service error codes by @drwill-ms in #3316
- Add code examples for public APIs in IotHubDeviceClient, IotHubModuleClient, IotHubBaseClient and retry policies by @brycewang-microsoft in #3308
Microsoft Azure IoT SDKs for .NET Release 2023-05-01
Microsoft.Azure.Devices.Client 1.42.0
- Apply JsonSerializerSettings to hub device (#3107)
- Set state to 'closed' when CloseAsync() is called (#3149)
- Ensure device client methods throw an object disposed exception (#3212)
- Allow users to pass in HttpClient to use for file upload operations (#3293)
- Update service error codes (#3315)
- Update reference to
Microsoft.Azure.Devices.Shared
nuget.
Bug fixes
- Stop the sas token refresh loop once CloseAsync() is called (#3021)
- Send an event in ReceiveMessageHandler before completing received message (#3116)
- Fix synchronization of semaphore in retry delegating handler (#3135)
- Allow a message to be sent to multiple outputs (#3203)
- Fix file upload HTTP client not handling DNS changes (#3266)
- Properly set connection lease timeout regardless of .NET target framework (#3279)
- Avoid NRE and disposed exceptions when closing client twice (#3312)
Microsoft.Azure.Devices 1.39.0
- Update error message for service reported errors (#3183)
- Update service error codes (#3315)
- Replace custom methods with string methods (#2801)
public static bool IsNullOrWhiteSpace(this string value)
is removed due to duplicated functionality and users should use the native API on the string class instead -string.IsNullOrWhiteSpace(value)
.
- Update reference to
Microsoft.Azure.Devices.Shared
nuget.
Bug fixes
- Fix bug in date deserialization of device method response (#3097)
- Fix where HttpClientHelper should not log when logging is disabled (#3150)
- Fix NRE from GetExceptionCodeAsync (#3304)
Microsoft.Azure.Devices.Shared 1.30.3
Bug fixes
- Stop using JObject.Parse for json string in TwinCollection (#3113)
Microsoft.Azure.Devices.Provisioning.Client 1.19.3
- Apply JsonSerializerSettings to provisioning device (#3113)
- Update reference to
Microsoft.Azure.Devices.Shared
nuget.
Microsoft.Azure.Devices.Provisioning.Service 1.18.3
- Apply JsonSerializerSettings to provisioning service (#3113)
- Update reference to
Microsoft.Azure.Devices.Shared
nuget.
Microsoft.Azure.Devices.Provisioning.Transport.Amqp 1.16.5
- Update reference to
Microsoft.Azure.Devices.Shared
nuget.
Microsoft.Azure.Devices.Provisioning.Transport.Http 1.15.3
- Update reference to
Microsoft.Azure.Devices.Shared
nuget.
Bug fixes
- Fix DPS registration over HTTP with escaped characters in the registration Id (#3059)
Microsoft.Azure.Devices.Provisioning.Transport.Mqtt 1.17.3
- Update reference to
Microsoft.Azure.Devices.Shared
nuget.
Microsoft.Azure.Devices.Provisioning.Security.Tpm 1.14.3
- Update reference to
Microsoft.Azure.Devices.Shared
nuget.
Microsoft Azure IoT SDKs for .NET v2 Preview #5 Release 2023-04-26
This is the fifth preview of the v2 clients. You can read about the changes in this migration guide.
Relevant changes
- Set state to 'closed' when CloseAsync() is called by @abhipsaMisra in #3149
- For c2d, take payload as object, similar to other operations by @drwill-ms in #3154
- Make exception ctors public by @drwill-ms in #3158
- Make ConnectionStatusInfo ctors public by @drwill-ms in #3167
- Throw IotHubClientException for file uploading with invalid correlation id by @brycewang-microsoft in #3159
- Utilize AsyncPageable for query return types by @timtay-microsoft in #3165
- Drop dependency on the hub service client from the device client by @brycewang-microsoft in #3178
- Utilize AsyncPageable for DPS query return types by @timtay-microsoft in #3176
- Fix bug where reconnection failed if client had been previously closed by @abhipsaMisra in #3196
- Simplify PayloadConvention to enable non-JSON payloads by @drwill-ms in #3189
- Make file upload notification callback async by @drwill-ms in #3224
- Pass byte[] through as payload for C2D for binary payloads by @drwill-ms in #3229
- Rename and cleanup ErrorDelegatingHandler by @drwill-ms in #3234
- TelemetryMessage should be able to take bytes and not serialize them by @drwill-ms in #3242
- Cleanup more device sdk handlers by @drwill-ms in #3245
- Separate out semaphores for subscription and client open-close by @abhipsaMisra in #3249
- Ensure client throws ObjectDisposedException when disposed by @drwill-ms in #3250
- Unsubscribe from connection loss events when closing service client AMQP connection by @timtay-microsoft in #3237
- Fix some ErrorCode in IotHubServiceException by @brycewang-microsoft in #3254
- Simplify/rename error class given to IoT hub service client error processors by @timtay-microsoft in #3255
- Fix bug where error processor would execute 3 times on a connection loss event by @timtay-microsoft in #3261
- Miscellaneous DPS service client cleanup by @timtay-microsoft in #3264
- Connection state management by @abhipsaMisra in #3251
- Update misc NuGet dependency versions by @drwill-ms in #3274
- Rename transport handler base in delegating pipeline by @abhipsaMisra in #3277
- Update MQTT and AMQP minor package versions by @drwill-ms in #3278
- Refactor to not send the same element through multiple objects by @abhipsaMisra in #3282
- Fix bug where device operations not recovering after reconnect by @brycewang-microsoft in #3281
- Remove methods from PayloadConvention that are only needed by the DefaultPayloadConvention class by @drwill-ms in #3286
- Open failure on reconnection shouldn't transition to Closed by @abhipsaMisra in #3289
- Add transport pipeline capabilities to HTTP based operations by @abhipsaMisra in #3285
- Cancel twin ops on disconnect by @drwill-ms in #3287
- Small logical fix in MqttTransportHandler by @drwill-ms in #3291
- Update cert chains codes by @drwill-ms in #3301
- Allow users to pass in HttpClient for file upload/module method requests by @timtay-microsoft in #3299
- Fix device AMQP layer not proactively renewing tokens by @timtay-microsoft in #3303
Full Changelog: 2023-03-13-v2preview...2023-04-26-v2preview