Skip to content
Rodeo

Versioning

Tags are component first — rodeo-sdk/vX.Y.Z, matching rodeo-002/vX.Y.Z — so a tag listing groups by component rather than interleaving unrelated numbers.

The current release is rodeo-sdk/v0.2.0, and it is a line in the sand: the last release before the rewrite for the shipping boards. common/version.h carries the number and the real changelog.

The instruments built before it — rodeo-001 and rodeo-002 — keep building against that release, frozen at rev-a/rodeo-sdk/. rodeo-002 moves onto the rewritten SDK first, once every Rev B board has been brought up; rodeo-001 stays on the frozen copy.

The rewrite starts at v0.3.0: in a 0.x SDK a breaking change is a minor version.

Requiring a minimum

An app can refuse to build against an SDK that is too old, which is better than failing at a missing symbol or, worse, silently compiling against changed behaviour:

#include "version.h"
static_assert(RODEO_SDK_AT_LEAST(0, 2, 0), "this app needs a newer SDK");

Why 0.x

Deliberately. Two instruments in, the shape of the SDK is clear but the seams are not all settled — version.h names what is still unresolved and what stands between this and a 1.0. Until then, treat minor versions as able to move things.