{"id":5008,"name":"BenchmarkDotNet","ecosystem":"nuget","repository_url":null,"issues_count":969,"created_at":"2025-06-06T17:08:27.075Z","updated_at":"2025-06-06T17:08:27.075Z","purl":"pkg:nuget/BenchmarkDotNet","unique_repositories_count":286,"unique_repositories_count_past_30_days":5,"recent_issues":[{"uuid":"4489124486","node_id":"PR_kwDOSjQB2s7dqTDf","number":9,"state":"closed","title":"Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-05-20T20:07:15.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-20T18:56:04.000Z","updated_at":"2026-05-20T20:08:39.000Z","time_to_close":4271,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.14.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/jkindrix/NetXlsx/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkindrix%2FNetXlsx/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"},{"uuid":"4416327759","node_id":"PR_kwDOSTlZyc7aBlUr","number":18,"state":"closed","title":"Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-13T05:50:11.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-10T17:34:16.000Z","updated_at":"2026-05-13T05:50:21.000Z","time_to_close":216955,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.14.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Sarmkadan/grpc-web-bridge/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sarmkadan%2Fgrpc-web-bridge/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"},{"uuid":"4373312424","node_id":"PR_kwDOSTcu4s7X13M-","number":7,"state":"closed","title":"Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-04T10:25:14.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-03T23:48:22.000Z","updated_at":"2026-05-04T10:25:16.000Z","time_to_close":38212,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.14.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/eupassarin/SimpleSign/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eupassarin%2FSimpleSign/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"},{"uuid":"4369910965","node_id":"PR_kwDON6AKvs7Xr0bd","number":108,"state":"open","title":"chore: Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-02T20:11:56.000Z","updated_at":"2026-05-02T22:16:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore: Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e","html_url":"https://github.com/Testably/aweXpect.Web/pull/108","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Testably%2FaweXpect.Web/issues/108","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/108/packages"},{"uuid":"4302611746","node_id":"PR_kwDODpSkT87UTGf1","number":179,"state":"open","title":"Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-21T12:35:05.000Z","updated_at":"2026-04-21T12:41:15.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.14.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/corvus-dotnet/Corvus.Extensions.System.Text.Json/pull/179","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/corvus-dotnet%2FCorvus.Extensions.System.Text.Json/issues/179","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/179/packages"},{"uuid":"4288738044","node_id":"PR_kwDORoG8187Tnc3X","number":9,"state":"open","title":"chore(deps): Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-18T17:43:55.000Z","updated_at":"2026-04-18T17:43:55.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.14.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Harol-Reina/Asterisk.Sdk/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Harol-Reina%2FAsterisk.Sdk/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"},{"uuid":"4205157774","node_id":"PR_kwDOR5tGS87P9zVh","number":8,"state":"closed","title":"chore: Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-04T15:29:55.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-04T15:19:40.000Z","updated_at":"2026-04-04T15:30:04.000Z","time_to_close":615,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore: Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.14.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/aweXpect/Mockolate.Migration/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aweXpect%2FMockolate.Migration/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"},{"uuid":"4202034191","node_id":"PR_kwDORBG5ls7P3Xc8","number":6,"state":"open","title":"Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-03T20:09:47.000Z","updated_at":"2026-04-03T20:10:59.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.14.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Adrian01987/RestLib/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adrian01987%2FRestLib/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"},{"uuid":"4197266240","node_id":"PR_kwDORwxDGc7PrycP","number":44,"state":"open","title":"Bump BenchmarkDotNet and 2 others","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-02T22:24:05.000Z","updated_at":"2026-04-02T22:31:07.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","repository_url":"https://github.com/dotnet/BenchmarkDotNet"},{"name":"2 others"}],"path":null,"ecosystem":"nuget"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nUpdated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\nUpdated [Microsoft.CodeAnalysis.CSharp](https://github.com/dotnet/roslyn) from 4.11.0 to 4.14.0.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [Microsoft.CodeAnalysis.CSharp's releases](https://github.com/dotnet/roslyn/releases)._\n\nNo release notes found for this version range.\n\nCommits viewable in [compare view](https://github.com/dotnet/roslyn/commits).\n\u003c/details\u003e\n\nUpdated [Microsoft.CodeAnalysis.CSharp](https://github.com/dotnet/roslyn) from 4.11.0 to 5.3.0.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [Microsoft.CodeAnalysis.CSharp's releases](https://github.com/dotnet/roslyn/releases)._\n\n## 5.0.4\n\n[Release](https://github.com/dotnet/core/releases/tag/v5.0.4)\n\n## 5.0.2\n\n[Release Notes](https://github.com/dotnet/core/blob/master/release-notes/5.0/5.0.2/5.0.2.md)\n[Install Instructions](https://github.com/dotnet/core/blob/master/release-notes/5.0/5.0.2/5.0.2-install-instructions.md)\n\n# Repos\n\n* [Core](https://github.com/dotnet/core/releases/tag/v5.0.2)\n\n## 5.0.1\n\n[Release Notes](https://github.com/dotnet/core/blob/master/release-notes/5.0/5.0.1/5.0.1.md)\n[Install Instructions](https://github.com/dotnet/core/blob/master/release-notes/5.0/5.0.1/5.0.1-install-instructions.md)\n\n# Repo\n\n* [Core](https://github.com/dotnet/core/releases/tag/v5.0.1)\n\nCommits viewable in [compare view](https://github.com/dotnet/roslyn/commits).\n\u003c/details\u003e\n\nUpdated Microsoft.CodeAnalysis.CSharp.Workspaces from 4.11.0 to 5.3.0.","html_url":"https://github.com/kommundsen/Conjecture/pull/44","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kommundsen%2FConjecture/issues/44","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/44/packages"},{"uuid":"4197234092","node_id":"PR_kwDORwxDGc7Prsan","number":38,"state":"closed","title":"Bump BenchmarkDotNet and Microsoft.CodeAnalysis.CSharp","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-02T22:24:08.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-02T22:12:45.000Z","updated_at":"2026-04-02T22:24:10.000Z","time_to_close":683,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","repository_url":"https://github.com/dotnet/BenchmarkDotNet"},{"name":"Microsoft.CodeAnalysis.CSharp","repository_url":"https://github.com/dotnet/roslyn"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\nUpdated [Microsoft.CodeAnalysis.CSharp](https://github.com/dotnet/roslyn) from 4.11.0 to 4.14.0.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [Microsoft.CodeAnalysis.CSharp's releases](https://github.com/dotnet/roslyn/releases)._\n\nNo release notes found for this version range.\n\nCommits viewable in [compare view](https://github.com/dotnet/roslyn/commits).\n\u003c/details\u003e\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/kommundsen/Conjecture/pull/38","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kommundsen%2FConjecture/issues/38","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38/packages"},{"uuid":"4061889124","node_id":"PR_kwDODRR0_87J5Q-X","number":1063,"state":"closed","title":"Bump BenchmarkDotNet from 0.12.1 to 0.15.8","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-12T03:36:32.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-12T03:36:05.000Z","updated_at":"2026-03-12T03:36:34.000Z","time_to_close":27,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.12.1","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.12.1 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\n## 0.14.0\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.14.0.html\n\n## Highlights\n\n* Introduce `BenchmarkDotNet.Diagnostics.dotMemory` [#​2549](https://github.com/dotnet/BenchmarkDotNet/pull/2549): memory allocation profile of your benchmarks using [dotMemory](https://www.jetbrains.com/dotmemory/), see @​BenchmarkDotNet.Samples.IntroDotMemoryDiagnoser\n* Introduce `BenchmarkDotNet.Exporters.Plotting` [#​2560](https://github.com/dotnet/BenchmarkDotNet/pull/2560): plotting via [ScottPlot](https://scottplot.net/) (initial version)\n* Multiple bugfixes\n* The default build toolchains have been updated to pass `IntermediateOutputPath`, `OutputPath`, and `OutDir` properties to the `dotnet build` command. This change forces all build outputs to be placed in a new directory generated by BenchmarkDotNet, and fixes many issues that have been reported with builds. You can also access these paths in your own `.csproj` and `.props` from those properties if you need to copy custom files to the output.\n\n## Bug fixes\n\n* Fixed multiple build-related bugs including passing MsBuildArguments and .Net 8's `UseArtifactsOutput`.\n\n## Breaking Changes\n\n* `DotNetCliBuilder` removed `retryFailedBuildWithNoDeps` constructor option.\n* `DotNetCliCommand` removed `RetryFailedBuildWithNoDeps` property and `BuildNoRestoreNoDependencies()` and `PublishNoBuildAndNoRestore()` methods (replaced with `PublishNoRestore()`).\n\n## 0.13.12\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.13.12.html\n\n## Highlights\n\nThe biggest highlight of this release if our new VSTest Adapter,  which allows to run benchmarks as unit tests in your favorite IDE!\nThe detailed guide can be found [here](https://benchmarkdotnet.org/articles/features/vstest.html).\n\nThis release also includes to a minor bug fix that caused incorrect job id generation:  fixed job id generation ([#​2491](https://github.com/dotnet/BenchmarkDotNet/pull/2491)).\n\nAlso, the target framework in the BenchmarkDotNet templates was bumped to .NET 8.0.\n\n## 0.13.11\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.13.11.html\n\nIn the [v0.13.11](https://github.com/dotnet/BenchmarkDotNet/issues?q=milestone:v0.13.11) scope,  4 issues were resolved and 8 pull requests were merged. This release includes 28 commits by 7 contributors.\n\n## Resolved issues (4)\n\n* [#​2060](https://github.com/dotnet/BenchmarkDotNet/issues/2060) NativeAOT benchmark started from .Net Framework host doesn't have all intrinsics enabled (assignee: [@​adamsitnik](https://github.com/adamsitnik))\n* [#​2233](https://github.com/dotnet/BenchmarkDotNet/issues/2233) Q: Include hardware counters in XML output (assignee: [@​nazulg](https://github.com/nazulg))\n* [#​2388](https://github.com/dotnet/BenchmarkDotNet/issues/2388) Include AVX512 in listed HardwareIntrinsics\n* [#​2463](https://github.com/dotnet/BenchmarkDotNet/issues/2463) Bug. Native AOT .NET 7.0 doesn't work. System.NotSupportedException: X86Serialize (assignee: [@​adamsitnik](https://github.com/adamsitnik))\n\n## Merged pull requests (8)\n\n* [#​2412](https://github.com/dotnet/BenchmarkDotNet/pull/2412) Add HardwareIntrinsics AVX-512 info (by [@​nietras](https://github.com/nietras))\n* [#​2458](https://github.com/dotnet/BenchmarkDotNet/pull/2458) Adds Metrics Columns to Benchmark Report Output (by [@​nazulg](https://github.com/nazulg))\n* [#​2459](https://github.com/dotnet/BenchmarkDotNet/pull/2459) Enable MemoryDiagnoser on Legacy Mono (by [@​MichalPetryka](https://github.com/MichalPetryka))\n* [#​2462](https://github.com/dotnet/BenchmarkDotNet/pull/2462) update SDK to .NET 8 (by [@​adamsitnik](https://github.com/adamsitnik))\n* [#​2464](https://github.com/dotnet/BenchmarkDotNet/pull/2464) Use \"native\" for .NET 8, don't use \"serialize\" for .NET 7 (by [@​adamsitnik](https://github.com/adamsitnik))\n* [#​2465](https://github.com/dotnet/BenchmarkDotNet/pull/2465) fix NativeAOT toolchain and tests (by [@​adamsitnik](https://github.com/adamsitnik))\n* [#​2468](https://github.com/dotnet/BenchmarkDotNet/pull/2468) Add OperationsPerSecondAttribute (by [@​DarkWanderer](https://github.com/DarkWanderer))\n* [#​2475](https://github.com/dotnet/BenchmarkDotNet/pull/2475) Fix some tests (by [@​timcassell](https://github.com/timcassell))\n\n## Commits (28)\n\n* [bb55e6](https://github.com/dotnet/BenchmarkDotNet/commit/bb55e6b067829c74e04838255e96d949857d5731) Set next BenchmarkDotNet version: 0.13.11 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [db4d8b](https://github.com/dotnet/BenchmarkDotNet/commit/db4d8b6d8a652db4bb1e4b1b4b0cd9df917e9584) Adds Metrics Columns to Benchmark Report Output (#​2458) (by [@​nazulg](https://github.com/nazulg))\n* [e93b2b](https://github.com/dotnet/BenchmarkDotNet/commit/e93b2b1b332fc90da4934025e2edba7d67a15b54) Use \"native\" for .NET 8, don't use \"serialize\" for .NET 7 (#​2464) (by [@​adamsitnik](https://github.com/adamsitnik))\n* [127157](https://github.com/dotnet/BenchmarkDotNet/commit/127157924014afe2d0b58398d682381a855d7c34) [build] Fix spellcheck-docs workflow (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [8a02ec](https://github.com/dotnet/BenchmarkDotNet/commit/8a02ec28d55529f9be0ea66d843049738b2be8fa) [build] Use our .NET SDK on Windows (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [1b39e8](https://github.com/dotnet/BenchmarkDotNet/commit/1b39e8e6d5437bdbf0bb62986e680e54b19cc873) Suppress NU1903 in IntegrationTests.ManualRunning.MultipleFrameworks (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [e90311](https://github.com/dotnet/BenchmarkDotNet/commit/e90311539d78e4bf9d90c6aeae9f40219b31a4ac) update SDK to .NET 8 (#​2462) (by [@​adamsitnik](https://github.com/adamsitnik))\n* [fc7afe](https://github.com/dotnet/BenchmarkDotNet/commit/fc7afeddcff7a52ccee165ac99ba216e8eb138ab) Enable MemoryDiagnoser on Legacy Mono (#​2459) (by [@​MichalPetryka](https://github.com/MichalPetryka))\n* [630622](https://github.com/dotnet/BenchmarkDotNet/commit/630622b6df3192f766ffa03ff07b5086e70cb264) fix NativeAOT toolchain and tests (#​2465) (by [@​adamsitnik](https://github.com/adamsitnik))\n* [536a28](https://github.com/dotnet/BenchmarkDotNet/commit/536a28e0ff2196255fb120aa0d39e40bdbde454a) Add HardwareIntrinsics AVX-512 info (#​2412) (by [@​nietras](https://github.com/nietras))\n* [3fa045](https://github.com/dotnet/BenchmarkDotNet/commit/3fa0456495cac82b536902b101a2972c62c3e4a8) Add OperationsPerSecondAttribute (#​2468) (by [@​DarkWanderer](https://github.com/DarkWanderer))\n* [0583cb](https://github.com/dotnet/BenchmarkDotNet/commit/0583cb90739b3ee4b8258f807ef42cdc3243f82f) Bump Microsoft.NETCore.Platforms: 5.0.0-\u003e6.0.0 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [2e62b9](https://github.com/dotnet/BenchmarkDotNet/commit/2e62b9b0a8c80255914e9e11d06d92871df40f85) Remove netcoreapp2.0;net461 from TFMs for IntegrationTests.ManualRunning.Mult... (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [92fa3f](https://github.com/dotnet/BenchmarkDotNet/commit/92fa3f834e0519d32fd8fc97e26aa82f9626b241) Bump xunit: 2.5.0-\u003e2.6.2 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [01e220](https://github.com/dotnet/BenchmarkDotNet/commit/01e2201c826dd44e089a22c40d8c3abecba320fa) Bump xunit.runner.visualstudio: 2.5.0-\u003e2.5.4 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [29a94c](https://github.com/dotnet/BenchmarkDotNet/commit/29a94ce301dac6121d1e0d1a0d783a6491c27703) Bump Verify.Xunit: 20.3.2-\u003e20.8.2 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [538e0e](https://github.com/dotnet/BenchmarkDotNet/commit/538e0e1771be037ef587b08cb52515ce6daf5c0e) Bump Microsoft.NET.Test.SDK: 17.6.2-\u003e17.8.0 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [136e4b](https://github.com/dotnet/BenchmarkDotNet/commit/136e4bb3f18a419df40c18a5430a29243ab57fd8) Remove explicit Microsoft.NETFramework.ReferenceAssemblies reference in Bench... (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [423b84](https://github.com/dotnet/BenchmarkDotNet/commit/423b8473d02d5bd59617675190660222198bf7d0) [build] Bump Docfx.App: 2.71.1-\u003e2.74.0 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [718953](https://github.com/dotnet/BenchmarkDotNet/commit/718953674a83da4de6563368f38776048024f0d3) [build] Bump Octokit: 7.0.0-\u003e9.0.0 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [0cce91](https://github.com/dotnet/BenchmarkDotNet/commit/0cce9120bd717e31a4a6a4a396faa8f38fd3cc08) [build] Bump Cake.Frosting: 3.2.0-\u003e4.0.0 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [4d5dc9](https://github.com/dotnet/BenchmarkDotNet/commit/4d5dc9ca13072d384cabf565bc3622f8de5626d7) Fix Newtonsoft.Json v13.0.1 in BenchmarkDotNet.IntegrationTests (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [c7ec60](https://github.com/dotnet/BenchmarkDotNet/commit/c7ec60ad6d4e54a99463eb46a0307196cc040940) Enable UserCanSpecifyCustomNuGetPackageDependency test on Linux (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [a572db](https://github.com/dotnet/BenchmarkDotNet/commit/a572db119798fb58b24437ccef6a364efd59e836) Bump C# LangVersion: 11.0-\u003e12.0 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [b4ac9d](https://github.com/dotnet/BenchmarkDotNet/commit/b4ac9df9f7890ca9669e2b9c8835af35c072a453) Nullability cleanup (2023-11-26) (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [5557ae](https://github.com/dotnet/BenchmarkDotNet/commit/5557aee0638bda38001bd6c2000164d9b96d315a) [build] Bump Docfx.App: 2.74.0-\u003e2.74.1 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n ... (truncated)\n\n## 0.13.10\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.13.10.html\n\n## Highlights\n\nInitial support of .NET 9 and minor bug fixes.\n\n## Details\n\nIn the [v0.13.10](https://github.com/dotnet/BenchmarkDotNet/issues?q=milestone:v0.13.10) scope, \n2 issues were resolved and 3 pull requests were merged.\nThis release includes 10 commits by 4 contributors.\n\n## Resolved issues (2)\n\n* [#​2436](https://github.com/dotnet/BenchmarkDotNet/issues/2436) BenchmarkDotNet Access Denied Error on WSL2 when Writing to '/mnt/c/DumpStack.log.tmp' (assignee: [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [#​2455](https://github.com/dotnet/BenchmarkDotNet/issues/2455) .NET 9 support (assignee: [@​adamsitnik](https://github.com/adamsitnik))\n\n## Merged pull requests (3)\n\n* [#​2447](https://github.com/dotnet/BenchmarkDotNet/pull/2447) Add support for wasm/net9.0 (by [@​radical](https://github.com/radical))\n* [#​2453](https://github.com/dotnet/BenchmarkDotNet/pull/2453) feat: set RuntimeHostConfigurationOption on generated project (by [@​workgroupengineering](https://github.com/workgroupengineering))\n* [#​2456](https://github.com/dotnet/BenchmarkDotNet/pull/2456) implement full .NET 9 support (by [@​adamsitnik](https://github.com/adamsitnik))\n\n## Commits (10)\n\n* [c27152](https://github.com/dotnet/BenchmarkDotNet/commit/c27152b9d7b6391501abcf7e8edcb2804999622f) Set next BenchmarkDotNet version: 0.13.10 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [2e96d2](https://github.com/dotnet/BenchmarkDotNet/commit/2e96d29453a804cfc1b92fffeea94c866522167a) Don't show AssemblyInformationalVersion metadata in BDN BrandVersion (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [d17c6a](https://github.com/dotnet/BenchmarkDotNet/commit/d17c6ad0bd8ac15d83ced0a7522de7dd51526ad4) Support Windows 11 23H2 (10.0.22631) in OsBrandStringHelper (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [af9c5c](https://github.com/dotnet/BenchmarkDotNet/commit/af9c5c6013b4e661cda0ff8fed40a50ae62d5a74) Exception handling in DotNetCliGenerator.GetRootDirectory, fix #​2436 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [e11136](https://github.com/dotnet/BenchmarkDotNet/commit/e11136897bdf26c004076bcbe812bb4ae60f8859) [build] Bump Docfx.App: 2.71.0-\u003e2.71.1 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [7b342f](https://github.com/dotnet/BenchmarkDotNet/commit/7b342f5cfb63c73708f3e69dde33d7430a3c0401) Add support for wasm/net9.0 (#​2447) (by [@​radical](https://github.com/radical))\n* [e17068](https://github.com/dotnet/BenchmarkDotNet/commit/e170684208103ca5ba4212ad8dc7c2aad5cf02d4) Adjust 'Failed to set up high priority' message (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [0a734a](https://github.com/dotnet/BenchmarkDotNet/commit/0a734a94a13733c2950d7edbac08499c6f2c108a) feat: set RuntimeHostConfigurationOption on generated project (#​2453) (by [@​workgroupengineering](https://github.com/workgroupengineering))\n* [ae4914](https://github.com/dotnet/BenchmarkDotNet/commit/ae49148a92c358676190772803fe0ed532814ce3) implement full .NET 9 support (#​2456) (by [@​adamsitnik](https://github.com/adamsitnik))\n* [40c414](https://github.com/dotnet/BenchmarkDotNet/commit/40c4142734ce68bdfcbccf7086ed2b724e9428bc) Prepare v0.13.10 changelog (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n\n## Contributors (4)\n\n* Adam Sitnik ([@​adamsitnik](https://github.com/adamsitnik))\n* Andrey Akinshin ([@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* Ankit Jain ([@​radical](https://github.com/radical))\n* workgroupengineering ([@​workgroupengineering](https://github.com/workgroupengineering))\n\nThank you very much!\n\n\n## 0.13.9\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.13.9.html\n\nIn the [v0.13.9](https://github.com/dotnet/BenchmarkDotNet/issues?q=milestone:v0.13.9) scope, 3 issues were resolved and 7 pull requests were merged. This release includes 26 commits by 5 contributors.\n\n## Resolved issues (3)\n\n* [#​2054](https://github.com/dotnet/BenchmarkDotNet/issues/2054) Custom logging/visualization during the benchmark run (assignee: [@​caaavik-msft](https://github.com/caaavik-msft))\n* [#​2404](https://github.com/dotnet/BenchmarkDotNet/issues/2404) Using `DisassemblyDiagnoser` in GitHub Actions (assignee: [@​timcassell](https://github.com/timcassell))\n* [#​2432](https://github.com/dotnet/BenchmarkDotNet/issues/2432) Something went wrong with outliers when using `--launchCount` (assignee: [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n\n## Merged pull requests (7)\n\n* [#​1882](https://github.com/dotnet/BenchmarkDotNet/pull/1882) use coalesce instead of join (by [@​askazakov](https://github.com/askazakov))\n* [#​2413](https://github.com/dotnet/BenchmarkDotNet/pull/2413) Fix linux crash from disassembler (by [@​timcassell](https://github.com/timcassell))\n* [#​2420](https://github.com/dotnet/BenchmarkDotNet/pull/2420) Add event processor functionality (by [@​caaavik-msft](https://github.com/caaavik-msft))\n* [#​2421](https://github.com/dotnet/BenchmarkDotNet/pull/2421) More nullability warnings fixes (by [@​alinasmirnova](https://github.com/alinasmirnova))\n* [#​2433](https://github.com/dotnet/BenchmarkDotNet/pull/2433) Fix build errors with latest sdk (by [@​timcassell](https://github.com/timcassell))\n* [#​2434](https://github.com/dotnet/BenchmarkDotNet/pull/2434) Fix Event Processors not being copied in ManualConfig.Add (by [@​caaavik-msft](https://github.com/caaavik-msft))\n* [#​2435](https://github.com/dotnet/BenchmarkDotNet/pull/2435) Treat warnings not as errors in manual test project (by [@​timcassell](https://github.com/timcassell))\n\n## Commits (26)\n\n* [ece5cc](https://github.com/dotnet/BenchmarkDotNet/commit/ece5ccfc91d92b610338b05da73d2a91508e2837) Set next BenchmarkDotNet version: 0.13.9 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [ad9376](https://github.com/dotnet/BenchmarkDotNet/commit/ad937654174e521741aac620e16635a8ff14b1c9) Add event processor functionality (#​2420) (by [@​caaavik-msft](https://github.com/caaavik-msft))\n* [8227bb](https://github.com/dotnet/BenchmarkDotNet/commit/8227bbfa5f4d22c51f9c3856576d3680d8fc0a92) Address PR feedback (#​2434) (by [@​caaavik-msft](https://github.com/caaavik-msft))\n* [46b3c0](https://github.com/dotnet/BenchmarkDotNet/commit/46b3c0171709c48f58966fdf2665b5f292ff6467) Fix linux crash from disassembler (#​2413) (by [@​timcassell](https://github.com/timcassell))\n* [967a97](https://github.com/dotnet/BenchmarkDotNet/commit/967a975773ebd7a9744f3875220c7db8fa647957) Fix build errors with latest sdk. (#​2433) (by [@​timcassell](https://github.com/timcassell))\n* [dd7a9b](https://github.com/dotnet/BenchmarkDotNet/commit/dd7a9b7cd132e522951eeb6916a3aa27a24ebf59) Treat warnings not as errors in manual test project (#​2435) (by [@​timcassell](https://github.com/timcassell))\n* [583874](https://github.com/dotnet/BenchmarkDotNet/commit/58387457bd67c62fda9c831329401fe0de4ae86f) Print full stacktrace for GenerateException, see #​2436 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [6e3a15](https://github.com/dotnet/BenchmarkDotNet/commit/6e3a159d3d3ae0d7eecc759c23a7bb0124e673df) Support WSL detection in RuntimeInformation (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [8986e0](https://github.com/dotnet/BenchmarkDotNet/commit/8986e053c2fbc0befdef7d6e1a116a7bc83da282) Update myget url in README (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [516bd6](https://github.com/dotnet/BenchmarkDotNet/commit/516bd68238c38bb6f622f71039d7b91f3f33776d) Enabled nullability for BenchmarkDotNet.Diagnostics.dotTrace.csproj (by [@​alinasmirnova](https://github.com/alinasmirnova))\n* [5428eb](https://github.com/dotnet/BenchmarkDotNet/commit/5428ebdb8b6e9a847bb8ae6cf129b7dd9d784454) Fixed nullability warnings in methods signatures (by [@​alinasmirnova](https://github.com/alinasmirnova))\n* [7fbbc9](https://github.com/dotnet/BenchmarkDotNet/commit/7fbbc9f506cee0048f2ea6e7af15fbe1aa0bd7f7) Removed CanBeNull attribute (by [@​alinasmirnova](https://github.com/alinasmirnova))\n* [9d7350](https://github.com/dotnet/BenchmarkDotNet/commit/9d7350c21b30c2655705ede68929243846b8a407) Fixed warnings on null assignments (by [@​alinasmirnova](https://github.com/alinasmirnova))\n* [b43d28](https://github.com/dotnet/BenchmarkDotNet/commit/b43d280f1673526dff865f5fbfc1848c846eacdd) Fixed warnings in EngineEventLogParser (by [@​alinasmirnova](https://github.com/alinasmirnova))\n* [148165](https://github.com/dotnet/BenchmarkDotNet/commit/148165baf92233a3e3e67efc552e7528edb2fc78) Removed an unnecessary check (by [@​alinasmirnova](https://github.com/alinasmirnova))\n* [465aaf](https://github.com/dotnet/BenchmarkDotNet/commit/465aaf196a43d21b516edf6e9028c672c39937b9) Fixed empty catch warning (by [@​alinasmirnova](https://github.com/alinasmirnova))\n* [9a7bb7](https://github.com/dotnet/BenchmarkDotNet/commit/9a7bb7d5d6c72a01f991d869b9106364c26b1fce) [build] Bump: Microsoft.DocAsCode.App 2.67.5 -\u003e Docfx.App 2.71.0 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [9dd7b6](https://github.com/dotnet/BenchmarkDotNet/commit/9dd7b6f4b2511bbd30ba0f6d4999f7f58cf161a6) Fix license badge link in README (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [134b8e](https://github.com/dotnet/BenchmarkDotNet/commit/134b8edd09ad7dad0a17728eae4e9f50e16d3fe0) [build] Automatic NextVersion evaluation (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [8090d9](https://github.com/dotnet/BenchmarkDotNet/commit/8090d995e847c3c3d84db1fd5acbee312a75cf81) Suppress NETSDK1138 (TFM out of support warning) (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [af610e](https://github.com/dotnet/BenchmarkDotNet/commit/af610eec251bfa74f7317eaec915df9b905c979b) Bump .NET SDK: 7.0.305-\u003e7.0.401 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [8838ed](https://github.com/dotnet/BenchmarkDotNet/commit/8838ed4bf74377642d32774c558c0955e67c0faf) [build] Fix docfx build warnings (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [2d379b](https://github.com/dotnet/BenchmarkDotNet/commit/2d379b37310983dbe645a2129066d9af65d9e0d7) Remove outlier consistency check, fix #​2432 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [00628a](https://github.com/dotnet/BenchmarkDotNet/commit/00628ab31b79a78e1c22c298ca0086bdf28065a7) use coalesce instead of join (by [@​askazakov](https://github.com/askazakov))\n* [411a6e](https://github.com/dotnet/BenchmarkDotNet/commit/411a6e7594c45c9ffa55b0b6caecb7f6ed1b3081) Prepare v0.13.9 changelog (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [228a46](https://github.com/dotnet/BenchmarkDotNet/commit/228a464e8be6c580ad9408e98f18813f6407fb5a) Rollback docfx.json (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n\n## Contributors (5)\n ... (truncated)\n\n## 0.13.8\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.13.8.html\n\n## Highlights\n\nThis release contains important bug fixes.\n\n## What's Changed\n* Issue2394 multiple markdown exporters not possible even with different names by @​bstordrup in https://github.com/dotnet/BenchmarkDotNet/pull/2395\n* Make MarkdownExporter ctor and Dialect protected by @​nietras in https://github.com/dotnet/BenchmarkDotNet/pull/2407\n* Refactor out base TextLogger from StreamLogger by @​nietras in https://github.com/dotnet/BenchmarkDotNet/pull/2406\n* - update the templates install command to reflect dotnet cli updates by @​baywet in https://github.com/dotnet/BenchmarkDotNet/pull/2415\n* Update stub decoding for .NET 8 for disassemblers by @​janvorli in https://github.com/dotnet/BenchmarkDotNet/pull/2416\n* Enable nullability for BenchmarkDotNet.Annotations by @​alinasmirnova in https://github.com/dotnet/BenchmarkDotNet/pull/2418\n* Nullability In BenchmarkDotNet project by @​alinasmirnova in https://github.com/dotnet/BenchmarkDotNet/pull/2419\n* feat: add text justification style by @​Vahdanian in https://github.com/dotnet/BenchmarkDotNet/pull/2410\n* Default to RoslynToolchain by @​timcassell in https://github.com/dotnet/BenchmarkDotNet/pull/2409\n\n## New Contributors\n* @​bstordrup made their first contribution in https://github.com/dotnet/BenchmarkDotNet/pull/2395\n* @​baywet made their first contribution in https://github.com/dotnet/BenchmarkDotNet/pull/2415\n* @​Vahdanian made their first contribution in https://github.com/dotnet/BenchmarkDotNet/pull/2410\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.13.7...v0.13.8\n\n## 0.13.7\n\nThis release contains a bunch of important bug fixes.\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.13.7.html\n\n## What's Changed\n* Improve build for mono aot by @​radical in https://github.com/dotnet/BenchmarkDotNet/pull/2367\n* IComparable fallback for Tuple/ValueTuple by @​mrahhal in https://github.com/dotnet/BenchmarkDotNet/pull/2368\n* Don't copy `PackageReference` in csproj by @​timcassell in https://github.com/dotnet/BenchmarkDotNet/pull/2365\n* Fix regression in parsing arguments with spaces Closes #​2373 by @​kant2002 in https://github.com/dotnet/BenchmarkDotNet/pull/2375\n* `AggressiveOptimization` in `InProcess` toolchains by @​timcassell in https://github.com/dotnet/BenchmarkDotNet/pull/2335\n* Add expected results tests by @​timcassell in https://github.com/dotnet/BenchmarkDotNet/pull/2361\n* [chore]: fix error message by @​BurakTaner in https://github.com/dotnet/BenchmarkDotNet/pull/2379\n* Cancel old jobs on push by @​timcassell in https://github.com/dotnet/BenchmarkDotNet/pull/2380\n* Support `--cli` argument for `CsProjClassicNetToolchain` by @​timcassell in https://github.com/dotnet/BenchmarkDotNet/pull/2381\n* Rebuild .Net Framework projects by @​timcassell in https://github.com/dotnet/BenchmarkDotNet/pull/2370\n* Fix missing import on Debug build by @​caaavik-msft in https://github.com/dotnet/BenchmarkDotNet/pull/2385\n* perfcollect: don't restore symbols for local builds by @​adamsitnik in https://github.com/dotnet/BenchmarkDotNet/pull/2384\n* Fix PlatformNotSupportedException thrown on Android in ConsoleTitler by @​Adam-- in https://github.com/dotnet/BenchmarkDotNet/pull/2390\n\n## New Contributors\n* @​BurakTaner made their first contribution in https://github.com/dotnet/BenchmarkDotNet/pull/2379\n* @​caaavik-msft made their first contribution in https://github.com/dotnet/BenchmarkDotNet/pull/2385\n* @​Adam-- made their first contribution in https://github.com/dotnet/BenchmarkDotNet/pull/2390\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.13.6...v0.13.7\n\n## 0.13.6\n\n## Highlights\n\n* New [BenchmarkDotNet.Diagnostics.dotTrace](https://www.nuget.org/packages/BenchmarkDotNet.Diagnostics.dotTrace) NuGet package. Once this package is installed, you can annotate your benchmarks with the `[DotTraceDiagnoser]` and get a [dotTrace](https://www.jetbrains.com/profiler/) performance snapshot at the end of the benchmark run. [#​2328](https://github.com/dotnet/BenchmarkDotNet/pull/2328)\n* Updated documentation website. We migrated to [docfx](https://dotnet.github.io/docfx/) 2.67 and got the refreshed modern template based on bootstrap 5 with dark/light theme switcher.\n* Updated [BenchmarkDotNet.Templates](https://www.nuget.org/packages/BenchmarkDotNet.Templates). Multiple issues were resolved, now you can create new benchmark projects from terminal or your favorite IDE. [#​1658](https://github.com/dotnet/BenchmarkDotNet/issues/1658) [#​1881](https://github.com/dotnet/BenchmarkDotNet/issues/1881) [#​2149](https://github.com/dotnet/BenchmarkDotNet/issues/2149) [#​2338](https://github.com/dotnet/BenchmarkDotNet/pull/2338)\n* Response file support. Now it's possible to pass additional arguments to BenchmarkDotNet using `@​filename` syntax. [#​2320](https://github.com/dotnet/BenchmarkDotNet/pull/2320) [#​2348](https://github.com/dotnet/BenchmarkDotNet/pull/2348)\n* Custom runtime support. [#​2285](https://github.com/dotnet/BenchmarkDotNet/pull/2285)\n* Introduce CategoryDiscoverer, see [`IntroCategoryDiscoverer`](xref:BenchmarkDotNet.Samples.IntroCategoryDiscoverer). [#​2306](https://github.com/dotnet/BenchmarkDotNet/issues/2306) [#​2307](https://github.com/dotnet/BenchmarkDotNet/pull/2307)\n* Multiple bug fixes.\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.13.6.html\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/commits/v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.12.1\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/philips-software/roslyn-analyzers/pull/1063","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/philips-software%2Froslyn-analyzers/issues/1063","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1063/packages"},{"uuid":"4041821182","node_id":"PR_kwDORK7PUs7I4geo","number":1288,"state":"open","title":"Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-08T17:51:22.000Z","updated_at":"2026-03-08T17:51:23.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.14.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/WillEastbury/BareMetalWeb/pull/1288","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/WillEastbury%2FBareMetalWeb/issues/1288","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1288/packages"},{"uuid":"4006662379","node_id":"PR_kwDOAlrWI87HGZGM","number":934,"state":"open","title":"Bump BenchmarkDotNet from 0.15.0 to 0.15.8","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-01T08:35:08.000Z","updated_at":"2026-03-01T08:38:09.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.15.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.15.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.15.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/justeattakeaway/JustEat.StatsD/pull/934","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/justeattakeaway%2FJustEat.StatsD/issues/934","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/934/packages"},{"uuid":"3993886848","node_id":"PR_kwDORYVsT87GdOx9","number":7,"state":"open","title":"Bump BenchmarkDotNet from 0.13.12 to 0.15.8","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-26T07:51:18.000Z","updated_at":"2026-02-26T07:51:19.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.13.12","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.13.12 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\n## 0.14.0\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.14.0.html\n\n## Highlights\n\n* Introduce `BenchmarkDotNet.Diagnostics.dotMemory` [#​2549](https://github.com/dotnet/BenchmarkDotNet/pull/2549): memory allocation profile of your benchmarks using [dotMemory](https://www.jetbrains.com/dotmemory/), see @​BenchmarkDotNet.Samples.IntroDotMemoryDiagnoser\n* Introduce `BenchmarkDotNet.Exporters.Plotting` [#​2560](https://github.com/dotnet/BenchmarkDotNet/pull/2560): plotting via [ScottPlot](https://scottplot.net/) (initial version)\n* Multiple bugfixes\n* The default build toolchains have been updated to pass `IntermediateOutputPath`, `OutputPath`, and `OutDir` properties to the `dotnet build` command. This change forces all build outputs to be placed in a new directory generated by BenchmarkDotNet, and fixes many issues that have been reported with builds. You can also access these paths in your own `.csproj` and `.props` from those properties if you need to copy custom files to the output.\n\n## Bug fixes\n\n* Fixed multiple build-related bugs including passing MsBuildArguments and .Net 8's `UseArtifactsOutput`.\n\n## Breaking Changes\n\n* `DotNetCliBuilder` removed `retryFailedBuildWithNoDeps` constructor option.\n* `DotNetCliCommand` removed `RetryFailedBuildWithNoDeps` property and `BuildNoRestoreNoDependencies()` and `PublishNoBuildAndNoRestore()` methods (replaced with `PublishNoRestore()`).\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.13.12...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.13.12\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/JinHo-von-Choi/nuvatis/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/JinHo-von-Choi%2Fnuvatis/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"},{"uuid":"3981160738","node_id":"PR_kwDOLidC5s7FzOpY","number":157,"state":"open","title":"deps: Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-24T02:37:25.000Z","updated_at":"2026-02-24T02:37:52.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.14.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/aboutcircles/circles-nethermind-plugin/pull/157","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutcircles%2Fcircles-nethermind-plugin/issues/157","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/157/packages"},{"uuid":"3970677188","node_id":"PR_kwDOH01p2c7FRnVP","number":216,"state":"closed","title":"Bump BenchmarkDotNet from 0.15.6 to 0.15.8","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-02-21T14:51:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-20T22:43:47.000Z","updated_at":"2026-02-21T14:55:50.000Z","time_to_close":58060,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.15.6","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.15.6 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.15.6\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/ricardoboss/STEP/pull/216","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricardoboss%2FSTEP/issues/216","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/216/packages"},{"uuid":"3916529932","node_id":"PR_kwDOHD7VQM7CfYgo","number":78,"state":"closed","title":"Bump BenchmarkDotNet and BenchmarkDotNet.Annotations","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-09T18:44:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-09T13:55:28.000Z","updated_at":"2026-02-09T18:45:01.000Z","time_to_close":17371,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","repository_url":"https://github.com/dotnet/BenchmarkDotNet"},{"name":"BenchmarkDotNet.Annotations","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\nUpdated [BenchmarkDotNet.Annotations](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet.Annotations's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/gfs/StreamRegex/pull/78","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gfs%2FStreamRegex/issues/78","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/78/packages"},{"uuid":"3884274794","node_id":"PR_kwDOEC3OLc7A1BDW","number":732,"state":"open","title":"Bump BenchmarkDotNet and BenchmarkDotNet.Diagnostics.Windows","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-02T06:45:35.000Z","updated_at":"2026-02-02T07:06:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","repository_url":"https://github.com/dotnet/BenchmarkDotNet"},{"name":"BenchmarkDotNet.Diagnostics.Windows","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\nUpdated [BenchmarkDotNet.Diagnostics.Windows](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet.Diagnostics.Windows's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/bitfaster/BitFaster.Caching/pull/732","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitfaster%2FBitFaster.Caching/issues/732","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/732/packages"},{"uuid":"3806856917","node_id":"PR_kwDOPdsSMs680_fo","number":45,"state":"closed","title":"deps: Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":["area: benchmarks","dependencies","size/xl"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-01-13T03:04:48.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-13T03:02:03.000Z","updated_at":"2026-01-13T03:04:52.000Z","time_to_close":165,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.8.html\n\n\n## 0.15.7\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.7.html\n\n\n## 0.15.6\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.6.html\n\n\n## 0.15.5\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.5.html\n\n\n\n## 0.15.4\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.4.html\n\n## Highlights\n\nAllow override method/property for ParamsSource ([#​2832](https://github.com/dotnet/BenchmarkDotNet/pull/2832))\n\n\n## 0.15.3\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.3.html\n\n## Highlights\n\nImprovements:\n\n- Naot instruction set support for .NET 10+, migrate to ISA groupings in CPU summary [#​2828](https://github.com/dotnet/BenchmarkDotNet/pull/2828)\n- Support benchmark filtering for TestAdapter [#​2662](https://github.com/dotnet/BenchmarkDotNet/issues/2662) [#​2788](https://github.com/dotnet/BenchmarkDotNet/pull/2788)\n- Support non-primitive external types in `ArgumentsSource` [#​2820](https://github.com/dotnet/BenchmarkDotNet/pull/2820)\n- Enable MSBuild parallel build via `--nodeReuse:false` [#​2693](https://github.com/dotnet/BenchmarkDotNet/issues/2693) [#​2814](https://github.com/dotnet/BenchmarkDotNet/pull/2814)\n- Improve CPU detection [#​2747](https://github.com/dotnet/BenchmarkDotNet/issues/2747) [#​2749](https://github.com/dotnet/BenchmarkDotNet/pull/2749)\n- Enable assembly signing for debug build [#​2774](https://github.com/dotnet/BenchmarkDotNet/pull/2774)\n\nDeprecations:\n\n- Deprecated `WithNuget` [#​2812](https://github.com/dotnet/BenchmarkDotNet/pull/2812)\n\nBug fixes:\n\n- Fix `InvalidOperationException` in diagnosers [#​2758](https://github.com/dotnet/BenchmarkDotNet/issues/2758) [#​2805](https://github.com/dotnet/BenchmarkDotNet/pull/2805)\n- Fix file detection in `NativeMemoryProfiler` [#​2794](https://github.com/dotnet/BenchmarkDotNet/issues/2794) [#​2795](https://github.com/dotnet/BenchmarkDotNet/pull/2795)\n- Fix long file paths issue in `EtwProfiler` [#​2807](https://github.com/dotnet/BenchmarkDotNet/issues/2807) [#​2808](https://github.com/dotnet/BenchmarkDotNet/pull/2808)\n- Fix log duplications in TestAdapter [#​2790](https://github.com/dotnet/BenchmarkDotNet/pull/2790)\n- Fix x86 disassembler error for net462 [#​2792](https://github.com/dotnet/BenchmarkDotNet/pull/2792)\n- Fix `IsNetCore` and `IsNativeAOT` for single-file apps without AOT [#​2799](https://github.com/dotnet/BenchmarkDotNet/pull/2799)\n- Fix density plot generation in `RPlotExporter` for latest version of R [#​2809](https://github.com/dotnet/BenchmarkDotNet/pull/2809)\n\n\n## 0.15.2\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.2.html\n\n## Highlights\n\n- The most significant update in this release is the enhanced accuracy of the memory diagnoser ([#​2562](https://github.com/dotnet/BenchmarkDotNet/pull/2562)). This improvement resolves the issue of incorrectly reported memory allocations ([#​1542](https://github.com/dotnet/BenchmarkDotNet/issues/1542), [#​2582](https://github.com/dotnet/BenchmarkDotNet/issues/2582)).\n- We have introduced a new feature that allows users to sort benchmark jobs in numerical order ([#​2768](https://github.com/dotnet/BenchmarkDotNet/issues/2768), [#​2770](https://github.com/dotnet/BenchmarkDotNet/pull/2770)).\n- Benchmark validation has been improved ([#​2771](https://github.com/dotnet/BenchmarkDotNet/pull/2771)).\n- An issue with non-persistent auto-generated JobId has been fixed ([#​2777](https://github.com/dotnet/BenchmarkDotNet/pull/2777)).\n\n\n## 0.15.1\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.1.html\n\n## Highlights\n\n-  Added support for *.slnx ([#​2763](https://github.com/dotnet/BenchmarkDotNet/issues/2763), [#​2764](https://github.com/dotnet/BenchmarkDotNet/pull/2764))\n-  Enabled ArgumentsSource to reference methods in other types ([#​2744](https://github.com/dotnet/BenchmarkDotNet/issues/2744), [#​2748](https://github.com/dotnet/BenchmarkDotNet/pull/2748))\n-  Resolved fatal errors for ARM CPUs ([#​2745](https://github.com/dotnet/BenchmarkDotNet/issues/2745), [#​2756](https://github.com/dotnet/BenchmarkDotNet/pull/2756))\n-  Fixed bugs related to support for Android, browser, iOS, and tvOS ([#​2739](https://github.com/dotnet/BenchmarkDotNet/issues/2739), [#​2741](https://github.com/dotnet/BenchmarkDotNet/pull/2741), [#​2740](https://github.com/dotnet/BenchmarkDotNet/issues/2740), [#​2742](https://github.com/dotnet/BenchmarkDotNet/pull/2742))\n\n\n\n## 0.15.0\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.0.html\n\n\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.14.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/JerrettDavis/TinyBDD/pull/45","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/JerrettDavis%2FTinyBDD/issues/45","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/45/packages"},{"uuid":"3780464281","node_id":"PR_kwDOFYMH0M67ewMV","number":317,"state":"closed","title":"Bump BenchmarkDotNet from 0.15.6 to 0.15.8","user":"dependabot[bot]","labels":["dependencies","nuget"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-05T07:28:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-05T07:28:24.000Z","updated_at":"2026-01-05T07:28:51.000Z","time_to_close":26,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.15.6","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.15.6 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.8.html\n\n\n## 0.15.7\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.7.html\n\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.15.6\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/TrueLayer/truelayer-dotnet/pull/317","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrueLayer%2Ftruelayer-dotnet/issues/317","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/317/packages"}],"issue_packages":[{"old_version":"0.14.0","new_version":"0.15.8","update_type":"minor","path":null,"pr_created_at":"2026-05-20T18:56:04.000Z","version_change":"0.14.0 → 0.15.8","issue":{"uuid":"4489124486","node_id":"PR_kwDOSjQB2s7dqTDf","number":9,"state":"closed","title":"Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-05-20T20:07:15.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-20T18:56:04.000Z","updated_at":"2026-05-20T20:08:39.000Z","time_to_close":4271,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.14.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/jkindrix/NetXlsx/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkindrix%2FNetXlsx/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"}},{"old_version":"0.14.0","new_version":"0.15.8","update_type":"minor","path":null,"pr_created_at":"2026-05-10T17:34:16.000Z","version_change":"0.14.0 → 0.15.8","issue":{"uuid":"4416327759","node_id":"PR_kwDOSTlZyc7aBlUr","number":18,"state":"closed","title":"Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-13T05:50:11.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-10T17:34:16.000Z","updated_at":"2026-05-13T05:50:21.000Z","time_to_close":216955,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.14.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Sarmkadan/grpc-web-bridge/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sarmkadan%2Fgrpc-web-bridge/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"}},{"old_version":"0.14.0","new_version":"0.15.8","update_type":"minor","path":null,"pr_created_at":"2026-05-03T23:48:22.000Z","version_change":"0.14.0 → 0.15.8","issue":{"uuid":"4373312424","node_id":"PR_kwDOSTcu4s7X13M-","number":7,"state":"closed","title":"Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-04T10:25:14.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-03T23:48:22.000Z","updated_at":"2026-05-04T10:25:16.000Z","time_to_close":38212,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.14.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/eupassarin/SimpleSign/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eupassarin%2FSimpleSign/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}},{"old_version":"0.14.0","new_version":"0.15.8","update_type":"minor","path":null,"pr_created_at":"2026-05-02T20:11:56.000Z","version_change":"0.14.0 → 0.15.8","issue":{"uuid":"4369910965","node_id":"PR_kwDON6AKvs7Xr0bd","number":108,"state":"open","title":"chore: Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-02T20:11:56.000Z","updated_at":"2026-05-02T22:16:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore: Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e","html_url":"https://github.com/Testably/aweXpect.Web/pull/108","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Testably%2FaweXpect.Web/issues/108","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/108/packages"}},{"old_version":"0.14.0","new_version":"0.15.8","update_type":"minor","path":null,"pr_created_at":"2026-04-21T12:35:05.000Z","version_change":"0.14.0 → 0.15.8","issue":{"uuid":"4302611746","node_id":"PR_kwDODpSkT87UTGf1","number":179,"state":"open","title":"Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-21T12:35:05.000Z","updated_at":"2026-04-21T12:41:15.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.14.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/corvus-dotnet/Corvus.Extensions.System.Text.Json/pull/179","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/corvus-dotnet%2FCorvus.Extensions.System.Text.Json/issues/179","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/179/packages"}},{"old_version":"0.14.0","new_version":"0.15.8","update_type":"minor","path":null,"pr_created_at":"2026-04-18T17:43:55.000Z","version_change":"0.14.0 → 0.15.8","issue":{"uuid":"4288738044","node_id":"PR_kwDORoG8187Tnc3X","number":9,"state":"open","title":"chore(deps): Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-18T17:43:55.000Z","updated_at":"2026-04-18T17:43:55.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.14.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Harol-Reina/Asterisk.Sdk/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Harol-Reina%2FAsterisk.Sdk/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"}},{"old_version":"0.14.0","new_version":"0.15.8","update_type":"minor","path":null,"pr_created_at":"2026-04-04T15:19:40.000Z","version_change":"0.14.0 → 0.15.8","issue":{"uuid":"4205157774","node_id":"PR_kwDOR5tGS87P9zVh","number":8,"state":"closed","title":"chore: Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-04T15:29:55.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-04T15:19:40.000Z","updated_at":"2026-04-04T15:30:04.000Z","time_to_close":615,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore: Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.14.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/aweXpect/Mockolate.Migration/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aweXpect%2FMockolate.Migration/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"}},{"old_version":"0.14.0","new_version":"0.15.8","update_type":"minor","path":null,"pr_created_at":"2026-04-03T20:09:47.000Z","version_change":"0.14.0 → 0.15.8","issue":{"uuid":"4202034191","node_id":"PR_kwDORBG5ls7P3Xc8","number":6,"state":"open","title":"Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-03T20:09:47.000Z","updated_at":"2026-04-03T20:10:59.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.14.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Adrian01987/RestLib/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adrian01987%2FRestLib/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":null,"pr_created_at":"2026-04-02T22:24:05.000Z","version_change":null,"issue":{"uuid":"4197266240","node_id":"PR_kwDORwxDGc7PrycP","number":44,"state":"open","title":"Bump BenchmarkDotNet and 2 others","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-02T22:24:05.000Z","updated_at":"2026-04-02T22:31:07.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","repository_url":"https://github.com/dotnet/BenchmarkDotNet"},{"name":"2 others"}],"path":null,"ecosystem":"nuget"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nUpdated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\nUpdated [Microsoft.CodeAnalysis.CSharp](https://github.com/dotnet/roslyn) from 4.11.0 to 4.14.0.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [Microsoft.CodeAnalysis.CSharp's releases](https://github.com/dotnet/roslyn/releases)._\n\nNo release notes found for this version range.\n\nCommits viewable in [compare view](https://github.com/dotnet/roslyn/commits).\n\u003c/details\u003e\n\nUpdated [Microsoft.CodeAnalysis.CSharp](https://github.com/dotnet/roslyn) from 4.11.0 to 5.3.0.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [Microsoft.CodeAnalysis.CSharp's releases](https://github.com/dotnet/roslyn/releases)._\n\n## 5.0.4\n\n[Release](https://github.com/dotnet/core/releases/tag/v5.0.4)\n\n## 5.0.2\n\n[Release Notes](https://github.com/dotnet/core/blob/master/release-notes/5.0/5.0.2/5.0.2.md)\n[Install Instructions](https://github.com/dotnet/core/blob/master/release-notes/5.0/5.0.2/5.0.2-install-instructions.md)\n\n# Repos\n\n* [Core](https://github.com/dotnet/core/releases/tag/v5.0.2)\n\n## 5.0.1\n\n[Release Notes](https://github.com/dotnet/core/blob/master/release-notes/5.0/5.0.1/5.0.1.md)\n[Install Instructions](https://github.com/dotnet/core/blob/master/release-notes/5.0/5.0.1/5.0.1-install-instructions.md)\n\n# Repo\n\n* [Core](https://github.com/dotnet/core/releases/tag/v5.0.1)\n\nCommits viewable in [compare view](https://github.com/dotnet/roslyn/commits).\n\u003c/details\u003e\n\nUpdated Microsoft.CodeAnalysis.CSharp.Workspaces from 4.11.0 to 5.3.0.","html_url":"https://github.com/kommundsen/Conjecture/pull/44","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kommundsen%2FConjecture/issues/44","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/44/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":null,"pr_created_at":"2026-04-02T22:12:45.000Z","version_change":null,"issue":{"uuid":"4197234092","node_id":"PR_kwDORwxDGc7Prsan","number":38,"state":"closed","title":"Bump BenchmarkDotNet and Microsoft.CodeAnalysis.CSharp","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-02T22:24:08.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-02T22:12:45.000Z","updated_at":"2026-04-02T22:24:10.000Z","time_to_close":683,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","repository_url":"https://github.com/dotnet/BenchmarkDotNet"},{"name":"Microsoft.CodeAnalysis.CSharp","repository_url":"https://github.com/dotnet/roslyn"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\nUpdated [Microsoft.CodeAnalysis.CSharp](https://github.com/dotnet/roslyn) from 4.11.0 to 4.14.0.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [Microsoft.CodeAnalysis.CSharp's releases](https://github.com/dotnet/roslyn/releases)._\n\nNo release notes found for this version range.\n\nCommits viewable in [compare view](https://github.com/dotnet/roslyn/commits).\n\u003c/details\u003e\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/kommundsen/Conjecture/pull/38","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kommundsen%2FConjecture/issues/38","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38/packages"}},{"old_version":"0.12.1","new_version":"0.15.8","update_type":"minor","path":null,"pr_created_at":"2026-03-12T03:36:05.000Z","version_change":"0.12.1 → 0.15.8","issue":{"uuid":"4061889124","node_id":"PR_kwDODRR0_87J5Q-X","number":1063,"state":"closed","title":"Bump BenchmarkDotNet from 0.12.1 to 0.15.8","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-12T03:36:32.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-12T03:36:05.000Z","updated_at":"2026-03-12T03:36:34.000Z","time_to_close":27,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.12.1","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.12.1 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\n## 0.14.0\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.14.0.html\n\n## Highlights\n\n* Introduce `BenchmarkDotNet.Diagnostics.dotMemory` [#​2549](https://github.com/dotnet/BenchmarkDotNet/pull/2549): memory allocation profile of your benchmarks using [dotMemory](https://www.jetbrains.com/dotmemory/), see @​BenchmarkDotNet.Samples.IntroDotMemoryDiagnoser\n* Introduce `BenchmarkDotNet.Exporters.Plotting` [#​2560](https://github.com/dotnet/BenchmarkDotNet/pull/2560): plotting via [ScottPlot](https://scottplot.net/) (initial version)\n* Multiple bugfixes\n* The default build toolchains have been updated to pass `IntermediateOutputPath`, `OutputPath`, and `OutDir` properties to the `dotnet build` command. This change forces all build outputs to be placed in a new directory generated by BenchmarkDotNet, and fixes many issues that have been reported with builds. You can also access these paths in your own `.csproj` and `.props` from those properties if you need to copy custom files to the output.\n\n## Bug fixes\n\n* Fixed multiple build-related bugs including passing MsBuildArguments and .Net 8's `UseArtifactsOutput`.\n\n## Breaking Changes\n\n* `DotNetCliBuilder` removed `retryFailedBuildWithNoDeps` constructor option.\n* `DotNetCliCommand` removed `RetryFailedBuildWithNoDeps` property and `BuildNoRestoreNoDependencies()` and `PublishNoBuildAndNoRestore()` methods (replaced with `PublishNoRestore()`).\n\n## 0.13.12\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.13.12.html\n\n## Highlights\n\nThe biggest highlight of this release if our new VSTest Adapter,  which allows to run benchmarks as unit tests in your favorite IDE!\nThe detailed guide can be found [here](https://benchmarkdotnet.org/articles/features/vstest.html).\n\nThis release also includes to a minor bug fix that caused incorrect job id generation:  fixed job id generation ([#​2491](https://github.com/dotnet/BenchmarkDotNet/pull/2491)).\n\nAlso, the target framework in the BenchmarkDotNet templates was bumped to .NET 8.0.\n\n## 0.13.11\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.13.11.html\n\nIn the [v0.13.11](https://github.com/dotnet/BenchmarkDotNet/issues?q=milestone:v0.13.11) scope,  4 issues were resolved and 8 pull requests were merged. This release includes 28 commits by 7 contributors.\n\n## Resolved issues (4)\n\n* [#​2060](https://github.com/dotnet/BenchmarkDotNet/issues/2060) NativeAOT benchmark started from .Net Framework host doesn't have all intrinsics enabled (assignee: [@​adamsitnik](https://github.com/adamsitnik))\n* [#​2233](https://github.com/dotnet/BenchmarkDotNet/issues/2233) Q: Include hardware counters in XML output (assignee: [@​nazulg](https://github.com/nazulg))\n* [#​2388](https://github.com/dotnet/BenchmarkDotNet/issues/2388) Include AVX512 in listed HardwareIntrinsics\n* [#​2463](https://github.com/dotnet/BenchmarkDotNet/issues/2463) Bug. Native AOT .NET 7.0 doesn't work. System.NotSupportedException: X86Serialize (assignee: [@​adamsitnik](https://github.com/adamsitnik))\n\n## Merged pull requests (8)\n\n* [#​2412](https://github.com/dotnet/BenchmarkDotNet/pull/2412) Add HardwareIntrinsics AVX-512 info (by [@​nietras](https://github.com/nietras))\n* [#​2458](https://github.com/dotnet/BenchmarkDotNet/pull/2458) Adds Metrics Columns to Benchmark Report Output (by [@​nazulg](https://github.com/nazulg))\n* [#​2459](https://github.com/dotnet/BenchmarkDotNet/pull/2459) Enable MemoryDiagnoser on Legacy Mono (by [@​MichalPetryka](https://github.com/MichalPetryka))\n* [#​2462](https://github.com/dotnet/BenchmarkDotNet/pull/2462) update SDK to .NET 8 (by [@​adamsitnik](https://github.com/adamsitnik))\n* [#​2464](https://github.com/dotnet/BenchmarkDotNet/pull/2464) Use \"native\" for .NET 8, don't use \"serialize\" for .NET 7 (by [@​adamsitnik](https://github.com/adamsitnik))\n* [#​2465](https://github.com/dotnet/BenchmarkDotNet/pull/2465) fix NativeAOT toolchain and tests (by [@​adamsitnik](https://github.com/adamsitnik))\n* [#​2468](https://github.com/dotnet/BenchmarkDotNet/pull/2468) Add OperationsPerSecondAttribute (by [@​DarkWanderer](https://github.com/DarkWanderer))\n* [#​2475](https://github.com/dotnet/BenchmarkDotNet/pull/2475) Fix some tests (by [@​timcassell](https://github.com/timcassell))\n\n## Commits (28)\n\n* [bb55e6](https://github.com/dotnet/BenchmarkDotNet/commit/bb55e6b067829c74e04838255e96d949857d5731) Set next BenchmarkDotNet version: 0.13.11 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [db4d8b](https://github.com/dotnet/BenchmarkDotNet/commit/db4d8b6d8a652db4bb1e4b1b4b0cd9df917e9584) Adds Metrics Columns to Benchmark Report Output (#​2458) (by [@​nazulg](https://github.com/nazulg))\n* [e93b2b](https://github.com/dotnet/BenchmarkDotNet/commit/e93b2b1b332fc90da4934025e2edba7d67a15b54) Use \"native\" for .NET 8, don't use \"serialize\" for .NET 7 (#​2464) (by [@​adamsitnik](https://github.com/adamsitnik))\n* [127157](https://github.com/dotnet/BenchmarkDotNet/commit/127157924014afe2d0b58398d682381a855d7c34) [build] Fix spellcheck-docs workflow (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [8a02ec](https://github.com/dotnet/BenchmarkDotNet/commit/8a02ec28d55529f9be0ea66d843049738b2be8fa) [build] Use our .NET SDK on Windows (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [1b39e8](https://github.com/dotnet/BenchmarkDotNet/commit/1b39e8e6d5437bdbf0bb62986e680e54b19cc873) Suppress NU1903 in IntegrationTests.ManualRunning.MultipleFrameworks (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [e90311](https://github.com/dotnet/BenchmarkDotNet/commit/e90311539d78e4bf9d90c6aeae9f40219b31a4ac) update SDK to .NET 8 (#​2462) (by [@​adamsitnik](https://github.com/adamsitnik))\n* [fc7afe](https://github.com/dotnet/BenchmarkDotNet/commit/fc7afeddcff7a52ccee165ac99ba216e8eb138ab) Enable MemoryDiagnoser on Legacy Mono (#​2459) (by [@​MichalPetryka](https://github.com/MichalPetryka))\n* [630622](https://github.com/dotnet/BenchmarkDotNet/commit/630622b6df3192f766ffa03ff07b5086e70cb264) fix NativeAOT toolchain and tests (#​2465) (by [@​adamsitnik](https://github.com/adamsitnik))\n* [536a28](https://github.com/dotnet/BenchmarkDotNet/commit/536a28e0ff2196255fb120aa0d39e40bdbde454a) Add HardwareIntrinsics AVX-512 info (#​2412) (by [@​nietras](https://github.com/nietras))\n* [3fa045](https://github.com/dotnet/BenchmarkDotNet/commit/3fa0456495cac82b536902b101a2972c62c3e4a8) Add OperationsPerSecondAttribute (#​2468) (by [@​DarkWanderer](https://github.com/DarkWanderer))\n* [0583cb](https://github.com/dotnet/BenchmarkDotNet/commit/0583cb90739b3ee4b8258f807ef42cdc3243f82f) Bump Microsoft.NETCore.Platforms: 5.0.0-\u003e6.0.0 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [2e62b9](https://github.com/dotnet/BenchmarkDotNet/commit/2e62b9b0a8c80255914e9e11d06d92871df40f85) Remove netcoreapp2.0;net461 from TFMs for IntegrationTests.ManualRunning.Mult... (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [92fa3f](https://github.com/dotnet/BenchmarkDotNet/commit/92fa3f834e0519d32fd8fc97e26aa82f9626b241) Bump xunit: 2.5.0-\u003e2.6.2 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [01e220](https://github.com/dotnet/BenchmarkDotNet/commit/01e2201c826dd44e089a22c40d8c3abecba320fa) Bump xunit.runner.visualstudio: 2.5.0-\u003e2.5.4 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [29a94c](https://github.com/dotnet/BenchmarkDotNet/commit/29a94ce301dac6121d1e0d1a0d783a6491c27703) Bump Verify.Xunit: 20.3.2-\u003e20.8.2 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [538e0e](https://github.com/dotnet/BenchmarkDotNet/commit/538e0e1771be037ef587b08cb52515ce6daf5c0e) Bump Microsoft.NET.Test.SDK: 17.6.2-\u003e17.8.0 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [136e4b](https://github.com/dotnet/BenchmarkDotNet/commit/136e4bb3f18a419df40c18a5430a29243ab57fd8) Remove explicit Microsoft.NETFramework.ReferenceAssemblies reference in Bench... (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [423b84](https://github.com/dotnet/BenchmarkDotNet/commit/423b8473d02d5bd59617675190660222198bf7d0) [build] Bump Docfx.App: 2.71.1-\u003e2.74.0 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [718953](https://github.com/dotnet/BenchmarkDotNet/commit/718953674a83da4de6563368f38776048024f0d3) [build] Bump Octokit: 7.0.0-\u003e9.0.0 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [0cce91](https://github.com/dotnet/BenchmarkDotNet/commit/0cce9120bd717e31a4a6a4a396faa8f38fd3cc08) [build] Bump Cake.Frosting: 3.2.0-\u003e4.0.0 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [4d5dc9](https://github.com/dotnet/BenchmarkDotNet/commit/4d5dc9ca13072d384cabf565bc3622f8de5626d7) Fix Newtonsoft.Json v13.0.1 in BenchmarkDotNet.IntegrationTests (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [c7ec60](https://github.com/dotnet/BenchmarkDotNet/commit/c7ec60ad6d4e54a99463eb46a0307196cc040940) Enable UserCanSpecifyCustomNuGetPackageDependency test on Linux (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [a572db](https://github.com/dotnet/BenchmarkDotNet/commit/a572db119798fb58b24437ccef6a364efd59e836) Bump C# LangVersion: 11.0-\u003e12.0 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [b4ac9d](https://github.com/dotnet/BenchmarkDotNet/commit/b4ac9df9f7890ca9669e2b9c8835af35c072a453) Nullability cleanup (2023-11-26) (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [5557ae](https://github.com/dotnet/BenchmarkDotNet/commit/5557aee0638bda38001bd6c2000164d9b96d315a) [build] Bump Docfx.App: 2.74.0-\u003e2.74.1 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n ... (truncated)\n\n## 0.13.10\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.13.10.html\n\n## Highlights\n\nInitial support of .NET 9 and minor bug fixes.\n\n## Details\n\nIn the [v0.13.10](https://github.com/dotnet/BenchmarkDotNet/issues?q=milestone:v0.13.10) scope, \n2 issues were resolved and 3 pull requests were merged.\nThis release includes 10 commits by 4 contributors.\n\n## Resolved issues (2)\n\n* [#​2436](https://github.com/dotnet/BenchmarkDotNet/issues/2436) BenchmarkDotNet Access Denied Error on WSL2 when Writing to '/mnt/c/DumpStack.log.tmp' (assignee: [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [#​2455](https://github.com/dotnet/BenchmarkDotNet/issues/2455) .NET 9 support (assignee: [@​adamsitnik](https://github.com/adamsitnik))\n\n## Merged pull requests (3)\n\n* [#​2447](https://github.com/dotnet/BenchmarkDotNet/pull/2447) Add support for wasm/net9.0 (by [@​radical](https://github.com/radical))\n* [#​2453](https://github.com/dotnet/BenchmarkDotNet/pull/2453) feat: set RuntimeHostConfigurationOption on generated project (by [@​workgroupengineering](https://github.com/workgroupengineering))\n* [#​2456](https://github.com/dotnet/BenchmarkDotNet/pull/2456) implement full .NET 9 support (by [@​adamsitnik](https://github.com/adamsitnik))\n\n## Commits (10)\n\n* [c27152](https://github.com/dotnet/BenchmarkDotNet/commit/c27152b9d7b6391501abcf7e8edcb2804999622f) Set next BenchmarkDotNet version: 0.13.10 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [2e96d2](https://github.com/dotnet/BenchmarkDotNet/commit/2e96d29453a804cfc1b92fffeea94c866522167a) Don't show AssemblyInformationalVersion metadata in BDN BrandVersion (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [d17c6a](https://github.com/dotnet/BenchmarkDotNet/commit/d17c6ad0bd8ac15d83ced0a7522de7dd51526ad4) Support Windows 11 23H2 (10.0.22631) in OsBrandStringHelper (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [af9c5c](https://github.com/dotnet/BenchmarkDotNet/commit/af9c5c6013b4e661cda0ff8fed40a50ae62d5a74) Exception handling in DotNetCliGenerator.GetRootDirectory, fix #​2436 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [e11136](https://github.com/dotnet/BenchmarkDotNet/commit/e11136897bdf26c004076bcbe812bb4ae60f8859) [build] Bump Docfx.App: 2.71.0-\u003e2.71.1 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [7b342f](https://github.com/dotnet/BenchmarkDotNet/commit/7b342f5cfb63c73708f3e69dde33d7430a3c0401) Add support for wasm/net9.0 (#​2447) (by [@​radical](https://github.com/radical))\n* [e17068](https://github.com/dotnet/BenchmarkDotNet/commit/e170684208103ca5ba4212ad8dc7c2aad5cf02d4) Adjust 'Failed to set up high priority' message (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [0a734a](https://github.com/dotnet/BenchmarkDotNet/commit/0a734a94a13733c2950d7edbac08499c6f2c108a) feat: set RuntimeHostConfigurationOption on generated project (#​2453) (by [@​workgroupengineering](https://github.com/workgroupengineering))\n* [ae4914](https://github.com/dotnet/BenchmarkDotNet/commit/ae49148a92c358676190772803fe0ed532814ce3) implement full .NET 9 support (#​2456) (by [@​adamsitnik](https://github.com/adamsitnik))\n* [40c414](https://github.com/dotnet/BenchmarkDotNet/commit/40c4142734ce68bdfcbccf7086ed2b724e9428bc) Prepare v0.13.10 changelog (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n\n## Contributors (4)\n\n* Adam Sitnik ([@​adamsitnik](https://github.com/adamsitnik))\n* Andrey Akinshin ([@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* Ankit Jain ([@​radical](https://github.com/radical))\n* workgroupengineering ([@​workgroupengineering](https://github.com/workgroupengineering))\n\nThank you very much!\n\n\n## 0.13.9\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.13.9.html\n\nIn the [v0.13.9](https://github.com/dotnet/BenchmarkDotNet/issues?q=milestone:v0.13.9) scope, 3 issues were resolved and 7 pull requests were merged. This release includes 26 commits by 5 contributors.\n\n## Resolved issues (3)\n\n* [#​2054](https://github.com/dotnet/BenchmarkDotNet/issues/2054) Custom logging/visualization during the benchmark run (assignee: [@​caaavik-msft](https://github.com/caaavik-msft))\n* [#​2404](https://github.com/dotnet/BenchmarkDotNet/issues/2404) Using `DisassemblyDiagnoser` in GitHub Actions (assignee: [@​timcassell](https://github.com/timcassell))\n* [#​2432](https://github.com/dotnet/BenchmarkDotNet/issues/2432) Something went wrong with outliers when using `--launchCount` (assignee: [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n\n## Merged pull requests (7)\n\n* [#​1882](https://github.com/dotnet/BenchmarkDotNet/pull/1882) use coalesce instead of join (by [@​askazakov](https://github.com/askazakov))\n* [#​2413](https://github.com/dotnet/BenchmarkDotNet/pull/2413) Fix linux crash from disassembler (by [@​timcassell](https://github.com/timcassell))\n* [#​2420](https://github.com/dotnet/BenchmarkDotNet/pull/2420) Add event processor functionality (by [@​caaavik-msft](https://github.com/caaavik-msft))\n* [#​2421](https://github.com/dotnet/BenchmarkDotNet/pull/2421) More nullability warnings fixes (by [@​alinasmirnova](https://github.com/alinasmirnova))\n* [#​2433](https://github.com/dotnet/BenchmarkDotNet/pull/2433) Fix build errors with latest sdk (by [@​timcassell](https://github.com/timcassell))\n* [#​2434](https://github.com/dotnet/BenchmarkDotNet/pull/2434) Fix Event Processors not being copied in ManualConfig.Add (by [@​caaavik-msft](https://github.com/caaavik-msft))\n* [#​2435](https://github.com/dotnet/BenchmarkDotNet/pull/2435) Treat warnings not as errors in manual test project (by [@​timcassell](https://github.com/timcassell))\n\n## Commits (26)\n\n* [ece5cc](https://github.com/dotnet/BenchmarkDotNet/commit/ece5ccfc91d92b610338b05da73d2a91508e2837) Set next BenchmarkDotNet version: 0.13.9 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [ad9376](https://github.com/dotnet/BenchmarkDotNet/commit/ad937654174e521741aac620e16635a8ff14b1c9) Add event processor functionality (#​2420) (by [@​caaavik-msft](https://github.com/caaavik-msft))\n* [8227bb](https://github.com/dotnet/BenchmarkDotNet/commit/8227bbfa5f4d22c51f9c3856576d3680d8fc0a92) Address PR feedback (#​2434) (by [@​caaavik-msft](https://github.com/caaavik-msft))\n* [46b3c0](https://github.com/dotnet/BenchmarkDotNet/commit/46b3c0171709c48f58966fdf2665b5f292ff6467) Fix linux crash from disassembler (#​2413) (by [@​timcassell](https://github.com/timcassell))\n* [967a97](https://github.com/dotnet/BenchmarkDotNet/commit/967a975773ebd7a9744f3875220c7db8fa647957) Fix build errors with latest sdk. (#​2433) (by [@​timcassell](https://github.com/timcassell))\n* [dd7a9b](https://github.com/dotnet/BenchmarkDotNet/commit/dd7a9b7cd132e522951eeb6916a3aa27a24ebf59) Treat warnings not as errors in manual test project (#​2435) (by [@​timcassell](https://github.com/timcassell))\n* [583874](https://github.com/dotnet/BenchmarkDotNet/commit/58387457bd67c62fda9c831329401fe0de4ae86f) Print full stacktrace for GenerateException, see #​2436 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [6e3a15](https://github.com/dotnet/BenchmarkDotNet/commit/6e3a159d3d3ae0d7eecc759c23a7bb0124e673df) Support WSL detection in RuntimeInformation (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [8986e0](https://github.com/dotnet/BenchmarkDotNet/commit/8986e053c2fbc0befdef7d6e1a116a7bc83da282) Update myget url in README (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [516bd6](https://github.com/dotnet/BenchmarkDotNet/commit/516bd68238c38bb6f622f71039d7b91f3f33776d) Enabled nullability for BenchmarkDotNet.Diagnostics.dotTrace.csproj (by [@​alinasmirnova](https://github.com/alinasmirnova))\n* [5428eb](https://github.com/dotnet/BenchmarkDotNet/commit/5428ebdb8b6e9a847bb8ae6cf129b7dd9d784454) Fixed nullability warnings in methods signatures (by [@​alinasmirnova](https://github.com/alinasmirnova))\n* [7fbbc9](https://github.com/dotnet/BenchmarkDotNet/commit/7fbbc9f506cee0048f2ea6e7af15fbe1aa0bd7f7) Removed CanBeNull attribute (by [@​alinasmirnova](https://github.com/alinasmirnova))\n* [9d7350](https://github.com/dotnet/BenchmarkDotNet/commit/9d7350c21b30c2655705ede68929243846b8a407) Fixed warnings on null assignments (by [@​alinasmirnova](https://github.com/alinasmirnova))\n* [b43d28](https://github.com/dotnet/BenchmarkDotNet/commit/b43d280f1673526dff865f5fbfc1848c846eacdd) Fixed warnings in EngineEventLogParser (by [@​alinasmirnova](https://github.com/alinasmirnova))\n* [148165](https://github.com/dotnet/BenchmarkDotNet/commit/148165baf92233a3e3e67efc552e7528edb2fc78) Removed an unnecessary check (by [@​alinasmirnova](https://github.com/alinasmirnova))\n* [465aaf](https://github.com/dotnet/BenchmarkDotNet/commit/465aaf196a43d21b516edf6e9028c672c39937b9) Fixed empty catch warning (by [@​alinasmirnova](https://github.com/alinasmirnova))\n* [9a7bb7](https://github.com/dotnet/BenchmarkDotNet/commit/9a7bb7d5d6c72a01f991d869b9106364c26b1fce) [build] Bump: Microsoft.DocAsCode.App 2.67.5 -\u003e Docfx.App 2.71.0 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [9dd7b6](https://github.com/dotnet/BenchmarkDotNet/commit/9dd7b6f4b2511bbd30ba0f6d4999f7f58cf161a6) Fix license badge link in README (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [134b8e](https://github.com/dotnet/BenchmarkDotNet/commit/134b8edd09ad7dad0a17728eae4e9f50e16d3fe0) [build] Automatic NextVersion evaluation (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [8090d9](https://github.com/dotnet/BenchmarkDotNet/commit/8090d995e847c3c3d84db1fd5acbee312a75cf81) Suppress NETSDK1138 (TFM out of support warning) (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [af610e](https://github.com/dotnet/BenchmarkDotNet/commit/af610eec251bfa74f7317eaec915df9b905c979b) Bump .NET SDK: 7.0.305-\u003e7.0.401 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [8838ed](https://github.com/dotnet/BenchmarkDotNet/commit/8838ed4bf74377642d32774c558c0955e67c0faf) [build] Fix docfx build warnings (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [2d379b](https://github.com/dotnet/BenchmarkDotNet/commit/2d379b37310983dbe645a2129066d9af65d9e0d7) Remove outlier consistency check, fix #​2432 (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [00628a](https://github.com/dotnet/BenchmarkDotNet/commit/00628ab31b79a78e1c22c298ca0086bdf28065a7) use coalesce instead of join (by [@​askazakov](https://github.com/askazakov))\n* [411a6e](https://github.com/dotnet/BenchmarkDotNet/commit/411a6e7594c45c9ffa55b0b6caecb7f6ed1b3081) Prepare v0.13.9 changelog (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n* [228a46](https://github.com/dotnet/BenchmarkDotNet/commit/228a464e8be6c580ad9408e98f18813f6407fb5a) Rollback docfx.json (by [@​AndreyAkinshin](https://github.com/AndreyAkinshin))\n\n## Contributors (5)\n ... (truncated)\n\n## 0.13.8\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.13.8.html\n\n## Highlights\n\nThis release contains important bug fixes.\n\n## What's Changed\n* Issue2394 multiple markdown exporters not possible even with different names by @​bstordrup in https://github.com/dotnet/BenchmarkDotNet/pull/2395\n* Make MarkdownExporter ctor and Dialect protected by @​nietras in https://github.com/dotnet/BenchmarkDotNet/pull/2407\n* Refactor out base TextLogger from StreamLogger by @​nietras in https://github.com/dotnet/BenchmarkDotNet/pull/2406\n* - update the templates install command to reflect dotnet cli updates by @​baywet in https://github.com/dotnet/BenchmarkDotNet/pull/2415\n* Update stub decoding for .NET 8 for disassemblers by @​janvorli in https://github.com/dotnet/BenchmarkDotNet/pull/2416\n* Enable nullability for BenchmarkDotNet.Annotations by @​alinasmirnova in https://github.com/dotnet/BenchmarkDotNet/pull/2418\n* Nullability In BenchmarkDotNet project by @​alinasmirnova in https://github.com/dotnet/BenchmarkDotNet/pull/2419\n* feat: add text justification style by @​Vahdanian in https://github.com/dotnet/BenchmarkDotNet/pull/2410\n* Default to RoslynToolchain by @​timcassell in https://github.com/dotnet/BenchmarkDotNet/pull/2409\n\n## New Contributors\n* @​bstordrup made their first contribution in https://github.com/dotnet/BenchmarkDotNet/pull/2395\n* @​baywet made their first contribution in https://github.com/dotnet/BenchmarkDotNet/pull/2415\n* @​Vahdanian made their first contribution in https://github.com/dotnet/BenchmarkDotNet/pull/2410\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.13.7...v0.13.8\n\n## 0.13.7\n\nThis release contains a bunch of important bug fixes.\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.13.7.html\n\n## What's Changed\n* Improve build for mono aot by @​radical in https://github.com/dotnet/BenchmarkDotNet/pull/2367\n* IComparable fallback for Tuple/ValueTuple by @​mrahhal in https://github.com/dotnet/BenchmarkDotNet/pull/2368\n* Don't copy `PackageReference` in csproj by @​timcassell in https://github.com/dotnet/BenchmarkDotNet/pull/2365\n* Fix regression in parsing arguments with spaces Closes #​2373 by @​kant2002 in https://github.com/dotnet/BenchmarkDotNet/pull/2375\n* `AggressiveOptimization` in `InProcess` toolchains by @​timcassell in https://github.com/dotnet/BenchmarkDotNet/pull/2335\n* Add expected results tests by @​timcassell in https://github.com/dotnet/BenchmarkDotNet/pull/2361\n* [chore]: fix error message by @​BurakTaner in https://github.com/dotnet/BenchmarkDotNet/pull/2379\n* Cancel old jobs on push by @​timcassell in https://github.com/dotnet/BenchmarkDotNet/pull/2380\n* Support `--cli` argument for `CsProjClassicNetToolchain` by @​timcassell in https://github.com/dotnet/BenchmarkDotNet/pull/2381\n* Rebuild .Net Framework projects by @​timcassell in https://github.com/dotnet/BenchmarkDotNet/pull/2370\n* Fix missing import on Debug build by @​caaavik-msft in https://github.com/dotnet/BenchmarkDotNet/pull/2385\n* perfcollect: don't restore symbols for local builds by @​adamsitnik in https://github.com/dotnet/BenchmarkDotNet/pull/2384\n* Fix PlatformNotSupportedException thrown on Android in ConsoleTitler by @​Adam-- in https://github.com/dotnet/BenchmarkDotNet/pull/2390\n\n## New Contributors\n* @​BurakTaner made their first contribution in https://github.com/dotnet/BenchmarkDotNet/pull/2379\n* @​caaavik-msft made their first contribution in https://github.com/dotnet/BenchmarkDotNet/pull/2385\n* @​Adam-- made their first contribution in https://github.com/dotnet/BenchmarkDotNet/pull/2390\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.13.6...v0.13.7\n\n## 0.13.6\n\n## Highlights\n\n* New [BenchmarkDotNet.Diagnostics.dotTrace](https://www.nuget.org/packages/BenchmarkDotNet.Diagnostics.dotTrace) NuGet package. Once this package is installed, you can annotate your benchmarks with the `[DotTraceDiagnoser]` and get a [dotTrace](https://www.jetbrains.com/profiler/) performance snapshot at the end of the benchmark run. [#​2328](https://github.com/dotnet/BenchmarkDotNet/pull/2328)\n* Updated documentation website. We migrated to [docfx](https://dotnet.github.io/docfx/) 2.67 and got the refreshed modern template based on bootstrap 5 with dark/light theme switcher.\n* Updated [BenchmarkDotNet.Templates](https://www.nuget.org/packages/BenchmarkDotNet.Templates). Multiple issues were resolved, now you can create new benchmark projects from terminal or your favorite IDE. [#​1658](https://github.com/dotnet/BenchmarkDotNet/issues/1658) [#​1881](https://github.com/dotnet/BenchmarkDotNet/issues/1881) [#​2149](https://github.com/dotnet/BenchmarkDotNet/issues/2149) [#​2338](https://github.com/dotnet/BenchmarkDotNet/pull/2338)\n* Response file support. Now it's possible to pass additional arguments to BenchmarkDotNet using `@​filename` syntax. [#​2320](https://github.com/dotnet/BenchmarkDotNet/pull/2320) [#​2348](https://github.com/dotnet/BenchmarkDotNet/pull/2348)\n* Custom runtime support. [#​2285](https://github.com/dotnet/BenchmarkDotNet/pull/2285)\n* Introduce CategoryDiscoverer, see [`IntroCategoryDiscoverer`](xref:BenchmarkDotNet.Samples.IntroCategoryDiscoverer). [#​2306](https://github.com/dotnet/BenchmarkDotNet/issues/2306) [#​2307](https://github.com/dotnet/BenchmarkDotNet/pull/2307)\n* Multiple bug fixes.\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.13.6.html\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/commits/v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.12.1\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/philips-software/roslyn-analyzers/pull/1063","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/philips-software%2Froslyn-analyzers/issues/1063","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1063/packages"}},{"old_version":"0.14.0","new_version":"0.15.8","update_type":"minor","path":null,"pr_created_at":"2026-03-08T17:51:22.000Z","version_change":"0.14.0 → 0.15.8","issue":{"uuid":"4041821182","node_id":"PR_kwDORK7PUs7I4geo","number":1288,"state":"open","title":"Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-08T17:51:22.000Z","updated_at":"2026-03-08T17:51:23.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.14.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/WillEastbury/BareMetalWeb/pull/1288","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/WillEastbury%2FBareMetalWeb/issues/1288","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1288/packages"}},{"old_version":"0.15.0","new_version":"0.15.8","update_type":"patch","path":null,"pr_created_at":"2026-03-01T08:35:08.000Z","version_change":"0.15.0 → 0.15.8","issue":{"uuid":"4006662379","node_id":"PR_kwDOAlrWI87HGZGM","number":934,"state":"open","title":"Bump BenchmarkDotNet from 0.15.0 to 0.15.8","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-01T08:35:08.000Z","updated_at":"2026-03-01T08:38:09.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.15.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.15.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.15.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/justeattakeaway/JustEat.StatsD/pull/934","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/justeattakeaway%2FJustEat.StatsD/issues/934","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/934/packages"}},{"old_version":"0.13.12","new_version":"0.15.8","update_type":"minor","path":null,"pr_created_at":"2026-02-26T07:51:18.000Z","version_change":"0.13.12 → 0.15.8","issue":{"uuid":"3993886848","node_id":"PR_kwDORYVsT87GdOx9","number":7,"state":"open","title":"Bump BenchmarkDotNet from 0.13.12 to 0.15.8","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-26T07:51:18.000Z","updated_at":"2026-02-26T07:51:19.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.13.12","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.13.12 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\n## 0.14.0\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.14.0.html\n\n## Highlights\n\n* Introduce `BenchmarkDotNet.Diagnostics.dotMemory` [#​2549](https://github.com/dotnet/BenchmarkDotNet/pull/2549): memory allocation profile of your benchmarks using [dotMemory](https://www.jetbrains.com/dotmemory/), see @​BenchmarkDotNet.Samples.IntroDotMemoryDiagnoser\n* Introduce `BenchmarkDotNet.Exporters.Plotting` [#​2560](https://github.com/dotnet/BenchmarkDotNet/pull/2560): plotting via [ScottPlot](https://scottplot.net/) (initial version)\n* Multiple bugfixes\n* The default build toolchains have been updated to pass `IntermediateOutputPath`, `OutputPath`, and `OutDir` properties to the `dotnet build` command. This change forces all build outputs to be placed in a new directory generated by BenchmarkDotNet, and fixes many issues that have been reported with builds. You can also access these paths in your own `.csproj` and `.props` from those properties if you need to copy custom files to the output.\n\n## Bug fixes\n\n* Fixed multiple build-related bugs including passing MsBuildArguments and .Net 8's `UseArtifactsOutput`.\n\n## Breaking Changes\n\n* `DotNetCliBuilder` removed `retryFailedBuildWithNoDeps` constructor option.\n* `DotNetCliCommand` removed `RetryFailedBuildWithNoDeps` property and `BuildNoRestoreNoDependencies()` and `PublishNoBuildAndNoRestore()` methods (replaced with `PublishNoRestore()`).\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.13.12...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.13.12\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/JinHo-von-Choi/nuvatis/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/JinHo-von-Choi%2Fnuvatis/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}},{"old_version":"0.14.0","new_version":"0.15.8","update_type":"minor","path":null,"pr_created_at":"2026-02-24T02:37:25.000Z","version_change":"0.14.0 → 0.15.8","issue":{"uuid":"3981160738","node_id":"PR_kwDOLidC5s7FzOpY","number":157,"state":"open","title":"deps: Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-24T02:37:25.000Z","updated_at":"2026-02-24T02:37:52.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.14.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/aboutcircles/circles-nethermind-plugin/pull/157","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutcircles%2Fcircles-nethermind-plugin/issues/157","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/157/packages"}},{"old_version":"0.15.6","new_version":"0.15.8","update_type":"patch","path":null,"pr_created_at":"2026-02-20T22:43:47.000Z","version_change":"0.15.6 → 0.15.8","issue":{"uuid":"3970677188","node_id":"PR_kwDOH01p2c7FRnVP","number":216,"state":"closed","title":"Bump BenchmarkDotNet from 0.15.6 to 0.15.8","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-02-21T14:51:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-20T22:43:47.000Z","updated_at":"2026-02-21T14:55:50.000Z","time_to_close":58060,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.15.6","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.15.6 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.15.6\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/ricardoboss/STEP/pull/216","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricardoboss%2FSTEP/issues/216","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/216/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":null,"pr_created_at":"2026-02-09T13:55:28.000Z","version_change":null,"issue":{"uuid":"3916529932","node_id":"PR_kwDOHD7VQM7CfYgo","number":78,"state":"closed","title":"Bump BenchmarkDotNet and BenchmarkDotNet.Annotations","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-09T18:44:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-09T13:55:28.000Z","updated_at":"2026-02-09T18:45:01.000Z","time_to_close":17371,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","repository_url":"https://github.com/dotnet/BenchmarkDotNet"},{"name":"BenchmarkDotNet.Annotations","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\nUpdated [BenchmarkDotNet.Annotations](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet.Annotations's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/gfs/StreamRegex/pull/78","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gfs%2FStreamRegex/issues/78","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/78/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":null,"pr_created_at":"2026-02-02T06:45:35.000Z","version_change":null,"issue":{"uuid":"3884274794","node_id":"PR_kwDOEC3OLc7A1BDW","number":732,"state":"open","title":"Bump BenchmarkDotNet and BenchmarkDotNet.Diagnostics.Windows","user":"dependabot[bot]","labels":["dependencies",".NET"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-02T06:45:35.000Z","updated_at":"2026-02-02T07:06:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","repository_url":"https://github.com/dotnet/BenchmarkDotNet"},{"name":"BenchmarkDotNet.Diagnostics.Windows","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\nUpdated [BenchmarkDotNet.Diagnostics.Windows](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet.Diagnostics.Windows's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nThis release adds OpenMetrics exporter support for Prometheus-compatible metrics export, improves the Roslyn analyzers with multi-target support and better type checking, and fixes several bugs including process deadlocks and WASM trimming issues.\n\n## Features\n\n- Add OpenMetrics exporter for Prometheus-compatible metrics output (#​2801)\n- Add Job info to DisassemblyDiagnoser report headers to distinguish assemblies when using multiple coreruns (#​2884, fixes #​2573)\n- Add `NO_COLOR` environment variable support for disabling console colors (#​2870)\n\n## Improvements\n\n- Multi-target analyzers with improved type assignability checking using semantic model (#​2866)\n- Add new analyzer diagnostic BDN1503 for better argument/params validation (#​2865, fixes #​2864)\n- Use PolySharp for `[DynamicallyAccessedMembers]` attribute polyfill (#​2883)\n- Refactor to use `AsyncProcessOutputReader` for cleaner process output handling (#​2878)\n\n## Bug Fixes\n\n- Fix process deadlock issue when reading process output (#​2877)\n- Fix WASM generated project being trimmed out (#​2872)\n- Allow filters to filter out every benchmark from a type without errors (#​2879, fixes #​2860)\n- Fix unhandled exception when running `BenchmarkRunner.Run\u003cT\u003e()` with arguments on invalid benchmark type (#​2880, fixes #​2724)\n\n## Internal\n\n- Update release workflow for analyzers (#​2882)\n- Improve docs building workflow\n- Cleanup `#if`-`#endif` preprocessor directives using PolySharp polyfills (#​2881)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.7...v0.15.8\n\n\n## 0.15.7\n\nThis release introduces Roslyn analyzers to catch incorrect BenchmarkDotNet usage at compile time, improves .NET Framework version detection, and updates OS detection support.\n\n## Features\n\n- Add Roslyn analyzers to detect incorrect usage of BenchmarkDotNet at compile-time (#​2837)\n  - Validates benchmark class structure (public, non-sealed, generic constraints)\n  - Checks `[Arguments]`, `[Params]`, and `[ParamsAllValues]` attribute usage\n  - Verifies `[GenericTypeArguments]` requirements\n  - Ensures only one baseline method per category\n  - Validates `BenchmarkRunner.Run` invocations\n\n## Improvements\n\n- Improve .NET Framework version detection by retrieving version from `TargetFrameworkAttribute` (#​2682)\n- Bump Perfolizer 0.6.0 → 0.6.1, bringing updated Windows and macOS version detection in `OsBrandHelper`\n\n## Bug Fixes\n\n- Fix null reference handling and exception logging in `TestCaseFilter` for the test adapter\n- Fix flaky CI tests by increasing build timeout values (#​2854)\n\n## Internal\n\n- Improve release workflow in `release.yaml`\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.7\n\n\n## 0.15.6\n\n## v0.15.6\n\nThis release adds ref struct parameter support for `[ArgumentsSource]`, fixes Native AOT runtime moniker resolution, and upgrades to Perfolizer 0.6.0 with the new Pragmastat statistical engine.\n\n### Features\n\n- Add ref struct parameter support for `[ArgumentsSource]` attribute, enabling `Span\u003cT\u003e` and `ReadOnlySpan\u003cchar\u003e` parameters (#​2849)\n\n### Bug Fixes\n\n- Fix runtime moniker normalization for Native AOT targets (#​2852)\n\n### Improvements\n\n- Upgrade to Perfolizer 0.6.0 with Pragmastat statistical engine integration\n\n### Documentation\n\n- Add documentation for breaking changes related to disassembler native dependencies (#​2836)\n\n### Internal\n\n- Introduce GitHub Actions release workflow\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.5...v0.15.6\n\n\n## 0.15.5\n\nThis release fixes job naming consistency when using `--runtimes`, clamps histogram bin bounds to avoid confusing negative values, and reduces output directory clutter by filtering unnecessary runtime and satellite assembly files.\n\n## Features\n\n- Add custom MSBuild targets to remove unnecessary files from the bin directory (#​2737)\n  - Filters out Capstone native binaries for non-target platforms\n  - Removes satellite assemblies from Microsoft.CodeAnalysis packages\n\n## Bug Fixes\n\n- Fix job names consistency between `SimpleJobAttribute` and `--runtimes` CLI option (#​2841)\n  - Jobs now use runtime names as IDs consistently across all runtime monikers\n- Clamp histogram bin lower bounds to non-negative values (#​1821)\n  - Prevents confusing negative values in histogram output for non-negative measurements\n\n## Internal\n\n- Bump Perfolizer: 0.5.3 → 0.5.4 (#​2773)\n- Update changelog and GitHub Pages generation workflows\n- Enable `workflow_dispatch` for test workflow (#​2835)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.4...v0.15.5\n\n\n## 0.15.4\n\nThis release fixes issues with `ParamsSource` attribute resolution in inheritance scenarios and corrects a MSBuild syntax error in the TestAdapter.\n\n## Bug Fixes\n\n- Allow `[ParamsSource]` to resolve overridden methods and properties in derived classes (#​2832)\n- Fix MSBuild condition syntax for `TestTfmsInParallel` property that prevented Visual Studio from loading projects (#​2831)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.3...v0.15.4\n\n\n## 0.15.3\n\nThis release brings .NET 10 NativeAOT instruction set support, improved CPU detection on Windows when WMIC is unavailable, test adapter filtering, and numerous bug fixes.\n\n## Breaking Changes\n\n- Deprecated `.WithNuget()` job extension in favor of `.WithMsBuildArguments()` (#​2812)\n\n## Features\n\n- Add VS Test Adapter filter support for running specific benchmarks (#​2788)\n- Update NativeAOT instruction set support for .NET 10+ (#​2828)\n\n## Improvements\n\n- Add PowerShell-based CPU detection fallback for Windows when WMIC is unavailable (#​2749)\n- Improve `IsNetCore` and `IsNativeAOT` detection for single-file apps without AOT (#​2799)\n- Use `--nodeReuse:false` for dotnet CLI commands to improve build isolation (#​2814)\n- Enable assembly signing for debug builds (#​2774)\n\n## Bug Fixes\n\n- Fix `ArgumentsSource` on external types not working if the argument type is not primitive (#​2820)\n- Fix workload warmup mode not working correctly\n- Fix `EtwProfiler` for file paths slightly under 260 characters (#​2808)\n- Fix console logs being output twice when using TestAdapter (#​2790)\n- Fix `EventProcessor.OnEndValidationStage` not being called when critical validation errors occur (#​2816)\n- Fix `XmlException` thrown when `TextReader.Null` is passed to `AppConfigGenerator` (#​2817)\n- Fix case sensitivity issue in `NativeMemoryLogParser` program name matching (#​2795)\n- Fix typo in `BuildPlots.R`\n\n## Internal\n\n- Replace StyleCop.Analyzers with unstable version for improved analysis (#​2796)\n- Add workflow to run selected tests (#​2797)\n- Fix flaky `MemoryDiagnoser` tests on macOS (#​2813)\n- Fix x86 disassembler tests for net462 (#​2792)\n- Split `TimeConsumingBenchmark` class to reduce test time\n- Update `BenchmarkDotNetDiagnosers` package version (#​2805)\n- Fix comment in package props about `GenerateProgramFile` (#​2802)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.2...v0.15.3\n\n\n## 0.15.2\n\nThis release improves memory allocation measurement accuracy and adds new features for job ordering and runtime validation.\n\n## Features\n\n- Add `JobOrderPolicy` option to sort jobs in numeric order instead of ordinal order (#​2770)\n- Add `RuntimeValidator` to detect benchmarks with null runtime configuration (#​2771)\n\n## Improvements\n\n- Improve memory diagnoser accuracy with better allocation measurement isolation, warm-up phase, and handling of tiered JIT (#​2562)\n\n## Bug Fixes\n\n- Auto-generate unique job IDs between benchmark runs to prevent ID collisions\n- Skip null runtime validation for in-process toolchain (#​2780)\n- Fix flaky memory allocation test (#​2782)\n- Fix benchmark test adapter enumeration issues (#​2766)\n\n## Internal\n\n- Modify macOS runner image for CI (#​2775)\n- Add setting to skip test reports when original workflow is cancelled (#​2772)\n- Suppress xunit non-serializable data warnings (#​2769)\n- Enable `--force-clone` for docs-fetch in generate-gh-pages workflow\n- Allow `workflow_dispatch` for publish-nightly workflow\n- Enhance docs-fetch command with additional options\n- Remove `docs/_changelog` folder from main branch (migrated to docs-changelog branch)\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.1...v0.15.2\n\n\n## 0.15.1\n\nA 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.\n\n## Features\n\n- Allow `[ArgumentsSource]` and `[ParamsSource]` to reference methods in other types via new constructor overload: `[ArgumentsSource(typeof(MyClass), nameof(MyClass.Values))]` (#​2748)\n\n## Bug Fixes\n\n- Fix WakeLock P/Invoke compatibility with ARM CPUs by refactoring `REASON_CONTEXT` to use proper union structure (#​2745, #​2756)\n- Fix `Console.CancelKeyPress` crash on platforms that don't support it (Android, iOS, tvOS, WASM) (#​2739, #​2741)\n- Fix CPU detection crash on unsupported operating systems by returning `CpuInfo.Unknown` (#​2740)\n- Support `.slnx` solution file format when searching for solution files (#​2764)\n\n## Improvements\n\n- Bump Perfolizer: 0.5.2 → 0.5.3\n- Make `ExporterBase.GetArtifactFullName` accessibility modifier more permissive\n\n## Internal\n\n- Update .NET SDK version to 8.0.410 (#​2762)\n- Update Microsoft.NET.Test.Sdk and other package dependencies (#​2750, #​2755)\n- Rework changelog generation to use `docs-changelog` branch (#​93d12c42)\n- Fix line-endings to LF in several files\n- Update GitHub Actions workflows\n\n**Full Changelog**: https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.0...v0.15.1\n\n\n## 0.15.0\n\nBenchmarkDotNet v0.15.0 brings .NET 10 support, a new WakeLock feature to prevent system sleep during benchmarks, improved engine internals for more consistent measurements, and numerous bug fixes and improvements.\n\n## Features\n\n- **WakeLock support**: New `[WakeLock]` attribute and `--wakeLock` CLI option to prevent the system from entering sleep mode while benchmarks are running (#​2670)\n- **.NET 10 support**: Added `RuntimeMoniker.Net10`, `NativeAot10`, and `Mono10` with full toolchain support (#​2642)\n- **Box plots in ScottPlotExporter**: New box plot visualization for benchmark results with improved font sizing\n- **RiscV64 platform support**: Added `Platform.RiscV64` for RISC-V 64-bit architecture (#​2644, #​2647)\n- **Required properties support**: Benchmark classes can now use C# 11 `required` properties (#​2579)\n- **HostSignal.AfterProcessStart**: New signal allows diagnosers to obtain the process ID of a benchmark process started in suspended state (#​2674)\n- **Parallel build control**: New `ConfigOptions.DisableParallelBuild` option to force sequential builds (#​2725)\n- **Auto-hide empty metric columns**: `ThreadingDiagnoser` and `ExceptionDiagnoser` now support configuration to hide columns when metrics have no values (#​2673)\n- **Measurements in DiagnoserResults**: Custom diagnosers can now access measurements for calculations (#​2731)\n\n## Improvements\n\n- **Constant stack size engine refactoring**: Engine stages refactored to use `IEngineStageEvaluator` for more consistent instruction location and simpler code (#​2688)\n- **Use ArtifactsPath instead of IntermediateOutputPath**: Improved build artifact handling for SDK 8+ (#​2676)\n- **InProcessNoEmitRunner NativeAOT support**: Basic support for running `InProcessNoEmitRunner` with NativeAOT (#​2702)\n- **Allow ParamsAttribute values from derived classes**: `ParamsAttribute.Values` setter is now protected instead of private (#​2716)\n- **Updated clrmd to 3.1**: Disassembler now uses `ClrMdV3Disassembler` (#​2488)\n- **Updated ScottPlot to 5.0.54**: Plotting exporter updated to latest ScottPlot version (#​2709)\n- **Perfolizer upgraded to 0.5.2**: CPU/OS detection logic moved to Perfolizer with new `Perfonar` exporters replacing `Phd` exporters\n- **Log warnings for empty benchmarks**: Clear warning messages when running benchmarks that match no methods (#​2718)\n- **Validation for sealed benchmark classes**: Compiler now warns when benchmark classes are sealed (#​2660)\n- **Improved baseline warning message**: More descriptive warning when baseline benchmarks are misconfigured (#​2650)\n\n## Bug Fixes\n\n- **Fix async GlobalSetup/GlobalCleanup with InProcessEmit**: Async setup and cleanup methods are now properly awaited (#​2109)\n- **Fix Windows path too long**: Handle Windows MAX_PATH limitations in build paths (#​2681)\n- **Fix builds with --keepFiles**: Include auto-incremented ID in build artifacts directory to avoid conflicts (#​2423)\n- **Fix Ctrl-C handling**: System state (power management, console title) is now properly reverted on process termination (#​2483, #​2661)\n- **Fix dotnet command failure detection**: Commands now always fail when dotnet returns non-zero exit code (#​2535)\n- **Fix deadlock in GetDotNetSdkVersion**: Resolved potential deadlock in SDK version detection (#​2622)\n- **Fix lscpu CPU frequency parsing**: Corrected frequency parsing from lscpu output\n- **Make lscpu call language-invariant**: CPU detection now works correctly regardless of system locale (#​2577)\n- **Clean up unsupported Native AOT flags**: Removed obsolete `IlcGenerateCompleteTypeMetadata` and updated flag names (#​2616)\n- **Native AOT projects copy SettingsWeWantToCopy**: Build settings are now properly propagated (#​2665)\n\n## Breaking Changes\n\n- **Removed ConfigCompatibilityValidator**: No longer validates config compatibility between runs (#​2599)\n- **Phd exporters renamed to Perfonar**: `[PhdExporter]` → `[PerfonarExporter]`, `PhdJsonExporter` → `PerfonarJsonExporter`, `PhdMdExporter` → `PerfonarMdExporter`\n- **Removed netstandard1.0 target from Annotations package**: Minimum target is now netstandard2.0\n\n## Documentation\n\n- Added Visual Studio Profiler documentation with samples (#​2672)\n- Added WakeLock documentation and samples (#​2670)\n ... (truncated)\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/bitfaster/BitFaster.Caching/pull/732","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitfaster%2FBitFaster.Caching/issues/732","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/732/packages"}},{"old_version":"0.14.0","new_version":"0.15.8","update_type":"minor","path":null,"pr_created_at":"2026-01-13T03:02:03.000Z","version_change":"0.14.0 → 0.15.8","issue":{"uuid":"3806856917","node_id":"PR_kwDOPdsSMs680_fo","number":45,"state":"closed","title":"deps: Bump BenchmarkDotNet from 0.14.0 to 0.15.8","user":"dependabot[bot]","labels":["area: benchmarks","dependencies","size/xl"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-01-13T03:04:48.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-13T03:02:03.000Z","updated_at":"2026-01-13T03:04:52.000Z","time_to_close":165,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.14.0","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.14.0 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.8.html\n\n\n## 0.15.7\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.7.html\n\n\n## 0.15.6\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.6.html\n\n\n## 0.15.5\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.5.html\n\n\n\n## 0.15.4\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.4.html\n\n## Highlights\n\nAllow override method/property for ParamsSource ([#​2832](https://github.com/dotnet/BenchmarkDotNet/pull/2832))\n\n\n## 0.15.3\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.3.html\n\n## Highlights\n\nImprovements:\n\n- Naot instruction set support for .NET 10+, migrate to ISA groupings in CPU summary [#​2828](https://github.com/dotnet/BenchmarkDotNet/pull/2828)\n- Support benchmark filtering for TestAdapter [#​2662](https://github.com/dotnet/BenchmarkDotNet/issues/2662) [#​2788](https://github.com/dotnet/BenchmarkDotNet/pull/2788)\n- Support non-primitive external types in `ArgumentsSource` [#​2820](https://github.com/dotnet/BenchmarkDotNet/pull/2820)\n- Enable MSBuild parallel build via `--nodeReuse:false` [#​2693](https://github.com/dotnet/BenchmarkDotNet/issues/2693) [#​2814](https://github.com/dotnet/BenchmarkDotNet/pull/2814)\n- Improve CPU detection [#​2747](https://github.com/dotnet/BenchmarkDotNet/issues/2747) [#​2749](https://github.com/dotnet/BenchmarkDotNet/pull/2749)\n- Enable assembly signing for debug build [#​2774](https://github.com/dotnet/BenchmarkDotNet/pull/2774)\n\nDeprecations:\n\n- Deprecated `WithNuget` [#​2812](https://github.com/dotnet/BenchmarkDotNet/pull/2812)\n\nBug fixes:\n\n- Fix `InvalidOperationException` in diagnosers [#​2758](https://github.com/dotnet/BenchmarkDotNet/issues/2758) [#​2805](https://github.com/dotnet/BenchmarkDotNet/pull/2805)\n- Fix file detection in `NativeMemoryProfiler` [#​2794](https://github.com/dotnet/BenchmarkDotNet/issues/2794) [#​2795](https://github.com/dotnet/BenchmarkDotNet/pull/2795)\n- Fix long file paths issue in `EtwProfiler` [#​2807](https://github.com/dotnet/BenchmarkDotNet/issues/2807) [#​2808](https://github.com/dotnet/BenchmarkDotNet/pull/2808)\n- Fix log duplications in TestAdapter [#​2790](https://github.com/dotnet/BenchmarkDotNet/pull/2790)\n- Fix x86 disassembler error for net462 [#​2792](https://github.com/dotnet/BenchmarkDotNet/pull/2792)\n- Fix `IsNetCore` and `IsNativeAOT` for single-file apps without AOT [#​2799](https://github.com/dotnet/BenchmarkDotNet/pull/2799)\n- Fix density plot generation in `RPlotExporter` for latest version of R [#​2809](https://github.com/dotnet/BenchmarkDotNet/pull/2809)\n\n\n## 0.15.2\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.2.html\n\n## Highlights\n\n- The most significant update in this release is the enhanced accuracy of the memory diagnoser ([#​2562](https://github.com/dotnet/BenchmarkDotNet/pull/2562)). This improvement resolves the issue of incorrectly reported memory allocations ([#​1542](https://github.com/dotnet/BenchmarkDotNet/issues/1542), [#​2582](https://github.com/dotnet/BenchmarkDotNet/issues/2582)).\n- We have introduced a new feature that allows users to sort benchmark jobs in numerical order ([#​2768](https://github.com/dotnet/BenchmarkDotNet/issues/2768), [#​2770](https://github.com/dotnet/BenchmarkDotNet/pull/2770)).\n- Benchmark validation has been improved ([#​2771](https://github.com/dotnet/BenchmarkDotNet/pull/2771)).\n- An issue with non-persistent auto-generated JobId has been fixed ([#​2777](https://github.com/dotnet/BenchmarkDotNet/pull/2777)).\n\n\n## 0.15.1\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.1.html\n\n## Highlights\n\n-  Added support for *.slnx ([#​2763](https://github.com/dotnet/BenchmarkDotNet/issues/2763), [#​2764](https://github.com/dotnet/BenchmarkDotNet/pull/2764))\n-  Enabled ArgumentsSource to reference methods in other types ([#​2744](https://github.com/dotnet/BenchmarkDotNet/issues/2744), [#​2748](https://github.com/dotnet/BenchmarkDotNet/pull/2748))\n-  Resolved fatal errors for ARM CPUs ([#​2745](https://github.com/dotnet/BenchmarkDotNet/issues/2745), [#​2756](https://github.com/dotnet/BenchmarkDotNet/pull/2756))\n-  Fixed bugs related to support for Android, browser, iOS, and tvOS ([#​2739](https://github.com/dotnet/BenchmarkDotNet/issues/2739), [#​2741](https://github.com/dotnet/BenchmarkDotNet/pull/2741), [#​2740](https://github.com/dotnet/BenchmarkDotNet/issues/2740), [#​2742](https://github.com/dotnet/BenchmarkDotNet/pull/2742))\n\n\n\n## 0.15.0\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.0.html\n\n\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.14.0...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.14.0\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/JerrettDavis/TinyBDD/pull/45","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/JerrettDavis%2FTinyBDD/issues/45","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/45/packages"}},{"old_version":"0.15.6","new_version":"0.15.8","update_type":"patch","path":null,"pr_created_at":"2026-01-05T07:28:24.000Z","version_change":"0.15.6 → 0.15.8","issue":{"uuid":"3780464281","node_id":"PR_kwDOFYMH0M67ewMV","number":317,"state":"closed","title":"Bump BenchmarkDotNet from 0.15.6 to 0.15.8","user":"dependabot[bot]","labels":["dependencies","nuget"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-05T07:28:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-05T07:28:24.000Z","updated_at":"2026-01-05T07:28:51.000Z","time_to_close":26,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"BenchmarkDotNet","old_version":"0.15.6","new_version":"0.15.8","repository_url":"https://github.com/dotnet/BenchmarkDotNet"}],"path":null,"ecosystem":"nuget"},"body":"Updated [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.15.6 to 0.15.8.\n\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\n_Sourced from [BenchmarkDotNet's releases](https://github.com/dotnet/BenchmarkDotNet/releases)._\n\n## 0.15.8\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.8.html\n\n\n## 0.15.7\n\nFull changelog: https://benchmarkdotnet.org/changelog/v0.15.7.html\n\n\nCommits viewable in [compare view](https://github.com/dotnet/BenchmarkDotNet/compare/v0.15.6...v0.15.8).\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=BenchmarkDotNet\u0026package-manager=nuget\u0026previous-version=0.15.6\u0026new-version=0.15.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/TrueLayer/truelayer-dotnet/pull/317","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrueLayer%2Ftruelayer-dotnet/issues/317","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/317/packages"}}]}