# API Changes in v2.58

> Reference: API changes of Opc.UaFx.Advanced in v2.58: 44 added, 1 removed, 1 changed, 2 obsoleted.

<dl class="api-definition">
<dt>Release</dt>
<dd>v2.58.0</dd>
<dt>Compared with</dt>
<dd>v2.57.1</dd>
<dt>Package</dt>
<dd>Opc.UaFx.Advanced</dd>
</dl>

## Added

### Opc.UaFx

| Symbol | Signature |
|---|---|
| [OpcAttribute.AccessLevelEx](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#accesslevelex) | `AccessLevelEx = 27` |
| [OpcAttribute.AccessRestrictions](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#accessrestrictions) | `AccessRestrictions = 26` |
| [OpcAttribute.RolePermissions](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#rolepermissions) | `RolePermissions = 24` |
| [OpcAttribute.UserRolePermissions](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#userrolepermissions) | `UserRolePermissions = 25` |
| [OpcAttributes.AccessLevelEx](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributes/#accesslevelex) | `AccessLevelEx = 134217728` |
| [OpcAttributes.AccessRestrictions](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributes/#accessrestrictions) | `AccessRestrictions = 67108864` |
| [OpcAttributes.DataTypeDefinition](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributes/#datatypedefinition) | `DataTypeDefinition = 8388608` |
| [OpcAttributes.RolePermissions](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributes/#rolepermissions) | `RolePermissions = 16777216` |
| [OpcAttributes.UserRolePermissions](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributes/#userrolepermissions) | `UserRolePermissions = 33554432` |
| [OpcBrowseNode.IncludeSubtypes](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcbrowsenode/members#includesubtypes) | `public bool IncludeSubtypes { get; set; }` |
| [OpcCertificateIdentityTokenInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccertificateidentitytokeninfo/)<span class="api-meta">1 member</span> | `public class OpcCertificateIdentityTokenInfo : OpcIdentityTokenInfo` |
| [OpcCertificateSettings.Organization](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccertificatesettings/members#organization) | `public string Organization { get; set; }` |
| [OpcData.Decode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdata/members#decode-t1-opc-uafx-opccontext-opc-uafx-opcrawobject) | `public static T Decode<T>(OpcContext context, OpcRawObject value) where T : new()` |
| [OpcData.Encode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdata/members#encode-opc-uafx-opccontext-system-object-opc-uafx-opcencodingtype) | `public static OpcRawObject Encode(OpcContext context, object value, OpcEncodingType encodingType)` |
| [OpcData.Encode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdata/members#encode-opc-uafx-opccontext-system-object) | `public static OpcRawObject Encode(OpcContext context, object value)` |
| [OpcDataFieldInfo.GetLength](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatafieldinfo/members#getlength) | `public virtual int GetLength(int dimension)` |
| [OpcIdentityTokenInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcidentitytokeninfo/)<span class="api-meta">1 member</span> | `public class OpcIdentityTokenInfo` |
| [OpcPermissions](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpermissions/)<span class="api-meta">18 members</span> | `[Flags] public enum OpcPermissions` |
| [OpcRawObject](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrawobject/)<span class="api-meta">5 members</span> | `public sealed class OpcRawObject` |
| [OpcRolePermission](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrolepermission/)<span class="api-meta">3 members</span> | `public class OpcRolePermission` |
| [OpcUserNameIdentityTokenInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcusernameidentitytokeninfo/)<span class="api-meta">1 member</span> | `public class OpcUserNameIdentityTokenInfo : OpcIdentityTokenInfo` |
| [OpcViewDescription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcviewdescription/members#opcviewdescription-opc-uafx-opcnodeid-system-datetime) | `public OpcViewDescription(OpcNodeId viewId, DateTime timestamp)` |
| [OpcViewDescription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcviewdescription/members#opcviewdescription-opc-uafx-opcnodeid-system-uint32) | `public OpcViewDescription(OpcNodeId viewId, uint viewVersion)` |
| [OpcViewDescription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcviewdescription/members#opcviewdescription-opc-uafx-opcnodeid) | `public OpcViewDescription(OpcNodeId viewId)` |

### Opc.UaFx.Client

| Symbol | Signature |
|---|---|
| [OpcClient.ChangeUserIdentity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/changeuseridentity) | `public void ChangeUserIdentity(OpcUserIdentity identity)` |
| [OpcClient.DefaultReconnectInterval](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/defaultreconnectinterval) | `public static readonly int DefaultReconnectInterval` |
| [OpcClient.MaxReconnectDuration](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/maxreconnectduration) | `public int MaxReconnectDuration { get; set; }` |
| [OpcClient.ReconnectInterval](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/reconnectinterval) | `public int ReconnectInterval { get; set; }` |
| [OpcDiscoveryClient.DiscoverEndpoints](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcdiscoveryclient/members#discoverendpoints-system-collections-generic-ienumerable-of-system-string) | `public OpcEndpointDescriptionCollection DiscoverEndpoints(IEnumerable<string> profileUris)` |
| [OpcDiscoveryClient.DiscoverServers](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcdiscoveryclient/members#discoverservers-system-collections-generic-ienumerable-of-system-string) | `public OpcApplicationDescriptionCollection DiscoverServers(IEnumerable<string> serverUris)` |

### Opc.UaFx.Server

| Symbol | Signature |
|---|---|
| [OpcRequestProcessedEventArgs.IsUnsupportedService](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequestprocessedeventargs/members#isunsupportedservice) | `public bool IsUnsupportedService { get; }` |
| [OpcRequestProcessedEventArgs.RequestType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequestprocessedeventargs/members#requesttype) | `public OpcRequestType RequestType { get; }` |
| [OpcRequestType.FindServersOnNetwork](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequesttype/#findserversonnetwork) | `FindServersOnNetwork = 37` |
| [OpcRequestType.RegisterServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequesttype/#registerserver) | `RegisterServer = 35` |
| [OpcRequestType.RegisterServer2](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequesttype/#registerserver2) | `RegisterServer2 = 36` |
| [OpcServer.Discovery](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#discovery) | `public OpcServerDiscovery Discovery { get; }` |
| [OpcServer.OnSessionActivationFailed](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#onsessionactivationfailed) | `protected virtual void OnSessionActivationFailed(OpcSessionActivationFailedEventArgs e)` |
| [OpcServer.SessionActivationFailed](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#sessionactivationfailed) | `public event OpcSessionActivationFailedEventHandler SessionActivationFailed` |
| [OpcServerDiagnostics.IsEnabled](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverdiagnostics/members#isenabled) | `public bool IsEnabled { get; set; }` |
| [OpcServerDiscovery](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverdiscovery/)<span class="api-meta">1 member</span> | `public class OpcServerDiscovery` |
| [OpcServerInfo.IsProcessInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserverinfo/members#isprocessinfo) | `public bool IsProcessInfo { get; }` |
| [OpcServerSecurity.IsAuditingEnabled](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserversecurity/members#isauditingenabled) | `public bool IsAuditingEnabled { get; set; }` |
| [OpcSessionActivationFailedEventArgs](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsessionactivationfailedeventargs/)<span class="api-meta">3 members</span> | `public class OpcSessionActivationFailedEventArgs : EventArgs` |
| [OpcSessionActivationFailedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsessionactivationfailedeventhandler/) | `public delegate void OpcSessionActivationFailedEventHandler(object sender, OpcSessionActivationFailedEventArgs e)` |

## Removed

### Opc.UaFx.Server

| Symbol | Signature |
|---|---|
| OpcCertificateAcl.ConfigureCore | `protected override void ConfigureCore()` |

## Changed

### Opc.UaFx

| Symbol | Signature (old, new) |
|---|---|
| [OpcViewDescription.Default](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcviewdescription/members#default) | `public static OpcViewDescription Default`<br>`public static readonly OpcViewDescription Default` |

## Obsoleted

### Opc.UaFx.Client

| Symbol | Message |
|---|---|
| [OpcClient.DefaultReconnectTimeout](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/defaultreconnecttimeout) | Use DefaultReconnectInterval instead. |
| [OpcClient.ReconnectTimeout](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/reconnecttimeout) | Use ReconnectInterval instead. |
