A maintenance release with improved cross-platform compatibility, a new feature for referencing external types in source attributes, and several bug fixes for ARM CPUs and unsupported operating systems.

Features

  • Allow [ArgumentsSource] and [ParamsSource] to reference methods in other types via new constructor overload: [ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))] (#2748)

Bug Fixes

  • Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring REASON_CONTEXT to use proper union structure (#2745, #2756)
  • Fix Console.CancelKeyPress crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#2739, #2741)
  • Fix CPU detection crash on unsupported operating systems by returning CpuInfo.Unknown (#2740)
  • Support .slnx solution file format when searching for solution files (#2764)

Improvements

  • Bump Perfolizer: 0.5.2 → 0.5.3
  • Make ExporterBase.GetArtifactFullName accessibility modifier more permissive

Internal

  • Update .NET SDK version to 8.0.410 (#2762)
  • Update Microsoft.NET.Test.Sdk and other package dependencies (#2750, #2755)
  • Rework changelog generation to use docs-changelog branch (#93d12c42)
  • Fix line-endings to LF in several files
  • Update GitHub Actions workflows

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