# API Changes in v2.11

> Reference: API changes of Opc.UaFx.Advanced in v2.11: 47 added, 4 removed, 8 changed, 1 obsoleted.

<dl class="api-definition">
<dt>Releases</dt>
<dd>v2.11.0, v2.11.1, v2.11.2, v2.11.3, v2.11.3.1, v2.11.4, v2.11.5</dd>
<dt>Compared with</dt>
<dd>v2.10.0.3</dd>
<dt>Package</dt>
<dd>Opc.UaFx.Advanced</dd>
</dl>

## Added

### Opc.UaFx

| Symbol | Signature |
|---|---|
| [IOpcApplicationInstance.SystemContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcapplicationinstance/members#systemcontext) | `OpcContext SystemContext { get; }` |
| [OpcApplicationConfiguration.Validate](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcapplicationconfiguration/members#validate-opc-uafx-opccontext) | `public void Validate(OpcContext context)` |
| [OpcApplicationInstance&lt;TTransport, TSecurity&gt;.SystemContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcapplicationinstance-2/members#systemcontext) | `public abstract OpcContext SystemContext { get; }` |
| [OpcCertificateInfo.ApplicationUri](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccertificateinfo/members#applicationuri) | `public Uri ApplicationUri { get; }` |
| [OpcContext.Owner](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccontext/members#owner) | `public IOpcApplicationInstance Owner { get; }` |
| [OpcContext.PreferredLocales](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccontext/members#preferredlocales) | `public virtual OpcLocaleCollection PreferredLocales { get; }` |
| [OpcEventDataSetItem.ClientID](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventdatasetitem/members#clientid) | `public long ClientID { get; }` |
| [OpcException.Context](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/members#context) | `public OpcContext Context { get; }` |
| [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/members#opcexception-opc-uafx-opccontext-opc-uafx-opcresult) | `public OpcException(OpcContext context, OpcResult result)` |
| [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/members#opcexception-opc-uafx-opccontext-opc-uafx-opcstatuscode-system-exception) | `[CLSCompliant(false)] public OpcException(OpcContext context, OpcStatusCode code, Exception inner)` |
| [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/members#opcexception-opc-uafx-opccontext-opc-uafx-opcstatuscode-system-string-system-exception) | `[CLSCompliant(false)] public OpcException(OpcContext context, OpcStatusCode code, string message, Exception inner)` |
| [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/members#opcexception-opc-uafx-opccontext-opc-uafx-opcstatuscode-system-string) | `[CLSCompliant(false)] public OpcException(OpcContext context, OpcStatusCode code, string message)` |
| [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/members#opcexception-opc-uafx-opccontext-opc-uafx-opcstatuscode) | `[CLSCompliant(false)] public OpcException(OpcContext context, OpcStatusCode code)` |
| [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/members#opcexception-opc-uafx-opccontext-system-string) | `public OpcException(OpcContext context, string message)` |
| [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/members#opcexception-opc-uafx-opccontext) | `public OpcException(OpcContext context)` |
| [OpcLocaleCollection.Add](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opclocalecollection/members#add) | `public void Add(CultureInfo culture)` |
| [OpcNode.ReadDisplayNameCallback](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnode/members#readdisplaynamecallback) | `public OpcReadAttributeValueCallback<OpcText> ReadDisplayNameCallback { get; set; }` |
| [OpcNode.WriteDisplayNameCallback](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnode/members#writedisplaynamecallback) | `public OpcWriteAttributeValueCallback<OpcText> WriteDisplayNameCallback { get; set; }` |
| [OpcNodeSet.Save](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeset/members#save-system-io-stream) | `public void Save(Stream stream)` |
| [OpcNodeSet.Save](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeset/members#save-system-string) | `public void Save(string filePath)` |
| [OpcTaskSchedule.CustomScheduler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctaskschedule/members#customscheduler) | `public static OpcTaskSchedule.Scheduler CustomScheduler { get; set; }` |
| [OpcTaskSchedule.QueryScheduler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctaskschedule/members#queryscheduler) | `public static OpcTaskSchedule.Scheduler QueryScheduler(SynchronizationContext context, out bool isContextSensitive)` |
| [OpcTaskSchedule.Schedule](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctaskschedule/members#schedule-system-action-system-threading-synchronizationcontext) | `public static void Schedule(Action action, SynchronizationContext context)` |

### Opc.UaFx.Client

| Symbol | Signature |
|---|---|
| [OpcBrowseNodeContext.AddressSpaceExpired](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcbrowsenodecontext/members#addressspaceexpired) | `public event EventHandler AddressSpaceExpired` |
| [OpcBrowseNodeContext.OnAddressSpaceExpired](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcbrowsenodecontext/members#onaddressspaceexpired) | `protected virtual void OnAddressSpaceExpired(EventArgs e)` |
| [OpcBrowseNodeContext.Update](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcbrowsenodecontext/members#update) | `protected override sealed void Update()` |
| [OpcClientSecurity.AutoUpgradeEndpointPolicy](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclientsecurity/members#autoupgradeendpointpolicy) | `public bool AutoUpgradeEndpointPolicy { get; set; }` |
| [OpcClientServices.ReadNodesHistory](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclientservices/members#readnodeshistory) | `[CLSCompliant(false)] public IOpcReadNodesHistoryService ReadNodesHistory { get; }` |
| [OpcMonitoredItemStatus.QueueMode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditemstatus/members#queuemode) | `public OpcMonitoredItemQueueMode QueueMode { get; }` |
| [OpcMonitoredItemStatus.QueueSize](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditemstatus/members#queuesize) | `public long QueueSize { get; }` |
| [OpcNodeAccessContext.Update](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcnodeaccesscontext/members#update) | `protected virtual void Update()` |
| [OpcSubscription.ChangeMonitoringMode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/members#changemonitoringmode-opc-uafx-opcmonitoringmode) | `public void ChangeMonitoringMode(OpcMonitoringMode monitoringMode)` |

### Opc.UaFx.Server

| Symbol | Signature |
|---|---|
| [OpcDiscoveryServer.SystemContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcdiscoveryserver/members#systemcontext) | `public override OpcContext SystemContext { get; }` |
| [OpcNodeManager.ExportNodes](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcnodemanager/members#exportnodes-noparams) | `public IEnumerable<OpcNodeSet> ExportNodes()` |
| [OpcServer.GetSession](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#getsession) | `public OpcSession GetSession(OpcNodeId sessionId)` |
| [OpcServer.Globalization](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#globalization) | `public OpcServerGlobalization Globalization { get; }` |
| [OpcServer.ResumeCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#resumecore) | `protected override void ResumeCore()` |
| [OpcServer.SuspendCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#suspendcore) | `protected override void SuspendCore()` |
| [OpcServerBase.Resume](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverbase/members#resume) | `public void Resume()` |
| [OpcServerBase.ResumeCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverbase/members#resumecore) | `protected virtual void ResumeCore()` |
| [OpcServerBase.Suspend](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverbase/members#suspend) | `public void Suspend()` |
| [OpcServerBase.SuspendCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverbase/members#suspendcore) | `protected virtual void SuspendCore()` |
| [OpcServerGlobalization](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverglobalization/)<span class="api-meta">10 members</span> | `public class OpcServerGlobalization` |
| [OpcServerState.Suspended](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverstate/#suspended) | `Suspended = 6` |
| [OpcServerState.Suspending](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverstate/#suspending) | `Suspending = 5` |
| [OpcSession.PreferredLocales](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsession/members#preferredlocales) | `public OpcLocaleCollection PreferredLocales { get; }` |

### Opc.UaFx.Services

| Symbol | Signature |
|---|---|
| [IOpcReadNodesHistoryService.TimestampsToReturn](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.iopcreadnodeshistoryservice/members#timestampstoreturn) | `OpcTimestampsToReturn? TimestampsToReturn { get; set; }` |

## Removed

### Opc.UaFx

| Symbol | Signature |
|---|---|
| OpcMethodContext | `protected OpcMethodContext(OpcMethodContext context)` |

### Opc.UaFx.Client

| Symbol | Signature |
|---|---|
| OpcMonitoredItemStatus.AutoFlushCache | `public bool AutoFlushCache { get; }` |
| OpcMonitoredItemStatus.ChangeMonitoringMode | `public void ChangeMonitoringMode(OpcMonitoringMode monitoringMode)` |
| OpcMonitoredItemStatus.DataItemQueueSize | `public int DataItemQueueSize { get; }` |

## Changed

### Opc.UaFx

| Symbol | Signature (old, new) |
|---|---|
| [OpcDataChangeDataSetItem.ClientID](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatachangedatasetitem/members#clientid) | `public int ClientID { get; }`<br>`public long ClientID { get; }` |
| [OpcNode.ReadDescriptionCallback](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnode/members#readdescriptioncallback) | `public OpcReadAttributeValueCallback<string> ReadDescriptionCallback { get; set; }`<br>`public OpcReadAttributeValueCallback<OpcText> ReadDescriptionCallback { get; set; }` |
| [OpcNode.WriteDescriptionCallback](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnode/members#writedescriptioncallback) | `public OpcWriteAttributeValueCallback<string> WriteDescriptionCallback { get; set; }`<br>`public OpcWriteAttributeValueCallback<OpcText> WriteDescriptionCallback { get; set; }` |

### Opc.UaFx.Client

| Symbol | Signature (old, new) |
|---|---|
| [OpcClient.SystemContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/systemcontext) | `public OpcContext SystemContext { get; }`<br>`public override OpcContext SystemContext { get; }` |
| [OpcMonitoredItemStatus.Id](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditemstatus/members#id) | `public int Id { get; }`<br>`public long Id { get; }` |

### Opc.UaFx.Server

| Symbol | Signature (old, new) |
|---|---|
| [OpcOperationContext.ClientID](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationcontext/members#clientid) | `public int ClientID { get; }`<br>`public long ClientID { get; }` |
| [OpcOperationContext.PreferredLocales](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationcontext/members#preferredlocales) | `public OpcLocaleCollection PreferredLocales { get; }`<br>`public override OpcLocaleCollection PreferredLocales { get; }` |
| [OpcServer.SystemContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#systemcontext) | `public OpcContext SystemContext { get; }`<br>`public override OpcContext SystemContext { get; }` |

## Obsoleted

### Opc.UaFx

| Symbol | Message |
|---|---|
| [OpcTaskSchedule.DefaultScheduler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctaskschedule/members#defaultscheduler) | Use CustomScheduler instead. |
