# API Changes in v2.22

> Reference: API changes of Opc.UaFx.Advanced in v2.22: 28 added, 0 removed, 0 changed, 0 obsoleted.

<dl class="api-definition">
<dt>Releases</dt>
<dd>v2.22.0, v2.22.0.1</dd>
<dt>Compared with</dt>
<dd>v2.21.0</dd>
<dt>Package</dt>
<dd>Opc.UaFx.Advanced</dd>
</dl>

## Added

### Opc.UaFx

| Symbol | Signature |
|---|---|
| [OpcArrayDimensions.CreateArray](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcarraydimensions/members#createarray) | `public Array CreateArray(Type elementType)` |
| [OpcContext.GetDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccontext/members#getdatatype-opc-uafx-opcencoding) | `public OpcDataTypeInfo GetDataType(OpcEncoding encoding)` |
| [OpcContext.GetDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccontext/members#getdatatype-opc-uafx-opcname) | `public OpcDataTypeInfo GetDataType(OpcName name)` |
| [OpcContext.GetDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccontext/members#getdatatype-opc-uafx-opcnodeid) | `public OpcDataTypeInfo GetDataType(OpcNodeId typeId)` |
| [OpcContext.GetDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccontext/members#getdatatype-system-string) | `public OpcDataTypeInfo GetDataType(string name)` |
| [OpcContext.GetDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccontext/members#getdatatype-system-type) | `public OpcDataTypeInfo GetDataType(Type underlyingType)` |
| [OpcContext.GetDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccontext/members#getdatatype-system-xml-xmlqualifiedname) | `public OpcDataTypeInfo GetDataType(XmlQualifiedName xmlName)` |
| [OpcEventNode.PrepareEventSnapshot](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventnode/members#prepareeventsnapshot) | `protected virtual void PrepareEventSnapshot(OpcContext context)` |
| [OpcEventType.GeneralModelChange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventtype/#generalmodelchange) | `GeneralModelChange = 2133` |
| [OpcEventType.ModelChange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventtype/#modelchange) | `ModelChange = 2132` |
| [OpcEventTypes.GeneralModelChange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventtypes/members#generalmodelchange) | `public static readonly OpcNodeId GeneralModelChange` |
| [OpcEventTypes.ModelChange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventtypes/members#modelchange) | `public static readonly OpcNodeId ModelChange` |
| [OpcGeneralModelChange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcgeneralmodelchange/)<span class="api-meta">2 members</span> | `public class OpcGeneralModelChange : OpcModelChange` |
| [OpcGeneralModelChangeEventNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcgeneralmodelchangeeventnode/)<span class="api-meta">6 members</span> | `[OpcEventType(typeof(OpcGeneralModelChange))] [OpcNodeType(2133)] public class OpcGeneralModelChangeEventNode : OpcModelChangeEventNode, IOpcNode, IOpcNodeInfo` |
| [OpcModelChange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodelchange/)<span class="api-meta">1 member</span> | `public class OpcModelChange : OpcEvent` |
| [OpcModelChangeActions](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodelchangeactions/)<span class="api-meta">6 members</span> | `[Flags] public enum OpcModelChangeActions : byte` |
| [OpcModelChangeEventNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodelchangeeventnode/)<span class="api-meta">4 members</span> | `[OpcNodeType(2132)] [OpcEventType(typeof(OpcModelChange))] public class OpcModelChangeEventNode : OpcEventNode, IOpcNode, IOpcNodeInfo` |
| [OpcModelChangeItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodelchangeitem/)<span class="api-meta">5 members</span> | `public class OpcModelChangeItem` |
| [OpcModelChangeItemCollection](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodelchangeitemcollection/)<span class="api-meta">2 members</span> | `public class OpcModelChangeItemCollection : Collection<OpcModelChangeItem>, IList<OpcModelChangeItem>, ICollection<OpcModelChangeItem>, IReadOnlyList<OpcModelChangeItem>, IReadOnlyCollection<OpcModelChangeItem>, IEnumerable<OpcModelChangeItem>, IList, ICollection, IEnumerable` |
| [OpcModelChangeItemReadOnlyCollection](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodelchangeitemreadonlycollection/)<span class="api-meta">1 member</span> | `public class OpcModelChangeItemReadOnlyCollection : ReadOnlyCollection<OpcModelChangeItem>, IList<OpcModelChangeItem>, ICollection<OpcModelChangeItem>, IReadOnlyList<OpcModelChangeItem>, IReadOnlyCollection<OpcModelChangeItem>, IEnumerable<OpcModelChangeItem>, IList, ICollection, IEnumerable` |

### Opc.UaFx.Server

| Symbol | Signature |
|---|---|
| [OpcServer.GetDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#getdatatype-opc-uafx-opcencoding) | `public OpcDataTypeInfo GetDataType(OpcEncoding encoding)` |
| [OpcServer.GetDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#getdatatype-opc-uafx-opcname) | `public OpcDataTypeInfo GetDataType(OpcName name)` |
| [OpcServer.GetDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#getdatatype-opc-uafx-opcnodeid) | `public OpcDataTypeInfo GetDataType(OpcNodeId typeId)` |
| [OpcServer.GetDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#getdatatype-system-string) | `public OpcDataTypeInfo GetDataType(string name)` |
| [OpcServer.GetDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#getdatatype-system-type) | `public OpcDataTypeInfo GetDataType(Type underlyingType)` |
| [OpcServer.GetDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#getdatatype-system-xml-xmlqualifiedname) | `public OpcDataTypeInfo GetDataType(XmlQualifiedName xmlName)` |
| [OpcServer.GetDataTypes](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#getdatatypes) | `public OpcDataTypeInfo[] GetDataTypes()` |
| [OpcServer.GetDataTypeSystems](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/members#getdatatypesystems) | `public OpcDataTypeSystem[] GetDataTypeSystems()` |
