Skip to content

Releases: Azure/Industrial-IoT

Azure Industrial IoT OPC Publisher 2.9.0

14 Jul 06:31
Compare
Choose a tag to compare

We are pleased to announce the release of version 2.9.0 of OPC Publisher. This is the next major iteration of the Industrial IoT Platform and is the result of feedback received from partners and community. This release combines all separate Azure IoT Edge modules we shipped in 2.8 into a single OPC Publisher module. The cloud services previously shipped have also been combined into a single Web-API service that can be deployed as an Azure App Service.

OPC Publisher 2.9.0 is a drop-in replacement for OPC Publisher 2.8.7. In addition to backwards compatibility, it is based on a modern foundation including .net 7, using latest analyzers and nullable type annotations, ASP.net core and the most recent OPC UA .net stack and comes with many new and heavily requested features.

New in 2.9.0

  • Alarms and Events support. You can now subscribe to events in addition to value changes and in the familiar ways using the published nodes json configuration and direct methods.
  • Dead band filtering. We introduced data change triggers in 2.8.4 and are now supporting the full data change filter configuration to configure percent and absolute dead band as defined in OPC UA.
  • Standards compliant. We now support a Strict mode to make OPC Publisher adhere to OPC UA Part 14 and Part 6, including message formats and data type serialization. It is recommended to enable this setting in all new deployments. In addition
    • The publisher id in each message is now always the same value across all writer groups rather than previously where a random GUID was used per writer group when a publisher id was not configured.
    • OPC Publisher provides full support for UADP network message encoding, as well as reversible Json profiles (JsonReversible). We added support for smaller network messages by removing network message and dataset message headers (adding new MessageType.RawDataset and MessageType.DataSetMessages).
    • New support for gzip encoded Json (MessageEncoding.JsonGzip and MessageEncoding.JsonReversibleGzip) to compress JSON without resorting to UADP.
  • Send additional extension fields as part of dataset message and enable free form configuration of extension fields #1940
  • We brought back support for --sf and SkipFirst property to skip the first data change notification to be sent when subscription is created which we dropped in OPC Publisher 2.6.
  • Ability to run all edge modules without micro services #464
    • OPC Discovery has been included into the OPC Publisher module.
    • OPC Twin has been included into the OPC Publisher module, the container name must be updated to refer to OPC Publisher.
    • Support for opc-twin module api direct method calls with input arguments (not requiring OPC Twin micro services) #1512, #996, #464
  • New APIs to enable additional scenarios:
    • A new synchronous FindServer API has been added to allow discovery by discovery url through a single API call.
    • Support for a new TestConnection API to test a connection to a server and receiving detailed error information back.
    • New API to request opc server's nodes information #1960
  • Support for Reverse Connect #1586
  • New deterministic Heartbeat behavior (heartbeat acts as value change watchdog). #1993
  • With cyclic read support OPC Publisher can now poll data from server periodically rather than subscribing. #1934, #605
  • Cyclic reads and monitored items now also support Registered read to register the node id for faster access in some servers.
  • All micro services have been combined into a single WebAPI with the same resource paths as the 2.8 AKS deployment and all-in-one service.
    • Supervisor, Discoverer entities have been removed, but the API has been layered on top of the publisher entity for backwards compatibility. Do not use these API's anymore.
    • A new RegisterEndpoint API has been added that calls the new sync FindServer API and adds the result into the registry in one call.
    • The telemetry and onboarding processors have been integrated into the WebAPI, but only forwards to SignalR. The secondary event hub has been removed. If you need to post process telemetry you must read telemetry data directly from IoT Hub.
  • New Namespaces for all projects and simplified code structure. There are now 2 SDK projects, one for the OPC Publisher module, and another for the optional cloud WebAPI companion service.
  • Improved and simplified documentation
    • Documentation for the diagnostics output in the new troubleshooting guide #1952
    • Better documentation for REST API call with API Key #1991/#1976/#1504
    • Documentation for --strict mode in OPC Publisher, Better documentation for all other message profiles. #1938
  • dotnet publish can be used to build a docker container for OPC Publisher from the repository #1949
  • This release adds OpenTelemetry exporter for metrics and new instrumentation
    • Metrics and log output showing number of sessions currently active (related to #1923)
    • Metric on OPC Server down or wrong credentials provided #1445
  • Support for iotedgehubdev IoT Edge Simulator environment
    • Fix Can't run OPC UA Publisher standalone module inside IoT Edge Simulator environment (iotedgehubdev) #1708
    • No BypassCertVerification required in Simulation with VS Code / iotedgehubdev #1922
    • Fix standalone OPC-Publisher in Edge Simulator doesn't work #1999
  • Application uri of the publisher is now unique in a deployment. #1986
  • Publisher will now prefer the endpoint matching the configured endpoint url instead of picking the first in the list. #2013
  • JSON encoder now uses G8/17 to serialize float/double for precision Float/Double Serializer #1709
  • Many new configuration options and 2.9 configuration schema extensions
    • Configuration can now specify published nodes using browse path #47
    • DisplayName values defined for the event fields in pn.json are now used as keys in the payload of dataset messages (#1963)
    • Ability to select the namespace format for nodes and qualified names to switch between nsu and ns index format like ns=1;s=CycleCounter using API and telemetry #1057
    • Option to directly enable subscription during create rather than using SetPublishingMode request. #1773
    • Option to enable swagger UI in release build publishers. #2009
    • Select security mode and profile in configuration #2008
    • Command line option to disable complex type loading. #1953

This release is based on the latest .net 7 foundation and comes with all latest nuget dependencies. It has passed all our tests, nevertheless, please let us know if you encounter issues by opening a GitHub issue.

Azure Industrial IoT OPC Publisher 2.8.7

07 Jul 06:51
Compare
Choose a tag to compare

We are pleased to announce the release of version 2.8.7 of OPC Publisher as latest patch update of the 2.8 Long-Term Support (LTS) release of OPC Publisher. This is the first extended LTS release of OPC Publisher edge module (standalone). This release contains security updates and bugfixes.

IMPORTANT: This version of OPC Publisher is only supported in "standalone" mode, not in context with Industrial IoT Platform 2.8.

Changes in this release

  • Latest version of OPC UA stack .371 fixing several vulnerabilities and bugs
  • Fix CVE in 1 .net dependency (PKCS), updated other dependencies to latest.
  • Using latest Alpine base image

Azure Industrial IoT OPC Publisher 2.9.0 Preview 4

26 Jun 11:30
Compare
Choose a tag to compare

We are pleased to announce the fourth preview release of version 2.9.0 of OPC Publisher. This release adds several new features including support for reverse connect.

Use the "2.9.0-preview4" tag when pulling containers from MCR or running the deployment scripts.

IMPORTANT: Preview releases are only supported through GitHub issues. This particular release due to the number of changes included might have backward compatibility breaks that have not yet been documented. Please file issues and we will try to address them ahead of GA release.

Changes in 2.9.0 Preview 4

  • [OPC Publisher] Better documentation for REST API call with API Key #1991
  • [OPC Publisher] Fix Can't run OPC UA Publisher standalone module inside IoT Edge Simulator environment (iotedgehubdev) #1708
  • [OPC Publisher] No BypassCertVerification required in Simulation with VS Code / iotedgehubdev #1922
  • [OPC Publisher] Fix standalone OPC-Publisher in Edge Simulator doesn't work #1999
  • [OPC Publisher] Fix 2.9 preview 3 not supporting iot edge decrypt of passwords #1998
  • [OPC Publisher] Application uri of the publisher should be unique for the deployment. #1986
  • [OPC Publisher] Better documentation for --strict mode in OPC Publisher, Better documentation for all other message profiles. #1938
  • [OPC Publisher] A way to node id in nsu and ns index format like ns=1;s=CycleCounter using API and telemetry #1057
  • [OPC Publisher] Support for Reverse Connect # 1586

Azure Industrial IoT OPC Publisher 2.9.0 Preview 3

13 Jun 07:18
Compare
Choose a tag to compare

We are pleased to announce the third preview release of version 2.9.0 of OPC Publisher. This release adds several new features including support for cyclic reads.

Use the "2.9.0-preview3" tag when pulling containers from MCR or running the deployment scripts.

IMPORTANT: Preview releases are only supported through GitHub issues. This particular release due to the number of changes included might have backward compatibility breaks that have not yet been documented. Please file issues and we will try to address them ahead of GA release.

Changes in 2.9.0 Preview 3

  • [OPC Publisher] Heartbeat behavior is not deterministic - implement heartbeat as value change watchdog. #1993
  • [OPC Publisher] When enabling client linger in preview2 a failing connection retries forever #1985
  • [OPC Publisher] Alarm condition integration tests have been partially disabled and need to enable again #1989
  • [OPC Publisher] Need OPC Publisher to poll data from server periodically rather than subscribing. #1934
  • [OPC Publisher] Polling mechanism instead of PubSub in OPCPublisher #605
  • [OPC Publisher] Configuration of the published nodes by browse path #47
  • [OPC Publisher] deploy.ps1 fails upon deploying "platform" #1981
  • [OPC Publisher] Updated documentation and nuget dependencies

Azure Industrial IoT OPC Publisher 2.9.0 Preview 2

19 May 06:43
Compare
Choose a tag to compare

We are pleased to announce the second preview release of version 2.9.0 of OPC Publisher. This release marks a large change for the Industrial IoT components and features. We have combined all edge functionality into the OPC Publisher edge module which now boasts not just MQTT and IoT Hub direct method access, but a full HTTP REST endpoint that can be used to configure its functionality. The cloud components also have been combined into a single Web API that can run inside Azure App Service for simplified operations.

Use the "2.9.0-preview2" tag when pulling containers from MCR or running the deployment scripts.

IMPORTANT: Preview releases are only supported through GitHub issues. This particular release due to the number of changes included might have backward compatibility breaks that have not yet been documented. Please file issues and we will try to address them ahead of GA release.

Changes in 2.9.0 Preview 2

  • New Namespaces for all projects and simplified code structure. There are now 2 SDK projects, one for the OPC Publisher module, and another for the optional cloud WebAPI companion service.
  • Ability to run platform (modules, services) "standalone" on the edge #464
    • [OPC Discovery] has been included into the OPC Publisher module, the container name must be updated to refer to OPC Publisher.
    • [OPC Discovery] A new synchronous FindServer API has been added to allow discovery by discovery url through a single API call.
    • [OPC Twin] has been included into the OPC Publisher module, the container name must be updated to refer to OPC Publisher.
    • [OPC Twin] we removed the Activate and Deactivate calls.
    • [OPC Twin] OPC TWIN Method call #996
    • Support for opc-twin module api direct method calls with input arguments (not requiring OPC Twin micro services) #1512
  • Support for a new TestConnection API to test a connection to a server and receiving detailed error information back.
  • [OPC Publisher] (breaking change) The publisher id in each message is now always the same value across all writer groups rather than previously where a random guid was used per writer group when a publisher id was not configured.
  • [OPC Publisher] Several bug fixes for preview 1 (#1964)
    • [OPC Publisher] DatasetMessage SequenceNumber is now correctly incremented (preview) (#1961)
  • [OPC Publisher] Enabling using DisplayNames defined for the event fields in pn.json as keys in the payload of dataset messages (#1963)
  • [OPC Publisher] Request opc server's nodes information #1960
  • [OPC Publisher] dotnet publish can be used to build a docker container for OPC Publisher #1949
  • [OPC Publisher] Metrics output and log output showing number of sessions currently active (related to #1923)
  • [OPC Publisher] Added new OPC UA stack which addressess #1937 and latest CVE's
  • [All micro services] Have been combined into a single WebAPI with the same resource paths as the 2.8 AKS deployment and all-in-one service.
    • [OPC Registry service] Supervisor, Discoverer entities have been removed, but the API has been layered on top of the publisher entity for backwards compatibiltiy. Do not use these API's anymore.
    • [OPC Registry service] A new RegisterEndpoint API has been added that calls the new sync FindServer API and adds the result into the registry in one call.
    • [Telemetry processor] The telemetry and onboarding processors have been integrated into the WebAPI, but only forwards to SignalR. The secondary event hub has been removed. If you need to post process telemetry you must read telemetry data directly from IoT Hub.
  • Document the diagnostics output and troubleshooting guide #1952

Azure Industrial IoT Platform Release 2.8.6

28 Apr 12:22
Compare
Choose a tag to compare

We are pleased to announce the release of version 2.8.6 of our Industrial IoT Platform components as latest patch update of the 2.8 Long-Term Support (LTS) release. This release contains security updates and bugfixes.

Changes in this release

  • Latest version of OPC UA stack .371 fixing several vulnerabilities
  • Update JSON.net nuget dependency to latest version
  • Use latest Alpine base images to address vulnerabilities found during scanning.

Azure Industrial IoT Platform Release 2.8.5

09 Mar 07:10
b2fb731
Compare
Choose a tag to compare

We are pleased to announce the release of version 2.8.5 of our Industrial IoT Platform components as latest patch update of the 2.8 Long-Term Support (LTS) release. This release contains security updates and bugfixes.

Changes in this release

  • [All] Update to latest dependencies.
  • [All] Use latest OPC UA .net stack 371.
  • [OPC Publisher] Fix a crash in the diagnostics output timer in orchestrated mode when endpoint url is reported null. (#1955)

Azure Industrial IoT OPC Publisher Release 2.9.0 Preview 1

09 Mar 07:49
Compare
Choose a tag to compare

We are pleased to announce the first preview release of version 2.9.0 of OPC Publisher. This release contains several requested features and fixes issues discovered.

IMPORTANT - PLEASE READ

Preview releases are only supported through GitHub issues. OPC Publisher is only supported in standalone mode (without micro services).

Changes in this release

  • [OPC Publisher] Alarms and Events support to OPC Publisher. You can now subscribe to events in addition to value changes and in the familar ways using the published nodes json configuration and direct methods.
  • [OPC Publisher] Full Deadband filtering. We introduced data change triggers in 2.8.4 and are now supporting the full data change filter configuration to configure percent and absolute deadband as defined in OPC UA.
  • [OPC Publisher] Support setting discard new configuration on command line.
  • [OPC Publisher] Full support for UADP network message encoding, as well as reversible Json profiles (JsonReversible)
  • [OPC Publisher] Support for smaller network messages by removing network message and dataset message headers (adding new MessageType.RawDataset and MessageType.DataSetMessages).
  • [OPC Publisher] Support for gzip encoded Json (MessageEncoding.JsonGzip and MessageEncoding.JsonReversibleGzip)
  • [OPC Publihser] Strict mode to adhere to OPC UA Part 14 and Part 6, including message formats and data type serialization.
  • [OPC Publisher] Adding back support for --sf and SkipFirst property to skip the first data change notification to be sent when subscription is created.
  • [All IoT Edge modules] Configuration to optionally enable MQTT topic publishing and command control via an MQTT broker instead of IoT Edge EdgeHub.
  • [All IoT Edge modules] Update OPC UA stack to latest .371 version.

azure-industrial-iot Helm chart 0.4.4

19 Dec 14:04
a75e16d
Compare
Choose a tag to compare

This is the release of 0.4.4 version of azure-industrial-iot Helm chart, which deploys 2.8.4 version of Azure Industrial IoT components. Release notes for 2.8.4 version of Azure Industrial IoT components can be found here.

Our new release can be found on ArtifactHub.

Azure Industrial IoT Release 2.8.4

02 Dec 11:56
08e108c
Compare
Choose a tag to compare

We are pleased to announce the release of version 2.8.4 of our Industrial IoT Platform components as latest patch update of the 2.8 Long-Term Support (LTS) release. This release contains important security updates fixes, performance optimizations and bugfixes.

IMPORTANT - PLEASE READ

  • IoT Edge 1.1 LTS will be going out of support on 12/13/2022, please update your IoT Edge gateways to IoT Edge 1.4 LTS.

    To continue deploying the 1.1 LTS modules to your environment follow these instructions.

  • Windows container images are no longer supported in IoT Edge 1.4 and consequentially have been removed from this release. Please use IoT Edge for Linux on Windows (EFLOW) 1.4 as your IoT Edge environment on Windows.

    IoT Edge 1.4 LTS EFLOW is supported as a Preview Feature in this release.

    • You must update your Windows based IoT Edge environment to EFLOW ahead of deploying the platform.
    • Simulation deployed as part of the ./deploy.ps1 script now deploys EFLOW on a Windows VM Host (Preview Feature). This requires nested virtualization. The Azure subscription and chosen region must support Standard_D4_v4 VM which supports nested virtualization or deployment of simulated Windows gateway will be skipped.
    • Network scanning on IoT Edge 1.4 LTS EFLOW using OPC Discovery is not supported yet. This applies to the deployed simulation environment and engineering tool experience. You can register servers using a discovery url using the registry service's registration REST API.

Changes in this release

  • Updated .net to .net 6.0 LTS from .net core 3.1 LTS which will be going out of support on 12/13/2022.
  • Updated nuget dependencies to their .net 6 counterpart or to their latest compatible release.
  • [All IoT Edge modules] Updated IoT Edge dependency to IoT Edge 1.4 LTS from 1.1 LTS which will be going out of support on 12/13/2022.
  • [All IoT Edge modules] (Preview) Support for IoT Edge EFLOW 1.4 LTS
  • [OPC Publisher] Fix for orchestrator infinite loop on publisher worker document update (#1870)
  • [OPC Publisher] Rate limit OPC Publisher orchestrator requests.
  • [OPC Publisher] More explicit error logs in orchestrated mode, also showing transient exceptions in logs for better troubleshooting.
  • [OPC Publisher] Add --bi / --batchtriggerinterval command line option to define interval in milliseconds. (#1893)
  • [Deployment] IAI: Upgraded Kubernetes version in AKS from 1.22.6 to 1.23.12. (#1885)
  • [Deployment] Increased proxy-connect-timeout of NGINX from default 5 seconds to 30. (#1871)
  • [OPC Publisher] (Preview) User can set the Data change trigger value of the Data change filter type either as a default for all or per subscription (#1830).
  • [OPC Publisher] (Preview) Allow comment in OpcPublisher Configuration when Validation is used (#1892)
  • [All IoT Edge modules] Add a configuration option to set security option RejectUnknownRevocationStatus (#1777)
  • [All IoT Edge modules] Add mandatory field for edgeHub in the base deployment template to support cloning deployments (#1764)
  • [OPC Discovery] Ensure duplicate discovery urls override previous url instead of causing exception (#1903, #1902)
  • [OPC Discovery] Enginering tool ad hoc discovery fails with "capacity must be non negative" error found during bug bash. (#1907)
  • [OPC Twin] Fix sessions in Twin are not closed when endpoint is deactivated. (#1910)

For features that are marked as Preview, please report any issues through GitHub issues.

Known issues

  • Under EFLOW, by default the Application instance certificate is generated by each module and not automatically shared. To work around this, configure EFLOW and modules deployed manually to use a shared host volume to map the pki folders.
  • Discovering using IP Address and port ranges is not supported on EFLOW.