Skip to content

performance: Reduce allocations (logger factory reuse, check enabled)#3387

Merged
marcschier merged 6 commits into
OPCFoundation:masterfrom
RicoSuter:performance/reduce-allocations-logger
Dec 4, 2025
Merged

performance: Reduce allocations (logger factory reuse, check enabled)#3387
marcschier merged 6 commits into
OPCFoundation:masterfrom
RicoSuter:performance/reduce-allocations-logger

Conversation

@RicoSuter

@RicoSuter RicoSuter commented Dec 3, 2025

Copy link
Copy Markdown
Contributor

Proposed changes

Some performance optimizations, reducing memory allocations by ~23% while maintaining full API compatibility and thread-safety.

Related Issues

Types of changes

What types of changes does your code introduce?

  • Bugfix (non-breaking change which fixes an issue)
  • Enhancement (non-breaking change which adds functionality)
  • Test enhancement (non-breaking change to increase test coverage)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected, requires version increase of Nuget packages)
  • Documentation Update (if none of the other choices apply)

Checklist

Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

  • I have read the CONTRIBUTING doc.
  • I have signed the CLA.
  • I ran tests locally with my changes, all passed.
  • I fixed all failing tests in the CI pipelines.
  • I fixed all introduced issues with CodeQL and LGTM.
  • I have added tests that prove my fix is effective or that my feature works and increased code coverage.
  • I have added necessary documentation (if appropriate).
  • Any dependent changes have been merged and published in downstream modules.

Further comments

1. LoggerFactory Singleton Pattern

File: Stack/Opc.Ua.Core/Types/Utils/LoggerUtils.cs:95-99

Introduced singleton pattern for TraceLoggerTelemetry to eliminate repeated allocations:

private static readonly TraceLoggerTelemetry s_sharedTelemetry = new();

static Utils()
{
    TelemetryExtensions.InternalOnly__TelemetryHook = () => s_sharedTelemetry;
}

Impact: Primary source of 23% allocation reduction
Safety: Thread-safe, no API changes

2. Additional Optimizations

The upstream library also includes:

  • ConcurrentDictionary for lock-free reads in Subscription.cs
  • Enhanced EventSource/ETW telemetry
  • Queue handling improvements
  • MonitoredItem optimizations

All changes maintain backward compatibility.

Benchmark results

Master branch (baseline):

===========================================================================================================================================
Client Benchmark - 1 minute - [2025-12-03 11:22:29.342]

Total received changes:          1194276
Total published changes:         1000000
Process memory:                  555.02 MB (289.25 MB in .NET heap)
Avg allocations over last 60s:   97.03 MB/s

Metric                               Avg        P50        P90        P95        P99      P99.9        Max        Min     StdDev      Count
-------------------------------------------------------------------------------------------------------------------------------------------
Received (changes/s)            19917.67   19902.19   21523.12   22004.03   23617.96   23617.96   23617.96   15474.36    1398.62          -
Processing latency (ms)             4.78       2.37      14.25      20.25      29.60      39.71      73.16       0.00       6.52    1194276
End-to-end latency (ms)            82.79      71.80     146.49     165.29     270.05     387.09     427.97       0.90      51.32    1194276
===========================================================================================================================================
Server Benchmark - 1 minute - [2025-12-03 11:22:29.764]

Total received changes:          1006334
Total published changes:         1192400
Process memory:                  718.87 MB (448.94 MB in .NET heap)
Avg allocations over last 60s:   505.28 MB/s

Metric                               Avg        P50        P90        P95        P99      P99.9        Max        Min     StdDev      Count
-------------------------------------------------------------------------------------------------------------------------------------------
Received (changes/s)            16737.91   16894.72   17389.25   17503.45   17549.66   17549.66   17549.66   13848.97     690.37          -
Processing latency (ms)             0.00       0.00       0.00       0.01       0.01       0.07     244.58       0.00       0.25    1006334
End-to-end latency (ms)           332.08     332.24     546.72     591.58     713.86     802.54     941.21       0.77     167.16    1006334

This PR (optimizations):

===========================================================================================================================================
Client Benchmark - 1 minute - [2025-12-03 11:08:41.825]

Total received changes:          1194087
Total published changes:         1007994
Process memory:                  545.32 MB (290.39 MB in .NET heap)
Avg allocations over last 60s:   74.04 MB/s

Metric                               Avg        P50        P90        P95        P99      P99.9        Max        Min     StdDev      Count
-------------------------------------------------------------------------------------------------------------------------------------------
Received (changes/s)            19903.96   19906.61   21330.26   21587.95   21664.65   21664.65   21664.65   16468.73    1118.32          -
Processing latency (ms)             5.78       2.71      18.04      25.35      35.88      44.56     142.66       0.01       8.35    1194087
End-to-end latency (ms)            76.47      67.54     137.84     154.21     191.12     283.48     314.49       1.19      44.27    1194087
===========================================================================================================================================
Server Benchmark - 1 minute - [2025-12-03 11:08:43.428]

Total received changes:          1000896
Total published changes:         1193530
Process memory:                  737.14 MB (423.26 MB in .NET heap)
Avg allocations over last 60s:   474.08 MB/s

Metric                               Avg        P50        P90        P95        P99      P99.9        Max        Min     StdDev      Count
-------------------------------------------------------------------------------------------------------------------------------------------
Received (changes/s)            16662.03   16716.28   17198.44   17389.35   17589.10   17589.10   17589.10   14610.73     573.32          -
Processing latency (ms)             0.00       0.00       0.00       0.01       0.01       0.08      23.24       0.00       0.05    1000896
End-to-end latency (ms)           302.90     300.90     504.83     544.12     665.81     736.51     760.37       0.21     153.72    1000896

Client => from 97 mb/s to 74 mb/s, 5ms lower latency on avg
Server => from 505 mb/s to 474 mb/s, 30ms lower latency on avg

@CLAassistant

CLAassistant commented Dec 3, 2025

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@RicoSuter RicoSuter changed the title Performance/reduce allocations logger performance: Reduce allocations (logger factory reuse, check enabled) Dec 3, 2025
@RicoSuter

Copy link
Copy Markdown
Contributor Author
Test Project Status Results
Opc.Ua.Types.Tests ✅ PASSED 288 tests passed
Opc.Ua.Security.Certificates.Tests ✅ PASSED 144 tests passed
Opc.Ua.Encoders.Fuzz.Tests ✅ PASSED 150 tests passed
Opc.Ua.Configuration.Tests ✅ PASSED All tests passed
Opc.Ua.PubSub.Tests ✅ PASSED All tests passed
Opc.Ua.Core.Tests ✅ PASSED All tests passed
Opc.Ua.Server.Tests ✅ PASSED All tests passed
Opc.Ua.Gds.Tests ✅ PASSED All tests passed
Opc.Ua.Client.Tests ✅ PASSED Failed: 0, Passed: 1001, Skipped: 163
Opc.Ua.Client.ComplexTypes.Tests ✅ PASSED Failed: 0, Passed: 3574, Skipped: 0

@codecov

codecov Bot commented Dec 3, 2025

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 11.11111% with 64 lines in your changes missing coverage. Please review.
✅ Project coverage is 59.95%. Comparing base (d25caff) to head (f89a12f).
⚠️ Report is 26 commits behind head on master.

Files with missing lines Patch % Lines
...raries/Opc.Ua.Client/Subscription/MonitoredItem.cs 15.78% 14 Missing and 2 partials ⚠️
...ies/Opc.Ua.Server/Server/OpcUaServerEventSource.cs 0.00% 13 Missing and 2 partials ⚠️
.../Opc.Ua.Server/Subscription/SubscriptionManager.cs 0.00% 10 Missing and 3 partials ⚠️
Libraries/Opc.Ua.Client/OpcUaClientEventSource.cs 0.00% 5 Missing and 3 partials ⚠️
...braries/Opc.Ua.Client/Subscription/Subscription.cs 27.27% 6 Missing and 2 partials ⚠️
...nitoredItem/QueueHandler/DataChangeQueueHandler.cs 0.00% 1 Missing and 3 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3387      +/-   ##
==========================================
+ Coverage   51.86%   59.95%   +8.08%     
==========================================
  Files         370      374       +4     
  Lines       78618    78304     -314     
  Branches    13650    13620      -30     
==========================================
+ Hits        40779    46947    +6168     
+ Misses      33705    27026    -6679     
- Partials     4134     4331     +197     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@marcschier

Copy link
Copy Markdown
Collaborator

Thanks @RicoSuter - this is great, one more thing off my plate :-)

@RicoSuter

RicoSuter commented Dec 3, 2025

Copy link
Copy Markdown
Contributor Author

@marcschier i think the changes here are really low-risk, no? Reusing the factory instead of creating needs to be checked but seems also safe for me... will dig deeper into more complex improvements when i have time.

@RicoSuter

Copy link
Copy Markdown
Contributor Author

@marcschier my personal goal is still to achieve 1.2 mio changes in both directions and on server side <100ms average :-) not even sure whether this is possible with OPC UA :-D

@marcschier

Copy link
Copy Markdown
Collaborator

@RicoSuter, one of the changes we need for that to happen is to reduce GC pressure for monitored item notification and DataValue, Variant, and node id allocations on the subscribe/publish paths client side, we have some benchmarks and the improvements are worth it although it will break apis. Goal is before April next year.

@marcschier

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@RicoSuter

Copy link
Copy Markdown
Contributor Author

@marcschier do you expect that I add unit tests for the changed LoCs?

@marcschier
marcschier merged commit 0e8273e into OPCFoundation:master Dec 4, 2025
83 of 84 checks passed
@marcschier

Copy link
Copy Markdown
Collaborator

@RicoSuter - No, most of it was for legacy pieces, and the one you fixed is actively tested already... Sorry took longer to merge the queue is quite full right now...

@RicoSuter

RicoSuter commented Dec 7, 2025

Copy link
Copy Markdown
Contributor Author

@marcschier I've run benchmarks again and updated the PR:

Client receive processing looks good now (even a bit faster), server side still degraded (4-8%) but this is less a problem because most clients do not write that much.

Comparison grid here:
RicoSuter/Namotion.Interceptor#104

Thanks for merging my PR.

GoetzGoerisch pushed a commit to umati/connect that referenced this pull request Jun 11, 2026
…5.378.145 (#7)

This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [OPCFoundation.NetStandard.Opc.Ua](https://github.com/OPCFoundation/UA-.NETStandard) | `1.5.375.457` → `1.5.378.145` | ![age](https://developer.mend.io/api/mc/badges/age/nuget/OPCFoundation.NetStandard.Opc.Ua/1.5.378.145?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/OPCFoundation.NetStandard.Opc.Ua/1.5.376.244/1.5.378.145?slim=true) |

---

### Release Notes

<details>
<summary>OPCFoundation/UA-.NETStandard (OPCFoundation.NetStandard.Opc.Ua)</summary>

### [`v1.5.378.145`](https://github.com/OPCFoundation/UA-.NETStandard/releases/tag/1.5.378.145): OPC UA 1.05 Maintenance Update

[Compare Source](OPCFoundation/UA-.NETStandard@1.5.378.134...1.5.378.145)

Maintenance Release for fixing bugs found on the main374 development branch + new 1.5.07 Nodesets + generated code.

#### Released packages

[OPCFoundation.NetStandard.Opc.Ua](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua/1.5.378.145)
[OPCFoundation.NetStandard.Opc.Ua.Core](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Core/1.5.378.145)
[OPCFoundation.NetStandard.Opc.Ua.Security.Certificates](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Security.Certificates/1.5.378.145)
[OPCFoundation.NetStandard.Opc.Ua.Configuration](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Configuration/1.5.378.145)
[OPCFoundation.NetStandard.Opc.Ua.Server](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Server/1.5.378.145)
[OPCFoundation.NetStandard.Opc.Ua.Client](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Client/1.5.378.145)
[OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes/1.5.378.145)
[OPCFoundation.NetStandard.Opc.Ua.Bindings.Https](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Bindings.Https/1.5.378.145)
[OPCFoundation.NetStandard.Opc.Ua.PubSub](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.PubSub/1.5.378.145)

#### What's Changed

- Fix a bug where a Task.Delay is left over infinitely. by [@&#8203;gailjkm](https://github.com/gailjkm) in [#&#8203;3690](OPCFoundation/UA-.NETStandard#3690)
- 1.05.07 release final by [@&#8203;randy-armstrong](https://github.com/randy-armstrong) in [#&#8203;3689](OPCFoundation/UA-.NETStandard#3689)
- Fix for crash when processing invalid eventFilter: WhereClause does not contain operand on master378 by [@&#8203;mrsuciu](https://github.com/mrsuciu) in [#&#8203;3715](OPCFoundation/UA-.NETStandard#3715)
- Add opc ua mit license text to nugets instead of license expression (… by [@&#8203;marcschier](https://github.com/marcschier) in [#&#8203;3725](OPCFoundation/UA-.NETStandard#3725)
- \[Client] Fixed excessive tasks spawning during session connection loss (cherry pick PR [#&#8203;3707](OPCFoundation/UA-.NETStandard#3707)) by [@&#8203;AnatolyKochnev](https://github.com/AnatolyKochnev) in [#&#8203;3738](OPCFoundation/UA-.NETStandard#3738)
- Port two targeted fixes from master to master378: Filter certificate validation StatusCodes and Fix 'moreNotifications' handling by [@&#8203;mrsuciu](https://github.com/mrsuciu) in [#&#8203;3742](OPCFoundation/UA-.NETStandard#3742)
- Remove OptionalPlaceHolders on NodeState Instances by [@&#8203;mrsuciu](https://github.com/mrsuciu) in [#&#8203;3573](OPCFoundation/UA-.NETStandard#3573)
- Hot fix 1.05.07 2026 05 01 by [@&#8203;opcfoundation-org](https://github.com/opcfoundation-org) in [#&#8203;3773](OPCFoundation/UA-.NETStandard#3773)
- Prepare 1.5.378 release  by [@&#8203;mrsuciu](https://github.com/mrsuciu) in [#&#8203;3792](OPCFoundation/UA-.NETStandard#3792)

**Full Changelog**: <OPCFoundation/UA-.NETStandard@1.5.378.134...1.5.378.145>

### [`v1.5.378.134`](https://github.com/OPCFoundation/UA-.NETStandard/releases/tag/1.5.378.134): OPC UA 1.05 Maintenance Update

[Compare Source](OPCFoundation/UA-.NETStandard@1.5.378.106...1.5.378.134)

Maintenance Release for fixing bugs found on the main374 development branch.

#### Released packages

[OPCFoundation.NetStandard.Opc.Ua](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua/1.5.378.134)
[OPCFoundation.NetStandard.Opc.Ua.Core](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Core/1.5.378.134)
[OPCFoundation.NetStandard.Opc.Ua.Security.Certificates](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Security.Certificates/1.5.378.134)
[OPCFoundation.NetStandard.Opc.Ua.Configuration](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Configuration/1.5.378.134)
[OPCFoundation.NetStandard.Opc.Ua.Server](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Server/1.5.378.134)
[OPCFoundation.NetStandard.Opc.Ua.Client](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Client/1.5.378.134)
[OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes/1.5.378.134)
[OPCFoundation.NetStandard.Opc.Ua.Bindings.Https](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Bindings.Https/1.5.378.134)
[OPCFoundation.NetStandard.Opc.Ua.PubSub](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.PubSub/1.5.378.134)

#### What's Changed

- Respect configured RSA minimum certificate key size when creating RSA app certificates by [@&#8203;mrsuciu](https://github.com/mrsuciu) in [#&#8203;3513](OPCFoundation/UA-.NETStandard#3513)
- Improve  logging and fix UserNameIdentityToken to return BadIdentityTokenInvalid for failed verification by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3514](OPCFoundation/UA-.NETStandard#3514)
- fix minor xml docs copy error by [@&#8203;richterr](https://github.com/richterr) in [#&#8203;3518](OPCFoundation/UA-.NETStandard#3518)
- Ignore 0 references in data dictionary and provide better logging. by [@&#8203;marcschier](https://github.com/marcschier) in [#&#8203;3521](OPCFoundation/UA-.NETStandard#3521)
- Hook lookup of symbol in types project and set hook in opc ua core on assembly loading by [@&#8203;marcschier](https://github.com/marcschier) in [#&#8203;3520](OPCFoundation/UA-.NETStandard#3520)
- Code clean up and improvements by [@&#8203;marcschier](https://github.com/marcschier) in [#&#8203;3532](OPCFoundation/UA-.NETStandard#3532)
- \[CTT / ConsoleReferenceServer] Enforce numeric DataTypes for AnalogItem variables. by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3530](OPCFoundation/UA-.NETStandard#3530)
- add FindIssuerCAByKeyIdentifierAsync by [@&#8203;KircMax](https://github.com/KircMax) in [#&#8203;3535](OPCFoundation/UA-.NETStandard#3535)
- add throwing serviceresultexception with stacktrace by [@&#8203;KircMax](https://github.com/KircMax) in [#&#8203;3539](OPCFoundation/UA-.NETStandard#3539)
- \[Server] Fix generation of UserTokenPolicyIDs by [@&#8203;raserle](https://github.com/raserle) in [#&#8203;3525](OPCFoundation/UA-.NETStandard#3525)
- Cherry pick Bugfixes from 1.6 to 1.5.378 by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3572](OPCFoundation/UA-.NETStandard#3572)
- Backport changes from master to master378 by [@&#8203;mrsuciu](https://github.com/mrsuciu) in [#&#8203;3632](OPCFoundation/UA-.NETStandard#3632)
- Backport reconnect user token policy reuse to master378 by [@&#8203;mrsuciu](https://github.com/mrsuciu) in [#&#8203;3640](OPCFoundation/UA-.NETStandard#3640)
- Prepare release 1.5.378 from master378 by [@&#8203;mrsuciu](https://github.com/mrsuciu) in [#&#8203;3638](OPCFoundation/UA-.NETStandard#3638)

#### New Contributors

- [@&#8203;richterr](https://github.com/richterr) made their first contribution in [#&#8203;3518](OPCFoundation/UA-.NETStandard#3518)
- [@&#8203;raserle](https://github.com/raserle) made their first contribution in [#&#8203;3525](OPCFoundation/UA-.NETStandard#3525)

**Full Changelog**: <OPCFoundation/UA-.NETStandard@1.5.378.134...1.5.378.134>

### [`v1.5.378.106`](https://github.com/OPCFoundation/UA-.NETStandard/releases/tag/1.5.378.106): OPC UA 1.05 Maintenance Update

[Compare Source](OPCFoundation/UA-.NETStandard@1.5.378.65...1.5.378.106)

Maintenance Release fixing regressions introduced with 1.5.378

- Client Reconnect: [Could not reconnect because transport channel is null for reverse connect](OPCFoundation/UA-.NETStandard#3470)
- [\[Server\] TransportChannel Response BadServiceUnsupported is never sent due to unhandled Exception when constructing EndpointIncomingRequest](OPCFoundation/UA-.NETStandard#3504)
- [OperationLimits remark does not match FetchOperationLimitsAsync functionality](OPCFoundation/UA-.NETStandard#3501)
- [FormatException during ApplicationUri certificate validation prevents rejected-store entry (Session.OpenAsync, 1.5.378.65)](OPCFoundation/UA-.NETStandard#3468)
- [\[Client\] PUBLISH x - Unhandled error 0x80850000 during Publish. --> Client should handle BadPublishTimeout code from the Server gracefully](OPCFoundation/UA-.NETStandard#3459)
- [StatusCode cast from boxed value (object) does not work, but is expected to work in the encoders](OPCFoundation/UA-.NETStandard#3444)
- Fix SourceTimestamp for variables without explicit timestamps in BaseVariableState
- \[Client] Fix two bugs in MonitoredItem by [@&#8203;tobiasfrick](https://github.com/tobiasfrick) in [#&#8203;3447](OPCFoundation/UA-.NETStandard#3447)
- \[Client] Fix format string in ValidateServerCertificateApplicationUri by [@&#8203;wxmayifei](https://github.com/wxmayifei) in [#&#8203;3441](OPCFoundation/UA-.NETStandard#3441)
- \[Client] Fix Session.Save to only save specified subscriptions by [@&#8203;tobiasfrick](https://github.com/tobiasfrick) in [#&#8203;3446](OPCFoundation/UA-.NETStandard#3446)

Also some smaller refactorings or features were done:

- \[Server] Introduced new Interfaces for IConfigurationNodeManager, IDiagnosticsNodeManager & IMasterNodeManager, those will be used in the next release that **1.6 that also introduces SemanticVersioning**
- \[Server] TrustList now also uses async callbacks
- \[Server] Refactor for full async subscription management
- \[GDS] Add configurable validation limits for trust list file read/write operations

#### Released packages

[OPCFoundation.NetStandard.Opc.Ua](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua/1.5.378.106)
[OPCFoundation.NetStandard.Opc.Ua.Core](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Core/1.5.378.106)
[OPCFoundation.NetStandard.Opc.Ua.Security.Certificates](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Security.Certificates/1.5.378.106)
[OPCFoundation.NetStandard.Opc.Ua.Configuration](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Configuration/1.5.378.106)
[OPCFoundation.NetStandard.Opc.Ua.Server](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Server/1.5.378.106)
[OPCFoundation.NetStandard.Opc.Ua.Client](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Client/1.5.378.106)
[OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes/1.5.378.106)
[OPCFoundation.NetStandard.Opc.Ua.Bindings.Https](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Bindings.Https/1.5.378.106)
[OPCFoundation.NetStandard.Opc.Ua.PubSub](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.PubSub/1.5.378.106)

#### What's Changed

- Add long-running connection stability test with dynamic token renewal by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3424](OPCFoundation/UA-.NETStandard#3424)
- Bump Roslynator.Analyzers from 4.14.1 to 4.15.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3433](OPCFoundation/UA-.NETStandard#3433)
- Bump NUnit3TestAdapter from 6.0.0 to 6.0.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3432](OPCFoundation/UA-.NETStandard#3432)
- Bump NUnit.Console from 3.21.0 to 3.21.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3431](OPCFoundation/UA-.NETStandard#3431)
- Bump System.Text.Json from 10.0.0 to 10.0.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3438](OPCFoundation/UA-.NETStandard#3438)
- Bump System.Formats.Asn1 from 10.0.0 to 10.0.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3437](OPCFoundation/UA-.NETStandard#3437)
- Bump System.Collections.Immutable from 10.0.0 to 10.0.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3436](OPCFoundation/UA-.NETStandard#3436)
- Bump Roslynator.Formatting.Analyzers from 4.14.1 to 4.15.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3435](OPCFoundation/UA-.NETStandard#3435)
- \[CI] Stabilize Connection stability test: Only run test on net 10, only print per node status in debug runs by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3439](OPCFoundation/UA-.NETStandard#3439)
- \[GDS] Add configurable validation limits for trust list file read/write operations by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3411](OPCFoundation/UA-.NETStandard#3411)
- Bump NUnit.Console from 3.21.1 to 3.22.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3440](OPCFoundation/UA-.NETStandard#3440)
- \[Client & Server] Remove all usages of SoftwareCertificates by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3443](OPCFoundation/UA-.NETStandard#3443)
- \[Server] Refactor for full async subscription management by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3442](OPCFoundation/UA-.NETStandard#3442)
- \[Client] Fix format string in ValidateServerCertificateApplicationUri by [@&#8203;wxmayifei](https://github.com/wxmayifei) in [#&#8203;3441](OPCFoundation/UA-.NETStandard#3441)
- Fix Session.Save to only save specified subscriptions by [@&#8203;tobiasfrick](https://github.com/tobiasfrick) in [#&#8203;3446](OPCFoundation/UA-.NETStandard#3446)
- \[Client] Fix two bugs in MonitoredItem by [@&#8203;tobiasfrick](https://github.com/tobiasfrick) in [#&#8203;3447](OPCFoundation/UA-.NETStandard#3447)
- \[Server] Add several interfaces to improve testability & prepare for Dependency Injection by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3448](OPCFoundation/UA-.NETStandard#3448)
- Fix ObjectDisposedException in SubscriptionManager background tasks on shutdown by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3456](OPCFoundation/UA-.NETStandard#3456)
- Fix Server/ServerStatus/State SourceTimestamp. Fix Reference Server config, not loading OperationLimits due to wrong order. by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3454](OPCFoundation/UA-.NETStandard#3454)
- Handle BadRequestTimeout gracefully in Publish error handling by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3460](OPCFoundation/UA-.NETStandard#3460)
- Suppress expected keepalive errors during test shutdown by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3458](OPCFoundation/UA-.NETStandard#3458)
- Bump Microsoft.AspNetCore.Http from 2.3.0 to 2.3.9 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3462](OPCFoundation/UA-.NETStandard#3462)
- Bump NUnit3TestAdapter from 6.0.1 to 6.1.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3467](OPCFoundation/UA-.NETStandard#3467)
- Bump Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets from 2.3.0 to 2.3.9 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3466](OPCFoundation/UA-.NETStandard#3466)
- Allow status code variant creation from uint by [@&#8203;marcschier](https://github.com/marcschier) in [#&#8203;3472](OPCFoundation/UA-.NETStandard#3472)
- Fix session reconnect handler by [@&#8203;marcschier](https://github.com/marcschier) in [#&#8203;3471](OPCFoundation/UA-.NETStandard#3471)
- Set correct target framework for long running test by [@&#8203;marcschier](https://github.com/marcschier) in [#&#8203;3474](OPCFoundation/UA-.NETStandard#3474)
- Change license reference in copilot agents file by [@&#8203;marcschier](https://github.com/marcschier) in [#&#8203;3479](OPCFoundation/UA-.NETStandard#3479)
- Fix SourceTimestamp for variables without explicit timestamps in BaseVariableState by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3451](OPCFoundation/UA-.NETStandard#3451)
- Document certificate validation workflow with chain building and configuration details by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3481](OPCFoundation/UA-.NETStandard#3481)
- Bump Microsoft.Extensions.Configuration and Microsoft.Extensions.Configuration.EnvironmentVariables by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3487](OPCFoundation/UA-.NETStandard#3487)
- Bump Microsoft.AspNetCore.Server.Kestrel and Microsoft.AspNetCore.Server.Kestrel.Core by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3485](OPCFoundation/UA-.NETStandard#3485)
- Bump System.Collections.Immutable from 10.0.1 to 10.0.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3490](OPCFoundation/UA-.NETStandard#3490)
- Bump Microsoft.Extensions.Logging from 10.0.1 to 10.0.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3488](OPCFoundation/UA-.NETStandard#3488)
- Add async callback support to TrustList implementation by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3483](OPCFoundation/UA-.NETStandard#3483)
- Extend NodeSet Export by [@&#8203;koepalex](https://github.com/koepalex) in [#&#8203;3491](OPCFoundation/UA-.NETStandard#3491)
- Change DebugCheck conditional compilation from DEBUG to CHECKED by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3496](OPCFoundation/UA-.NETStandard#3496)
- \[Server] Use Classes instead of Interfaces for NodeManagers to ensure compatibility for 1.5.378 by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3497](OPCFoundation/UA-.NETStandard#3497)
- \[Server] Fix TransportChannel Response BadServiceUnsupported is never sent due to unhandled Exception when constructing EndpointIncomingRequest by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3505](OPCFoundation/UA-.NETStandard#3505)
- \[Client] Modified Publish error handling to raise publish error events for BadNoSubscription if there are active subscriptions by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3502](OPCFoundation/UA-.NETStandard#3502)
- Fix OperationLimits to apply min(client, server) logic per documentation by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3503](OPCFoundation/UA-.NETStandard#3503)
- revert breaking changes for 1.5.378 by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3508](OPCFoundation/UA-.NETStandard#3508)
- Merge master into 1.5.378 by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3499](OPCFoundation/UA-.NETStandard#3499)

#### New Contributors

- [@&#8203;wxmayifei](https://github.com/wxmayifei) made their first contribution in [#&#8203;3441](OPCFoundation/UA-.NETStandard#3441)
- [@&#8203;tobiasfrick](https://github.com/tobiasfrick) made their first contribution in [#&#8203;3446](OPCFoundation/UA-.NETStandard#3446)

**Full Changelog**: <OPCFoundation/UA-.NETStandard@1.5.378.65...1.5.378.106>

### [`v1.5.378.65`](https://github.com/OPCFoundation/UA-.NETStandard/releases/tag/1.5.378.65): OPC UA 1.05 Maintenance Update

[Compare Source](OPCFoundation/UA-.NETStandard@1.5.377.22...1.5.378.65)

This release is based on the 1.05.06 Nodeset [#&#8203;3299](OPCFoundation/UA-.NETStandard#3299).
It contains important bug fixes which were found after the last 1.05.378-preview release.
Please consider all changes from the [1.5.378.10-preview](https://github.com/OPCFoundation/UA-.NETStandard/releases/tag/1.5.378.10-preview) release notes.
This release changes the Lincensing of the Project to MIT

##### Features:

- Add  Event to Update Session (Server) when diagnostics counters changes by [@&#8203;Lessi30](https://github.com/Lessi30)
- Add optional Parent Child linking when importing NodeSet2.xml
- Add Client Based NodeSet2 Export
- Add Support for restoring triggered Monitored Items on Subscription recreation
- Make Network Socket in UdpPubSubConnection reachable

##### Fixes:

```
- Fix ApplicationConfiguration serialization/deserialization for deprecated/modern settings.
- Fix Add OPCUA_EXCLUDE_AccessLevelExType to Opc.Ua.Core.csproj
- Restore clean console output in ConsoleReferenceServer and ConsoleReferenceClient.
- Fix client returning BadUserAccessDenied when SecurityPolicy or SecurityMode not matching
- Fix MinNonceLength for SecurityPolicies.Basic128Rsa15
- Fix race condition causing duplicate MonitoredItems in concurrent CreateItemsAsync
- Fix SourceTimestamp and ServerTimestamp mismatch in ServerStatus children
- Reduce Allocations by @&#8203;RicoSuter
- Fix KeyFrame not sent if no changed values
- Fix: Allow calling methods with only output parameters
- Remove localhost restriction from LDS registration certificate validation
-  Normalize distinguished name field abbreviations for platform compatibility of attribute State/ProvinceName
```

#### Released packages

[OPCFoundation.NetStandard.Opc.Ua](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua/1.5.378.65)
[OPCFoundation.NetStandard.Opc.Ua.Core](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Core/1.5.378.65)
[OPCFoundation.NetStandard.Opc.Ua.Security.Certificates](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Security.Certificates/1.5.378.65)
[OPCFoundation.NetStandard.Opc.Ua.Configuration](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Configuration/1.5.378.65)
[OPCFoundation.NetStandard.Opc.Ua.Server](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Server/1.5.378.65)
[OPCFoundation.NetStandard.Opc.Ua.Client](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Client/1.5.378.65)
[OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes/1.5.378.65)
[OPCFoundation.NetStandard.Opc.Ua.Bindings.Https](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Bindings.Https/1.5.378.65)
[OPCFoundation.NetStandard.Opc.Ua.PubSub](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.PubSub/1.5.378.65)

#### What's Changed

- Fix CI for Netstandard 2.0 & net 9 Tests by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3347](OPCFoundation/UA-.NETStandard#3347)
- Bump Microsoft.Extensions.Configuration from 9.0.10 to 10.0.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3345](OPCFoundation/UA-.NETStandard#3345)
- \[Server] Make SubscriptionManagement Methods Async & Fix Publishing of GoodSubscriptionTransferred Message by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3350](OPCFoundation/UA-.NETStandard#3350)
- Bump actions/checkout from 5 to 6 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3355](OPCFoundation/UA-.NETStandard#3355)
- Bump Microsoft.Extensions.Configuration.EnvironmentVariables from 9.0.10 to 10.0.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3356](OPCFoundation/UA-.NETStandard#3356)
- Normalize distinguished name field abbreviations for platform compatibility of attribute State/ProvinceName by [@&#8203;mrsuciu](https://github.com/mrsuciu) in [#&#8203;3358](OPCFoundation/UA-.NETStandard#3358)
- Remove localhost restriction from LDS registration certificate validation by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3352](OPCFoundation/UA-.NETStandard#3352)
- Fix GetDataTypeId to return specific DataTypeId for IEncodeable types by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3353](OPCFoundation/UA-.NETStandard#3353)
- Fix: Allow calling methods with only output parameters by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3354](OPCFoundation/UA-.NETStandard#3354)
- Added security policy benchmarks by [@&#8203;mrsuciu](https://github.com/mrsuciu) in [#&#8203;3357](OPCFoundation/UA-.NETStandard#3357)
- Bump BenchmarkDotNet from 0.15.6 to 0.15.8 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3364](OPCFoundation/UA-.NETStandard#3364)
- \[Server] Make EndpointIncomingRequest a ReadonlyStruct & pool ValueTaks by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3363](OPCFoundation/UA-.NETStandard#3363)
- Downgrade PublishNetworkMessage log level from Information to Debug by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3365](OPCFoundation/UA-.NETStandard#3365)
- Use temp folder for GDS test certificate storage by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3368](OPCFoundation/UA-.NETStandard#3368)
- Fix KeyFrame not sent if no changed values by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3367](OPCFoundation/UA-.NETStandard#3367)
- Add provisioning mode support for certificate provisioning and initial server configuration by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3375](OPCFoundation/UA-.NETStandard#3375)
- Remove hardcoded Retain=true in ConditionState.UpdateStateAfterEnable by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3370](OPCFoundation/UA-.NETStandard#3370)
- Add comprehensive documentation for ComplexTypes library by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3373](OPCFoundation/UA-.NETStandard#3373)
- performance: Reduce allocations (logger factory reuse, check enabled) by [@&#8203;RicoSuter](https://github.com/RicoSuter) in [#&#8203;3387](OPCFoundation/UA-.NETStandard#3387)
- Add reverse connect command line support to ConsoleReferenceServer by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3376](OPCFoundation/UA-.NETStandard#3376)
- Include failed value in XmlDecoder error messages by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3374](OPCFoundation/UA-.NETStandard#3374)
- Fix BaseEventState.MemberwiseClone() to pass Parent to Activator.CreateInstance by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3361](OPCFoundation/UA-.NETStandard#3361)
- Fix console reference client cli args conflict by [@&#8203;mohdfareed](https://github.com/mohdfareed) in [#&#8203;3389](OPCFoundation/UA-.NETStandard#3389)
- Update headers and license files by [@&#8203;marcschier](https://github.com/marcschier) in [#&#8203;3388](OPCFoundation/UA-.NETStandard#3388)
- Make Network Socket in UdpPubSubConnection reachable by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3385](OPCFoundation/UA-.NETStandard#3385)
- Fix BaseVariableState to return correct BuiltInType for Byte arrays vs ByteString by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3384](OPCFoundation/UA-.NETStandard#3384)
- Fix: State helper methods now update timestamps and clear change masks by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3371](OPCFoundation/UA-.NETStandard#3371)
- Fix: Enable historical data access for historizing nodes in Reference Server by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3383](OPCFoundation/UA-.NETStandard#3383)
- Fix ExtractValueFromVariant method call condition by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3382](OPCFoundation/UA-.NETStandard#3382)
- Add support for restoring triggered monitored items on session reconnect by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3377](OPCFoundation/UA-.NETStandard#3377)
- Add support for private encodeable factory in server initialization by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3366](OPCFoundation/UA-.NETStandard#3366)
- Fix SourceTimestamp and ServerTimestamp mismatch in ServerStatus children by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3386](OPCFoundation/UA-.NETStandard#3386)
- Bump NUnit.Console from 3.20.2 to 3.21.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3390](OPCFoundation/UA-.NETStandard#3390)
- Add client-based NodeSet2 export functionality by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3400](OPCFoundation/UA-.NETStandard#3400)
- Add comprehensive OPC UA Profiles and Facets documentation by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3397](OPCFoundation/UA-.NETStandard#3397)
- Fix race condition causing duplicate MonitoredItems in concurrent CreateItemsAsync calls by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3399](OPCFoundation/UA-.NETStandard#3399)
- Fix CallMethodResult.InputArgumentResults to comply with OPC UA Part 4 Section 5.12 by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3398](OPCFoundation/UA-.NETStandard#3398)
- Add optional parent-child linking when importing NodeSet2.xml by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3396](OPCFoundation/UA-.NETStandard#3396)
- Disable mac os github actions runs by [@&#8203;marcschier](https://github.com/marcschier) in [#&#8203;3404](OPCFoundation/UA-.NETStandard#3404)
- Bump NUnit3TestAdapter from 5.2.0 to 6.0.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3391](OPCFoundation/UA-.NETStandard#3391)
- Only treat an actual StatusCode value equal to Good as null to avoid mis-encoding by [@&#8203;mrsuciu](https://github.com/mrsuciu) in [#&#8203;3403](OPCFoundation/UA-.NETStandard#3403)
- Fix thread pool exhaustion with many MQTT writer groups by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3395](OPCFoundation/UA-.NETStandard#3395)
- Remove BouncyCastle dependency from GDS Server by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3393](OPCFoundation/UA-.NETStandard#3393)
- Fix MinNonceLength for SecurityPolicies.Basic128Rsa15 by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3410](OPCFoundation/UA-.NETStandard#3410)
- Fix client returning BadUserAccessDenied when SecurityPolicy or SecurityMode not matching by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3270](OPCFoundation/UA-.NETStandard#3270)
- Restore clean console output in ConsoleReferenceServer and ConsoleReferenceClient by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;3409](OPCFoundation/UA-.NETStandard#3409)
- Bump Microsoft.Extensions.Configuration and Microsoft.Extensions.Configuration.EnvironmentVariables by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3418](OPCFoundation/UA-.NETStandard#3418)
- Add event to update session when diagnostic counters changes by [@&#8203;Lessi30](https://github.com/Lessi30) in [#&#8203;3407](OPCFoundation/UA-.NETStandard#3407)
- Bump actions/upload-artifact from 5 to 6 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3416](OPCFoundation/UA-.NETStandard#3416)
- Add OPCUA\_EXCLUDE\_AccessLevelExType to Opc.Ua.Core.csproj by [@&#8203;opcfoundation-org](https://github.com/opcfoundation-org) in [#&#8203;3421](OPCFoundation/UA-.NETStandard#3421)
- Refactor ApplicationConfiguration serialization for deprecated/modern settings and add tests for configuration behavior by [@&#8203;mrsuciu](https://github.com/mrsuciu) in [#&#8203;3415](OPCFoundation/UA-.NETStandard#3415)
- Bump Microsoft.Extensions.Logging from 10.0.0 to 10.0.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3419](OPCFoundation/UA-.NETStandard#3419)
- Bump Microsoft.Extensions.Logging.Abstractions from 10.0.0 to 10.0.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3420](OPCFoundation/UA-.NETStandard#3420)
- Update version from 1.5.378-preview to 1.5.378 by [@&#8203;mrsuciu](https://github.com/mrsuciu) in [#&#8203;3422](OPCFoundation/UA-.NETStandard#3422)

#### New Contributors

- [@&#8203;RicoSuter](https://github.com/RicoSuter) made their first contribution in [#&#8203;3387](OPCFoundation/UA-.NETStandard#3387)
- [@&#8203;mohdfareed](https://github.com/mohdfareed) made their first contribution in [#&#8203;3389](OPCFoundation/UA-.NETStandard#3389)
- [@&#8203;Lessi30](https://github.com/Lessi30) made their first contribution in [#&#8203;3407](OPCFoundation/UA-.NETStandard#3407)

**Full Changelog**: <OPCFoundation/UA-.NETStandard@1.5.378.10-preview...1.5.378.65>

### [`v1.5.377.22`](https://github.com/OPCFoundation/UA-.NETStandard/releases/tag/1.5.377.22): OPC UA 1.05 Maintenance Update

[Compare Source](OPCFoundation/UA-.NETStandard@1.5.377.21...1.5.377.22)

This maintenance release scope is to fix an important memory leak found in release 1.5.377.21

#### Released packages

[OPCFoundation.NetStandard.Opc.Ua](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua/1.5.377.22)
[OPCFoundation.NetStandard.Opc.Ua.Core](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Core/1.5.377.22)
[OPCFoundation.NetStandard.Opc.Ua.Security.Certificates](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Security.Certificates/1.5.377.22)
[OPCFoundation.NetStandard.Opc.Ua.Configuration](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Configuration/1.5.377.22)
[OPCFoundation.NetStandard.Opc.Ua.Server](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Server/1.5.377.22)
[OPCFoundation.NetStandard.Opc.Ua.Client](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Client/1.5.377.22)
[OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes/1.5.377.22)
[OPCFoundation.NetStandard.Opc.Ua.Bindings.Https](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Bindings.Https/1.5.377.22)
[OPCFoundation.NetStandard.Opc.Ua.PubSub](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.PubSub/1.5.377.22)

#### What's Changed

- Cherry Pick 'fix memory leak of Monitored Items ([#&#8203;3324](OPCFoundation/UA-.NETStandard#3324))' by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3325](OPCFoundation/UA-.NETStandard#3325)

**Full Changelog**: <OPCFoundation/UA-.NETStandard@1.5.377.21...1.5.377.22>

### [`v1.5.377.21`](https://github.com/OPCFoundation/UA-.NETStandard/releases/tag/1.5.377.21): OPC UA 1.05 Maintenance Update

[Compare Source](OPCFoundation/UA-.NETStandard@1.5.376.244...1.5.377.21)

#### Breaking Changes:

##### Server

- IMonitoredItem Interface extended & used instead of MonitoredItem Class
- New ISession Interface instead of Session Class
- ISesssionManager, ISubscriptionManager, ISubscription & IServerInternal interfaces extended

##### Core

- ICertificateStore Async Methods now have async suffixes, old names deprecated
- All obsolete Methods removed

##### Client

- All sync methods are now marked as deprecated
- DataTypeDictionaries moved into the ComplexTypes Package. If the helper methods of the Session were used we recommend to use the complex type system as a replacement that can handle all servers from OPC UA Spec 1.0 - 1.0.05.
- NodeCache now has an async interface (to have access to the ITypeTable interface use the .TypeTree  property or AsNodeTable method

##### ApplicationInstance

- Methods Returning a task have asyny suffixes

##### GDS Client

- sync apis marked as deprecated

#### Bug Fixes:

##### Server

- Fix Subscription Keepalive being sent on first publish
- Handle unsent requests on closed SecureChannel to be sent on new channel of the same session

##### Client

- Disable Subscription cleanup if subscriptions are being created
- Fix subscription leaking due to not completed PublishResponseMessageWorkerAsync tasks
- Fix subscription leaking due to not completed PublishResponseMessageWorkerAsync tasks

#### New features:

##### Server

- Support for async method calls by implementing IAsyncNodeManager interface (see [ConfigurationNodeManager](https://github.com/OPCFoundation/UA-.NETStandard/blob/1.5.377.21/Libraries/Opc.Ua.Server/Configuration/ConfigurationNodeManager.cs) for an example usage)
- New Task based Request Queue
- New generated Code with async Method Call handlers & async Service Calls
- New extended CustomNodeManager with support for SamplingGroup Mechanism

##### GDS Client

- exposes async APIS and marks sync apis as deprecated

##### Client

- New LRU NodeCache added & used in ComplexType System

#### Released packages

[OPCFoundation.NetStandard.Opc.Ua](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua/1.5.377.21)
[OPCFoundation.NetStandard.Opc.Ua.Core](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Core/1.5.377.21)
[OPCFoundation.NetStandard.Opc.Ua.Security.Certificates](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Security.Certificates/1.5.377.21)
[OPCFoundation.NetStandard.Opc.Ua.Configuration](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Configuration/1.5.377.21)
[OPCFoundation.NetStandard.Opc.Ua.Server](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Server/1.5.377.21)
[OPCFoundation.NetStandard.Opc.Ua.Client](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Client/1.5.377.21)
[OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes/1.5.377.21)
[OPCFoundation.NetStandard.Opc.Ua.Bindings.Https](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Bindings.Https/1.5.377.21)
[OPCFoundation.NetStandard.Opc.Ua.PubSub](https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.PubSub/1.5.377.21)

#### What's Changed

- Update GDS Client to use async Client API and deprecate sync Calls. by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3164](OPCFoundation/UA-.NETStandard#3164)
- Bump actions/checkout from 4 to 5 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3165](OPCFoundation/UA-.NETStandard#3165)
- Fix nuget and official build and additional smaller analzyer fixes by [@&#8203;marcschier](https://github.com/marcschier) in [#&#8203;3166](OPCFoundation/UA-.NETStandard#3166)
- remove sync client calls from async client tests by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3168](OPCFoundation/UA-.NETStandard#3168)
- Make GDS Tests use ECC for connection. Update Certificate wait check to use polling mechanism. by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3167](OPCFoundation/UA-.NETStandard#3167)
- removing strong namer which does not work and fork async add auto and… by [@&#8203;marcschier](https://github.com/marcschier) in [#&#8203;3175](OPCFoundation/UA-.NETStandard#3175)
- \[Tests] Remove net 462 CI / Add TestContext Logging support for GDS Tests / Fix Tests for netstandard by [@&#8203;romanett](https://github.com/romanett) in [#&#8203;3170](OPCFoundation/UA-.NETStandard#3170)
- Make  sync client api obsolete by [@&#8203;marcschier](https://github.com/marcschier) in [#&#8203;3174](OPCFoundation/UA-.NETStandard#3174)
- Optimize reflection-based lookups using caches by [@&#8203;marcschier](https://github.com/marcschier) in [#&#8203;3179](OPCFoundation/UA-.NETStandard#3179)
- Move newly introduced AsyncNodeTable and AsyncTypeTree interfaces to core by [@&#8203;marcschier](https://github.com/marcschier) in [#&#8203;3182](OPCFoundation/UA-.NETStandard#3182)

**Full Changelog**: <OPCFoundation/UA-.NETStandard@1.5.376.244...1.5.377.21>

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTYuMiIsInVwZGF0ZWRJblZlciI6IjQzLjIxNi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: https://codeberg.org/umati/connect/pulls/7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Possible memory allocation regression in v1.5.378.10-preview

4 participants