> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flowx.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Deployment guidelines v3.0

<Info>
  Do not forget, when upgrading to a new platform version, always check and make sure your installed component versions match the versions stated in the release. To do that, go to **FLOWX.AI Designer > Platform Status**.
</Info>

<Warning>
  After updating to **3.0.0** FLOWX.AI release, importing old processes definitions in the new platform release is not possible (available for exports from **\< 3.0.0** releases).
</Warning>

![](https://s3.eu-west-1.amazonaws.com/docx.flowx.ai/release-notes/release_platform_version_check.png)

## Component versions

<Info>
  With the release of **FLOWX.AI 3.0**, there have been some changes that you need to be aware when upgrading to the latest version:

  * The `flowx-process-renderer` has been migrated to `@flowx\ui-sdk`.
  * In future FlowX.AI releases, the `paperflow-web-components` library will be deprecated (some old components still can be found inside this lib). Instead, the new components can be found in `@flowx/ui-toolkit@3.0`.
</Info>

| :ballot\_box\_with\_check:     | 3.0.0     | 2.14.0   | 2.13.0  | 2.12.0  | 2.11.0  | 2.10.0  | 2.9.0   | 2.8.1   | 2.8.0   | 2.7.0   | 2.6.0   | 2.5.0   | 2.4.0   | 2.3.0   | 2.2.0   | 2.1.0     |
| ------------------------------ | --------- | -------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | --------- |
| **Process engine**             | **2.0.7** | 0.4.104  | 0.4.95  | 0.4.90  | 0.4.83  | 0.4.60  | 0.4.49  | 0.4.44  | 0.4.42  | 0.4.42  | 0.4.36  | 0.4.29  | 0.4.22  | 0.4.21  | 0.4.18  | 0.4.13    |
| **Admin**                      | **2.0.8** | 0.3.119  | 0.3.103 | 0.3.92  | 0.3.81  | 0.3.60  | 0.3.55  | 0.3.47  | 0.3.43  | 0.3.40  | 0.3.36  | 0.3.34  | 0.3.29  | 0.3.23  | 0.3.21  | 0.3.13    |
| **Designer**                   | **3.2.1** | 2.78.4-1 | 2.63.6  | 2.60.7  | 2.48.9  | 2.39.2  | 2.33.0  | 2.28.1  | 2.24.2  | 2.23.0  | 2.19.2  | 2.18.2  | 2.17.4  | 2.15.2  | 2.14.4  | 2.11.2    |
| **@flowx/ui-sdk**              | **3.2.1** | n/a      | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a       |
| **@flowx/ui-toolkit**          | **3.2.1** | n/a      | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     |           |
| **@flowx/ui-theme**            | **3.2.1** | n/a      | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a       |
| **flowx-process-renderer**     | -         | 2.78.4-1 | 2.63.6  | 2.60.7  | 2.48.9  | 2.39.2  | 2.33.0  | 2.28.1  | 2.24.2  | 2.23.0  | 2.19.2  | 2.18.2  | 2.17.4  | 2.15.2  | 2.14.4  | 2.11.2    |
| **paperflow-web-components**   | -         | 2.78.4-1 | 2.63.6  | 2.60.7  | 0.2.10  | 0.2.10  | 0.2.10  | 0.2.6   | 0.2.6   | 0.2.6   | 0.2.6   | 0.2.6   | 0.2.6   | 0.2.6   | 0.2.5   | 0.2.4     |
| **CMS Core**                   | **1.0.2** | 0.2.38   | 0.2.36  | 0.2.33  | 0.2.30  | 0.2.25  | 0.2.23  | 0.2.23  | 0.2.23  | 0.2.23  | 0.2.23  | 0.2.20  | 0.2.20  | 0.2.18  | 0.2.17  | 0.2.17    |
| **Scheduler Core**             | **1.0.1** | 0.0.34   | 0.0.34  | 0.0.34  | 0.0.33  | 0.0.28  | 0.0.27  | 0.0.27  | 0.0.27  | 0.0.27  | 0.0.27  | 0.0.24  | 0.0.24  | 0.0.23  | 0.0.23  | 0.0.23    |
| **Notification Plugin**        | **2.0.1** | 1.0.206  | 1.0.206 | 1.0.206 | 1.0.205 | 1.0.200 | 1.0.198 | 1.0.198 | 1.0.197 | 1.0.194 | 1.0.194 | 1.0.191 | 1.0.191 | 1.0.190 | 1.0.190 | 1.0.186-1 |
| **Document Plugin**            | **2.0.2** | 1.0.53   | 1.0.53  | 1.0.53  | 1.0.52  | 1.0.47  | 1.0.42  | 1.0.41  | 1.0.38  | 1.0.37  | 1.0.37  | 1.0.35  | 1.0.35  | 1.0.31  | 1.0.31  | 1.0.30    |
| **OCR Plugin**                 | 0.1.33    | 0.1.33   | 0.1.33  | 0.1.5   | 0.1.5   | 0.1.5   | 0.1.5   | 0.1.5   | 0.1.5   | 0.1.5   | 0.1.5   | 0.1.5   | 0.1.5   | 0.0.109 | 0.0.109 | 0.0.109   |
| **License Core**               | **1.0.1** | 0.1.28   | 0.1.28  | 0.1.28  | 0.1.27  | 0.1.23  | 0.1.19  | 0.1.18  | 0.1.18  | 0.1.18  | 0.1.18  | 0.1.15  | 0.1.15  | 0.1.13  | 0.1.13  | 0.1.12    |
| **Customer Management Plugin** | **0.2.1** | 0.1.28   | 0.1.28  | 0.1.28  | 0.1.27  | 0.1.23  | 0.1.22  | 0.1.22  | 0.1.22  | 0.1.22  | 0.1.22  | 0.1.20  | 0.1.20  | 0.1.18  | 0.1.18  | 0.1.18    |
| **Task Management Plugin**     | **1.0.1** | 0.0.42   | 0.0.42  | 0.0.40  | 0.0.37  | 0.0.29  | 0.0.28  | 0.0.28  | 0.0.27  | 0.0.27  | 0.0.27  | 0.0.22  | 0.0.22  | 0.0.21  | 0.0.21  | 0.0.16    |
| **Data search**                | **0.1.3** | 0.0.8    | 0.0.8   | 0.0.6   | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a       |
| **Audit Core**                 | **1.0.1** | 0.0.8    | 0.0.5   | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a       |
| **Reporting**                  | 0.0.39    | 0.0.39   | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a       |
| **advancing-controller**       | **0.1.2** | 0.0.6    | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a       |
| **iOS renderer**               | **2.0.0** | n/a      | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a       |
| **Android renderer**           | **2.0.1** | n/a      | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a     | n/a       |

### 3.0.0 Minimum Recommended Versions

| FLOWX.AI Platform Version | Component name    | Minimum recommended version (tested versions) |
| ------------------------- | ----------------- | --------------------------------------------- |
| 3.0                       | Keycloak          | 18.0.x                                        |
| 3.0                       | Kafka             | 3.2.0                                         |
| 3.0                       | PostgreSQL        | 14.3.0                                        |
| 3.0                       | MongoDB           | 5.0.8                                         |
| 3.0                       | Redis             | 6.2.6                                         |
| 3.0                       | Elasticsearch     | 7.17                                          |
| 3.0                       | Any S3-compatible | -                                             |
| 3.0                       | OracleDB          | 19.8.0.0.0                                    |
| 3.0                       | Angular (Web SDK) | 14.2.2                                        |

<Info>
  FlowX.AI supports any version of the third-party components listed as prerequisites.

  For optimal performance and reliability, our internal QA process validates new releases using specific versions as indicated in the provided table.
  While exploring alternative versions that suit your company's specific requirements, we recommend referring to the compatibility matrix for guidance.

  In the unlikely event that you encounter any compatibility issues with FlowX.AI, please open a support ticket [**here**](https://support.flowx.ai/), and our dedicated team will address and resolve any identified bugs following our standard support process.

  Compatibility Matrix:

  * FLOWX.AI Platform: Recommended and tested versions
  * Third-Party Components: Supported versions based on specific requirements and client preferences
</Info>

## Additional configuration

### Updates

New updates have been made to the backend and designer configurations. The following changes have been made:

* **Backend**: The Java container base image has been updated from **11.0.15** to **11.0.17\_8**
* **Designer**: The Nginx container base image has been updated from **1.19** to **1.23.2**

### Redis configuration

```
  disableCommands:
    - CONFIG
# enable keyspace notif as CONFIG is disabled
  notify-keyspace-events KEA
```

The above command is enabling key space notifications in Redis by setting the `notify-keyspace-events` configuration parameter to "KEA". The `notify-keyspace-events` configuration parameter is used to enable notifications for certain events that occur in the Redis key space.

The reason for enabling this as CONFIG is disabled is that, in this configuration, the CONFIG command is disabled, which means that the Redis server will not accept the command to change its configuration. Therefore, this line is allowing Redis to notify events in key space.

### Theming

There are two important items that need to be taken in consideration with it comes to theming:

* [`theme_components.json`](#theme_componentsjson)
* [`theme_tokens.json`](#theme_tokensjson)

#### `theme_components.json`

This JSON object is a collection of all components and their properties. Each element represents a different design element (e.g. "accordion","card", etc.).

Each element object has two main properties:

* `genericProperties` - is an array of objects that define properties such as background color, padding, and font styles for the element
* `modifiers` - is also an array of objects, each representing a different modification of the element's properties, each modifier object has a `name` property and a `properties` array, which contains more objects that define the modified properties of the element.

#### Example

```json theme={"system"}
{
    "elementName": "card",
    "genericProperties": [
      {
        "name": "backgroundColor",
        "reference": "color@shades-0",
        "value": null,
        "unit": null
      },
      {
        "name": "color",
        "reference": "color@neutrals-900",
        "value": null,
        "unit": null
      },
      {
        "name": "borderRadius",
        "reference": null,
        "value": "12",
        "unit": "px"
      },
      {
        "name": "borderWidth",
        "reference": null,
        "value": "1",
        "unit": "px"
      },
      {
        "name": "paddingTop",
        "reference": null,
        "value": "16",
        "unit": "px"
      },
      {
        "name": "paddingRight",
        "reference": null,
        "value": "16",
        "unit": "px"
      },
      {
        "name": "paddingBottom",
        "reference": null,
        "value": "16",
        "unit": "px"
      },
      {
        "name": "paddingLeft",
        "reference": null,
        "value": "16",
        "unit": "px"
      },
      {
        "name": "titleFont",
        "reference": "typography@Heading/H6/Semi Bold",
        "value": null,
        "unit": null
      },
      {
        "name": "subtitleFont",
        "reference": "typography@Paragraph/P2/Regular",
        "value": null,
        "unit": null
      },
      {
        "name": "contentFont",
        "reference": "typography@Paragraph/P1/Regular",
        "value": null,
        "unit": null
      },
      {
        "name": "gap",
        "reference": null,
        "value": "24",
        "unit": "px"
      }
    ],
    "modifiers": [
      {
        "name": "border",
        "properties": [
          {
            "name": "borderColor",
            "reference": "color@neutrals-300",
            "value": null,
            "unit": null
          }
        ]
      },
      {
        "name": "raised",
        "properties": [
          {
            "name": "boxShadow",
            "reference": "dropShadow@m",
            "value": null,
            "unit": null
          }
        ]
      },
      {
        "name": "ios",
        "properties": [
          {
            "name": "titleFont",
            "reference": "typography@Heading/H6/Semi Bold",
            "value": null,
            "unit": null
          },
          {
            "name": "subtitleFont",
            "reference": "typography@Paragraph/P2/Regular",
            "value": null,
            "unit": null
          },
          {
            "name": "gap",
            "reference": null,
            "value": "16",
            "unit": "px"
          }
        ]
      },
      {
        "name": "android",
        "properties": [
          {
            "name": "titleFont",
            "reference": "typography@Heading/H6/Semi Bold",
            "value": null,
            "unit": null
          },
          {
            "name": "subtitleFont",
            "reference": "typography@Paragraph/P2/Regular",
            "value": null,
            "unit": null
          },
          {
            "name": "gap",
            "reference": null,
            "value": "16",
            "unit": "px"
          }
        ]
      }
    ]
  }

```

#### `theme_tokens.json`

This JSON object is a collection of color tokens for a design system. The object is structured with a "colors" object that contains multiple color objects, each representing a different color category (e.g. "primary", "secondary", "success", "warning", "error" and "neutrals").

Each color object has properties such as "name", "main" and "shades". The "name" property contains the name of the color category, the "main" property contains the main shade of the color, the "shades" is an object with key-value pairs that represent different shades of the color.

<Info>
  Each key is a number representing the shade level, and each value is a hex code representing the color at that level.
</Info>

#### Example

```typescript theme={"system"}
// COLORS

[
    {
        "name": "primary",
        "shades": [
            {"tint": 50, "hex": "#aabbcc"},
            {"tint": 100, "hex": "#aabbcc"},
            ...
        ],
        "main": 500
    },
    {
        "name": "secondary",
        "shades": [
            {"tint": 50, "hex": "#aabbcc"},
            {"tint": 100, "hex": "#aabbcc"},
            ...
        ],
        "main": 500
    }
]

interface ColorShade {
    tint: number,
    hex: string
}

interface Color {
    name: string,
    shades: ColorShade[]
}
```

For more information on how to use the web renderer, check the following section:

[Using the Angular Renderer - Theming](../../docs/3.0.0/platform-deep-dive/core-components/renderer-sdks/angular-renderer)

### Task management plugin

* `FLOWX_ALLOW_USERNAME_SEARCH_PARTIAL` - new environment variable added to filter users by partial username (default value: true)

[Task management plugin setup](../../docs/platform-deep-dive/plugins/plugins-setup-guide/task-management-plugin-setup)

### Data search

* `SPRING_ELASTICSEARCH_INDEX_SETTINGS_NAME` - must correspond to the index configured on `process-engine`

[Data search setup](../../docs/platform-setup-guides/search-data-service-setup-guide)
