Skip to content

Releases: Azure/azure-iot-sdk-csharp

Microsoft Azure IoT SDKs for .NET LTS patch Release 2022-05-11

11 May 21:15
Compare
Choose a tag to compare

This release is a patch for the Microsoft Azure IoT Hub SDK for .NET LTS patch Release 2022-01-18 LTS release.

Microsoft.Azure.Devices.Client 1.36.5

  • Update Microsoft.Azure.Amqp version to 2.5.10

Microsoft.Azure.Devices 1.31.2

  • Update Microsoft.Azure.Amqp version to 2.5.10

Microsoft.Azure.Devices.Provisioning.Transport.Amqp 1.13.6

  • Update Microsoft.Azure.Amqp version to 2.5.10

Microsoft Azure IoT SDKs for .NET Preview Release 2022-03-24

24 Mar 16:59
f68cdb8
Compare
Choose a tag to compare

Microsoft.Azure.Devices.Provisioning.Service 1.19.1-preview-001

  • Adding support for AAD authentication for the Provisioning Service Client (#2297)

Microsoft Azure IoT SDKs for .NET Preview Release 2022-02-18

19 Feb 02:25
Compare
Choose a tag to compare

SDK updates from main branch.

This release is bringing changes from the main release 2022-01-26.
The previous preview release was based on the main release 2021-08-11.

Microsoft.Azure.Devices.Client 1.41.0-preview-001

  • Updates from GA release 2022-01-26.
  • Update native Azure IoT Plug and Play (PnP) APIs:
    • Update the command and property callback APIs to no longer require users to pass a context object in the callback implementation.
      • Command callback function is updated from Func<CommandRequest, object, Task<CommandResponse>> callback to Func<CommandRequest, Task<CommandResponse>> callback. Since SubscribeToCommandsAsync callback is invoked for all command invocation requests,
        the user context passed in would be the same for all scenarios. This user context can be set at a class level instead.
      • Property callback function is updated from Func<ClientPropertyCollection, object, Task> callback to Func<ClientPropertyCollection, Task> callback. Since SubscribeToWritablePropertyUpdateRequestsAsync callback is invoked for all property update events, the user context passed in would be the same for all scenarios. This user context can be set at a class level instead.
    • .NET property private setters have been removed and the property has been made readonly instead.
    • Payload getters in CommandRequest have been simplified
      • public string DataAsJson { get; } has been updated to public string GetPayloadAsString().
      • public T GetData<T>() has been updated to public T GetPayload<T>().
      • public byte[] GetDataAsBytes() has been updated to public ReadOnlyCollection<byte> GetPayloadAsBytes().
    • Payload getter in CommandResponse has been simplified
      • public string ResultAsJson { get; } has been updated to public object Payload { get; }.

Microsoft.Azure.Devices 1.38.0-preview-001

Microsoft.Azure.Devices.Shared 1.31.0-preview-001

Microsoft.Azure.Devices.Provisioning.Client 1.20.0-preview-001

Microsoft.Azure.Devices.Provisioning.Transport.Mqtt 1.18.0-preview-001

Microsoft.Azure.Devices.Provisioning.Transport.Amqp 1.17.0-preview-001

Microsoft.Azure.Devices.Provisioning.Client.Transport.Http 1.16.0-preview-001

Microsoft.Azure.Devices.Provisioning.Security.Tpm 1.15.0-preview-001

Microsoft.Azure.Devices.Provisioning.Service 1.19.0-preview-001

Microsoft Azure IoT SDKs for .NET Release 2022-01-26

28 Jan 09:36
6cce47a
Compare
Choose a tag to compare

Microsoft.Azure.Devices.Shared 1.30.1

  • Miscellaneous code and documentation improvements

Microsoft.Azure.Devices.Client 1.40.0

  • Select correct AMQP link for a Module Twin (#2219)
  • Upgrade AMQP library to support and respect cancellation tokens while maintaining legacy behavior. (#2216)
  • Fix the concurrency issue in MQTT stack (#2234)
  • Fix the issue with hanging thread in DeviceClients configured with MQTT (#2272)
  • Fix issue with AMQP connection pool and TokenReferesher disposal. (#2260)
  • Fix the threading issue with MQTT stack (#2272)
  • Throw ObjectDisposedException instead of NullReferenceException on client API calls after the client has been dispose (#2286)
  • Update reference to Microsoft.Azure.Devices.Shared nuget.
  • Fix the debug exception assertion when authentication is performed via a user-supplied SAS token in MQTT

Microsoft.Azure.Devices 1.37.0

  • Upgrade AMQP library to support and respect cancellation tokens while maintaining legacy behavior. (#2216)
  • Update reference to Microsoft.Azure.Devices.Shared nuget.

Microsoft.Azure.Devices.Provisioning.Client 1.19.1

  • Upgrade AMQP library to support and respect cancellation tokens while maintaining legacy behavior. (#2216)
  • Update reference to Microsoft.Azure.Devices.Shared nuget.

Microsoft.Azure.Devices.Provisioning.Service 1.18.1

  • Improved xml docs
  • Update reference to Microsoft.Azure.Devices.Shared nuget.

Microsoft.Azure.Devices.Provisioning.Transport.Amqp 1.16.1

  • Upgrade AMQP library to support and respect cancellation tokens while maintaining legacy behavior. (#2216)
  • Update reference to Microsoft.Azure.Devices.Shared nuget.

Microsoft.Azure.Devices.Provisioning.Transport.Mqtt 1.17.1

  • Fix the issue with hanging thread in ProvisioningDeviceClient configured with MQTT (#2272)
  • Update reference to Microsoft.Azure.Devices.Shared nuget.

Microsoft.Azure.Devices.Provisioning.Transport.Http 1.15.1

  • Upgrade Microsoft.Rest.ClientRuntime dependency.
  • Update reference to Microsoft.Azure.Devices.Shared nuget.

Microsoft.Azure.Devices.Provisioning.Security.Tpm 1.14.1

  • Update reference to Microsoft.Azure.Devices.Shared nuget.

Microsoft Azure IoT SDKs for .NET LTS patch Release 2022-01-18

19 Jan 17:53
4515e44
Compare
Choose a tag to compare

This release is a patch for the Microsoft Azure IoT Hub SDK for .NET LTS patch Release 2021-10-19 LTS release.

Microsoft.Azure.Devices.Client 1.36.4

  • Fix bug where operations on a disposed Device Client would throw NullReferenceException. Operations on a disposed Device Client will now throw ObjectDisposedException (#2286)
  • Adding a reference to DotNetty.Common 0.7.1 to fix the threading issue introduced in 0.7.0. (#2272)

Microsoft.Azure.Devices.Provisioning.Transport.Mqtt 1.14.2

  • Adding a reference to DotNetty.Common 0.7.1 to fix the threading issue introduced in 0.7.0. (#2272)

Microsoft Azure IoT SDKs for .NET Release 2021-11-01

28 Oct 23:10
a609daa
Compare
Choose a tag to compare

General

  • Rename master branch to main. (#2183)

Microsoft.Azure.Devices.Shared 1.30.0

  • Add support for .NET 5. (#2169)

Microsoft.Azure.Devices.Client 1.39.0

  • Add support for .NET 5. (#2169)
  • Add support for IAsyncDisposable in supported .NET versions; automatically calls CloseAsync on dispose. (#2192)
  • Add XML docs for exceptions that can be thrown by ModuleClient.SendEventAsync and DeviceClient.SendEventAsync, courtesy of @Marusyk. (#2178)

Bug fixes

  • Fix issue with hanging thread after dispose. (#2201)
  • Support standard x509=true for connection strings. (#2203)
  • Fix bug where client's retry policy applied n^2 times rather than n times. (#2209)
  • Fix params passed into ObjectDisposedException.

Microsoft.Azure.Devices 1.36.0

  • Add support for .NET 5. (#2169)
  • Helper code in CryptoKeyGenerator marked as obsolete. (#2187)

Bug fixes

  • Fix bug where device scope and parent scopes set to device weren't used in bulk add operations. (#2189)
  • Add missing moduleContent field to ConfigurationContent class. (#2208)

Microsoft.Azure.Devices.Provisioning.Client 1.19.0

  • Add support for .NET 5. (#2169)

Microsoft.Azure.Devices.Provisioning.Service 1.18.0

  • Add support for .NET 5. (#2169)

Bug fixes

  • Remove client side validation of x509 CA references format. (#2172)

Microsoft.Azure.Devices.Provisioning.Transport.Amqp 1.16.0

  • Add support for .NET 5. (#2169)

Microsoft.Azure.Devices.Provisioning.Transport.Mqtt 1.17.0

  • Add support for .NET 5. (#2169)

Microsoft.Azure.Devices.Provisioning.Transport.Http 1.15.0

  • Add support for .NET 5. (#2169)

Microsoft.Azure.Devices.Provisioning.Security.Tpm 1.14.0

  • Add support for .NET 5. (#2169)

Microsoft Azure IoT SDKs for .NET LTS patch Release 2021-10-19

20 Oct 20:44
Compare
Choose a tag to compare

This release is a patch for the Microsoft Azure IoT Hub SDK for .NET LTS patch Release 2021-08-12 LTS release.

Microsoft.Azure.Devices.Client 1.36.3

  • Fix bug where after disposing of the client when reconnection expires, outstanding API calls will not return and the thread will not exit. (#2201)

Microsoft Azure IoT SDKs for .NET Preview Release 2021-10-08

19 Oct 17:47
449074d
Compare
Choose a tag to compare

SDK updates from main branch.

This release is bringing changes from the main release 2021-08-11.
The previous preview release was based on the main release 2021-05-13.

Microsoft.Azure.Devices.Shared 1.29.0-preview-002

Microsoft.Azure.Devices.Client 1.38.1-preview-001

  • Updates from GA release 2021-08-11.
  • Update native Azure IoT Plug and Play (PnP) APIs:
    • Update the TryGetValue methods to return false instead of throwing exceptions for some corner cases (#2111).
    • Expose both client reported and service requested properties under their specific accessors - ClientProperties.ReportedFromClient and ClientProperties.WritablePropertyRequests respectively (#2114)
    • Add checks for ClientPropertiesUpdateResponse initialization (#2115).
    • Add convenience method for acknowledging writable property update requests (#2157).
    • Update PayloadCollection to accept dictionary of values (#2171).
    • Add support over AMQP (#2180).

Notes about DTDLv2

We do not explicitly handle date time serialization for the PnP Convention as required in the DTDLv2 spec in this preview. However, both Newtonsoft and System.Text.Json handle Date and DateTime in the correct format. If you are writing your own Serailizer for use with PnP you need to make sure it supports read/write of Date and DateTime using the RFC spec mentioned here.

Microsoft.Azure.Devices 1.35.0-preview-002

Microsoft.Azure.Devices.Provisioning.Client 1.18.0-preview-002

Microsoft.Azure.Devices.Provisioning.Transport.Mqtt 1.16.0-preview-002

Microsoft.Azure.Devices.Provisioning.Transport.Amqp 1.15.0-preview-002

Microsoft.Azure.Devices.Provisioning.Client.Transport.Http 1.14.0-preview-002

Microsoft.Azure.Devices.Provisioning.Security.Tpm 1.14.0-preview-002

Microsoft.Azure.Devices.Provisioning.Service 1.18.0-preview-002

Microsoft Azure IoT SDKs for .NET LTS patch Release 2021-08-12

12 Aug 15:52
ab423bd
Compare
Choose a tag to compare

This release is a patch for the Microsoft Azure IoT Hub SDK for .NET LTS patch Release 2021-06-23 LTS release.

Microsoft.Azure.Devices.Client 1.36.2

  • Updated reference to DotNetty.Codecs.Mqtt and DotNetty.Handlers for non-net451 targets (#2128)
  • Updated reference to Microsoft.Azure.Devices.Shared nuget.

Microsoft.Azure.Devices 1.31.1

  • Update to Device to support ParentScopes feature (#1885, #2119)
  • Update service API version to 2021-04-12 (#1880)
  • Updated reference to Microsoft.Azure.Devices.Shared nuget.

Microsoft.Azure.Devices.Shared 1.27.1

  • Update to Twin to support ParentScopes feature (#1885)

Microsoft.Azure.Devices.Provisioning.Client 1.16.4

  • Updated reference to Microsoft.Azure.Devices.Shared nuget.

Microsoft.Azure.Devices.Provisioning.Transport.Mqtt 1.14.1

  • Updated reference to DotNetty.Codecs.Mqtt and DotNetty.Handlers for non-net451 targets (#2128)
  • Updated reference to Microsoft.Azure.Devices.Shared nuget.

Microsoft.Azure.Devices.Provisioning.Transport.Amqp 1.13.5

  • Updated reference to Microsoft.Azure.Devices.Shared nuget.

Microsoft.Azure.Devices.Provisioning.Client.Transport.Http 1.12.4

  • Updated reference to Microsoft.Azure.Devices.Shared nuget.

Microsoft.Azure.Devices.Provisioning.Security.Tpm 1.12.4

  • Updated reference to Microsoft.Azure.Devices.Shared nuget.

Microsoft.Azure.Devices.Provisioning.Service 1.16.4

  • Updated reference to Microsoft.Azure.Devices.Shared nuget.

Microsoft Azure IoT SDK for .NET Release 2021-08-11

11 Aug 16:44
5349c3f
Compare
Choose a tag to compare

Microsoft.Azure.Devices.Client 1.38.0

  • Target new DotNetty version when not net451 (#2129)
  • Update reference to Microsoft.Azure.Devices.Shared nuget.

Bug fixes

  • Update client to accept a flag with IDisposable IAuthenticationMethod indicating if the authentication method should be disposed when the client itself is disposed. (#1911, #1954, #2003)
  • Update IoT Hub CONNACK timeout to be 60 seconds (#2042, #2043)
  • Update the amqp layer to inspect the inner exception for an amqp error code (#2053, #2055)
  • Update connection string validation param (#2061, #2063)
  • Update C2D message handler callback to not await completion of user-supplied callback (#2060)
  • Clean error codes referenced and implemented by the library (#2074, #2110)

Microsoft.Azure.Devices 1.35.0

  • Add support for DeviceScope to import/export job (#2040)
  • Update reference to Microsoft.Azure.Devices.Shared nuget.

Bug fixes

  • Clean error codes referenced and implemented by the library (#2074, #2110)
  • Update JobClient, ServiceClient, RegistryManager and DigitalTwinClient to be mockable (#2117)

Microsoft.Azure.Devices.Shared 1.29.0

  • Add ClearAllMetadata() to remove all metadata from the twin and the base metadata object (#1971, #1976)

Microsoft.Azure.Devices.Provisioning.Client 1.18.0

  • Add support for timespan timeouts to provisioning device client (#2036, #2041)
  • Update reference to Microsoft.Azure.Devices.Shared nuget.

Microsoft.Azure.Devices.Provisioning.Transport.Mqtt 1.16.0

  • Add support for timespan timeouts to provisioning device client (#2036, #2041)
  • Target new DotNetty version when not net451 (#2129)
  • Update reference to Microsoft.Azure.Devices.Shared nuget.

Microsoft.Azure.Devices.Provisioning.Transport.Amqp 1.15.0

  • Add support for timespan timeouts to provisioning device client (#2036, #2041)
  • Update reference to Microsoft.Azure.Devices.Shared nuget.

Microsoft.Azure.Devices.Provisioning.Transport.Http 1.14.0

  • Add support for timespan timeouts to provisioning device client (#2036, #2041)
  • Update reference to Microsoft.Azure.Devices.Shared nuget.

Microsoft.Azure.Devices.Provisioning.Security.Tpm 1.13.2

  • Update reference to Microsoft.Azure.Devices.Shared nuget.

Microsoft.Azure.Devices.Provisioning.Service 1.17.2

  • Add the parameter name to the ArgumentNullException that could be thrown on IndividualEnrollment.Attestation initialization (#2129)
  • Update reference to Microsoft.Azure.Devices.Shared nuget.