Skip to content

OPC UA 1.05 August Maintenance Update

Latest
Compare
Choose a tag to compare
@opcfoundation-org opcfoundation-org released this 13 Sep 06:54
c4f0f73

1.05.374 August Release

This release is based on the 1.05.03 Nodeset with generated files from the ModelCompiler.
The focus in this release was on security and performance improvements and bug fixes.

Improvements and bug fixes

  • Various smaller bug fixes.
  • Removed the mandatory client check for a match of the application Uri in the server certificate and the returned endpoint. Many production servers have it incorrectly configured. Open work item to make the check optional.
  • Winforms samples were moved to the samples repo. The Reference server Quickstart samples are available in a Nuget package from the preview feed.
  • Improve handling of client publish max request count. by @marcschier
  • The rejected store can be completely disabled (by @romanett) and the rejected certificate history can be limited with a new setting MaxRejectedCertificates. Rejected store is only supported with Directory store.
  • Better support for client browse with a ManagedBrowse implementation, which handles BrowseNext and all various types of errors that can occur. Implicitely also used by the NodeCache and other API that exposed browse functionality. by @ThomasNehring.
  • Reduce Server NodeManager contention on high load by moving some dictionaries to ConcurrentDictionary to avoid blocking in service calls.
  • Fix a server deadlock in channel cleanup.
  • More fuzz targets for the Xml Encoder/decoder. Now all encoders follow the dispose pattern.

Breaking changes

  • ICertificateStore has a new member NoPrivateKeys and a new method AddRejected optimized to save certs with low overhead.
  • CertificateStoreIdentifier.OpenStore has been flagged deprecated to allow for certificate caching.
  • CertificateStoreIdentifier with DirectoryStore supports to cache certificates if the store is just closed, not disposed.
  • Removed https package from OPCFoundation.NetStandard.Opc.Ua and marked it deprecated. Recommended is to set a dependency only to required packages, e.g. Server, Client, GDS.Client etc. to minimize the number of dependencies.
  • The Basic128Rsa15 policy has been removed from server configurations. It is considered unsafe and should only be used when connecting to legacy devices with no other option.

Released packages

OPCFoundation.NetStandard.Opc.Ua
OPCFoundation.NetStandard.Opc.Ua.Core
OPCFoundation.NetStandard.Opc.Ua.Security.Certificates
OPCFoundation.NetStandard.Opc.Ua.Configuration
OPCFoundation.NetStandard.Opc.Ua.Server
OPCFoundation.NetStandard.Opc.Ua.Client
OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes
OPCFoundation.NetStandard.Opc.Ua.Bindings.Https
OPCFoundation.NetStandard.Opc.Ua.PubSub

What's Changed

  • remove winforms sample projects from main repo by @romanett in #2626
  • Client Structure by @romanett in #2668
  • Add test cases which need security none but are currently skipped on a secured server by @mregen in #2678
  • Bump NUnit.Console from 3.17.0 to 3.18.1 by @dependabot in #2682
  • Remove System.Security.Cryptography.Cng dependency by @mregen in #2688
  • Bump Serilog and System.Diagnostics.DiagnosticSource by @dependabot in #2689
  • Bump NUnit3TestAdapter from 4.5.0 to 4.6.0 by @dependabot in #2690
  • Bump NunitXml.TestLogger from 3.1.20 to 4.0.254 by @dependabot in #2691
  • Enhance publish request count management to allow limiting the publish requests to a max count by @marcschier in #2681
  • (bug) fix #2697 - m_keepAliveInterval should always be >= kMinKeepAliveTimerInterval by @BoBiene in #2698
  • Fix template based constructor in Subscription.cs by @ThomasNehring in #2677
  • Added PublisherMqttClientOptions and SubscriberMqttClientOptions for enabling custom configurations. by @mrsuciu in #2672
  • Remove default rejected store creation by @romanett in #2696
  • More fuzz targets for binary and Xml decoders by @mregen in #2621
  • Bump Microsoft.NET.Test.Sdk from 17.9.0 to 17.10.0 by @dependabot in #2701
  • [Server] Limit Access to server diagnostics array to Admin User by @romanett in #2695
  • Fix CI Build flaky tests by reducing log output, default tests to net8.0, by @mregen in #2704
  • Bump Nerdbank.GitVersioning from 3.6.139 to 3.6.141 by @dependabot in #2706
  • Bump BenchmarkDotNet from 0.13.12 to 0.14.0 and fix some build issues for legacy platforms by @dependabot in #2707
  • Managed Browse and Browse Next for the UA client. by @ThomasNehring in #2673
  • Server SDK mistakenly uses SendBufferSize as ReceiveBufferSize and vice versa by @mregen in #2718
  • Bump System.Security.Cryptography.Cng from 4.5.2 to 5.0.0 by @dependabot in #2724
  • Bump Newtonsoft.Json and System.Runtime.InteropServices.RuntimeInformation by @dependabot in #2723
  • Improve reconnect error messages, misc. small improvements by @mregen in #2719
  • Remove example of how to select unrecommended RSA15 Policy by @Archie-Miller in #2728
  • In the managed browse, pass the request header into browse next. by @ThomasNehring in #2726
  • Allow bad status code for optional Attributes in ReadNodes by @NoahHoelterhoff in #2730
  • Add tolerance to timestamp validation to reduce excessive future time… by @BoBiene in #2711
  • Skip client server cert app uri validation due to IOP issues by @mregen in #2733
  • Fix a deadlock in binary channel on cleanup, reduce contention due to locks on high server load by @mregen in #2714
  • AddRejected method for ICertificateStore by @mregen in #2720
  • Add a 1.05 update notice by @BoBiene in #2709
  • Check that DataValue.Value is not null when verifying the event notifier for an object by @kristianmo in #2729
  • August release testing: Improve cert blob decoding hot path and fix cert validator semaphore regression by @mregen in #2748
  • Remove https package from OPCFoundation.NetStandard.Opc.Ua dependencies, causes build issues. by @mregen in #2751
  • Release testing: Fix channel remove issue and channel exhaustion on reconnect by @mregen in #2749
  • Merge main in release branch by @mregen in #2750
  • Bump Moq from 4.20.70 to 4.20.72 by @dependabot in #2758
  • Bump MQTTnet from 4.3.6.1152 to 4.3.7.1207 by @dependabot in #2756
  • Bump Microsoft.NET.Test.Sdk from 17.11.0 to 17.11.1 by @dependabot in #2757
  • Openstore returns null if CertificateIdentifier is empty by @mregen in #2761
  • Merge some fixes for release by @mregen in #2762

New Contributors

Full Changelog: 1.5.374.78...1.5.374.118