Search by Tags

Toradex Software Versioning Convention

 
Subscribe for this article updates

Toradex provides several software items such as BSPs or images for Toradex Colibri and Apalis system on modules, configuration tools, installer tools, etc. The versioning convention mentioned here will be applied to new software releases starting in April 2017.

Software Versioning

We make use of two different versioning schemes, a package version and an item version. The package version is the version showed in public, e.g. on websites, file names, roadmaps, etc. The item version gets built-in in e.g. drivers, libraries, kernels, or other items. The item version is usually visible when running the software or doing version queries only. Example: We build a BSP with item version 1.2.4. We call the download package 1.2b4 to indicate it's a beta version. If we declare this version stable, the item version stays at 1.2.4 but the package version will be changed to 1.2. This allows us to declare software stable after some time w/o rebuilding it just to update the item version.

Software Package Version

Usage

The package version is used to name downloadable packages or versions mentioned on websites, in Toradex Easy Installer, etc.

Format

Major.Minor[bx][.BuildNb][-nightly]-YYYYMMDD
Type Description
Major Mandatory major version number which changes if major changes were done. This includes major incompatibilities with earlier versions.
Can start at 0. Leading 0 are blanked (except for “0”).
.Minor Mandatory minor version number which changes after a stable release.
Can start at 0, Leading 0 are blanked (except for “0”).
bx Optional identifier. Used to identify beta releases. b is a constant letter and x is the ascending beta number starting from 1.
Leading 0 are blanked.
.BuildNb Optional Build Number to identify a specific build. E.g. used with automated CI builds.
Leading 0 are blanked. Can be any decimal number and doesn’t need to be monotonic. It’s just a build identifier number.
-nightly Optional identifier. Specifies builds which were automatically done overnight.
-YYYYMMDD Mandatory date identifier.

Examples

2.5b1-nightly-20170306
2.5b1.1536-nightly-20170306
2.5-20170307
2.5b1-20170301

Software Item Version

Usage

Item versions can be used for single items where the package version format doesn’t make sense, e.g. kernel, u-boot, drivers, etc. An item version can then be matched to a package version.

Format

Major.Minor[.Patch][-YYYYMMDD]
Type Description
Major Mandatory major version number which changes if major changes were done. This includes major incompatibilities with earlier versions.
Can start at 0. Leading 0 are blanked (except for “0”).
.Minor Mandatory minor version number which changes for sure after a stable release but also can change w/o stable release.
Can start at 0, Leading 0 are blanked (except for “0”).
.Patch Optional patch version number which changes during stabilizing a version. It can be a manually increased version number, or can also be a versioning system number, e.g. SVN revision number.
Starts with 1. Leading 0 are blanked.
-YYYYMMDD Optional date identifier.

Examples

2.5    
2.5.1
2.5.1-20170328
1.9.2394