Breaking Changes

  • Remove median, pairwise_margin, and signed_rank_margin from public API across all 7 languages. These auxiliary functions are now internal. Callers must remove direct imports/calls to these functions.
    • Rust: removed from pub use re-exports; pairwise_margin and signed_rank_margin modules are now pub(crate)
    • Go: Median removed; PairwiseMargin/SignedRankMargin renamed to unexported
    • C#: Toolkit.Median(), Toolkit.SignedRankMargin(), Toolkit.PairwiseMargin() removed
    • Kotlin: median, pairwiseMargin, signedRankMargin marked internal
    • Python: removed from __init__.py exports and __all__
    • TypeScript: removed from index.ts exports
    • R: removed from NAMESPACE exports
  • Remove Pragmastat.Simulations and Pragmastat.Extended C# projects. Simulations have been fully migrated to Rust (pragmastat-sim). The Extended package (Mean, MAD, StdDev estimators) was only used by Simulations and is no longer available.
  • misrate parameter is now optional in shift_bounds, ratio_bounds, and center_bounds across all languages, defaulting to 1e-3. In Go this changes the signature from a required float64 to a variadic ...float64.

Features

  • Default misrate for bounds functions. All bounds functions (shift_bounds, ratio_bounds, center_bounds) now accept an optional misrate parameter defaulting to 1e-3 (DEFAULT_MISRATE constant). This reduces boilerplate for the most common use case.
  • Toolkit synopsis section in manual. New concise function overview at the start of the Toolkit chapter, grouped by One-Sample Estimators, Two-Sample Estimators, and Randomization.
  • Active section highlighting in web sidebar. Scroll-based tracking highlights the current section heading in the sidebar navigation.
  • HSpace support in web output. The Typst-to-MDX converter now handles #h(...) as inline spacing, preserving indentation in generated documentation.

Bug Fixes

  • Restrict TypeScript package exports to public entry point. Added exports field to package.json so consumers cannot deep-import internal modules like pairwiseMargin or signedRankMargin.

Documentation

  • Remove internal functions (median, pairwise_margin, signed_rank_margin) from all README demos, AGENTS.md listings, and example programs across all 7 languages.
  • Remove broken \link{} cross-references to internal functions in R .Rd files.
  • Reorder misrate recommendations in manual: 1e-3 for everyday analysis (primary), 1e-6 for critical decisions (secondary).

Internal

  • Rust: move median from pragmastat to pragmastat-sim crate, where it is actually used.
  • Rust: move pairwise_margin and signed_rank_margin reference/error tests from integration test files into #[cfg(test)] blocks within each module.
  • C#: remove dead MedianEstimator after Pragmastat.Extended removal.
  • Manual: reorganize toolkit sections (One-Sample, Two-Sample, Randomization, Auxiliary) and study sections (Summary Estimator Properties, Reframings, Notes) under group headings.

Full Changelog: https://github.com/AndreyAkinshin/pragmastat/compare/v7.0.1...v8.0.0

Release notes generated by herald v1.0.4