# API Changes in v2.29

> Reference: API changes of Opc.UaFx.Advanced in v2.29: 11 added, 0 removed, 1 changed, 0 obsoleted.

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

## Added

### Opc.UaFx

| Symbol | Signature |
|---|---|
| [OpcFiniteStateMachineNode.ChangeStateTo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfinitestatemachinenode/members#changestateto) | `public void ChangeStateTo(OpcContext context, object newState)` |
| [OpcFiniteStateMachineNode.OnBeforeAdded](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfinitestatemachinenode/members#onbeforeadded) | `protected override void OnBeforeAdded(OpcNodeAddedEventArgs e)` |
| [OpcNamespace.GetNextId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/members#getnextid) | `public OpcNodeId GetNextId()` |
| [OpcStateMachineInitialStateAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatemachineinitialstateattribute/)<span class="api-meta">2 members</span> | `[AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] public class OpcStateMachineInitialStateAttribute : Attribute` |
| [OpcStateMachineStateAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatemachinestateattribute/)<span class="api-meta">3 members</span> | `[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] public class OpcStateMachineStateAttribute : Attribute` |
| [OpcStateMachineStatesAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatemachinestatesattribute/)<span class="api-meta">2 members</span> | `[AttributeUsage(AttributeTargets.Class)] public class OpcStateMachineStatesAttribute : Attribute` |
| [OpcStateMachineTransitionAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatemachinetransitionattribute/)<span class="api-meta">9 members</span> | `[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] public class OpcStateMachineTransitionAttribute : Attribute` |
| [OpcStateMachineTransitionsAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatemachinetransitionsattribute/)<span class="api-meta">3 members</span> | `[AttributeUsage(AttributeTargets.Class)] public class OpcStateMachineTransitionsAttribute : Attribute` |
| [OpcStateNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatenode/)<span class="api-meta">7 members</span> | `[OpcNodeType(2307)] public class OpcStateNode : OpcObjectNode, IOpcNode, IOpcNodeInfo` |
| [OpcTransitionNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctransitionnode/)<span class="api-meta">7 members</span> | `[OpcNodeType(2310)] public class OpcTransitionNode : OpcObjectNode, IOpcNode, IOpcNodeInfo` |

### Opc.UaFx.Client

| Symbol | Signature |
|---|---|
| [OpcClientInterfaces.UseBreakMonitoring](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclientinterfaces/members#usebreakmonitoring) | `public bool UseBreakMonitoring { get; set; }` |

## Changed

### Opc.UaFx

| Symbol | Signature (old, new) |
|---|---|
| [OpcObjectNode.AddNotifier](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcobjectnode/members#addnotifier) | `public override void AddNotifier(OpcContext context, IOpcNode node)`<br>`public override sealed void AddNotifier(OpcContext context, IOpcNode node)` |
