Stability.

Numra is in 0.x. The API is settling. This page states the commitments adopters can plan around.

Minimum Supported Rust Version (MSRV).

The current MSRV is Rust 1.83. The authoritative value lives in the workspace Cargo.toml as rust-version; this page mirrors it. The MSRV is updated only on minor releases and only with a two-version grace period — no patch release bumps the MSRV.

Semver during 0.x.

While Numra is in 0.x, breaking changes are published as minor bumps (for example, 0.3.x → 0.4.0). Patch releases are bug-fix and additive only. This is stricter than Cargo's default 0.x semantics; it is stated explicitly so adopters are not surprised.

Semver from 1.0.

From 1.0 onward Numra follows standard semantic versioning. Breaking changes only happen on major releases. Public API is everything reachable from the numra facade crate; per-crate APIs in the workspace inherit the same guarantees.

Deprecation window.

Public API removals carry a #[deprecated] annotation for at least two minor releases before the item is removed. Each deprecation states the migration in its attribute message.

Feature-flag stability.

Crate features in Numra fall into three buckets:

  • Stable features — covered by the semver guarantees above.
  • unstable-* features — explicitly experimental, may change shape without a deprecation cycle, may be removed at any time.
  • Default-on features — listed in each crate's Cargo.toml; turning them off remains supported across a major.

Numerical behavior.

Solver outputs may shift bit-for-bit across releases when underlying tableaux, reorderings, or floating-point accumulation orders change. Numra does not promise bit-for-bit reproducibility across versions; it does promise that documented order-of-accuracy and stability properties are preserved within each solver's documented regime.