Releases: Azure/iot-operations-sdks
Releases · Azure/iot-operations-sdks
Azure.Iot.Operations.Services 1.2.1 Release
Fix how ADR client uses telemetry codegen layer (#1329)
Azure.Iot.Operations.Connector 1.1.1 Release
Fix bug where updating an asset would not cancel previously invoked 'WhileAssetIsAvailable' callback (#1323)
[Rust] mqtt@v1.0.2
Fixes
- Disable kTLS by default in the Tokio/OpenSSL TLS transport to avoid incorrect handling of server-sent TLS session tickets #1333
Azure.Iot.Operations.Services 1.2.0 Release
- Change StopAsync/DisposeAsync pattern (#1297)
- This change now requires users to call
StopAsyncon SchemaRegistryClient, StateStoreClient, LeasedLockClient, LeaderElectionClient, and AzureDeviceRegistryClient in order to unsubscribe from any MQTT topics that they were subscribed to. Previously, simply disposing these clients would unsubscribe from these topics, but now it does not.
- This change now requires users to call
- Add support for reporting health status of endpoints, management actions, streams, etc. (#1290)
Azure.Iot.Operations.Protocol 1.2.0 Release
- Change StopAsync/DisposeAsync pattern (#1297)
- This change now requires users to call
StopAsyncon CommandInvoker, CommandExecutor, and TelemetryReceiver in order to unsubscribe from any MQTT topics that they were subscribed to. Previously, simply disposing these clients would unsubscribe from these topics, but now it does not.
- This change now requires users to call
Azure.Iot.Operations.MQTT 1.1.0 Release
- Add new "ThrowIfUsedWhenSessionInactive" flag to session client options and new "SessionClosedException" that will be thrown if this flag is set and a session client attempts to publish/subscribe/unsubscribe while the session is closed (#1297)
- Fix bug where disposing session client while it is reconnecting could cause unobserved ObjectDisposeException (#1289)
Azure.Iot.Operations.Connector 1.1.0 Release
- Adopt new pattern of calling StopAsync and DisposeAsync on clients such as SchemaRegistryClient (#1297)
- Add support for reporting health status of endpoints, management actions, streams, etc. (#1290)
- Minor note: DeviceEndpointClient and AssetClient now implement IAsyncDisposable rather than IDisposable, but this disposal was already being done for the user in the base connector
[Rust] connector@v2.0.1
Fixes
- Storage destinations are no longer rejected as a configuration error and can now be created. Forwarding data to a Storage destination now returns a
ValidationErrorinstead of panicking withunimplemented!()
[Rust] services@v1.2.0
Design Changes
- Adds Health Status reporting support to the Azure Device Registry Client
- New
RuntimeHealthtype for reporting health status (Available/Unavailable with optional message and reason code) - Adds convenience methods on the Client for creating background health reporters:
new_device_endpoint_health_reporter()new_dataset_health_reporter()new_event_health_reporter()new_stream_health_reporter()new_management_action_health_reporter()
- Health reporters automatically re-report events in the background at a user-specified interval
- Background health reporting includes deduplication to skip redundant reports for the same status
HealthReporterSenderprovidesreport(),pause()APIs for controlling health reporting- New direct reporting methods on the Client:
report_device_endpoint_runtime_health_event(),report_dataset_runtime_health_events(),report_event_runtime_health_events(),report_stream_runtime_health_events(),report_management_action_runtime_health_events()
- New
Fixes
- Fixed an issue where ADR Client auto-ack could be incorrectly set to false due to conflicting
derive(Default)andderive(Builder)defaults. Thederive(Default)was removed fromClientOptionsso that builder defaults are always used. If the::default()is used then auto-ack would be set to true. [#1252]
[Rust] connector@v2.0.0
Design Changes
- Adds Management Actions support
- New
ManagementActionExecutorfor receiving and responding to management action requests via RPC commands - New
ManagementActionClientfor managing management action lifecycle and notifications ManagementActionNotificationenum with variants:AssetUpdated,Updated,UpdatedWithNewExecutor, andDeleted- New
ManagementActionSpecificationandManagementGroupSpecificationtypes containing action/group configuration, type, target URI, timeout, and topic information ManagementActionRefandManagementActionStatusReporterfor status reportingManagementActionRequestprovides payload, content type, format indicator, custom user data, and topic tokensManagementActionResponseBuilderfor constructing responses with optional application errors
- New
- Adds
UnsupportedComponentClientconvenience trait and implementations forDataOperationClientandManagementActionClientto more easily handle unsupported components in a generic way - Adds health event reporting functionality
RuntimeHealthEventenum (Available/Unavailable) for reporting component healthreport_health_event(),pause_health_reporting(),refresh_health_version(),pause_and_refresh_health_version()APIs onDataOperationClientandManagementActionClient- Health events are periodically re-reported in the background with deduplication
- Exposes reconnect policy in
BaseConnectorOptionsto allow applications to control MQTT reconnection behavior
Breaking
DataOperationNotificationenum has been redesignedUpdatedandUpdatedInvalidvariants are replaced byAssetUpdated(Result<(), AdrConfigError>)andUpdated(Result<(), AdrConfigError>)AssetUpdatedindicates the containing Asset was updated without changes to the Data Operation definition- Update notifications now return a
Resultindicating whether the SDK detected a configuration error for the Data Operation - New Data Operations with SDK-detected config errors are now provided to the application with error details, rather than being withheld
AssetClientcreation notification now returnsAssetComponentClientinstead ofDataOperationClientto handle management action creation.
Limitations
- Default topic resolution for Management Actions is not supported
Fixes
- Fixed Data Operation notification bugs where asset updates were not propagated to Data Operation notification channels, causing the application to not re-report status [#1187]
- SDK-detected configuration errors for Data Operations are now surfaced to the application instead of being silently handled internally, reducing race conditions between Asset and Data Operation updates [#1187]
- Fixed an issue where an early publish not getting acknowledged by the ADR client blocked all further publishes from being received [#1252]