Patch release with deterministic pivot selection in Python/R C extensions, API contract fixes in Go and TypeScript, and documentation corrections.

Breaking Changes

  • TypeScript: avgSpread and avgSpreadBounds are no longer public exports; they were internal functions mistakenly exported. Use _avgSpread / _avgSpreadBounds if you need internal access.

Bug Fixes

  • Python, R: Replace non-deterministic RNG with deterministic middle-element pivot in C extensions (fast_center_c.c, fast_spread.c), fixing non-reproducible results and thread-safety issues.
  • Go: Bounds functions now return *AssumptionError instead of fmt.Errorf for invalid misrate arguments, matching the documented API contract. Reference tests now handle error test cases for basic estimators.
  • Rust: Reference tests now report errors instead of silently skipping failed non-error test cases.

Documentation

  • Fix Go badge link in root README (go/v4 → go/v10).
  • Update install/dependency version references in R and Rust READMEs.
  • Correct tolerance from 1e-10 to 1e-9 across all 7 language AGENTS.md files.

Full Changelog: https://github.com/AndreyAkinshin/pragmastat/compare/v10.0.3...v10.0.4

Release notes generated by herald v1.0.4