Repository navigation
Releases: Azure/Industrial-IoT
Release list
Azure Industrial IoT OPC Publisher 2.9.18
What's Changed
- Do not restart heartbeat timer countdown on subscription synchronization by aurovico in #2488
- Log direct method call failures so they surface in support bundles by Marc Schier (@marcschier) in #2489
- Include owning dataset writer in monitored item equality to stop node drops by Marc Schier (@marcschier) with @Copilot in #2493
- Apply sampling-interval-only changes to running monitored items by Marc Schier (@marcschier) with @Copilot in #2491
- Speed up OPC UA method call API by suppressing VariantValue child validation by Marc Schier (@marcschier) with @Copilot in #2492
- Add endpointUrl-tagged per-endpoint OPC Publisher metrics by Marc Schier (@marcschier) with @Copilot in #2495
- Add diagnostics API to list monitored nodes that failed to be created by Marc Schier (@marcschier) with @Copilot in #2494
- Retry partial complex-type-system loads instead of stranding undecoded structures until restart by Marc Schier (@marcschier) with @Copilot in #2490
- Support selecting reversible/non-reversible JSON encoding for /v2/read by Marc Schier (@marcschier) with @Copilot in #2496
- Bump Furly to 1.2.6 to pick up IoT Hub reconnect fix (#2399) by Marc Schier (@marcschier) in #2497
- Add e2e test for per-writer-group IoT Hub device connection string by Marc Schier (@marcschier) with @Copilot in #2498
- Add API to trigger an on-demand key frame for a writer group or data set writer by Marc Schier (@marcschier) with @Copilot in #2499
- Fix E2E IoT Hub connstring parse: strip CR from KeyVault secrets by Marc Schier (@marcschier) in #2501
- Fix increasing memory consumption: dispose idled-out OPC UA clients instead of deadlocking by Marc Schier (@marcschier) with @Copilot in #2500
- Wait for second publisher to be method-ready in writer-group CS e2e test by Marc Schier (@marcschier) in #2504
- Capture second-publisher module logs on direct-method failure in writer-group CS e2e test by Marc Schier (@marcschier) in #2505
- Fix UnpublishAllNodes 500 on freshly deployed publisher with a named --pf file by Marc Schier (@marcschier) in #2507
- ci: fix nuget_pack MSB1008 by splitting restore and pack steps by Marc Schier (@marcschier) with @Copilot in #2502
- Repartition subscriptions with reduced max when server reports Bad_TooManyMonitoredItems by Marc Schier (@marcschier) with @Copilot in #2503
- Bump Furly to 1.2.8 to fix MQTT reconnect memory/handle leak (#2365) by Marc Schier (@marcschier) in #2506
- Update NuGet packages to latest stable versions by Marc Schier (@marcschier) in #2508
- Add refresh-only condition handling to surface retained conditions once (#2434) by Marc Schier (@marcschier) in #2509
- Fix CI nuget_pack NU5026 by building before packing by Marc Schier (@marcschier) in #2510
- Allow configuring NamespaceFormat via the published nodes / configuration API by Marc Schier (@marcschier) with @Copilot in #2512
- Support heartbeat indicator in PubSub JSON messages and document it by Marc Schier (@marcschier) with @Copilot in #2514
- Serialize heartbeat notifications with value change dispatch by Marc Schier (@marcschier) with @Copilot in #2516
- Stop watchdog heartbeats from racing the value they wait for by Marc Schier (@marcschier) in #2517
- Gate the telemetry soak behind an opt-in and exercise it on every PR by Marc Schier (@marcschier) in #2518
- Harden the e2e init step against script injection and add a threat model by Marc Schier (@marcschier) in #2519
- Cover the legacy updated-timestamp heartbeat behaviour by Marc Schier (@marcschier) in #2520
- Update NuGet dependencies by Marc Schier (@marcschier) in #2521
- Prove source timestamp fidelity against a slipping source by Marc Schier (@marcschier) in #2522
New Contributors
Full Changelog: 2.9.17...2.9.18
Azure Industrial IoT OPC Publisher 2.9.17
We are pleased to announce the release of version 2.9.17 of OPC Publisher. This monthly patch release comes with several bug and security fixes and is the latest supported release. Older releases below are no longer supported.
Changes in 2.9.17
- Migrate to .NET 10 by Marc Schier (@marcschier) in #2444
- Updates to all dependencies (.net and OPC UA stack to 1.5.378.145)
- Fix bug max items in subscription y Marc Schier (@marcschier) in #2449
- Fix outgoing telemetry DatasetWriterName unexpected suffix by Marc Schier (@marcschier) with @Copilot in #2453
- Clamp partition batch size to prevent subscription creation crash on uint.MaxValue limits by Marc Schier (@marcschier) with @Copilot in #2460
- Fix OTLP metrics and traces emission when
--ocis set by Marc Schier (@marcschier) with @Copilot in #2465 - Do not perform cyclical ConditionRefresh when it is not needed by Marc Schier (@marcschier) with @Copilot in #2475
Full Changelog: 2.9.16...2.9.17
Azure Industrial IoT OPC Publisher 2.9.15
We are pleased to announce the release of version 2.9.15 of OPC Publisher. This monthly patch release comes with several bug and security fixes and is the latest supported release. Older releases below are no longer supported.
Breaking changes
- The companion web app and API are no longer supported or included (#2370)
- OPC Publisher container by default runs root-less (non-root user). To run as root, start the OPC Publisher using the --user root command line option. (#2428)
Changes in 2.9.15
- call of ISA95 JobOrderReceiver "Store" method fails decoding "JobOrderParameters" "ISA95ParameterDataType" (2424)
- OPC Publisher does not re-establish connection to OPC UA server, if the OPC UA server is restarted. (#2416)
- Updates to all dependencies (.net and OPC UA stack)
Azure Industrial IoT OPC Publisher 2.9.14
We are pleased to announce the release of version 2.9.14 This monthly patch release updates dependencies to fix security vulnerabilities and bugs in them and is the latest supported release. Older releases below are no longer supported.
Changes in 2.9.14
- Updates to all dependencies (.net 9.0.5 and OPC UA stack)
- Additional diagnostic instruments to monitor session keep alive counters
Azure Industrial IoT OPC Publisher 2.9.13
We are pleased to announce the release of version 2.9.13 of OPC Publisher and the companion web api service. This monthly patch release comes with several bug and security fixes and is the latest supported release. Older releases below are no longer supported.
Changes in 2.9.13
- Resiliency fixes based on new manual chaos testing.
- Recover a dead subscription that is missing keep alive results for the configured keep alive and life time count.
- Recover sessions that fail to be established due to various errors including session closed unexpectedly in server.
- Fix typo in DefaultDataChangeTrigger environment variable name (breaking change) (#2393)
- Events with arrays of complex data types are not encoded at all (#2381)
- Updates to all dependencies (.net 9.0.4 and OPC UA stack)
Azure Industrial IoT OPC Publisher 2.9.12
We are pleased to announce the release of version 2.9.12 of OPC Publisher and the companion web api service. This monthly patch release comes with several bug and security fixes and is the latest supported release. Older releases below are no longer supported.
Significant changes made in 2.9.12
This release makes significant changes under the hood of OPC Publisher. These changes include:
- The 1:1 relationship between writers and session/subscription has been removed. Instead the concept of a virtual subscription that bundles multiple writers was added to remove load on some servers that only allow a small number of subscriptions. (#2295)
- Instead of trying to reconnect to the old session in the server, the OPC UA client will now always reconnect a new session and recreate all subscriptions if the secure channel drops (#2368, #2373, #2361, #2344)
- Update to .net 9 and update of all packages to latest version. This includes update to MQTT.net v5.
- New preview feature to initialize publisher from a init file that automates the OPC Publisher config api. This enables for example
Other changes in 2.9.12
- Fix a NullReferenceException when Cyclic read monitored items are recreated/connected or when heartbeat notifications are to be sent while disconnected (#2367)
- And related - ConditionHandling stops working after some time (#2288)
- Extension Fields are now part of all messages (#2360)
- Fix changing entry from SignAndEncrypt to None fails to connect until restarted (#2351)
- Fix Kepserver restart leads to ArgumentException: Timeout must be greater than zero. (#2346)
- Configuring MaxPublishRequests via command line and environment variable now works correctly (#2289)
- Enable Response Compression in Publisher Rest API (Accept-Encoding gzip) (#2350)
- Allow setting security policy only using the anchor name (e.g. "None"), not the entire url (#2337)
- Ability to specify cache age for cyclic reads (#2328)
- Add Endpoint url and application uri to PubSub messages (#2329)
- New Heartbeat behavior to send values periodically but not send freshly received values. (#2327)
- Support close and commit instead of just close when closing a file using the file API (#2322)
Azure Industrial IoT OPC Publisher 2.9.11
We are pleased to announce the release of version 2.9.11 of OPC Publisher and the companion web api service. This monthly patch release comes with several bug and security fixes and is the latest supported release. Older releases below are no longer supported.
Changes in 2.9.11
- Fixes an issue when using amqp as transport combined with batching, some batches are not sent successfully (#2321)
- Dependency updates to fix critical vulnerabilities as well as bugs such as proper support for cgroup v2 is used bug (#2261)
- Resiliency and fixes of critical bugs in reconnect scenarios:
- Fix an issue with a runaway Heartbeat timer causing publishing wrong values at wrong time (#2313)
- API addition allowing selecting which OPC Publisher to use for discovery feature request (#2302)
Azure Industrial IoT OPC Publisher 2.9.10
We are pleased to announce the release of version 2.9.10 of OPC Publisher and the companion web api service. This monthly patch release comes with several bug and security fixes and is the latest supported release. Older releases below are no longer supported.
Changes in 2.9.10
- Update OPC UA .net stack to the latest 1.05 version and move forward other dependencies
- API to get the server session, channel and subscription diagnostics for connections (#2303)
- New --aq command line option to calculate queue sizes automatically from publishing interval and sampling interval (#2300)
- New --ipi option to ignore publishing intervals in JSON configuration and use the default configured with --op (#2299)
- New --spw option to configure creating a session per dataset writer (#2298)
- Provide example and documentation for Browse Path definition. Allow browse path without node id in configuration (#2296)
- New defaults for Keep alive counter and lifetime counters set to 0 to let server decide (#2294)
- Updates and additions to writer API to manage writers and writer groups with data set fields (#2257, #2285, #2269, #2293, #2269)
- Fix setting Heartbeat Interval with API is using milliseconds instead of seconds (#2292)
- Fix issue that after calling reset API (/v2/reset) publisher stops receiving data changes (#2291)
- Fix bug where ConditionHandling and Heartbeat timers stop working after reconnects (#2288)
- Fix bug where Complex types are not decoded in initial messages (#2281)
- Allow configuring message TTL on DatasetWriterGroup level (#2280)
- Add ability to set Timestamp in UserProperties of message when using MQTT Transport (#2277)
- JSON Configuration now provides the ability to set a (default) sampling interval for a writer (#2271)
- Show log message when namespace table changes inside a client and between session reconnects (#2263)
- Return ProblemDetails JSON for all error responses (#2201)
- Fix incompatibility when generating SDK from openapi.json using Autorest (#2199)
Azure Industrial IoT OPC Publisher 2.9.9
We are pleased to announce the release of version 2.9.9 of OPC Publisher and the companion web api service. This release comes with several bug and security fixes and is the latest supported release. We recommend strongly to update from 2.9.8 due to several security fixes and some instability reported in 2.9.8 in reconnect situations.
Changes in 2.9.9
- Update OPC UA .net stack to the latest 1.05 version and move forward other dependencies
- Monitored item state is not properly cleaned up after a hard reconnect which leads to heartbeat timers still being alive.
- Allow configuring a watchdog for monitored items and set behavior when watchdog expires (#2164)
- Limit number of publish requests to 10, allow override using command line argument (#2215)
- Fix issue where count of bad and good monitored items is incorrect (#2202)
- Return better error messages in responses (#2195)
- Fix issue where publisher stops respecting reconnect period after initial successful connection (#2189)
- Added sample to show using NodeRead to read attributes (#2226)
- New command line option to read configuration from first certificate found in own folder addresses several backward compatibility breaks when migrating between OPC Publisher versions (#2166)
- Added call timeouts that can be overridden in request header and automatically cancel after timeout (#2203, #2219, #2213)
- Fix an issue where linger does not work when reference continuation token between calls is the same (#2227)
- Add a command line option to disable runtime metrics (#2200, #2197)
- Added ability to write encoded messages to stdout/stderr for debugging (#2259)
- Add ability to disable resource monitoring via command line option to work around any incompatibility with host systems (related to #2261)
- Improved documentation.
Azure Industrial IoT OPC Publisher 2.9.8
We are pleased to announce the release of version 2.9.8 of OPC Publisher and the companion web api service. This release comes with several bug and security fixes and is the latest supported release.
Changes in 2.9.8
- Update OPC UA .net stack to the latest 1.05 version and move forward other dependencies
- Telemetry messages are sent with non default (0) ttl now to support DAPR >= 1.13 (#2243)
- Elevation property in request header does work now when service calls are sent using edge API (#2218)
- Add more Info to Logs in case of publishing errors, e.g. "Too many publish request error" (#2229)
- New Security mode "NotNone" reflecting the legacy "UseSecurity":true setting in nodes. "Best" (any) is persisting after Opc Publisher is restarted (#2228)
- Latest OPC UA .net stack fixes "CRL with zero revoked certificates fails to be decoded (#2214)
- Enable the definition of the GRPC endpoint host name for DAPR (#2235)
- Diagnostic info API returns incorrect information (#2230)
- Make TransferSubscriptionsOnReconnect configurable (via publishednodes.json) (#2205)
- Ability to disable Complex type system loading (#2185)
- Several improvements for cyclic read (#2169)
- BadNodeIdUnknown not re-evaluated despite short retry delays? (#2188)
- Additional information in diagnostic messages including resource consumption (total)
- Persistency of published nodes file now uses .net storage provider which supports enabling file change polling via command line option (needed on some linux setups)