OpenQuant Docs banner
OpenQuant icon openquant-rs / documentation terminal

Publishing and Release

Use this checklist for every crate release to maintain reproducibility and user trust.

Release Checklist

  1. Run formatting and lints (`cargo fmt`, `cargo clippy --all-targets --all-features`).
  2. Run fast test sweep and explicit long SADF path.
  3. Run benchmark suites and threshold checks.
  4. Regenerate benchmark snapshot docs when needed.
  5. Run `cargo package -p openquant` and review package contents.
  6. Tag release, publish crate, and verify docs links.

Commands

cargo fmt -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --workspace --lib --tests --all-features -- --skip test_sadf_test
cargo test -p openquant --test structural_breaks test_sadf_test -- --ignored
cargo bench -p openquant --bench perf_hotspots --bench synthetic_ticker_pipeline
python3 scripts/collect_bench_results.py --criterion-dir target/criterion --out benchmarks/latest_benchmarks.json --allow-list benchmarks/benchmark_manifest.json
python3 scripts/check_bench_thresholds.py --baseline benchmarks/baseline_benchmarks.json --latest benchmarks/latest_benchmarks.json --max-regression-pct 25
cargo package -p openquant

Release Workflows

  • .github/workflows/release.yml for release readiness checks.
  • .github/workflows/nightly-validation.yml for deep, slower validations.
  • .github/workflows/docs-pages.yml for documentation deployment.

Versioning Policy

  • Bump patch for bug fixes without public API changes.
  • Bump minor for additive APIs and new modules.
  • Bump major for breaking API or numerical behavior changes.