This document outlines the compatibility between different versions of Mender components, such as the client and server.
Mender always provides an upgrade path from the past patch (e.g. 1.2.0 to 1.2.1) and minor version (e.g. 1.1.1 to 1.2.0), and releases follow Semantic Versioning. Note that according to Semantic Versioning, new functionality can be added in minor releases (e.g from 1.2.0 to 1.3.0) so be sure to upgrade components to support the newer functionality before starting to use it.
For example, when a new Artifact format version is released, the new Mender client would support older versions of the Artifact format. However, the inverse is not true; the Mender client does not support newer versions of the Artifact format. So in this case you need to upgrade all Mender clients before starting to use new versions of the Artifact format (and the features it enables).
As another example, the Mender client supports one version of the server API, while the server can support several API versions. Therefore, the server should always be upgraded before the client.
In general the Mender client introduces new features in minor (e.g. 1.2.0 to 1.3.0) versions and the meta-mender layer is updated accordingly to easily support these new features (e.g. by exposing new MENDER_* variables). The meta-mender layer has branches corresponding to versions of the Yocto Project.
|meta-mender krogoth (2.1) and older||meta-mender morty (2.2)||meta-mender pyro (2.3)||meta-mender rocko (2.4)|
|Mender client 1.0.x||no||yes||no||no|
|Mender client 1.1.x||no||no||yes||no|
|Mender client 1.2.x||no||no||yes||yes|
|Mender client 1.3.x||no||no||yes||yes|
|Mender client 1.4.x||no||no||no||yes|
Leverage Mender consulting services to support other versions of the Yocto Project for your board and environment.
The Mender Artifact format is managed by the Mender Artifacts Library, which is included in the Mender client and server (for reading Artifacts) as well as in a stand alone utility
mender-artifacts (for writing Artifacts).
|Artifact v1||Artifact v2|
|Mender 1.0.x / mender-artifact 1.0.x||yes||no|
|Mender 1.1.x / mender-artifact 2.0.x||yes||yes|
|Mender 1.2.x / mender-artifact 2.1.x||yes||yes|
|Mender 1.3.x / mender-artifact 2.1.x||yes||yes|
|Mender 1.4.x / mender-artifact 2.2.x||yes||yes|
Older Mender clients do not support newer versions of the Artifact format; they will abort the deployment. You can build older versions of the Mender Artifact format to upgrade older Mender clients. See Write a new Artifact for an introduction how to do this.
The compatibility between the Mender server and client is managed by the Device API versions exposed by the server and used by the client. If the Mender server supports the API version of the Mender client, they are compatible. However, please ensure that the client and server support the Artifact format version you are using.
|Mender server versions||Mender client versions|