# ries-rs v2.0.0

Major release focused on faster matching, safer adaptive search, consistent
bindings, and clearer search diagnostics.

## Highlights

- Added `--turbo`, which parallelizes the matching and Newton-refinement phase
  across available cores. It preserves the same single best match as the serial
  path while allowing lower-ranked results to vary with scheduling and thread
  count.
- Reduced pathological candidate scans by capping adaptive search radii to the
  pool's strict acceptance envelope and snapping default-scale `sinpi`, `cospi`,
  and `tanpi` arguments near exact integers and half-integers.
- Added widest-candidate-window attribution to search statistics and JSON output.
- Unified Python and WASM match conversion through the shared `MatchSummary`
  representation and made both bindings reject non-finite targets consistently.
- Corrected PSLQ relation detection, rational fast-match typing, adaptive growth,
  classic streaming order, profile parsing, and target-count overflow handling.
- Python distributions now use the CPython stable ABI and support Python 3.8+
  from one wheel per operating-system/architecture target.

## Breaking changes

- `SearchStats::record_candidate_window` now accepts
  `(&EvaluatedExpr, usize)` instead of only a window width. Rust library callers
  that invoke this method directly must pass the LHS expression associated with
  the measured candidate window.

## Reproducibility and performance

- Use `--deterministic` when byte-identical output is required; `--turbo` is the
  throughput-oriented mode.
- The refreshed level-3 baseline reduced candidate pairs scanned from roughly
  66 million to 8 million on the captured workload. See
  `docs/benchmarks/2026-03-20-level3-baseline.md` for conditions and raw-artifact
  links.

## Distribution notes

- CLI archives are provided for Linux x86_64, macOS x86_64 and arm64, and
  Windows x86_64.
- The release includes browser, Node.js, and bundler WASM packages.
- PyPI artifacts include stable-ABI wheels and a source distribution.
- No Zenodo version DOI is recorded until the v2.0.0 archive has completed. The
  project concept DOI remains `10.5281/zenodo.19101924`.
