Ahead of the next Mender release (coming soon!), the Mender team announces its new product release and versioning scheme. The new Mender versioning impacts how Mender is released, supported, and versioned, aimed to deliver new Mender features faster and provide our customers and community with a more seamless experience
Historically, all components of Mender, such as the Client and Server, were released as a full bundle and denoted with an overarching version number. Components inside the bundle had their individual version numbers as well. For example, the Mender 3.7.x bundle release contained Mender Client 4.0.x.
While the historical approach has sufficed in the past, the Mender team has started to foresee some major problems with applying this approach for planned future releases.
-
Version number mismatches causing compatibility confusion: Mender including both bundle and Individual component version numbers became confusing for users as the two versions would not match (since components are developed at varying velocities). When bundle and component numbers were close, the confusion was even greater, such as Mender 3.6.x containing Mender 3.5.x Client. The dual version number system posed a challenge to manage, communicate clearly, and easily digest over time as the number of releases grew.
-
Bundle releases increased complexity: Releasing Mender as a bundle with all components became very complex. In turn, each Mender release required more time, decreasing the frequency of new releases, and inhibiting the Mender team from delivering new updates to users, even if development was fully completed. For example, if a new Mender Client feature was ready to be released, the Mender team would still have to wait to make it publicly available until the next bundle release, including the Server and other component updates. With more new components on the roadmap, the issues from bundle releases would significantly compound unless addressed now.
Therefore, Mender will not be released as a bundle version going forward. Mender 3.7.x is the last bundle release of Mender.
Going forward, all Mender components will be separated, released independent of other components, and versioned individually. Today, this list includes:
- Mender Client
- Mender Server
- Mender Gateway
As mentioned, the Mender team plans to grow the list of Mender components over time as Mender further advances and tackles even more complex use cases and environments. In many cases, some of the components will be released around the same time. But this will not always be the case, and each component will always have its own versioning.
For the next release, the following components will be released:
- Mender Server 4.0.0 LTS
- Mender Client 5.0.0 LTS
- Mender Gateway 2.0.0 LTS
Apart from removing bundle release versioning, Mender will continue to follow Semantic Versioning for the components. The long-term support (LTS) policy remains unchanged, it is just applied to individual components instead of the bundle going forward. The released Mender 3.7 bundle support is unchanged (supported until May 2025).
As Mender continues to lead the industry in over-the-air (OTA) update infrastructure, this change will enable the Mender team to deliver faster improvements to all users.