Skip to content

v5.3.1

Choose a tag to compare

@michael-denyer michael-denyer released this 03 Jun 11:26
· 13 commits to master since this release

Patch release: LOCO Python API/CLI fixes plus CI and test hardening. No changes to numerical results, CLI flags, or output formats.

Fixed

  • LOCO Python eigen-cache API: `gwas(loco=True, write_eigen=True)` no longer raises "write_eigen=True requires eigen_dir to be set" — `PipelineConfig` now defaults `eigen_dir` to `output_dir` like the CLI (#37).
  • LOCO `--legacy-text`: `--loco --legacy-text` now writes GEMMA-compatible `.txt` artifacts instead of silently emitting binary `.npy`; resolves GEMMA_DIVERGENCES §13 (#37).
  • LOCO multi-pass eigendecomp reserve sizing: workspace reserve sized by valid-sample count, not the unfiltered count (#34).
  • Link check: exclude canonical `gnu.org` license URLs that time out for CI bots (#35).

Added

  • CodeQL SAST: weekly static analysis over the C extensions and Python sources (#38).

Changed

  • Internal refactors across the LMM runners and pipeline (no behavior change): shared helper extraction and god-method decomposition (#26#33).
  • Test/CI hygiene: post-refactor docstring/typing/coverage follow-ups; batch/streaming FP-parity tests widen tolerance only under ASAN/UBSAN builds (#39).
  • Dependency bumps: build-system numpy 2.4.4 → 2.4.5 (#24); prek-action and osv-scanner-action (#22, #23).

Full changelog: see CHANGELOG.md.