Patch release with deterministic pivot selection in Python/R C extensions, API contract fixes in Go and TypeScript, and documentation corrections.
Breaking Changes
- TypeScript:
avgSpreadandavgSpreadBoundsare no longer public exports; they were internal functions mistakenly exported. Use_avgSpread/_avgSpreadBoundsif 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
*AssumptionErrorinstead offmt.Errorffor 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-10to1e-9across 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