Releases: OPCFoundation/UA-.NETStandard
OPC UA 1.05 April Update
1.05.374 April 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 improvements and bug fixes.
Improvements
- Bug Fixes for the GDS support (@romanett).
- Fix many typos and simplify Xml floating point encoder/decoder (@mtx500).
- More tests for PubSub (@mrsuciu).
- Add timer in the server to clean up stale channels, limit the total number of active channels (@mrsuciu).
- UA Fuzzer framework for afl-fuzz and libfuzzer, fuzz targets for Binary and Json (@mregen).
- Fixes in Encoder/Decoder found by fuzzing (@mregen).
- Fix unnecessary server Shutdown delay when no LDS is present to unregister (@romanett).
New Configuration settings:
- ChannelLifeTime is used by the server channel clean up timer.
- MaxChannelCount can be specified in the configuration to limit number of channel per server (see...)
<MaxChannelCount>1000</MaxChannelCount>
<ChannelLifetime>30000</ChannelLifetime>
- Configurable encoding limits
<MaxEncodingNestingLevels>200</MaxEncodingNestingLevels>
<MaxDecoderRecoveries>0</MaxDecoderRecoveries>
Breaking change:
- Encoders and Decoders should follow the Dispose pattern (so far Close was sufficient to dispose the stream)
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
- Nuget README: add Readme to NuSpec to include in Pipeline builds by @romanett in #2580
- Typos by @mtx500 in #2581
- Added PubSub KeyFrameCount and DeltaFrame tests by @mrsuciu in #2579
- Remove unnecessary casts to RoleBasedIdentity when checking for WellKnownRoles by @romanett in #2578
- Added a limit to the Channels on the server side and removed "stale" channels by @mrsuciu in #2540
- Bump NUnit from 3.14.0 to 4.1.0 by @dependabot in #2535
- make tests put out readable StatusCodes by @romanett in #2593
- Serialization of floating point values to XML: Remove superfluous handling of special values by @mtx500 in #2588
- fix disposal of ConsoleReferenceClient by @romanett in #2601
- Make NodeStateCollectionConcurrencyTests more robust by @saurla in #2594
- check Application URI of the server Certificate on OpenSecureChannel by @romanett in #2583
- Add UA Fuzzer solution for afl-fuzz and libfuzzer by @mregen in #2603
- [Server] Fix Shutdown Delay when registration is enabled no LDS is present. by @romanett in #2589
- Fix decode of empty CRLs by @mregen in #2609
- Remove unnecessary dependency on System.Net.Http by @mregen in #2610
- Set TCP defaults for max message size to align with min buffer size by @mregen in #2616
- Bump BouncyCastle.Cryptography from 2.3.0 to 2.3.1 by @dependabot in #2617
- Update Bouncy Castle to 2.3.1 by @mregen in #2620
- Merge for April release by @mregen in #2619
Full Changelog: 1.5.374.36...1.5.374.54
OPC UA 1.05 April Update Preview
Changes:
- 663ed10 Remove unnecessary dependency on System.Net.Http (#2610)
- f82fcc9 Fix decode of empty CRLs (#2609)
- 33df292 [Server] Fix Shutdown Delay when registration is enabled no LDS is present. (#2589)
- 7a04a4b Add UA Fuzzer solution for afl-fuzz and libfuzzer (#2603)
- f081d51 check Application URI of the server Certificate on OpenSecureChannel (#2583)
- 9cd4536 Make NodeStateCollectionConcurrencyTests more robust (#2594)
- a6f44c7 Fix disposal of console client sample(#2601)
- 8143767 Serialization of floating point values to XML: Remove superfluous handling of special values (#2588)
- 414a0d5 Let tests print out readable StatusCodes on error (#2593)
- 60689c9 Bump NUnit from 3.14.0 to 4.1.0 (#2535)
See More
- d1a9baa Added a limit to the Channels on the server side and removed "stale" channels (#2540)
- 884ddf3 Remove unnecessary casts to RoleBasedIdentity when checking for WellKnownRoles (#2578)
- 553a869 Added KeyFrameCount and DeltaFrame tests (#2579)
- cf7f221 Fixed Typos. No functional changes. (#2581)
- fb0fc44 Add Readme to NuSpec (#2580)
This list of changes was auto generated.
What's Changed
- Nuget README: add Readme to NuSpec to include in Pipeline builds by @romanett in #2580
- Typos by @mtx500 in #2581
- Added PubSub KeyFrameCount and DeltaFrame tests by @mrsuciu in #2579
- Remove unnecessary casts to RoleBasedIdentity when checking for WellKnownRoles by @romanett in #2578
- Added a limit to the Channels on the server side and removed "stale" channels by @mrsuciu in #2540
- Bump NUnit from 3.14.0 to 4.1.0 by @dependabot in #2535
- make tests put out readable StatusCodes by @romanett in #2593
- Serialization of floating point values to XML: Remove superfluous handling of special values by @mtx500 in #2588
- fix disposal of ConsoleReferenceClient by @romanett in #2601
- Make NodeStateCollectionConcurrencyTests more robust by @saurla in #2594
- check Application URI of the server Certificate on OpenSecureChannel by @romanett in #2583
- Add UA Fuzzer solution for afl-fuzz and libfuzzer by @mregen in #2603
- [Server] Fix Shutdown Delay when registration is enabled no LDS is present. by @romanett in #2589
- Fix decode of empty CRLs by @mregen in #2609
- Remove unnecessary dependency on System.Net.Http by @mregen in #2610
Full Changelog: 1.5.374.36...1.5.374.50-preview
OPC UA 1.05 March Update
1.05.374 March Release
This release is based on the 1.05.03 Nodeset with generated files from the ModelCompiler.
However this release does not contain all required features to certify a 1.05 client or server (e.g. lack of ECC support).
Due to the backward compatibility of OPC UA the release can still be used to certify a 1.04 client or server.
Improvements
We are excited to announce a significant enhancement to our binary encoding and decoding functionality in this release. With this update, we have effectively doubled the speed of binary encoding operations within our system on .NET platforms which support ReadOnlySpan and Span MemoryStream signatures, resulting in faster data processing, reduced memory allocations and reduced latency. (see #2556)
- Bug Fixes for the GDS support and issues found on the IOP
- Fixed a regression where Abort messages caused a disconnect
- Fixed a deadlock in the cert validator when some properties are set
- Add support to redact log messages where private information (e.g. certificate Subject) is written to a log file with a new interface to add a custom radaction strategy (thanks @tamaskleizer)
- Add a .NET Standard 2.0 build for the core library to support use in .NET analyzers. Intentionally, there is no support for .NET Standard 2.0 client/server builds.
- Various improvements to the GDS libraries, prominently addtional Audit events (thanks @romanett).
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
- Bump coverlet.collector from 6.0.1 to 6.0.2 by @dependabot in #2560
- fix Role Permissions of Method UnregisterApplication & Add Parameter to CertificateStoreIdentifier OpenStore Method by @romanett in #2558
- IOP: Accept abort message in message type check by @mregen in #2557
- IOP: Set cert validator property may deadlock with semaphore by @mregen in #2555
- Sensitive information redaction by @tamaskleizer in #2545
- GDS: Add Audit Events to GDS and missing Events to ServerConfigurationNode by @romanett in #2554
- Improve ArraySegmentStream with ReadOnlyMemory/Span signatures, avoid extra alloc/copy by @mregen in #2556
- Reenable .NET Standard 2.0 builds for core library by @mregen in #2570
- add Nuget Package Readme and file by @romanett in #2575
- Merge main in release build by @mregen in #2574
New Contributors
- @tamaskleizer made their first contribution in #2545
Full Changelog: 1.5.374.27...1.5.374.36
OPC UA 1.05 March Update Preview
What's Changed
- Bump coverlet.collector from 6.0.1 to 6.0.2 by @dependabot in #2560
- fix Role Permissions of Method UnregisterApplication & Add Parameter to CertificateStoreIdentifier OpenStore Method by @romanett in #2558
- IOP: Accept abort message in message type check by @mregen in #2557
- IOP: Set cert validator property may deadlock with semaphore by @mregen in #2555
- Sensitive information redaction by @tamaskleizer in #2545
- GDS: Add Audit Events to GDS and missing Events to ServerConfigurationNode by @romanett in #2554
- Improve ArraySegmentStream with ReadOnlyMemory/Span signatures, avoid extra alloc/copy by @mregen in #2556
New Contributors
- @tamaskleizer made their first contribution in #2545
Full Changelog: 1.5.374.27...1.5.374.33-preview
OPC UA 1.05.374 February Release
1.05.374 February Release
This is the official 1.05.03 release based on the generated files from ModelCompiler.
This release does not contain all required features to certify a 1.05 client or server (e.g. lack of ECC support).
However, it contains all the latest updates and generated classes from 1.05 and can also be used to certify a 1.04 client or server.
It is supposedly compatible to any existing 1.02..1.04 client and server.
Improvements
- Bug Fixes
- NodeState classes are thread safe (thanks @saurla)
- Reduce locking in secure channel client send/receive codepath
- Client Republish improvements
- Various improvements to the GDS libraries (thanks @romanett).
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
- Update VerifySubscriptionState() by @RFBomb in #2494
- Avoid overwrite of endpoint description with invalid endpoint description on client session. by @mrsuciu in #2506
- Fixed a bug in the calculation of StandardDeviationSample and VariancePopulation by @ThomasNehring in #2505
- Bump BouncyCastle.Cryptography from 2.2.1 to 2.3.0 by @dependabot in #2503
- GDS: automatically add all created CAs to TrustedIssuerStore by @romanett in #2478
- Typos by @mtx500 in #2507
- Simplify BeginConnect by @mregen in #2512
- Bump Microsoft.NET.Test.Sdk from 17.8.0 to 17.9.0 by @dependabot in #2516
- Improve JsonEncoder.WriteDateTime by @mregen in #2514
- Fixed typos in file names. by @mtx500 in #2519
- Bump NunitXml.TestLogger from 3.1.15 to 3.1.20 by @dependabot in #2515
- Update code coverage action by @mregen in #2521
- Improve handling of bad chunk headers, reduce log output by @mregen in #2510
- Fix warnings, no functional changes. Improve globalization. by @mregen in #2445
- Ensure endpoints are returned when alternate url port does not match by @mregen in #2511
- Remove lock from IServiceMessageContext by @mregen in #2532
- Typos in names of functions. by @mtx500 in #2523
- Improve JsonEncoder.EscapeString and fix test warnings for ToString() by @bhnaphade in #2527
- document role based user mangement by @romanett in #2528
- reuse the identity policy in the reconnect that has been used in the connect by @KircMax in #2526
- Bump BouncyCastle.Cryptography from 2.2.1 to 2.3.0 by @dependabot in #2534
- Deprecate netstandard20 by @bhnaphade in #2533
- Only call JsonEncoder.EscapeString from WriteSimpleField if necessary by @mregen in #2530
- Bump coverlet.collector from 6.0.0 to 6.0.1 by @dependabot in #2537
- Bump Microsoft.NET.Test.Sdk from 17.8.0 to 17.9.0 by @dependabot in #2536
- Client Republish improvements by @mregen in #2468
- GDS: implement ApplicationSelfAdmin privilege in GlobalDiscoverySampleServer by @romanett in #2338
- Reduce locking in secure channel client send/receive codepath by @mregen in #2531
- GDS: add Method CheckRevocationStatus to Client & Server by @romanett in #2499
- GDS: add Method RevokeCertificate to Client and Server by @romanett in #2497
- Make NodeState classes thread safe by @saurla in #2372
- Update version.json to 1.5.347 by @mrsuciu in #2549
New Contributors
Full Changelog: 1.5.373.121...1.5.374.27
OPC UA 1.05 Maintenance Update Preview
What's Changed
- Update VerifySubscriptionState() by @RFBomb in #2494
- Avoid overwrite of endpoint description with invalid endpoint description on client session. by @mrsuciu in #2506
- Fixed a bug in the calculation of StandardDeviationSample and VariancePopulation by @ThomasNehring in #2505
- Bump BouncyCastle.Cryptography from 2.2.1 to 2.3.0 by @dependabot in #2503
- GDS: automatically add all created CAs to TrustedIssuerStore by @romanett in #2478
- Typos by @mtx500 in #2507
- Simplify BeginConnect by @mregen in #2512
- Bump Microsoft.NET.Test.Sdk from 17.8.0 to 17.9.0 by @dependabot in #2516
- Improve JsonEncoder.WriteDateTime by @mregen in #2514
- Fixed typos in file names. by @mtx500 in #2519
- Bump NunitXml.TestLogger from 3.1.15 to 3.1.20 by @dependabot in #2515
- Update code coverage action by @mregen in #2521
- Improve handling of bad chunk headers, reduce log output by @mregen in #2510
- Fix warnings, no functional changes. Improve globalization. by @mregen in #2445
- Ensure endpoints are returned when alternate url port does not match by @mregen in #2511
- Remove lock from IServiceMessageContext by @mregen in #2532
- Typos in names of functions. by @mtx500 in #2523
- Improve JsonEncoder.EscapeString and fix test warnings for ToString() by @bhnaphade in #2527
- document role based user mangement by @romanett in #2528
- reuse the identity policy in the reconnect that has been used in the connect by @KircMax in #2526
- Bump BouncyCastle.Cryptography from 2.2.1 to 2.3.0 by @dependabot in #2534
- Deprecate netstandard20 by @bhnaphade in #2533
- Only call JsonEncoder.EscapeString from WriteSimpleField if necessary by @mregen in #2530
- Bump coverlet.collector from 6.0.0 to 6.0.1 by @dependabot in #2537
- Bump Microsoft.NET.Test.Sdk from 17.8.0 to 17.9.0 by @dependabot in #2536
- Client Republish improvements by @mregen in #2468
- GDS: implement ApplicationSelfAdmin privilege in GlobalDiscoverySampleServer by @romanett in #2338
- Reduce locking in secure channel client send/receive codepath by @mregen in #2531
- GDS: add Method CheckRevocationStatus to Client & Server by @romanett in #2499
- GDS: add Method RevokeCertificate to Client and Server by @romanett in #2497
- Make NodeState classes thread safe by @saurla in #2372
New Contributors
Full Changelog: 1.5.373.121...1.5.374.26-preview
OPC UA 1.05.373 Release
1.05.373 January Release
This is the official 1.05.03 release based on the generated files from ModelCompiler.
This release does not contain all required features to certify a 1.05 client or server (e.g. lack of ECC support).
However, it contains all the latest updates and generated classes from 1.05 and can also be used to certify a 1.04 client or server.
It is supposedly compatible to any existing 1.02..1.04 client and server.
Improvements
- Generated files from latest 1.05.03 release final. by @opcfoundation-org.
- Using the Ephemeral Key Set for private keys on Windows stops possibly leaking private key artifacts.
- Comparing byte arrays (e.g. certs) with
Utils.IsEqual
is now using the inlineSequenceEqual
. - Client session and subscription keep alive timers are now non blocking and use
PeriodicTimer
if supported. - Fix client reconnect if session keep alive returns
BadSessionIdInvalid
. - Support for well known roles and user database in Standard server (thanks @romanett).
- Various improvements to the GDS libraries (thanks @romanett).
- Support to propagate OpenTelemetry trace parent information in RequestHeader/AdditionalHeader for client and server. by @bhnaphade.
- Improvements to support custom client
ISession
implementations (thanks @KircMax). - Overridden
SessionCreated
is now also called when the session is created and ready to use. by @marcschier.
Known Issues / breaking changes:
- AlternateBaseAddress which have different ports always return no matching endpoints, therefore such configurations should not be used.
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
- Bump actions/upload-artifact from 3 to 4 by @dependabot in #2435
- Bump github/codeql-action from 2 to 3 by @dependabot in #2434
- Bump Microsoft.IO.RecyclableMemoryStream from 2.3.2 to 3.0.0 by @dependabot in #2433
- Use EphemeralKeySet for certificates with private key on supporting platforms by @mregen in #2421
- Fix exception when AvailableSequenceNumbers is empty by @mregen in #2441
- Improve Utils.IsEqual for byte compare by @mregen in #2440
- Improvements for client keep alive timers and locks in subscriptions and sessions by @mregen in #2427
- Call virtual SessionCreated by @marcschier in #2447
- Fix nodestate remove for diagnostic infos by @mregen in #2450
- Fix the client subscription preview no ack issue, ack forgotten publish responses by @mregen in #2449
- GDS: add Tests to prove Method CreateCACertificateAsync is working correctly by @romanett in #2404
- Bump BenchmarkDotNet from 0.13.11 to 0.13.12 by @dependabot in #2451
- Bump Microsoft.Extensions.Configuration.EnvironmentVariables and Microsoft.Extensions.Configuration by @dependabot in #2461
- Expose hiresclock ticks and benchmark by @mregen in #2460
- Trace information propagation Client to Server side by @bhnaphade in #2442
- User Management Improvements for Standard Server (Support Well Known Roles) by @romanett in #2444
- 1.05.03 release final by @opcfoundation-org in #2423
- Fix GetEndpoints when https-uabinary is behind reverse proxy with different port by @BoBiene in #2362
- Add small breaking API changes to .373 release / revert or improve a few changes from 116-preview by @mregen in #2474
- Fix parentcontext setting for server activity creation by @bhnaphade in #2491
- make the operationlimits setter only protected not internal by @KircMax in #2490
- make internal ctor of sessionconfiguration public by @KircMax in #2488
- make the ctors of the eventargs in session public by @KircMax in #2483
- add setter for session in the subscription class by @KircMax in #2485
- Bump microsoft/setup-msbuild from 1.3.1 to 1.3.2 by @dependabot in #2480
- Bump microsoft/setup-msbuild from 1.3.2 to 2.0.0 by @dependabot in #2502
- Bump codecov/codecov-action from 3 to 4 by @dependabot in #2501
- Bump NUnit.Console from 3.16.3 to 3.17.0 by @dependabot in #2479
- Fix TranslateEndpointDescriptions functionality by @mrsuciu in #2495
- Fix UWP sample build, bump default build number by @mregen in #2496
- Update version.json by @mrsuciu in #2504
New Contributors
Full Changelog: 1.4.372.107...1.5.373.121
OPC UA 1.05.373 Preview 3
- Final preview for january release
What's Changed
- Bump BenchmarkDotNet from 0.13.11 to 0.13.12 by @dependabot in #2451
- Bump Microsoft.Extensions.Configuration.EnvironmentVariables and Microsoft.Extensions.Configuration by @dependabot in #2461
- Expose hiresclock ticks and benchmark by @mregen in #2460
- Trace information propagation Client to Server side by @bhnaphade in #2442
- User Management Improvements for Standard Server (Support Well Known Roles) by @romanett in #2444
- 1.05.03 release final by @opcfoundation-org in #2423
- Fix GetEndpoints when https-uabinary is behind reverse proxy with different port by @BoBiene in #2362
- Add small breaking API changes to .373 release / revert or improve a few changes from 116-preview by @mregen in #2474
New Contributors
Full Changelog: 1.4.372.116-preview...1.5.373.3-preview
OPC UA 1.05.03 Nodeset Update based on 1.4.372.107
1.05.03 Nodeset update
This is the first official 1.05.03 release based on the generated files from ModelCompiler.
The functionality is on parity with the latest 1.4.372.107 release which is using the 1.04.11 Nodeset.
This release does not contain all required features to certify a 1.05 client or server (e.g. lack of ECC support).
However, it contains all the latest updates and generated classes from 1.05 and can also be used to certify a 1.04 client or server.
It is supposedly compatible to any existing 1.02..1.04 client and server.
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
- 11244de Merge pull request #2466 from OPCFoundation/releasetag
- 4ca0cd2 tag as release
- 48e06d0 Fix nodestate remove for diagnostic infos (#2450) [ #2343 ]
- 8c34076 Merge 1.05.03 release final (#2439)
- 0f7be8b Merge pull request #2437 from OPCFoundation/master1.5.372
- ba2899e Merge branch 'release/1.5.372' into master1.5.372
- 5f9b7fe Merge 1.05.03 release candidate updates (#2286)
Full Changelog: 1.4.372.107...1.5.372.113
OPC UA 1.04 Maintenance Update
Changes:
- Hotfix for server regression 1.4.372.106
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
Full Changelog: 1.4.372.106...1.4.372.107