Releases: Azure/azure-iot-sdk-csharp
Microsoft Azure IoT SDKs for .NET LTS patch Release 2023-03-28
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.8
- Fix bug where client's retry policy applied n^2 times rather than n times (#3148)
- Decouple client open-close semaphore from callback subscription semaphore (#3148)
- Set transport state to 'closed' when CloseAsync() is called (#3160)
Microsoft.Azure.Devices 1.31.5
- Address fix for FxCop analyzer issue (#3148)
Microsoft Azure IoT SDKs for .NET v2 Preview #4 Release 2023-03-13
This is the fourth preview of the v2 clients. You can read about the changes in this migration guide.
Relevant changes
- Make Location property from DigitalTwinUpdateResponse internal by @schoims in #3109
- Fix device export deserialization of Id by @drwill-ms in #3112
- Fix bug for CreatedOnUtc DateTimeOffset in TelemetryMessage by @abhipsaMisra in #3117
- Add model for import job errors by @drwill-ms in #3124
- Fix amqp objects closure event handlers by @abhipsaMisra in #3127
- Edge module created from env vars by @drwill-ms in #3140
- Name change for edge module client method to send message(s) by @drwill-ms in #3141
Full Changelog: 2023-02-09-v2preview...2023-03-13-v2preview
Microsoft Azure IoT SDKs for .NET v2 Preview #3 Release 2023-02-09
This is the third preview of the v2 clients. You can read about the changes in this migration guide.
Bug fixes
- Fixed an issue over AMQP when a link or session was closed that the connection status callback wasn't being called (#3127)
What's Changed
- Convert RetryDelegatingHandlerTests to Moq by @ngastelum-ms in #2929
- Minor fixes in samples by @schoims in #2937
- Remove tests that validate service behavior, and fix another failing … by @drwill-ms in #2934
- Convert tests to Moq and remove Nsubstitute by @ngastelum-ms in #2942
- Add more doc comments for handling user-supplied callbacks for cloud-to-device communication by @brycewang-microsoft in #2939
- Call OpenAsync() before sending telemetry message by @schoims in #2944
- fix: use convention method to get payload bytes by @abhipsaMisra in #2946
- Update to latest non-preview NuGet dependencies by @drwill-ms in #2945
- Update doc comments, specifically looking at web docs generated by @drwill-ms in #2947
- Delete unreferenced code from samples by @abhipsaMisra in #2949
- Consolidate exceptions thrown out by different clients by @brycewang-microsoft in #2887
- Remove env vars and checks for App insight by @andyk-ms in #2950
- Moq test conversion by @ngastelum-ms in #2948
- Add back DisposeAsync support to device clients by @drwill-ms in #2959
- Streamline pipelines to finish skipped matrix platforms earlier by @drwill-ms in #2963
- Update ETag type and TwinMetadata in DPS by @schoims in #2964
- Add samples to v2 pipeline by @ngastelum-ms in #2969
- Fix certificate validation E2E tests for the hub and provisioning clients by @brycewang-microsoft in #2960
- Stop throwing error code DeviceMaximumQueueDepthExceeded from device client by @brycewang-microsoft in #2971
- fix - v2 GatewayHostname ignored for MQTT by @tmahmood-microsoft in #2975
- Remove out-of-support targets from test matrix by @abhipsaMisra in #2976
- Delete duplicate service getting started sample directory by @ngastelum-ms in #2985
- Delete duplicate provisioning/device/samples/Getting Started directory by @ngastelum-ms in #2986
- Update the supported doc readme and simplify test csproj by @abhipsaMisra in #2987
- Parse out service returned error message by @abhipsaMisra in #2967
- Fix the logic of checking AuthenticationException as inner exceptions by @brycewang-microsoft in #2996
- Configure CA and update a few other projects' properties by @drwill-ms in #2965
- Parse service error fot get twin failures - mqtt by @abhipsaMisra in #2999
- Add in unrelated changes from STJ conversion attempt by @drwill-ms in #3003
- Disable invalid certificate test setup by @abhipsaMisra in #3008
- Remove telemetry batch operation over MQTT by @abhipsaMisra in #3000
- Remove json validation and most null value handling by @drwill-ms in #3009
- Parse out error message - amqp by @abhipsaMisra in #3007
- Use ETag type with DigitalTwinClient by @drwill-ms in #3010
- JSON cleanup of IoT Hub service direct method + unit tests by @drwill-ms in #3011
- Cleanup more models by @drwill-ms in #3012
- Update JSON for Hub service client twins by @drwill-ms in #3013
- Fix unit test case that does not match its name by @schoims in #3014
- Remove converter for twin metadata by @drwill-ms in #3016
- Doc update for SAS token refresh over AMQP vs MQTT by @andyk-ms in #3017
- Fix build errors in previews/v2 by @abhipsaMisra in #3024
- Make CRL inspection configurable by @abhipsaMisra in #3022
- Address corner cases around sas token refresh loop cleanup by @abhipsaMisra in #3041
- Add code coverage data to pipeline by @ngastelum-ms in #3019
- Create best practice solution sample using X.509 certificate authentication by @schoims in #3036
- Add test for recovery after quota being exceeded by @abhipsaMisra in #3050
- Exclude unittests from code coverage results by @ngastelum-ms in #3053
- refactor(prov-service-tests): clean up unit test namespaces by @abhipsaMisra in #3051
- JSON-related changes for enums and required property by @drwill-ms in #3054
- Misc code cleanup by @drwill-ms in #3057
- Small typo fix by @schoims in #3080
- Cleanup DPS service enrollment samples and SDK code by @drwill-ms in #3077
- Remove ClientRuntime dependency and add Newtonsoft.Json package by @schoims in #3082
- Provisioning device unit tests coverage - part 1 by @brycewang-microsoft in #3048
- Devices.Client code coverage gaps by @tmahmood-microsoft in #3020
- Edge module sample for module-to-module messaging by @tmahmood-microsoft in #3083
- Utilize retry policy when retrying to send SAS token in CBS auth in AMQP by @schoims in #3074
- Added sample for Edge Module direct method by @tmahmood-microsoft in #3087
- Add test cases for provisioning service client by @abhipsaMisra in #3081
- Remove backdoor cert validation bypass by @drwill-ms in #3095
- Speed up the loading of environment variables for E2E tests by @drwill-ms in #3096
- Fix bug in date deserialization of device method response by @brycewang-microsoft in #3098
- Update IoT hub service client init by @drwill-ms in #3100
- Rev projects for another preview release by @drwill-ms in #3104
- Fix build errors in release flavor by @drwill-ms in #3106
- Add JsonSerializerSettings to NewtonsoftJsonPayloadSerializer for the hub device by @brycewang-microsoft in #3105
- Add migration doc misses found in API review by @drwill-ms in #3108
Full Changelog: 2022-11-03...2023-02-09-v2preview
Microsoft Azure IoT SDKs for .NET LTS patch Release 2023-01-24
This release is a patch for the Microsoft Azure IoT Hub SDK for .NET LTS patch Release 2022-06-07 LTS release.
This release contains security fixes related to safe defaults for Newtonsoft.Json (#3045).
Microsoft.Azure.Devices.Client 1.36.7
- Update DotNetty versions (#2970)
- Bring AMQP SAS token refresh cleanup logic to LTS (#3039)
- Setting MaxDepth parameter in the JsonSerializerSettings as safe default (#3045)
- Updated reference to
Microsoft.Azure.Devices.Shared
NuGet - Add M2M message failure fix (#3006)
Microsoft.Azure.Devices 1.31.4
- Setting MaxDepth parameter in the JsonSerializerSettings as safe default (#3045)
- Updated reference to
Microsoft.Azure.Devices.Shared
NuGet
Microsoft.Azure.Devices.Shared 1.27.2
- Setting MaxDepth parameter in the JsonSerializerSettings as safe default (#3045)
Microsoft.Azure.Devices.Provisioning.Transport.Mqtt 1.14.3
- Update DotNetty versions (#2970)
- Updated reference to
Microsoft.Azure.Devices.Shared
NuGet
Microsoft.Azure.Devices.Provisioning.Service 1.16.5
- Setting MaxDepth parameter in the JsonSerializerSettings as safe default (#3045)
- Updated reference to
Microsoft.Azure.Devices.Shared
NuGet
Microsoft.Azure.Devices.Provisioning.Client 1.16.5
- Updated reference to
Microsoft.Azure.Devices.Shared
NuGet
Microsoft.Azure.Devices.Provisioning.Transport.Amqp 1.13.8
- Updated reference to
Microsoft.Azure.Devices.Shared
NuGet
Microsoft.Azure.Devices.Provisioning.Transport.Http 1.12.5
- Updated reference to
Microsoft.Azure.Devices.Shared
NuGet - Fix DPS device client group enrollment provisioning over symmetric key when registration Id contains invalid URI characters (#3061)
Microsoft.Azure.Devices.Provisioning.Security.Tpm 1.12.5
- Updated reference to
Microsoft.Azure.Devices.Shared
NuGet
Microsoft Azure IoT Hub SDK for .NET Release 2022-11-16
Microsoft Azure IoT SDKs for .NET v2 Preview 002 Release 2022-11-03
This is the second preview of the v2 clients. You can read about the changes in this migration guide.
General notes
- Reduced the library count by 1.
- Microsoft.Azure.Devices.Authentication has been removed and the relevant classes moved into Microsoft.Azure.Devices.Provisioning.
- Renamed more methods and properties (see migration guide for details).
- More unit test mocking improvements.
Specific changes
- replaced custom methods with string methods by @patilsnr in #2801
- Flaky test fix and wait on some fault injection durations by @drwill-ms in #2798
- combine getting started folders by @patilsnr in #2803
- added projects to main sln file by @patilsnr in #2807
- Update the reconnection sample to use the retry policy fully, rather than wrap another retry policy around method calls by @drwill-ms in #2827
- Update symmetric key sample by @schoims in #2839
- Change how we clean-up devices and enrollments by @drwill-ms in #2843
- Print any errors from the devices cleanup job by @drwill-ms in #2850
- Update DPS custom allocator code by @drwill-ms in #2862
- Update api diff script by @drwill-ms in #2869
- Update E2E test version references by @drwill-ms in #2870
- Build and upload only Device SDK nuget packages by @andyk-ms in #2872
- Fix namespaces by @abhipsaMisra in #2871
- Rename ProvisioningRegistrationAdditionalData to RegistrationRequestPayload by @timtay-microsoft in #2868
- Small migration guide clean-up by @drwill-ms in #2873
- Remove some unnecessary exception constructors by @timtay-microsoft in #2867
- Collapse x509 auth provider classes by @drwill-ms in #2876
- Update the release version in badges and remove build badges by @schoims in #2878
- Use the Azure.Core ETag type in the DPS service client by @timtay-microsoft in #2864
- Remove build status and NuGet packages by @schoims in #2883
- Update migration guide API differences in DeviceClient/ModuleClient by @ngastelum-ms in #2882
- Add link to v2 migration document in readme for main branch by @brycewang-microsoft in #2880
- Add link to v2 migration document and Auth nuget to Contents in README for v2 branch by @brycewang-microsoft in #2879
- Consistent naming for DateTime properties and methods by @drwill-ms in #2884
- Seal all options classes and transport options classes by @timtay-microsoft in #2877
- Remove unnecessary provisioning tests by @timtay-microsoft in #2881
- Remove https references by @schoims in #2886
- Remove unnecessary provisioning tests by @timtay-microsoft in #2888
- API accessors and naming updates by @drwill-ms in #2885
- Update SDK v2 migration guide.md by @schoims in #2889
- Consolidate "C#" and ".NET" used interchangeably to reference our SDK by @ngastelum-ms in #2891
- Make tests more resilient to service latency by @drwill-ms in #2890
- Remove ToJson() methods by @drwill-ms in #2892
- Get rid of a previous NRE, and nearby updates by @drwill-ms in #2893
- merge latest from main by @drwill-ms in #2895
- Fix up from main merge by @drwill-ms in #2897
- Tags property on twin should just be a dictionary by @drwill-ms in #2899
- Handle test retry for modules by @drwill-ms in #2900
- Use DateTimeOffset instead of DateTime by @tmahmood-microsoft in #2894
- Consolidate TwinCollection.ClearMetadata() and ClearAllMetadata() by @ngastelum-ms in #2901
- Remove app insights logging from tests by @drwill-ms in #2902
- trim dps service client twin types by @drwill-ms in #2903
- Continue consolidating the auth methods for the hub device by @brycewang-microsoft in #2854
- Delete duplicate sample by @schoims in #2907
- Disambiguate twin classes from hub and dps service clients by @drwill-ms in #2910
- Turn SDK log capturing off by default for E2E tests by @drwill-ms in #2912
- Disambiguate direct method model names from client and service libraries by @drwill-ms in #2911
- Integrate AuthenticationProvider lib into Provisioning device lib by @abhipsaMisra in #2916
- Add more info and restructure migration guide by @drwill-ms in #2917
- Remove unnecessary Fx.cs class method by @ngastelum-ms in #2915
- Update all non-test framework NuGets to latest version by @drwill-ms in #2918
- Update SDK nugets and a Moq-ify a test by @drwill-ms in #2924
- Rename DPS exception types by @brycewang-microsoft in #2923
- Add retry policies into service clients by @brycewang-microsoft in #2919
- Add retry policies into DPS device by @brycewang-microsoft in #2926
- Add retry policies into DPS service by @brycewang-microsoft in #2927
- Catch TLS exceptions during connect by @brycewang-microsoft in #2928
- Update preview version by @drwill-ms in #2930
Full Changelog: 2022-10-14-v2preview...2022-11-03
Microsoft Azure IoT SDKs for .NET v2 Preview Release 2022-10-14
This is the first preview of the v2 clients. You can read about the changes in this migration guide.
Microsoft Azure IoT SDKs for .NET Release 2022-08-10
Microsoft.Azure.Devices 1.38.1
- Update Microsoft.Azure.Amqp version from 2.5.10 to 2.5.12
Microsoft.Azure.Devices.Client 1.41.2
- Update Microsoft.Azure.Amqp version from 2.5.10 to 2.5.12
Microsoft.Azure.Devices.Provisioning.Transport.Amqp 1.16.4
- Update Microsoft.Azure.Amqp version from 2.5.10 to 2.5.12
Microsoft Azure IoT SDKs for .NET Release 2022-07-26
Microsoft.Azure.Devices 1.38.0
- Update API - enable import/expert of configuration (#2322)
- Upgrade "Newtonsoft.Json" nuget from 12.0.3 to 13.0.1 (#2443)
- Stop batching ack for C2D feedback messages (#2439)
- Update Support for .NET Standard 2.1+ & .NET 5+ (#2422)
- Update reference to Microsoft.Azure.Devices.Shared nuget
Microsoft.Azure.Devices.Client 1.41.1
- Add logging for module client C2D respond (#2495)
- Refector AMQP unit to update session references (#2468)
- Upgrade "Newtonsoft.Json" nuget from 12.0.3 to 13.0.1 (#2443)
- Improve logging in retry strategy (#2436)
- Update Support for .NET Standard 2.1+ & .NET 5+ (#2422)
- Add additional logging statement to disposal flow (#2414)
- Refactor PipelineContext class for better understandability (#2403)
- Consolidate ProductInfo helper methods into the ProductInfo class (#2402)
- Update Support for .NET Standard 2.0+ & .NET 5+ (#2396)
- Update reference to Microsoft.Azure.Devices.Shared nuget
Bug fixes
- Fix bug where unsubscribing from twin/methods/c2d caused brief disconnection in AMQP (#2448)
- Fix twin operations with MQTT to retry on throttling (#2416)
Microsoft.Azure.Devices.Provisioning.Client 1.19.2
- Upgrade "Newtonsoft.Json" nuget from 12.0.3 to 13.0.1 (#2443)
- Update Support for .NET Standard 2.1+ & .NET 5+ (#2422)
- Update reference to Microsoft.Azure.Devices.Shared nuget
Microsoft.Azure.Devices.Provisioning.Security.Tpm 1.14.1
- Update Support for .NET Standard 2.1+ & .NET 5+ (#2422)
- Update reference to Microsoft.Azure.Devices.Shared nuget
Microsoft.Azure.Devices.Provisioning.Transport.Amqp 1.16.1
- Update Support for .NET Standard 2.1+ & .NET 5+ (#2422)
- Update reference to Microsoft.Azure.Devices.Shared nuget
Microsoft.Azure.Devices.Provisioning.Client.Transport.Http 1.15.1
- Update reference to Microsoft.Azure.Devices.Shared nuget
Microsoft.Azure.Devices.Provisioning.Transport.Mqtt 1.16.
- Update Support for .NET Standard 2.1+ & .NET 5+ (#2422)
- Update reference to Microsoft.Azure.Devices.Shared nuget
Microsoft.Azure.Devices.Shared 1.30.1
Microsoft Azure IoT SDKs for .NET LTS patch Release 2022-06-07
This release is a patch for the Microsoft Azure IoT Hub SDK for .NET LTS patch Release 2022-05-11 LTS release.
Microsoft.Azure.Devices.Client 1.36.6
- Update Microsoft.Azure.Amqp version to 2.5.12 (#2427)
Microsoft.Azure.Devices 1.31.3
- Update Microsoft.Azure.Amqp version to 2.5.12 (#2427)
Microsoft.Azure.Devices.Provisioning.Transport.Amqp 1.13.7
- Update Microsoft.Azure.Amqp version to 2.5.12 (#2427)