Breaking Changes

  • Upgraded Pragmastat dependency from 10.0.0 to 11.1.0; several adapter changes were required:
    • MeasurementUnit constructor now requires a family parameter; updated FrequencyUnit, SizeUnit, PercentUnit, TimeUnit
    • NumberUnit/RatioUnit/DisparityUnit subclasses removed; use MeasurementUnit.Number/.Ratio/.Disparity static fields instead
    • NumberValue/RatioValue/DisparityValue wrappers removed; ToThreshold(double) replaces ToThreshold(NumberValue)
    • AbbreviationAscii removed; use Abbreviation everywhere
    • UnitPresentation parameter dropped from MeasurementFormatter.Format
    • SampleFormatter/MeasurementFormatter/MeasurementUnitFormatter base classes removed; PerfolizerMeasurementFormatter, PerfolizerMeasurementUnitFormatter, and PerfolizerSampleFormatter rewritten as standalone classes
    • Estimator.Estimate() now returns Measurement instead of double
    • TimeUnit.Microsecond abbreviation changed from μs to us
  • ShamosEstimator is now marked [Obsolete]; use SpreadEstimator instead

Improvements

  • ShamosEstimator now delegates its raw spread computation to SpreadEstimator (backed by FastSpread), replacing an O(n²) pairwise helper with an O(n log n) implementation; bias correction factors are preserved

Internal

  • Removed LocationEstimatorSimulation and EfficiencySimulation; this coverage is provided by pragmastat's own Rust simulation (rs:sim avg-drift)
  • CI workflow now triggers on all branches

Full Changelog: https://github.com/AndreyAkinshin/perfolizer/compare/v0.6.7...v0.7.0

Release notes generated by herald v1.0.4