A release captures the decision flow as it exists at a specific point in time. Its page lets you test the release and compare it with another release.
Creating a release
- On the decision flow page, select "Release" at the top right.
- In the "Release decision flow" dialog, select "Release".
- In the next dialog, select "Go & test it out" to open the new release page.

The release is a frozen copy of the decision flow at that moment. Later edits to the decision flow do not change it. The release name ends with its creation date and time.
Each option in a fork step needs a link to a next step. If an option has no link, the portal names the fork and option in a message. The release is created after every option has a link.
Release warnings
When it creates a release, the portal checks its configuration for parts that cannot fire as configured. If it finds any, the dialog is titled "Decision flow released, check this first" and lists each affected step. The release is created even when warnings appear. Fix the affected parts in the decision flow, then create another release.

| Warning | What it means |
|---|---|
| A condition reads a path that nothing produces | No data object registers the path, and no step writes to it. As a result, rows conditioned on that path can never match. A typo in a step name inside $.output.<step> also appears here. |
| A fork branch has no outgoing link | Requests routed to that branch stop there and return no decision or error. |
| A step that is not a fork has more than one outgoing link | Only a fork step can split traffic. Requests always follow the first link. |
| A data source parameter is sent as text | The parameter is set to a path, but the step has no input with that name, so the provider receives the path as text. Map the parameter on the step to the value it should read. |
| A list status is never read | If the list store cannot be reached, the lookup returns an empty result and the flow treats the value as absent from the list. Add a rule for the status path equal to unavailable. |
| A pattern is invalid | The regular expression has no delimiters or cannot be compiled. Write it between slashes, like /^12/. |
| A condition names many values | The path returns several values, but the operator compares only one. Point to one item, like $.transactions[0].amount, or use an array operator. |
Unit test
The release page opens on the "Unit test" tab.
- In "Testing input", select a saved data object. Edit its values in the "Tree" view, or switch to "JSON" and edit the text.
- Set the test options.
- Select "Test release".

The options:
| Option | Values | What it does |
|---|---|---|
| "Call data sources?" | "No" (default), "YES" | Selecting "YES" calls the data sources in the flow during the test. With "No", the test uses the input unchanged. |
| "Record executed steps?" | "None", "Steps", "Detailed" | "Steps" adds the ordered list of steps run by the engine. "Detailed" also records what happened within each step, such as which rules and table rows fired. |
| "Record lineage?" | "No", "YES" | Records which step wrote each value in the output. Selecting "YES" sets "Record executed steps?" to "Detailed". |
After the test, the "Output" pane shows the full result in four views: "Tree", "Δ Tree", "JSON" and "Δ JSON". The Δ views show only values added or changed by the decision flow. Large outputs open in "Δ Tree" until you choose another view. The download icon above the output saves the result as a JSON file.
When lineage is recorded, "Explain decision flow" appears next to "Test release". It opens a step-by-step account of the run, showing which steps fired and which value each step wrote.
Comparing two releases
- On a release page, select "Further actions" at the top right.
- Select "Compare with ..." from the menu.
- In the "Compare releases" dialog, select the releases in the two radio columns. The current release and the release before it are preselected.
- Select "Compare".

The comparison page shows both releases at the top as "Original version" and "Modified version". It lists every step in the decision flow and marks each one "NEW", "MOD", "DEL", or "Same". The counts above the list filter the results. Select "Changed only" or one of the counts to view only those steps.
- Select a modified step to open it.
- To open every step, select "Expand all".
The expanded view shows changes in the artifact behind each step. For a rule set, it shows each rule's previous and new values. For a decision table, it shows each changed row and any changed hit policy as a line. An unchanged rule is marked as having identical configuration in both versions.

The sparkles icon, "Generate release notes", drafts notes from the differences. Edit the draft under "Edit", check it under "Preview", then select "Save to release". The notes are saved to the release on the "Modified version" side.
Release notes
- On the release page, select "Release details". The dialog shows the decision flow, release time, the person who released it, and the "Release notes".
- Select the pencil icon. Write the notes in Markdown, or use the toolbar for headings, lists, links and code.
- Select the save icon, or press Ctrl+S.

Saved notes are attached to the release. Approvers read them on the approval page before approving a deployment.
Related Documentation: