Releases: Azure/azure-iot-sdk-csharp
Releases · Azure/azure-iot-sdk-csharp
Microsoft Azure IoT SDK for .NET Release 2021-08-11
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
andDigitalTwinClient
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 onIndividualEnrollment.Attestation
initialization (#2129) - Update reference to
Microsoft.Azure.Devices.Shared
nuget.
Microsoft Azure IoT SDKs for .NET LTS patch Release 2021-08-10
This release is a patch for the Microsoft Azure IoT Hub SDK for .NET LTS patch Release 2020-09-23 LTS release.
Microsoft.Azure.Devices.Client 1.28.2
- Updated reference to
DotNetty.Codecs.Mqtt
andDotNetty.Handlers
for non-net451 targets (#2127)
Microsoft.Azure.Devices.Provisioning.Transport.Mqtt 1.3.1
- Updated reference to
DotNetty.Codecs.Mqtt
andDotNetty.Handlers
for non-net451 targets (#2127)
Microsoft.Azure.Devices.Provisioning.Service 1.6.4
- Add the parameter name to the
ArgumentNullException
that could be thrown onIndividualEnrollment.Attestation
initialization (#2127)
Microsoft Azure IoT SDKs for .NET LTS patch Release 2021-06-23
Microsoft Azure IoT SDKs for .NET Preview Release 2021-6-9
SDK updates from master
branch.
This release is bringing changes from the master release 2021-05-13.
The previous preview release was based on the master release 2020-10-8.
Note: This preview release does not contain the device streaming feature. The device streaming feature is still available under previews/deviceStreaming, however, since there is no active development on-going for this feature, we're not including it as a part of our newer preview nugets.
Microsoft.Azure.Devices.Shared 1.29.0-preview-001
- Updates from
GA release
2021-05-13. - Add support for .NET 5.0 (#1900)
- Add native support for Azure IoT Plug and Play (PnP) APIs (#2005, #2014). For details on how these APIs differ from the existing device/module APIs, see this readme.
Microsoft.Azure.Devices.Client 1.38.0-preview-001
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget. - Updates from
GA release
2021-05-13. - Add support for .NET 5.0 (#1900)
- Add native support for Azure IoT Plug and Play (PnP) APIs (#2005, #2014). For details on how these APIs differ from the existing device/module APIs, see this readme.
- Add support for releasing unmanaged resources asynchronously. This is available on .NET Standard 2.1 and above. (#1977)
Microsoft.Azure.Devices 1.35.0-preview-001
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget. - Updates from
GA release
2021-05-13. - Make all clients mockable (#1875), (#1878), (#1881), (#1892)
- Add support for .NET 5.0 (#1900)
Microsoft.Azure.Devices.Provisioning.Client 1.18.0-preview-001
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget. - Updates from
GA release
2021-05-13. - Add support for .NET 5.0 (#1900)
Microsoft.Azure.Devices.Provisioning.Transport.Mqtt 1.16.0-preview-001
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget. - Updates from
GA release
2021-05-13. - Add support for .NET 5.0 (#1900)
Microsoft.Azure.Devices.Provisioning.Transport.Amqp 1.15.0-preview-001
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget. - Updates from
GA release
2021-05-13. - Add support for .NET 5.0 (#1900)
Microsoft.Azure.Devices.Provisioning.Client.Transport.Http 1.14.0-preview-001
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget. - Updates from
GA release
2021-05-13. - Add support for .NET 5.0 (#1900)
Microsoft.Azure.Devices.Provisioning.Security.Tpm 1.14.0-preview-001
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget. - Updates from
GA release
2021-05-13. - Add support for .NET 5.0 (#1900)
Microsoft.Azure.Devices.Provisioning.Service 1.18.0-preview-001
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget. - Updates from
GA release
2021-05-13. - Add support for .NET 5.0 (#1900)
Azure IoT SDK for .NET Release 2021-05-13
Azure IoT SDK for .NET Release 2021-05-06
Microsoft.Azure.Devices.Shared 1.28.1
Bug fixes
- Avoid possible NRE when accessing Twin.ParentScopes (#1929)
Microsoft.Azure.Devices.Client 1.37.1
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget.
Bug fixes
- Fix device messages with DTDL component name fail over HTTP (#1896)
Microsoft.Azure.Devices 1.33.0
- Adding support for AAD authentication in all the service clients (#1922)
- Update notes for service default API version (#1919)
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget.
Microsoft.Azure.Devices.Provisioning.Client 1.17.1
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget.
Microsoft.Azure.Devices.Provisioning.Service 1.17.1
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget.
Microsoft.Azure.Devices.Provisioning.Transport.Amqp 1.14.1
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget.
Microsoft.Azure.Devices.Provisioning.Transport.Mqtt 1.15.1
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget.
Microsoft.Azure.Devices.Provisioning.Transport.Http 1.13.1
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget.
Microsoft.Azure.Devices.Provisioning.Security.Tpm 1.13.1
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget.
Azure IoT SDK for .NET Release 2021-04-26
Microsoft.Azure.Devices.Client 1.37.0
- Add support for specifying SAS token time to live in
ClientOptions
(#1837). - Documented exceptions that may be thrown by the underlying TPM library.
Bug fixes
- URL escape the
ModelId
when forming the connect URI for MQTT. - Update web socket implementation over MQTT to not send multiple web socket frames for a single MQTT packet (#1873).
Microsoft.Azure.Devices 1.32.0
- Add support for configuring HTTP connection lease timeouts (#1865).
- See
ConnectionLeaseTimeoutMilliseconds
property added toHttpTransportSettings
andServiceClientTransportSettings
.
- See
- Service API version updated to 2021-04-12.
ParentScopes
added toDevice
class, enabling setting a parent to an Edge device.
Bug fixes
- Default connection lease timeout changed from infinite to 5 minutes.
Microsoft.Azure.Devices.Shared 1.28.0
DeviceScope
andParentScopes
added toTwin
, enabling building representation of Edge and leaf-device hierarchy from twins.
Microsoft.Azure.Devices.Provisioning.Client 1.17.0
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget.
Microsoft.Azure.Devices.Provisioning 1.17.0
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget.
Microsoft.Azure.Devices.Provisioning.Transport.Amqp 1.14.0
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget.
Microsoft.Azure.Devices.Provisioning.Transport.Http 1.13.0
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget.
Microsoft.Azure.Devices.Provisioning.Transport.Mqtt 1.15.0
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget.
Bug fixes
-
- Update web socket implementation over MQTT to not send multiple web socket frames for a single MQTT packet (#1873)
Microsoft.Azure.Devices.Provisioning.Security.Tpm 1.13.0
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget.
Azure IoT SDK for .NET LTS Release 2021-03-18
Microsoft.Azure.Devices.Client 1.36.0
Improvements and Features
- Add additional logs to MQTT implementation
- Added extra comments to clarify true and false in dispose (#1805)
- Make the DeviceClient and ModuleClient extensible (#1802)
- Handle Twin failures using Amqp (#1796)
Bug Fixes
- Fix AMQP layer not releasing a semaphore for method links after unsubscribing from methods (#1831)
- Fix semaphore usage within InternalClient (#1823)
- UnixDomainSocketEndPoint is available in .NET 2.1 and greater (#1816)
- IoTHub Exception for Get and Patch Twin failures (#1815)
- Fix MqttTransportHandler to not await on user supplied C2D callback
- Update dotnetty task calls to use ConfigureAwait(true)
- Update MqttTransportHandler to not use SemaphoreSlim.WaitAsync(TimeSpan, CancellationToken)
Microsoft.Azure.Devices 1.31.0
Improvements
- Update xml comments for ServiceClient
- Reduce the number of method overloads for ServiceClient
- Add support for supporting custom timeout for sending C2D message to a module.
The following nuget versions have been previously released, and are being marked as LTS
- Microsoft.Azure.Devices.Shared: 1.27.0
- Microsoft.Azure.Devices.Provisioning.Client: 1.16.3
- Microsoft.Azure.Devices.Provisioning.Transport.Amqp: 1.13.4
- Microsoft.Azure.Devices.Provisioning.Transport.Http: 1.12.3
- Microsoft.Azure.Devices.Provisioning.Transport.Mqtt: 1.14.0
- Microsoft.Azure.Devices.Provisioning.Security.Tpm: 1.12.3
- Microsoft.Azure.Devices.Provisioning.Service: 1.16.3
Azure IoT SDK for .NET Release 2021-02-08
Microsoft.Azure.Devices.Client 1.35.0
- Add a log statement indicating a no-retry retry policy has been enabled (#1763)
- Unused member removal
NotAllowedCharacter
fromUrlEncodedDictionarySerializer
Bug fixes
- Amqp connections are not getting disposed leaving the socket open (#1770, #1771)
- Fix issue where we inadvertently dispose client certificates (#1774)
Microsoft.Azure.Devices 1.30.0
- Unused member removal
DeliveryFailureReason
enumEventHubPartitionKeyResolver
classSharedAccessSignatureAuthorizationRule
classSharedAccessSignature
classISharedAccessSignatureCredential
interface
Azure IoT SDK for .NET Release 2021-01-21
Microsoft.Azure.Devices.Client 1.34.0
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget. - Provide a way to pass in list of certificates in a chain for authentication while creating the device client while using MQTT_TCP and AMQP_TCP protocols (#1742).
- Added logging to MQTT transport layer (#1694, #1709)
- Documented a NullReferenceException instead of fixing it, avoid breaking change (#1734, Addresses #1667)
- Added/improved doc comments on public types
- Removal of unreferenced code
Bug fixes
- Relaxed validation on host name from the device connection string for when using Edge as a transparent gateway (#1552, #1650)
- Dispose all disposable objects (#1689, #1699, #1708, #1710, #1728, #1704)
- Await asynchronous calls (#1714, #1729)
- Use CultureInvariant for validating device connection string values (#1716)
- Avoid
System.NullReferenceException
(#1735) - C2D messages sent while disconnected are now delivered after reconnect (when subscribed to receive C2D messages via callback) (#1686)
- Pass down the cancellation token in places where cancellation tokens were not being passed down to underlying API calls.
- Assembly neutral language specified (#1696)
- Project warnings clean up
Microsoft.Azure.Devices 1.29.0
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget. - Added logging to AMQP and HTTP transport layers (#1652)
- Added/improved doc comments on public types
- Improved parameter error handling:
UrlEncodedDictionarySerializer.Deserialize
will now throwSystem.ArgumentNullException
when parametervalue
is null.ClientWebSocketChannel.DoWrite
will now throwSystem.ArgumentNullException
when parameterchannelOutboundBuffer
is null.ClientWebSocketChannelConfig.SetOption
will now throwSystem.ArgumentNullException
when parameteroption
is null.DictionaryExtensions.GetValueOrAdd<TKey, TValue>
will now throwSystem.ArgumentNullException
when parametervalueProvider
is null.DictionaryExtensions.GetOrAddNonNull<TKey, TValue>
will now throwSystem.ArgumentNullException
when parametervalueFactory
is null.PerfectHash.HashToLong
andHashToShort
will now throwSystem.ArgumentNullException
when parametersdata
are null.SharedAccessSignature.Authenticate
will now throwSystem.ArgumentNullException
when parametersasAuthorizationRule
is null.TrackingHelper.GetErrorCodeFromAmqpError
will now throwSystem.ArgumentNullException
when parameterex
is null.RegistryManager.CreateFromConnectionString
will now throwSystem.ArgumentNullException
when parametertransportSettings
is null.
- Dispose all disposable objects (#1656)
- Assembly neutral language specified (#1696)
- Project warnings clean up
- Removal of unreferenced code
Microsoft.Azure.Devices.Shared 1.27.0
- Fixed issue where retrieving a twin array returned null (this affected twin property retrieval calls made from Microsoft.Azure.Devices.RegistryManager) (#1736)
- Project warnings clean up
Microsoft.Azure.Devices.Provisioning.Client 1.16.3
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget. - Reduce sustained memory footprint when using certificates (#1679, #1676)
Microsoft.Azure.Devices.Provisioning.Transport.Amqp 1.13.4
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget. - Dispose all disposable objects (#1699)
Microsoft.Azure.Devices.Provisioning.Transport.Http 1.12.3
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget. - Dispose all disposable objects (#1699)
Microsoft.Azure.Devices.Provisioning.Transport.Mqtt 1.14.0
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget. - Project warnings clean up
Microsoft.Azure.Devices.Provisioning.Security.Tpm 1.12.3
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget. - Project warnings clean up
Microsoft.Azure.Devices.Provisioning.Service 1.16.3
- Updated reference to
Microsoft.Azure.Devices.Shared
nuget. - Project warnings clean up