Skip to content

v0.2.3

Choose a tag to compare

@jake1104 jake1104 released this 30 Oct 09:18
· 29 commits to main since this release

GrayNFS v0.2.3

0.x carries no compatibility promise.

Highlights

  • Knuth-multiplier kept: k=61 picked on hostile-105 degree-2, wall 2204 to 757 ms (2.9x) with factors byte-identical (relations 3269 to 1177); k=1 cells bit-identical; standing pin updated to 1177/926 (3269/907 historical).
  • Worker-thread join().expect replaced with a FactorError fallback, so a panicking worker can no longer take down the run; downstream empty-candidates path panic-free.
  • Code diet with zero behavior change: staged-but-never-wired siqs tailfit API removed (-247 lines), dead lattice/poly/linear-algebra fns and builders removed, hashbrown/smallvec/core-serde_json deps dropped, full use_squfof chain removed.

Breaking changes

  • use_squfof / --no-squfof chain removed (dead surface; CascadeStage::Squfof variant and name arm deleted).
  • is_prime_proof default stays aks (carried from v0.2.1): over-64-bit inputs return clean False (unproven, not composite).

What's changed

  • Algebraic y=0-branch bug fixed in both directions (TDD red then fixed, multiply-back invariant); unreachable-in-production verified via caller-less with_linear.
  • Error display and docs: UnsupportedDegree message fixed to 2-5, is_prime_proof raw default aligned to aks, 13-point docs batch, check_invariants.py pins M1/M2 plus M3/M8/M11 (31 checks green with tamper-reds verified).
  • SIQS cleanup: stale --no-squfof README row deleted (api-surface back to 14/14); cascade stage-2 width memo and per-block LP switch killed with exact reverts.
  • Dead-code diet: lattice_sieve cluster, poly helpers, unused linear-algebra fns and builders, and the full use_squfof/--no-squfof chain removed (92/92 green); rust-version 1.85 plus license metadata applied.
  • KILL ledger (no production change, exact reverts): 16.1, 17.1, 26.1, 27.1, 32.1, 37.2, 38.1 (+38.2 STOP), 39.1, 40.2; 18.x/19.x gated-closed, 7.2/9.2 declined, 20.1 aborted by user order.

Benchmarks

  • All benchmark cells unchanged (version-marking release; no factorization-logic change in the bump itself).
  • Standing pin updated to 1177/926 (3269/907 kept as historical); k=1 cells bit-identical.

Full Changelog: v0.2.2...v0.2.3