Skip to content

Stability

Iain Smith edited this page Aug 29, 2026 · 1 revision

Stability

From 1.0.0, loadbearer follows semantic versioning for the surface below. The canonical version of this is VERSIONING.md in the repo.

Covered — a breaking change here is a major release

  • The CLI. The set of subcommands (run, compare, score, soak, info, mem, list, baseline, net-server) and their flags. Removing or renaming a subcommand or a flag, or changing what a flag accepts, is breaking. Adding a subcommand or an optional flag is not.

  • The schema-tagged JSON formats. Every machine-readable document carries a schema string:

    schema produced by
    loadbearer.result/1 loadbearer run --output / --json
    loadbearer.soak/1 loadbearer soak --output / --json
    loadbearer.compare/1 loadbearer compare --json
    loadbearer.mem/1 loadbearer mem --json

    Removing, renaming or retyping a field bumps the number after the slash (/1/2) and is a major release. Adding an optional field does not — consumers must ignore unknown fields. loadbearer info --json is the machine block of loadbearer.result/1.

  • Exit codes. 0 on success, non-zero on any failure.

Not covered — may change in any release

  • Absolute scores and letter grades for a given machine. They move whenever the baseline is recalibrated or a kernel is refined. Use compare for a baseline-independent answer.
  • The reference baseline. It is calibration data, not API. Re-anchoring it to more or newer hardware is a normal minor/patch change.
  • Human-readable output — the --plain layout, the TUI, the "why" wording.
  • The diagnostic log — location, line format, which events are logged.
  • Internal Rust API. loadbearer is a binary, not a published library crate.

MSRV

The minimum supported Rust version is the rust-version in Cargo.toml. Raising it is a minor release, called out in the changelog.

In short

Scripting against a schema-tagged file, an exit code, or a subcommand: only a major bump can break you. Comparing two machines: use loadbearer compare — its verdict does not depend on the baseline and is stable across versions.

Clone this wiki locally