Skip to content

Changelog

All notable changes to this project are documented in this file. Generated by git-cliff at release time; do not edit release sections by hand.

[0.3.1] - 2026-07-07

Testing

  • Cover backend routing and optional-dep fall-throughs (#39)

Build & CI

  • Lint GitHub workflows with actionlint (#41)
  • Attach coverage, pytest, and perf reports to tagged releases (#40)
  • Bump crossbeam-epoch to 0.9.20 for RUSTSEC-2026-0204 (#42)

[0.3.0] - 2026-07-06

Features

  • Drop scipy (numpy-only runtime) and rework the normality gate (#34)
  • Add sens_at_spec / spec_at_sens band queries (#37)

Documentation

  • Merge diagnostics into reading-the-band and tighten prose across the docs (#31)
  • Explain the Working-Hotelling center bias and tighten the method pages (#36)

Refactoring

  • Implement band special functions in rocci.special, keeping scipy only for Shapiro-Wilk (#32)

Chores

  • Run the fix-on-save stop hook per git checkout (#33)

[0.2.0] - 2026-07-05

Documentation

  • Document test guarantees and add a package-verification page (#20)
  • (spec) Mark M7 done (#21)
  • Link the verification page from the homepage (#23)
  • Conda intentionally not packaged; pip-inside-conda is the supported path (#24)
  • Structure the API reference with nested headings and an overview table (#26)
  • Retire the build spec and appendix (#27)

Build & CI

  • Skip perf and calibration gates on docs-only PRs (#22)

Chores

  • Gate gh pr create on a headless /security-review (#25)
  • Add comment-auditor subagent for docstring and comment audits (#28)
  • Audit comments and docstrings; harden two under-exercised tests (#29)

[0.1.0] - 2026-07-04

Features

  • Python package skeleton with warning and exception taxonomy
  • Statistical core in NumPy with golden-master equivalence (M1)
  • Rust bootstrap kernel with PyO3, oracle tests, backend routing (M2)
  • Public API and ingestion layer (M3)
  • (band) Working-Hotelling path and normality diagnostics
  • (plot) Band and diagnostics figures (spec §7)

Bug fixes

  • (band) Pin the lower band to 1 at the FPR=1 sentinel
  • (backend) Reject unsorted or NaN scores at the kernel boundary
  • (api) Harden ingestion and argument validation against common traps
  • (band) Exact Mann-Whitney AUC and recentered bootstrap AUC CI
  • (ingest) Honor explicit pos_label for boolean labels
  • Include LICENSE in the sdist (#19)

Documentation

  • License, README, contributing guide, and citation metadata
  • Site content — home, getting started, user guide, method, API, FAQ
  • (vignettes) Four executed jupytext notebooks — milestone M5 done
  • (readme) Hero figure (spec §13.4)
  • (claude) Parallel-agent workflow — one task = one worktree = one PR
  • (claude) Release runbook for agents (#15)
  • Installation paths and human-facing release workflow (#13)
  • Use moderate-AUC diabetes task in sklearn quickstart (#18)

Refactoring

  • (ingest) Extract heavy_ties predicate

Testing

  • M3 ingestion matrix, API contract, and one-vs-rest suites
  • (normal) Working-Hotelling path and diagnostics suite
  • First-principles oracles for the statistical core
  • Red-team the API, ingestion, kernel, and OvR contracts
  • End-to-end statistical gold standards for the assembled band
  • Optional-dependency contract via blocked-import subprocesses

Build & CI

  • Maturin build system and dev toolchain
  • CI workflow, wheel/release pipeline, and repo governance
  • (rust) Upgrade pyo3 and rust-numpy 0.23 -> 0.29
  • (docs) Mkdocs toolchain, strict docs CI job, versioned deployment
  • Self-host coverage badge instead of Codecov
  • Calibration and perf merge gates (spec §14.2, milestone M6)
  • (gates) Drive the base benchmark with the PR's script
  • Post-publish verification and GitHub Release jobs (#9)
  • Fix release-guard annotated-tag check (#11)
  • Run the musllinux wheel smoke test in an Alpine container (#12)
  • Resolve smoke-test dependencies from the index, rocci from dist (#14)
  • Force the headless Agg matplotlib backend on runners (#16)
  • Build the Intel macOS wheel on macos-15-intel (#17)

Chores

  • Initialize repository
  • Add .gitattributes for cross-platform line endings
  • (ruff) Ignore E501, letting the formatter own line width
  • Git-cliff config and release-prep script (#8)