New ISession Interface instead of Session Class
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
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
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
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
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