Skip to content

v0.1.1 — Hardening Sprints 1–5

Choose a tag to compare

@anulum anulum released this 02 Mar 00:30
· 3516 commits to main since this release

What's Changed

16 commits of hardening since v0.1.0, across 5 focused sprints:

Changed

  • Migrate remaining try/except ImportError probe-imports to importlib.util.find_spec with lazy imports
  • Remove dead _HAS_RUST assignments and unused imports
  • Add #[must_use] to all pure public Rust functions; enable must_use_candidate = "warn" workspace lint
  • Add crate-level //! doc comments to all 4 library crates
  • Refactor physical.rs Pass 1 from index loop to iter_mut().zip() iterators
  • Make LockSignature, LayerState, UPDEState frozen dataclasses

Fixed

  • Kuramoto coupling correctness in Rust UPDE stepper
  • Regime hysteresis banding (Rust + Python)
  • FFI safety: forbid(undocumented_unsafe_blocks)
  • CI: MSRV check, security job pins, module-linkage guard
  • clippy: eq_op, needless_range_loop, doc lints

Improved

  • CI: pip + cargo caching, rustsec/audit-check action, path-triggered docs workflow
  • Supply chain: Dependabot, publish.yml preflight gate + twine check
  • Coverage: 94% → 98%, fail_under raised to 90%
  • Tests: 188 Python + 124 Rust (312 total)
  • Add Documentation and Changelog URLs to PyPI sidebar

Full Changelog: v0.1.0...v0.1.1