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.