Skip to content

Releases

2.0.2

Choose a tag to compare

@github-actions github-actions released this 11 Nov 06:42
80acfa0

Breaking changes

NodeManager lifetime redesign (#4982):
Adding, reloading and removing NodeManagers now goes through INodeManagerLifecycle.ApplyAsync(LifecycleChange…) / BeginAsync → PrepareAsync → CommitAsync. The old batch and replace members are [Obsolete].
Each request, MonitoredItem and continuation point is tied to one generation. BrowseNext returns BadContinuationPointInvalid once that generation is retired.
IBrowseContinuationDependencies / TryGetContinuationDependencies were removed.
Sensitive data in logs is classified (#4864). A plain ILoggerFactory now logs (null) for classified values; call EnableOpcUaRedaction() if you set up logging yourself. Redact, RedactionWrapper, IRedactionStrategy, RedactionStrategies and SimpleRedactionStrategy were removed.
Program state numbers follow the standard (#4789): Halted=11, Ready=12, Running=13, Suspended=14 (they were 4, 1, 2, 3).
Server no longer changes the process ThreadPool (#4917). It used to raise the minimum to MinRequestThreadCount. Hosts whose node managers block threads should set ThreadPool.SetMinThreads themselves. SharedOnly requests now run on concurrency permits (#4919).
Reconnect fails rather than changing security (#4809). If the original security mode/policy is no longer offered, SessionReconnectHandler and ManagedSession reject the endpoint instead of falling back to another one.
Request queue time counts against TimeoutHint, and a full queue sends retry-after (#4918).

Deprecations (still work, warning CS0618)

FastDataChangeCallback, FastEventCallback, FastKeepAliveCallback and ISession.DefaultSubscription are obsolete. Use ISubscriptionNotificationHandler with ISubscriptionManager.Add.
ISession.PublishSequenceNumbersToAcknowledge is obsolete. Use AcknowledgementMode.AfterConfirmation / ISubscriptionAcknowledgementProvider (#4899).
AddAutoIdToMachinery is obsolete; use AddAutoIdModel, part of the shared DI companion composition (#4915).

Major additions

Client:
Redundancy driven by ServiceLevel, including over Reverse Connect (#4884, #4885).
Managed recovery over reverse connections that the application supplies (#4883).
Session takeover (#4900).
Opt-in AllowUnencryptedUserNameTokens for legacy devices (#4910).
Server:
Async setters for condition and alarm states. Subclasses that customize a setter must also override its …Async counterpart (#4992).
OPC 10000-10 Programs (#4789).
OPC 10000-22 Base Network Model (#4990).
Performance: large throughput and allocation gains on the request, publish, event and data-change paths, on both server and client (#4742, #4748, #4782, #4812, #4845, #4859, #5009, #5015, among others).
New companion SDKs: AutoID, LADS, Pumps, MachineTool/WMTP/GMS/CranesHoists, Machine Vision, Recycling/PlasticsRubber, PA-DIM, ECM, AMB health, the Industrial Automation runtimes, and WoT runtime/binding.
Tooling: UaLens desktop workspace (#4822) and JWT login for the MCP server (#4933).
Tests moved to NUnit 5 (#4840; does not affect consumers).

What's Changed

  • Advance master to 2.0.2-preview by @romanett in #4741
  • Client/transport: one recv per small chunk, ManagedSession lock fast path, write coalescing by @romanett in #4737
  • Complete each pooled service response at most once (#4729) by @romanett in #4736
  • Fix concurrent session creation on a shared ClientChannelManager channel by @romanett in #4739
  • Add Machine Vision Parts 1 and 2 by @marcschier in #4733
  • Server: remove the server-wide locks from the request pipeline, bounded transport buffer pool by @romanett in #4742
  • Server quick wins from the o6 benchmark gap analysis: admission sizing, sampling permission cache, routed Read dispatch by @romanett in #4743
  • Fix managed-channel certificate ownership on early create failure by @marcschier in #4745
  • Fix cache invalidation after accepted async indexed writes by @marcschier in #4746
  • Server publish path: no deep clone per Publish, pooled notifications that are actually reused, ready list instead of an O(N) scan by @romanett in #4748
  • Add complete method invocation results and resolved diagnostics by @marcschier in #4747
  • Make request cancellation own exactly one terminal state by @marcschier in #4744
  • Capture metadata images and generation-bound session clients by @marcschier in #4752
  • Fix the Sessions LoadTest fixture and the server bottlenecks it exposed by @romanett in #4749
  • Server: cheaper symmetric crypto path, FairRequestQueue without a queue-wide lock by @romanett in #4750
  • Server: no server-wide or per-session locks in per-request session validation by @romanett in #4753
  • CI: CTT regression runs, weekly and on PRs labelled 'ctt' by @romanett in #4760
  • XRegistry: trusted logical-Resource federation identity by @marcschier in #4755
  • XRegistry: registration lifecycle, identifier allocation, registrar roles and atomic Resource replace by @marcschier in #4756
  • Tests: weighted FairRequestQueue test asserts the median of three windows by @romanett in #4763
  • CTT reference server: faster alarm cycle in --ctt mode, MinSubscriptionLifetime 1000 ms by @romanett in #4766
  • Add additional companion spec MCP tool profiles by @marcschier in #4731
  • Server: remove per-request context copies and lock hot spots from the request path (−16 % allocation per Read) by @romanett in #4767
  • Fix managed browse closed-channel and cancellation handling by @cristipogacean in #4774
  • Restore monitoring for survivors of partial node deletion by @cristipogacean in #4776
  • Preserve NodeVersion eligibility when deleting runtime nodes by @cristipogacean in #4777
  • ManagedSession: skip redundant outer reconnect after channel-manager recovery (fixes BoundClientCannotRetryAcrossFaultedManagedEntryReplacementAsync flake) by @romanett in #4781
  • Server: release the HTTPS listener's pinned TLS certificate when it fails to open by @romanett in #4775
  • Quickstarts alarms: report one event per Enable instead of two by @romanett in #4780
  • Channel send path: seal responses in the writer, lock-free gate, fewer locks and allocations per request by @romanett in #4782
  • Complete model-change reporting for committed node deletions by @cristipogacean in #4778
  • Remove experimental markers from type interfaces by @marcschier with @Copilot in #4785
  • Add recycling simulator and plastics/rubber companion packages by @marcschier in #4772
  • Server: make TrustList.ValidateNewTrustListAsync public by @wolfgangcolsman in #4799
  • Implement OPC UA Part 10 Programs by @marcschier in #4789
  • Client: make the UaFileInfo constructor public by @wolfgangcolsman in #4790
  • Extract core/types fixes for schemas, replay, and source generation by @marcschier in #4801
  • Server: confirm unchanged isolation classifications at dispatch without the full lookup by @romanett in #4787
  • TCP listener: complete requests without an async state machine per request (R7) by @romanett in #4788
  • PubSub server: organize PublishedDataSets under PublishSubscribe.PublishedDataSets by @wolfgangcolsman in #4793
  • Server request path: no large struct copies, slim per-request system context, no string table per request (R2, R5) by @romanett in #4805
  • Add MachineTool, WMTP, GMS and CranesHoists companions by @marcschier in #4765
  • Client/server transfer, WSS, and hosting fixes by @marcschier in #4802
  • PKCS#11 store: write and delete certificate objects on the token by @wolfgangcolsman in #4792
  • Fail closed when reconnect cannot preserve endpoint security by @marcschier in #4809
  • AMB: add bounded strict reads and configurable sample hosting by @marcschier...
Read more

OPC UA 1.05 Maintenance Update

Choose a tag to compare

@opcfoundation-org opcfoundation-org released this 11 Nov 06:59
5708760

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

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

  • [master378] Align session token, client channel policy check and identity token errors with the spec by @romanett in #4665
  • [master378] Secure channel: never answer with an expired token; accept a just-expired one by @romanett in #4701
  • [master378] [CTT] Fix application certificate renewal to use configured trust stores by @mrsuciu in #4678
  • [master378] Complete each incoming request exactly once on server stop (#4729) by @romanett in #4738
  • [master378] [CTT] Enforce session history continuationpoint limit by @mrsuciu in #4862
  • [master378][CTT] History read: reject “read modified” requests that also ask for bounds by @mrsuciu in #4888
  • [master378] CTT CI: trigger the private CTT run for the 1.5.378 line by @romanett in #4928
  • [master378][CTT] Fix connection failure with Basic128Rsa15: session nonce too short by @mrsuciu in #4904
  • [master378] Fix CTT Auditing Connections: event queueSize 0/1 (backport #4480) and OpenSecureChannel ClientAuditEntryId by @romanett in #4932
  • [master378] Evict only the excess sent messages when the retransmission queue is full by @cdeom in #4920
  • [master378] [CTT] Server: send RefreshRequired after an event queue overflow that lost Condition events by @mrsuciu in #4925
  • [master378] Fix flaky GDS push and Server ResendData tests by @romanett in #4926
  • [master378] Reference server: offer every user token type on every endpoint by @romanett in #4975
  • [master378] Fix RequestQueue disposing resources still used by its workers by @romanett in #5012
  • [master378] Prepare release by @mrsuciu in #5050

New Contributors

Full Changelog: 1.5.378.182...1.5.378.196

2.0.1

Choose a tag to compare

@github-actions github-actions released this 12 Oct 03:57
07e62f7

Breaking changes

SecureChannelContext certificates are now ByteString. ClientChannelCertificate, ServerChannelCertificate and ChannelThumbprint changed from byte[] to read-only ByteString views. Check .IsNull instead of comparing to null, and use .Span / .Memory.
Empty LocalizedText is null. Locale and Text return null instead of "", and new LocalizedText(string.Empty) is the null value. Code comparing Text == string.Empty needs a null-aware check (#4709).
Nullable reference types are on in every project (#4700). Public APIs now carry nullability annotations, so consumers who use nullable will see new warnings.
Stricter security:
A secure channel never answers with an expired token (#4698).
Anonymous requests without a session must use the channel security of CreateSession (#4689).
UADP DataSetMetaData announcements are refused on secured connections (#4712).

Major changes

ECC and AES-GCM/ChaCha20-Poly1305 security policies work on .NET Framework 4.8 through BouncyCastle (#4703, #4705). Under FipsOnly these policies are withheld on net48.
Servers can start in globalization-invariant mode (#4716).
Faster server request path and client (#4707, #4715, #4720): fewer lock conflicts and allocations, plus a new load harness.

What's Changed

  • Update code-style agent guidance for CodeAnalysisTreatWarningsAsErrors=true by @romanett in #4690
  • Number commit-id-only prerelease previews 0 so they never outrank a release by @romanett in #4692
  • GDS: pin SecurityAdmin-only delivery of ApplicationRegistrationChangedAuditEvents; document CTT defect C57 by @romanett in #4693
  • Cut CI runner minutes: duration-packed test batches, CodeQL on Linux/daily, cancellable branch packing by @romanett in #4694
  • Server: hold anonymous session-less requests to the channel security of CreateSession by @biancode in #4689
  • Release: stop retrying 404s in the feed gates; keep GitHub Release notes under the size limit by @romanett in #4696
  • Fix CI test flakes: WotCon end-to-end timeout and HTTPS listener port race by @romanett in #4697
  • Secure channel: never answer with an expired token; accept a just-expired one (+ labelled soak/stress CI) by @romanett in #4698
  • WebApi: apply the REST auth opt-ins to the opcua+openapi WebSocket upgrade by @romanett in #4699
  • Enable nullable reference types centrally; migrate all unset and annotations-only projects by @romanett in #4700
  • Aggregates: TreatUncertainAsBad never applies to bounding values; DurationGood/Bad count Good/Bad regions only by @romanett in #4702
  • Enable ECC security policies on net48 via a BouncyCastle raw-ECDH polyfill by @romanett in #4703
  • Redundancy.Server session mirroring: fix fast reconnect lifecycle (#4627) by @romanett in #4704
  • WoT: move GeneratesEvent off Object instances (OPC 10000-3 §7.15) by @romanett in #4706
  • Enable AES-GCM and ChaCha20-Poly1305 policies on net48 via BouncyCastle (stacked on #4703) by @romanett in #4705
  • Tests: scope MeterListeners to the meter under test (fix flaky ClientBaseTests metrics test) by @romanett in #4708
  • Server: cut request-path lock contention and allocation; add load harness by @romanett in #4707
  • Avoid boxing and per-value copies on encoder, enum and server hot paths by @romanett in #4715
  • Update the guides and the MCP server docs for the 2.0.0 release by @marcschier in #4713
  • Use a 4-byte KeyNonce in the reference PubSub sample by @marcschier in #4710
  • Let servers start in globalization-invariant mode by @marcschier in #4716
  • Send UDP multicast on the network interface the transport joins by @marcschier in #4711
  • Reset the push coordinator after each PushComplianceRegressionTests test by @marcschier in #4719
  • Secure the UADP DataSetMetaData announcement on secured connections by @marcschier in #4712
  • Dispose the certificate leaked by PushComplianceTests by @marcschier in #4721
  • Make the encoder stack-depth tests hold on a reused thread stack by @marcschier in #4722
  • Fix scoped certificate-store resolution in GDS push operations by @cristipogacean in #4726
  • Fail CI when a test fixture's setup or teardown fails by @marcschier in #4723
  • Fix empty LocalizedText binary field encoding by @cristipogacean in #4709
  • Fix stress Contract/Integration failures and run them in stress-test.yml by @romanett in #4718
  • Client: cut per-request allocation and CPU in the channel and session; measure the client in the load harness by @romanett in #4720
  • Test that a secured connection refuses its JSON metadata announcement by @marcschier in #4724
  • Add README status badges for scheduled CI workflows by @romanett with @Copilot in #4734
  • Merge master into release/2.0 and set version 2.0.1 by @romanett in #4740

Full Changelog: 2.0.0...2.0.1

OPC UA 2.0.0

Choose a tag to compare

@romanett romanett released this 07 Oct 11:42
bc5da10

See WhatsNewIn2.0.md

What's Changed

  • Immutable built in types and code generation by @marcschier in #3534
  • Replace all use of object in code and API with Variant by @marcschier in #3550
  • [Server] Implement Client Lockout by @romanett in #3549
  • Use Interfaces Introduced with 1.5.378 by @romanett in #3551
  • Add possibility for Sub-CA to be revoked, Removed auto-creation of empty crl for revokecertificate call with CA by @KircMax in #3547
  • fix: Subscription diagnostic nodes not deleted when disabling diagnostics by @RicoSuter in #3559
  • Fix TcpTransportListener resource leak in ServerBase.StopAsync by @RicoSuter in #3561
  • [Server] Refactor CoreNodeManager to be based on CustomNodeManager2 by @romanett in #3558
  • Fix memory leaks in server disposal by @RicoSuter in #3560
  • [Server] Add INodeManager3 with role permission validation. Improve MonitoredNode Datastructures & Locks by @romanett in #3553
  • [Server] Implement AsyncCustomNodeManager by @romanett in #3563
  • Move version to 1.6 and enable preview build by @marcschier in #3575
  • Use InternalsVisibleTo in csproj instead of attribute in assmbly.cs to support signing. by @marcschier in #3577
  • [Server] Optimize NodeState.ReadAttributes & base ReferenceNodeManager on AsyncCustomNodeManager by @romanett in #3574
  • [Server] Implement smaller Performance improvements found when profiling by @romanett in #3584
  • [Server] Implement event-driven RolePermissionsValidation caching in MonitoredNode2 by @romanett with @Copilot in #3583
  • [Client] Fixed freezing of Subscription with sequential publishing by @AnatolyKochnev in #3565
  • Refactor MonitoredItem.ValueChanged & cert validation for better perf & scalability by @romanett in #3592
  • [GDS] Allow Global Discovery Server to Work with Custom Certificate Groups by @romanett with @Copilot in #3589
  • fix client session error code for Endpoint does not support usertoken - BadIdentityTokenInvalid instead of rejected by @KircMax in #3591
  • Add Testcase for EncodeDataValueWithoutValueProperty by @KircMax in #3579
  • Fix non enumerable generic type info construction by @JMolenkamp in #3597
  • [Server] Implement DiagnosticsNodeManager using AsyncCustomNodemanager by @romanett in #3595
  • reuse usertokenpolicy used in connect for Reconnect / "ReactivateSession" by @KircMax in #3581
  • [Server] Use HiResClock for time interval calculations to avoid system clock sensitivity by @romanett with @Copilot in #3594
  • Fix numeric range equality by @JMolenkamp in #3600
  • Update build configuration to latest by @marcschier in #3607
  • Fix memory leak from undisposed sockets and event handler retention during server restart by @RicoSuter in #3608
  • New Json decoder/encoders, array/matrix abstractions, ByteString, and more. by @marcschier in #3619
  • fix(SubscriptionManager): replace List with ConcurrentDictionary for abandoned subscriptions (#3617) by @cristipogacean in #3618
  • Code cleanup and modernization of test assertions to comply with project standards. by @marcschier in #3631
  • Fix missing FactoryBuilder.Commit() in dictionary-based complex type loading paths by @marcschier with @Copilot in #3630
  • [Server] Improve Request Queue, fix Event handling, add Tests by @romanett in #3611
  • Add support for certificate based MQTT authentication by @jnsjll in #3610
  • Consider WriterGroups in MQTT KeepAlive calculation by @jnsjll in #3616
  • Use the cancelation token in frameworks where available by @gailjkm in #3636
  • Bump NUnit3TestAdapter from 6.1.0 to 6.2.0 by @dependabot[bot] in #3634
  • [Server] Introduce RequestLifetime for request handling and cancellation by @romanett in #3643
  • Bump codecov/codecov-action from 5 to 6 by @dependabot[bot] in #3645
  • Add unit tests for Server Subscription and Session handling by @romanett with @Copilot in #3639
  • Add tests for ServerBase with multiple IP addresses on the same port & improve CI Stability by @romanett with @Copilot in #3650
  • [Server] Assign TrustedApplication role automatically per OPC UA Part 3 4.9 Roles by @romanett with @Copilot in #3652
  • Enhance role-based access control and add permission tests by @romanett in #3653
  • Improve runtime of Client Tests via fixture-level parallelization and fix parallel test isolation by @romanett with @Copilot in #3655
  • Add support to publish OPC UA applications as Native AOT by @marcschier in #3633
  • Increase code coverage across solution by @marcschier in #3662
  • docs: document three approaches for decoding ComplexTypes from OPC UA servers by @marcschier with @Copilot in #3664
  • Support UANodeset export / import under AOT by @marcschier in #3667
  • Fixed timer leaks in ChannelAsyncOperation.EndAsync by @KarenKrill in #3669
  • Secure channel enhancements 2025 11 (Take 3) by @marcschier in #3665
  • Enable dispose analyzers CA2000 and CA2213 and fix all issues by @marcschier in #3670
  • Add structure-backed OptionSet DataType support in ComplexTypeSystem by @marcschier in #3672
  • Fix source generator generated structures with optional fields by @marcschier in #3674
  • Replace session state encoder with IEncodable generation using source generators by @marcschier in #3673
  • Remove duplicate GDS type registration commit in server startup path by @marcschier with @Copilot in #3676
  • XmlDecoder/XmlParser: throw BadDecodingError for empty/non-element enumerated arrays by @marcschier with @Copilot in #3677
  • Fix boolean default should be false instead of true by @marcschier in #3679
  • Update SourceGenerator dependencies resolution mechanism. by @randy-armstrong in #3680
  • [Server/Client] Support RSAEncryptedSecret format and unify EncryptedSecret RSA/ECC API with legacy .NET and test compatibility by @marcschier with @Copilot in #3678
  • Fix: Cannot call method within the ObjectType of the objectId by @romanett with @Copilot in #3692
  • Generate type safe (method) proxies for ObjectTypes inside models by @marcschier in #3685
  • [PubSub] Fix exceptions logged on graceful MqttPubSubConnection stop by @romanett with @Copilot in #3691
  • Model dependency annotations using source generator + flaky test fixes by @marcschier in #3687
  • Add a fluent api for server, a sample and generate node managers to use with it. by @marcschier in #3684
  • Add tests to check cp is empty and is empty behave the same by @marcschier in #3703
  • Add a MCP server that enables LLM/Copilot to be a OPC UA client by @marcschier in https://github.com/OPCFoundation/U...
Read more

OPC UA 1.05 Maintenance Update

Choose a tag to compare

@opcfoundation-org opcfoundation-org released this 04 Oct 12:31
6cca32d

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

Released packages

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

What's Changed

  • Remove unused fields from ReferenceNodeManager by @mrsuciu in #4472
  • Master378 fix incomplete message buffering by @mrsuciu in #4550
  • Fix ServerConfiguration URI values for CTT push-management checks by @mrsuciu in #4592
  • Bound nested array preallocation, XML depth and inbound PubSub metadata by @romanett in #4603
  • Fix queued data delivery after durable subscription transfer by @mrsuciu in #4622
  • Fix GDS client deadlock after a failed keep-alive by @romanett in #4623
  • merge Master378 to release by @romanett in #4628

Full Changelog: 1.5.378.176...1.5.378.182

OPC UA 1.05 Maintenance Update

Choose a tag to compare

@opcfoundation-org opcfoundation-org released this 11 Sep 12:28
511ef72

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

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 publish queue lost wake-up by @marcschier in #4017
  • Obsolete legacy TraceConfiguration in favor of ITelemetryContext by @marcschier with @Copilot in #4090
  • Preserve publish queue timestamp ordering by @marcschier with @Copilot in #4084
  • Fix BadContinuationPointInvalid caused by empty continuation point in Browser.BrowseAsync by @marcschier in #4168
  • Add documentation for custom NodeSet2 authoring workflow by @romanett with @Copilot in #4170
  • Fixed timer leaks in ChannelAsyncOperation.EndAsync (#3669) by @KarenKrill in #4166
  • Treat zero MaxNotificationsPerPublish as unlimited (OPC 10000-4) by @romanett in #4263
  • fix(server): enforce browse continuation point limit at capacity (#4036) by @romanett in #4270
  • Fix unordered server endpoint validation (#4029) [backport to master378] by @romanett in #4269
  • fix: don't return continuation points on BadNoContinuationPoints (#4022) [backport to master378] by @romanett in #4268
  • fix: scope Cancel request matching to the current session (#4023) by @romanett in #4267
  • Set ContinuationPoint to null when browse is finished (port of #4057) by @romanett in #4266
  • Default TransportQuotas in ApplicationConfiguration.ValidateAsync to prevent server-start NullReferenceException (backport to master378) by @romanett in #4264
  • Fix ServerTimestamp update on read of stored/static nodes (#4257) by @romanett in #4260
  • Fix reverse connect hold time when several Servers share one listener by @romanett in #4341
  • [master378] Fix Publish with maximum TimeoutHint by @mrsuciu in #4373
  • [master378] Send the filtered retain trailing event with a client specific Retain = false by @romanett in #4454
  • Master378 backport ctt changes by @mrsuciu in #4326
  • Update Microsoft.SourceLink.GitHub and Microsoft.SourceLink.AzureRepos.Git from 10.0.102 to 10.0.111 by @mrsuciu in #4465

Full Changelog: 1.5.378.156...1.5.378.176

V2.0 Preview 2

V2.0 Preview 2 Pre-release
Pre-release

Choose a tag to compare

@opcfoundation-org opcfoundation-org released this 24 Aug 19:32

Changes:

See More
Read more

OPC UA 1.05 Maintenance Update

Choose a tag to compare

@opcfoundation-org opcfoundation-org released this 10 Jul 14:37
083dbe2

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

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 memory leak: dispose linked CancellationTokenSource in ChannelAsyncOperation.EndAsync by @romanett with @Copilot in #3812
  • Fix Race condition in OnPublishComplete by @markuswallen in #3837
  • [master378] Use request.SessionId instead of request.Session.Id in the ReportAuditCancelEvent call from CancelRequests. by @mrsuciu in #3853
  • [Server] Fix NRE in ActivateSession if Session times out before activation completes by @romanett in #3844
  • [Server] Fix #3896: send full certificate chain when CA is in the issuer store (1.5.x) by @marcschier in #3898
  • Synchronize ConditionState branch collection access by @marcschier with @Copilot in #3895
  • Fix GDS Push UpdateCertificate ignoring configured SecurityConfiguration policy (master378) by @marcschier with @Copilot in #3936
  • Validate issuer/CA certificate KeyUsage (keyCertSign, cRLSign) [master378 backport] by @marcschier in #3948
  • Fix macOS CI: avoid empty-KeyUsage test cert by @marcschier in #3953
  • Revert "Prune extra decoded children that should stay on the type defnition only. (#3843)" by @mrsuciu in #3976
  • Prepare 1.5378 maintenance release by @mrsuciu in #3982

Full Changelog: 1.5.378.145...1.5.378.156

OPC UA 1.05 Maintenance Update

Choose a tag to compare

@opcfoundation-org opcfoundation-org released this 21 May 10:02
419fb74

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

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

Full Changelog: 1.5.378.134...1.5.378.145

OPC UA 1.05 Maintenance Update

Choose a tag to compare

@opcfoundation-org opcfoundation-org released this 26 Mar 16:48
f52ae43

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

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

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

New Contributors

Full Changelog: 1.5.378.134...1.5.378.134