Releases: OPCFoundation/UA-.NETStandard
OPC UA 1.05 Maintenance Update
This release is based on the 1.05.06 Nodeset.
It contains important bug fixes which were found after the last 1.05.377 release, as well as breaking API changes.
## Changes:
- Introduced telemetry context and proper use of ILogger.
- Improve thread safe Utils methods for incrementing identifiers.
- Obsolete Synchronous Certificate Validator Methods.
- Move from .net 9 to .net 10 SDK and build new target framework .net 10.
- Restructured core and built in types into base assembly and nuget.
- Pulled ActivityTraceFlags into IClientBase.
### Server Specific:
- Pass SecureChannelContext explicitly.
- Obsolete APM & Synchronous Methods.
- Configured Thread Pool for better Server Performance.
- Refactor Publishing to work with TAP.
- Refactor SessionPublishQueue for improved throughput by removing locking on Subscription enumeration.
- Include domains and applicationName in ServerCertificate for CreateSigningRequest Method with parameter regeneratePrivateKey = true.
- Complete IAsyncNodeManager Interface with support for sync Calls using SyncNodeManagerAdapter.
- Add Async MonitoredItem Management methods to MasterNodeManager & IAsyncNodeManager.
- Implement Service Members of IAsyncNodeManager in MasterNodeManager.
- INodeManager: Propagate MonitoredItemId using Class MonitoredItemIdFactory instead of ref globalIdCounter.
- Extended MasterNodeManager with support for ReadAsync, WriteAsync, HistoryReadAsync, HistoryWriteAsync, TranslateBrowsePathAsync, ConditionRefreshAsync.
- Extended StandardServer with ActivateSessionAsync, CreateSessionAsync, FindServersAsync, GetEndpointsAsync, CloseSessionAsync.
- Improve SubscriptionManager throughput by removing lock on subscription dictionary lookups.
- Implement async transportlistener callback.
- Refactor MasterNodeManager NamespaceManagers Property to use ConcurrentDictionary for lock free lookups.
- Add an Explicit deterministic load test to test Server Performance.
- Allow non OPC-UA conform SubjectName values to AddSecurityConfigurationStores
### Client Specific:
- Obsolete APM calls.
- Set default timout hint based on OperationTimeout of the TransportChannel.
### Fixes:
- Fix memory leak of Monitored Items in CustomNodeManager2.
- Fix JsonDecoder for Unions.
- Fix NodeId.Parse() to reject invalid identifiers without type prefix.
- Fix log level for expected client disconnection scenarios (BadNoSubscription and related status codes).
- Fix client Close method to properly wait for outstanding publish requests.
- Fix InvalidCastException in GetBrowseName methods for Attributes, DataTypes, ReferenceTypes, and StatusCodes.
- Fix TranslateBrowsePath to NodeIds synchronous path in MasterNodeManager.
- Fix WriteArray in encoders to also write null.
- Fix HistoryRead bit not set in Server object EventNotifier when history capabilities are enabled
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
- [Server] Refactor MasterNodeManager NamespaceManagers Property to use ConcurrentDictionary for lock free lookups by @romanett in #3190
- [Server] Implement async transportlistener callback by @romanett in #3184
- [Server] Improve SubscriptionManager throughput by removing lock on subscription dictionary lookups by @romanett in #3189
- Make IAsyncNodeManager experimental / Remove deprecated ICertificateStoreMembers / Rename IApplicationConfigurationBuilderCreate.Create to CreateAsync by @romanett in #3187
- [Server] Extend MasterNodeManager with support for ReadAsync, WriteAsync, HistoryReadAsync, HistoryWriteAsync, TranslateBrowsePathAsync, ConditionRefreshAsync by @romanett in #3188
- Retry to reactivate session on BadNoCommunication and BadConnectionClosed. by @mrsuciu in #3197
- [Server] Fix TranslateBrowsePath to NodeIds sync path in MasterNodeManager by @romanett in #3195
- Update Microsoft nuget packages to 9.0.9 Versions by @romanett in #3205
- Fix ExtendedNodeId not correctly json encoded #3209 by @marcschier in #3211
- [Server] INodeManager: Propagate MonitoredItemId using Class MonitoredItemIdFactory instead of ref globalIdCounter by @romanett in #3207
- [Server] Implement Service Members of IAsyncNodeManager in MasterNodeManager by @romanett in #3204
- [Server] Add Async MonitoredItem Management methods to MasterNodeManager & IAsyncNodeManager by @romanett in #3217
- Improve thread safe Utils methods for incrementing identifiers by @romanett in #3221
- [Server] Complete IAsyncNodeManager Interface with support for sync Calls using SyncNodeManagerAdapter by @romanett in #3218
- Introduce telemetry context and proper use of ILogger by @marcschier in #3213
- Bump Nerdbank.GitVersioning from 3.7.115 to 3.8.118 by @dependabot[bot] in #3231
- Bump BenchmarkDotNet from 0.15.3 to 0.15.4 by @dependabot[bot] in #3232
- Add API back as Obsolete for samples to compile (almost) unchanged. by @marcschier in #3234
- More missing obsoleted API to support better porting by @marcschier in #3237
- Bump Microsoft.NET.Test.Sdk from 17.14.1 to 18.0.0 by @dependabot[bot] in #3238
- Fix InvalidCastException in GetBrowseName methods for Attributes, DataTypes, ReferenceTypes, and StatusCodes by @Copilot in #3242
- Immutable Encodeable factory and lookup performance improvements by @marcschier in #3241
- Improve test stability of ValidateTransfer test, ensure thread safety in MonitoredItem by @marcschier in #3243
- Refactor string usage for secrets (#394) by @marcschier in #3250
- Fix log level for expected client disconnection scenarios (BadNoSubscription and related status codes) by @Copilot in #3255
- Fix: Update Dockerfile to target .NET 9.0 by @Navaneethnanda in #3246
- [Client] Set default timout hint based on OperationTimeout of the TransportChannel by @romanett in #3178
- Bump github/codeql-action from 3 to 4 by @dependabot[bot] in #3260
- Bump NUnit3TestAdapter from 5.1.0 to 5.2.0 by @dependabot[bot] in #3261
- Replace deprecated Uri.DnsSafeHost with Uri.IdnHost by @Copilot in #3256
- Fix WriteArray in encoders to also write null. by @marcschier in #3266
- Make GDS tests stable and add better logging to unit tests by @marcschier in #3271
- Allow non OPC-UA conform SubjectName values to AddSecurityConfigurationStores by @mrsuciu in #3229
- Check bounds for switched on values and roslyn cleanup by @marcschier in #3264
- Fix HistoryRead bit not set in Server object EventNotifier when history capabilities are enabled by @Copilot in #3252
- [Server] Include domains and applicationName in ServerCertificate for CreateSigningRequest Method with parameter regeneratePrivateKey = true by @romanett in #3263
- Fix client Close method to properly wait for outstanding publish requests by @Copilot in https://github.com/OPCFoundation/UA-.NETStandar...
OPC UA 1.05 Maintenance Update
This maintenance release scope is to fix an important memory leak found in release 1.5.377.21
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.5.377.21...1.5.377.22
OPC UA 1.05 Maintenance Update
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 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
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 GDS Client to use async Client API and deprecate sync Calls. by @romanett in #3164
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #3165
- Fix nuget and official build and additional smaller analzyer fixes by @marcschier in #3166
- remove sync client calls from async client tests by @romanett in #3168
- Make GDS Tests use ECC for connection. Update Certificate wait check to use polling mechanism. by @romanett in #3167
- removing strong namer which does not work and fork async add auto and… by @marcschier in #3175
- [Tests] Remove net 462 CI / Add TestContext Logging support for GDS Tests / Fix Tests for netstandard by @romanett in #3170
- Make sync client api obsolete by @marcschier in #3174
- Optimize reflection-based lookups using caches by @marcschier in #3179
- Move newly introduced AsyncNodeTable and AsyncTypeTree interfaces to core by @marcschier in #3182
Full Changelog: 1.5.376.244...1.5.377.21
OPC UA 1.05 Maintenance Update
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 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
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 GDS Client to use async Client API and deprecate sync Calls. by @romanett in #3164
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #3165
- Fix nuget and official build and additional smaller analzyer fixes by @marcschier in #3166
- remove sync client calls from async client tests by @romanett in #3168
- Make GDS Tests use ECC for connection. Update Certificate wait check to use polling mechanism. by @romanett in #3167
- removing strong namer which does not work and fork async add auto and… by @marcschier in #3175
- [Tests] Remove net 462 CI / Add TestContext Logging support for GDS Tests / Fix Tests for netstandard by @romanett in #3170
- Make sync client api obsolete by @marcschier in #3174
- Optimize reflection-based lookups using caches by @marcschier in #3179
- Move newly introduced AsyncNodeTable and AsyncTypeTree interfaces to core by @marcschier in #3182
Full Changelog: 1.5.376.244...1.5.377.11-preview
OPC UA 1.05 Maintenance Update
1.05.376 July Release
This release is based on the 1.05.05 Nodeset with generated files from the ModelCompiler.
It contains important bug fixes which were found after the last 1.05.376 release, as well as new features.
Enhancements:
- Enhance enum definition handling and validation.
- Use Central Package Management for Nuget Packages.
New Features:
- Implement Support for PEM Public Keys in Directory Certificate Store.
- Allow to modify sensitivity of KeepAliveStopped on Client.
- Add support for Async Service Calls in the generated files.
Fixes:
- Fix Client removing subscription if publish response is received before createSubscriptionResponse.
- Fix Subscription Diagnostics DataChangeNotificationsCount being calcualted incorrectly.
NET6.0 target removed
- The NET6.0 outdated target has been removed since it is superseded by NET8.0.
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
- [Server] Fix Subscription Diagnostics DataChangeNotificationsCount being calcualted incorrectly by @romanett in #3119
- [Client] Fix removal of Subscription if PublishResponse is received before CreateSubscriptionResponse by @romanett in #3120
- Remove net6 / Label Pubsub Package as Release / Update Nuget Packages by @romanett in #3121
- Use Central Package Management for Nuget Packages by @romanett in #3122
- Enhance enum definition handling and validation by @marcschier in #3124
- [Client] Allow to modify sensitivity of KeepAliveStopped by @romanett in #3105
- Implement Support for PEM Public Keys in Directory Certificate Store by @romanett in #3088
- Update for 1.5.5 release with Async Service Calls by @opcfoundation-org in #3116
- Remove net6.0 left-overs. by @mrsuciu in #3130
- Merge master to release/1.5.376 by @mrsuciu in #3131
Full Changelog: 1.5.376.235...1.5.376.244
OPC UA 1.05 Maintenance Update
1.05.376 June Release
It contains important bug fixes which were found after the last 1.05.376 release, as well as a couple of new features.
Enhancements:
- Enhance role permission validation on server.
New Features:
- Allow to define a custom StringComparsion for Equals Operator.
- Implement Support for client requested "mul" locale.
Fixes:
- Fix XML Encoding and decoding of Matrix element to conform to specification.
- Fix closing of shared Transport Channel in Recreate Scenario on client.
- Fix Regression - Sampling Group disposing m_shutdownEvent in Shutdown Method on server.
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
- Fix XML Encoding and decoding of Matrix Element in Variant to conform to spec by @romanett in #3053
- Bump Microsoft.Extensions.Logging and Microsoft.NETFramework.ReferenceAssemblies by @dependabot in #3057
- Bump NUnit.Console and Microsoft.NETFramework.ReferenceAssemblies by @dependabot in #3058
- Bump Microsoft.Extensions.Configuration and Microsoft.NETFramework.ReferenceAssemblies by @dependabot in #3060
- Add version System.Diagnostics.DiagnosticSource to match Microsoft.Extensions.Logging.Abstractions version by @mrsuciu in #3061
- [Server] Add Back removed Public QueueEvent(EventFieldList fields) Method to MonitoredItem by @romannet in #3064
- Bump Microsoft.Extensions.Configuration, Microsoft.Extensions.Configuration.EnvironmentVariables and Microsoft.NETFramework.ReferenceAssemblies by @dependabot in #3066
- Bump Serilog, Serilog.Sinks.File and Microsoft.NETFramework.ReferenceAssemblies by @dependabot in #3067
- Update to latest nuget packages by @mrsuciu in #3069
- Disable strongname warning for net8.0 and net9.0 for MQTTnet latest unsigned assembly by @mrsuciu in #3073
- [Server] Enhance role permission validation by @romanett in #3047
- [Client] Fix closing of shared Transport Channel in Recreate Scenario / Add missing event Handler to Session Constructor / Call RenewUserIdentity on Session.ReCreate by @romanett in #3055
- Fix XML Encoding of Null Variant to conform to spec by @romanett in #3062
- [Server] [Regression] fix Sampling Group disposing m_shutdownEvent in Shutdown Method. Fix double call of Shutdown Method by @romanett in #3070
- Make RelativePath.Parse throw SRE if NamespaceIndexes cannot be found by @romanett in #3071
Full Changelog: 1.5.376.213...1.5.376.235
OPC UA 1.05 Maintenance Update
1.05.376 April Release
This release is based on the 1.05.04 Nodeset with generated files from the ModelCompiler.
The focus of this release is on the added support for Durable Subscriptions, support for the 1.05.04 Nodeset and bug fixes.
Breaking Changes:
- Updated XML-Encoding / XML-Decoding of Matrix Element in Variant to conform to Specification
- Interface extensions in the Server to support Durable Subscriptions
- A valid CertificateStore Configuration is now enforced on Startup
Potential breaking changes that can affect modelling tools:
- The UANodeSet includes a new optional attribute DesignToolOnly.
New Features:
- 1.05.04 Nodeset Update
- Allow setting a temporary Context for using IEncoders in custom code
- Add Support for Durable Subscriptions by implementing needed persistence code in custom Interfaces. Sample Implementations are present in the console reference Server Docs
Fixes:
- Fix ValueRank for Base Variable State
- UserIdentityToken now uses UTF-8 Encoded byte Array for storing unencrypted PW
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 Microsoft.Extensions.Logging and Microsoft.NETFramework.ReferenceAssemblies by @dependabot in #3015
- Bump Microsoft.Extensions.Configuration and Microsoft.NETFramework.ReferenceAssemblies by @dependabot in #3019
- [Server] [Client] Return BadIdentityTokenInvalid if use of anonymous identity token is not allowed by @romanett in #3012
- Enable Durable Subscriptions by @romanett in #2978
- 1.05.04 final release fixes by @opcfoundation-org in #2893
- Bump BouncyCastle.Cryptography and Microsoft.NETFramework.ReferenceAssemblies by @dependabot in #3034
- Bump Microsoft.Extensions.Logging and Microsoft.NETFramework.ReferenceAssemblies by @dependabot in #3038
- [Server] Restore durable subscriptions on Server Restart by @romanett in #3025
- Bump Microsoft.Extensions.Configuration and Microsoft.NETFramework.ReferenceAssemblies by @dependabot in #3039
- Enforce Valid Certificate Store configuration by @romanett in #3023
- Make UserIdentityToken internally use byte Array instead of string for storing unencrypted password. by @romanett in #3035
- [Console Reference Server] Implement file based queues for durable Subscriptions by @romanett in #3042
- Set default value for the ValueRank attribute of BaseVariableState and BaseVariableTypeState to ValueRanks.Any as in the specification by @mrsuciu in #3049
- Allow setting the context in a temporary using scope for IEncoder instances by @mrsuciu in #3044
- Update version.json by @mrsuciu in #3050
- Fix XML Encoding and decoding of Matrix Element in Variant to conform… by @romanett in #3054
Full Changelog: 1.5.375.457...1.5.376.213
OPC UA 1.05.375 Maintenance Update
1.05.375 Maintenance Update
This release is based on the 1.05.03 Nodeset with generated files from the ModelCompiler.
It contains important bug fixes which were found after the last 1.05.375 ECC release.
Improvements and bug fixes
- Various smaller bug fixes.
- Fix: SecurityToken renewal
- Remove oldest channel if not used by session
- Fix reconnect when ReverseConnection is used
- Add support for SupportsFilteredRetain
- By default set NoDelay and Lingerstate to 5 sec (thanks @sxleixer)
- Fix RegisterWithDiscoveryServer method not using a certificate for the secure channel
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
- 733ec5d Merge pull request #3004 from OPCFoundation/master
- 28d2227 Revert "Enable Nullability for important Certificate Handling classes (#2989)" (#3007)
- 38388f1 fix RegisterWithDiscoveryServer method not using a certificate for the secure channel @romanett (#3005)
- ca18c2d Bump System.Diagnostics.DiagnosticSource and Microsoft.NETFramework.ReferenceAssemblies (#3002)
- c75c8a0 By default set NoDelay and Lingerstate to 5 sec @mregen, @sxleixer (#3000) [ #2882 ]
- 37cebe3 [Server] Add support for SupportsFilteredRetain @Archie-Miller (#2913)
- 23d167a Enable Nullability for important Certificate Handling classes @romanett (#2989)
- ba915ac Bump NUnit.Console from 3.19.1 to 3.19.2 (#2980)
- d985747 [Client] Fix reconnect when ReverseConnection is used @JohnJiang26821 (#2985)
- cbf789d Fix a case where NodeId.Null is modified @mregen (#2995)
- 703b52d Make FiniteStateMachine DoTransition virtual @romanett (#2988)
- d540baf Remove oldest channel if not used by session, when number of channels reaches MaxChannelCount - 1 @mrsuciu(#2986)
- 8e408db fix Token renewal @romanett (#2990)
- 1baf420 [Server] Fix Sampling Group creating a new long running task for every Client AddMonitoredItems Method Call @romanett (#2984)
- 7cbeee7 [Test] Add ECC Certificates to various tests @romanett (#2961)
Full Changelog: 1.5.375.443...1.5.375.457