> For the complete documentation index, see [llms.txt](https://docs.cybus.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cybus.io/2-4-2/deployment/upgrading-connectware/upgrade-paths.md).

# Connectware Upgrade Paths

This page is the single source of truth for Connectware upgrade paths. Before you upgrade Connectware, use this page to determine whether you can upgrade directly to your target version or whether you must upgrade through one or more mandatory versions first.

{% hint style="warning" %}

## Downgrading to previous Connectware versions is not supported

{% endhint %}

## How Upgrade Paths Work

Most Connectware upgrades are regular upgrades: you follow [Upgrading Connectware (Docker)](/2-4-2/deployment/upgrading-connectware/on-docker.md) or [Upgrading Connectware (Kubernetes)](/2-4-2/deployment/upgrading-connectware/on-kubernetes.md) without additional steps.

However, some Connectware versions are mandatory versions in the upgrade path. A mandatory version changes Connectware in a way that later versions build on, for example, a new broker data format or a changed installation procedure. You cannot skip a mandatory version. If one or more mandatory versions lie between your current version and your target version, you must upgrade to each mandatory version in ascending order before you upgrade to your target version.

In addition, some versions come with upgrade steps that apply only to specific setups. These versions are not mandatory versions, so you do not need to upgrade to them separately. However, if the steps apply to your setup, you must complete them when you upgrade to that version or higher.

New installations do not require an upgrade path. If you install Connectware for the first time, install the latest version directly. For more information, see [Installing Connectware](/2-4-2/deployment/installing-connectware.md).

## Determining Your Upgrade Path

1. Identify your current Connectware version and your target version.
2. In the [version-specific upgrade steps table](#version-specific-upgrade-steps), note every version that lies between your current version and your target version and that is either mandatory for your platform or comes with steps that apply to your setup.
3. Upgrade to each noted mandatory version in ascending order. For each mandatory version, follow the linked upgrade guide.
4. Upgrade to your target version by following the regular upgrade guide for [Docker](/2-4-2/deployment/upgrading-connectware/on-docker.md) or [Kubernetes](/2-4-2/deployment/upgrading-connectware/on-kubernetes.md). Complete the setup-specific steps of the versions that your upgrade passes.

If no mandatory version lies between your current version and your target version, upgrade directly to your target version.

## Version-Specific Upgrade Steps

The following table lists all versions that come with upgrade steps. The **Mandatory** column tells you how to treat each version:

* **Yes:** The version is a stop on the upgrade path. You must upgrade to it before you continue to your target version.
* **For specific setups:** The version does not require a stop, but its steps are mandatory if they apply to your setup. Complete them when you upgrade to that version or higher.
* **No:** The steps are optional and never block an upgrade.

| Version | Mandatory                | What Changes                                                                                                                                                     | Upgrade Guides                                                                                                                                                                   |
| ------- | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1.7.0   | Yes (Docker, Kubernetes) | The broker data format changes. Broker data volumes of earlier versions are not compatible with Connectware 1.7.0 and newer.                                     | [Docker](/2-4-2/deployment/upgrading-connectware/on-docker/to-1-7-0-on-docker.md), [Kubernetes](/2-4-2/deployment/upgrading-connectware/on-kubernetes/to-1-7-0-on-kubernetes.md) |
| 2.0.0   | Yes (Docker, Kubernetes) | Major release with mandatory migration steps, including TLS changes and new network, hardware, and storage requirements.                                         | [Docker](/2-4-2/deployment/upgrading-connectware/on-docker/to-2-0-0-on-docker.md), [Kubernetes](/2-4-2/deployment/upgrading-connectware/on-kubernetes/to-2-0-0-on-kubernetes.md) |
| 2.0.1   | Yes (Docker, Kubernetes) | The Data Explorer requires a new topic structure. If your services use `CYBUS_MQTT_ROOT`, you must run a migration script after the upgrade.                     | [Docker](/2-4-2/deployment/upgrading-connectware/on-docker/to-2-0-1-on-docker.md), [Kubernetes](/2-4-2/deployment/upgrading-connectware/on-kubernetes/to-2-0-1-on-kubernetes.md) |
| 2.0.2   | Yes (Docker, Kubernetes) | HTTP connections receive new configuration options. You must disable and re-enable services that use HTTP connections after the upgrade.                         | [Docker](/2-4-2/deployment/upgrading-connectware/on-docker/to-2-0-2-on-docker.md), [Kubernetes](/2-4-2/deployment/upgrading-connectware/on-kubernetes/to-2-0-2-on-kubernetes.md) |
| 2.0.5   | Yes (Docker, Kubernetes) | The CybusMQ data format changes. You must delete the broker data volumes before the upgrade, which removes all persisted broker data.                            | [Docker](/2-4-2/deployment/upgrading-connectware/on-docker/to-2-0-5-on-docker.md), [Kubernetes](/2-4-2/deployment/upgrading-connectware/on-kubernetes/to-2-0-5-on-kubernetes.md) |
| 2.0.6   | Yes (Kubernetes)         | You must update the auth-server deployment to the 2.0.6 image before you run the Helm upgrade. This version fixes the Systemstate functionality on agents.       | [Kubernetes](/2-4-2/deployment/upgrading-connectware/on-kubernetes/to-2-0-6-on-kubernetes.md)                                                                                    |
| 2.1.0   | No                       | The `resourceStates` bucket is no longer used. Optional: Delete the bucket to free disk space.                                                                   | [Docker](/2-4-2/deployment/upgrading-connectware/on-docker/to-2-1-0-on-docker.md), [Kubernetes](/2-4-2/deployment/upgrading-connectware/on-kubernetes/to-2-1-0-on-kubernetes.md) |
| 2.4.0   | For specific setups      | The OPC UA Server receives the `caFile` property. If you run OPC UA Server services with a custom PKI, add `caFile` to the affected service commissioning files. | [Docker](/2-4-2/deployment/upgrading-connectware/on-docker/to-2-4-0-on-docker.md), [Kubernetes](/2-4-2/deployment/upgrading-connectware/on-kubernetes/to-2-4-0-on-kubernetes.md) |

{% hint style="info" %}
Connectware 1.11.0 is no longer part of the upgrade path. If you are on Connectware 1.7.0 or higher, skip 1.11.0 and upgrade directly to 2.0.0.
{% endhint %}

## Upgrade Path Quick Reference

The following table shows the complete upgrade path for each starting version. After the last mandatory version, upgrade to your target version by following the regular upgrade guide for [Docker](/2-4-2/deployment/upgrading-connectware/on-docker.md) or [Kubernetes](/2-4-2/deployment/upgrading-connectware/on-kubernetes.md).

| Your Current Version          | Docker Upgrade Path                                    | Kubernetes Upgrade Path                                        |
| ----------------------------- | ------------------------------------------------------ | -------------------------------------------------------------- |
| 1.5.0 to 1.6.2                | 1.7.0 → 2.0.0 → 2.0.1 → 2.0.2 → 2.0.5 → target version | 1.7.0 → 2.0.0 → 2.0.1 → 2.0.2 → 2.0.5 → 2.0.6 → target version |
| 1.7.0 or higher (below 2.0.0) | 2.0.0 → 2.0.1 → 2.0.2 → 2.0.5 → target version         | 2.0.0 → 2.0.1 → 2.0.2 → 2.0.5 → 2.0.6 → target version         |
| 2.0.0                         | 2.0.1 → 2.0.2 → 2.0.5 → target version                 | 2.0.1 → 2.0.2 → 2.0.5 → 2.0.6 → target version                 |
| 2.0.1                         | 2.0.2 → 2.0.5 → target version                         | 2.0.2 → 2.0.5 → 2.0.6 → target version                         |
| 2.0.2 to 2.0.4                | 2.0.5 → target version                                 | 2.0.5 → 2.0.6 → target version                                 |
| 2.0.5                         | target version                                         | 2.0.6 → target version                                         |
| 2.0.6 or higher               | target version                                         | target version                                                 |

## Helm Chart Upgrades (Kubernetes)

Starting with chart version 3.0.0, the Cybus Helm charts are versioned independently of Connectware. Upgrading the Helm chart does not change your Connectware version and does not affect the upgrade paths on this page.

* For the chart upgrade procedure, see [Upgrading connectware and connectware-agent Helm Charts to 3.0.0](/2-4-2/deployment/upgrading-connectware/on-kubernetes/helm-charts-to-3-0-0.md).
* To check which chart versions work with which Connectware versions, see the [compatibility matrix](/2-4-2/cybus-helm-charts/compatibility-matrix.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.cybus.io/2-4-2/deployment/upgrading-connectware/upgrade-paths.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
