This release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.
Breaking Changes
- Deprecated
.WithNuget()job extension in favor of.WithMsBuildArguments()(#2812)
Features
- Add VS Test Adapter filter support for running specific benchmarks (#2788)
- Update NativeAOT instruction set support for .NET 10+ (#2828)
Improvements
- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#2749)
- Improve
IsNetCoreandIsNativeAOTdetection for single-file apps without AOT (#2799) - Use
--nodeReuse:falsefor dotnet CLI commands to improve build isolation (#2814) - Enable assembly signing for debug builds (#2774)
Bug Fixes
- Fix
ArgumentsSourceon external types not working if the argument type is not primitive (#2820) - Fix workload warmup mode not working correctly
- Fix
EtwProfilerfor file paths slightly under 260 characters (#2808) - Fix console logs being output twice when using TestAdapter (#2790)
- Fix
EventProcessor.OnEndValidationStagenot being called when critical validation errors occur (#2816) - Fix
XmlExceptionthrown whenTextReader.Nullis passed toAppConfigGenerator(#2817) - Fix case sensitivity issue in
NativeMemoryLogParserprogram name matching (#2795) - Fix typo in
BuildPlots.R
Internal
- Replace StyleCop.Analyzers with unstable version for improved analysis (#2796)
- Add workflow to run selected tests (#2797)
- Fix flaky
MemoryDiagnosertests on macOS (#2813) - Fix x86 disassembler tests for net462 (#2792)
- Split
TimeConsumingBenchmarkclass to reduce test time - Update
BenchmarkDotNetDiagnoserspackage version (#2805) - Fix comment in package props about
GenerateProgramFile(#2802)
Full Changelog: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3