This release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.

Features

  • Add JobOrderPolicy option to sort jobs in numeric order instead of ordinal order (#2770)
  • Add RuntimeValidator to detect benchmarks with null runtime configuration (#2771)

Improvements

  • Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#2562)

Bug Fixes

  • Auto-generate unique job IDs between benchmark runs to prevent ID collisions
  • Skip null runtime validation for in-process toolchain (#2780)
  • Fix flaky memory allocation test (#2782)
  • Fix benchmark test adapter enumeration issues (#2766)

Internal

  • Modify macOS runner image for CI (#2775)
  • Add setting to skip test reports when original workflow is cancelled (#2772)
  • Suppress xunit non-serializable data warnings (#2769)
  • Enable --force-clone for docs-fetch in generate-gh-pages workflow
  • Allow workflow_dispatch for publish-nightly workflow
  • Enhance docs-fetch command with additional options
  • Remove docs/_changelog folder from main branch (migrated to docs-changelog branch)

Full Changelog: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2