Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .docfx/images/128x128.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion .docfx/toc.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
- name: Bootstrapper API
- name: BenchmarkDotNet API
href: api/Codebelt.Extensions.BenchmarkDotNet.html
- name: NuGet
href: packages
1 change: 1 addition & 0 deletions .github/scripts/bump-nuget.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
"xunit": ["Codebelt.Extensions.Xunit"],
"benchmarkdotnet": ["Codebelt.Extensions.BenchmarkDotNet"],
"bootstrapper": ["Codebelt.Bootstrapper"],
"carter": ["Codebelt.Extensions.Carter"],

Check warning on line 38 in .github/scripts/bump-nuget.py

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Change or remove duplicates of this key.

See more on https://sonarcloud.io/project/issues?id=benchmarkdotnet&issues=AZ0baZW0TGOX5zD9BsIy&open=AZ0baZW0TGOX5zD9BsIy&pullRequest=13
"newtonsoft-json": [
"Codebelt.Extensions.Newtonsoft.Json",
"Codebelt.Extensions.AspNetCore.Newtonsoft.Json",
Expand All @@ -53,6 +53,7 @@
"swashbuckle-aspnetcore": ["Codebelt.Extensions.Swashbuckle"],
"savvyio": ["Savvyio."],
"shared-kernel": ["Codebelt.SharedKernel"],
"carter": ["Codebelt.Extensions.Carter"],
}


Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/service-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ jobs:
for f in .nuget/*/PackageReleaseNotes.txt; do
[ -f "$f" ] || continue
TFM=$(grep -m1 "^Availability:" "$f" | sed 's/Availability: //' || echo ".NET 10, .NET 9 and .NET Standard 2.0")
ENTRY="Version: ${NEW}\nAvailability: ${TFM}\n \n# ALM\n- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)\n \n"
ENTRY="Version: ${NEW}\nAvailability: ${TFM}\n\n# ALM\n- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)\n \n"
{ printf "$ENTRY"; cat "$f"; } > "$f.tmp" && mv "$f.tmp" "$f"
done

Expand Down
Original file line number Diff line number Diff line change
@@ -1,52 +1,57 @@
Version: 1.2.4
Version: 1.2.5
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)


# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 1.2.4
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 1.2.3
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 1.2.2
Availability: .NET 10 and .NET 9
 

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
 

Version: 1.2.1
Availability: .NET 10 and .NET 9
 

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
 

Version: 1.2.0
Availability: .NET 10 and .NET 9
 

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
 

# Breaking Changes
- REMOVED BenchmarkWorker class in the Codebelt.Extensions.BenchmarkDotNet.Console namespace and functionality has been merged into the BenchmarkProgram class to streamline the hosting and execution of benchmarks
 

Version: 1.1.0
Availability: .NET 10 and .NET 9
 

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
 

# Improvements
- EXTENDED BenchmarkProgram class in the Codebelt.Extensions.BenchmarkDotNet.Console namespace to support an optional service configurator delegate for customizing the IServiceCollection during host building
- EXTENDED BenchmarkWorker class in the Codebelt.Extensions.BenchmarkDotNet.Console namespace to support skipping benchmarks that already have generated reports based on the BenchmarkWorkspaceOptions.SkipBenchmarksWithReports property
- CHANGED BenchmarkWorker class in the Codebelt.Extensions.BenchmarkDotNet.Console namespace to conditionally suppress console status messages in services based on whether you are in a debugging session or not
 

Version: 1.0.0
Availability: .NET 10 and .NET 9
 

# New Features
- ADDED BenchmarkContext class in the Codebelt.Extensions.BenchmarkDotNet.Console namespace that represents the command-line context for a benchmark run
- ADDED BenchmarkProgram class in the Codebelt.Extensions.BenchmarkDotNet.Console namespace that provides the main entry point for hosting and running benchmarks using BenchmarkDotNet
- ADDED BenchmarkWorker class in the Codebelt.Extensions.BenchmarkDotNet.Console namespace that is responsible for executing benchmarks within the console host

43 changes: 24 additions & 19 deletions .nuget/Codebelt.Extensions.BenchmarkDotNet/PackageReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,53 +1,58 @@
Version: 1.2.4
Version: 1.2.5
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)


# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 1.2.4
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 1.2.3
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 1.2.2
Availability: .NET 10 and .NET 9
 

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
 

Version: 1.2.1
Availability: .NET 10 and .NET 9
 

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
 

Version: 1.2.0
Availability: .NET 10 and .NET 9
 

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
 

Version: 1.1.0
Availability: .NET 10 and .NET 9
 

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
 

# Bug Fixes
- FIXED BenchmarkWorkspaceOptions class in the Codebelt.Extensions.BenchmarkDotNet namespace so it no longer relies on Danish culture
 

# Improvements
- EXTENDED BenchmarkWorkspace class in the Codebelt.Extensions.BenchmarkDotNet namespace with two new static methods; GetReportsResultsPath and GetReportsTuningPath for retrieving the paths to the reports results and tuning directories respectively
- EXTENDED BenchmarkWorkspaceOptions class in the Codebelt.Extensions.BenchmarkDotNet namespace to include one new property; SkipBenchmarksWithReports that indicates whether benchmarks that already have generated reports should be skipped during execution
 

Version: 1.0.0
Availability: .NET 10 and .NET 9
 

# New Features
- ADDED BenchmarkWorkspace class in the Codebelt.Extensions.BenchmarkDotNet namespace that provides a default implementation of IBenchmarkWorkspace for discovering and handling assemblies and their generated artifacts in BenchmarkDotNet
- ADDED BenchmarkWorkspaceOptions class in the Codebelt.Extensions.BenchmarkDotNet namespace that specifies configuration options that is related to the BenchmarkWorkspace class
- ADDED BenchmarkWorkspaceOptionsExtensions class in the Codebelt.Extensions.BenchmarkDotNet namespace that consist of extension methods for the BenchmarkWorkspaceOptions class: ConfigureBenchmarkDotNet
- ADDED IBenchmarkWorkspace interface in the Codebelt.Extensions.BenchmarkDotNet namespace that defines a way for discovering and handling assemblies and their generated artifacts in BenchmarkDotNet
- ADDED ServiceCollectionExtensions class in the Codebelt.Extensions.BenchmarkDotNet namespace that consist of extension methods for the IServiceCollection interface: AddBenchmarkWorkspace and AddBenchmarkWorkspace{TWorkspace}

30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,26 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),

For more details, please refer to `PackageReleaseNotes.txt` on a per assembly basis in the `.nuget` folder.

## [1.2.5] - 2026-03-23

This is a patch release focused on keeping package dependencies current, improving documentation branding, and hardening the build and test infrastructure.

### Added

- Added `Docker-Ubuntu (net10)` test environment for explicit .NET 10 testing,
- Added Carter package mapper to automated NuGet version-bump detection in CI.

### Changed

- Upgraded `Codebelt.Bootstrapper.Console` from 5.0.4 to 5.0.5,
- Upgraded `Codebelt.Extensions.Xunit.App` from 11.0.7 to 11.0.8,
- Upgraded `Cuemon.Core` from 10.4.0 to 10.5.0,
- Upgraded `coverlet.collector` and `coverlet.msbuild` to 8.0.1,
- Renamed `Docker-Ubuntu` test environment to `Docker-Ubuntu (net9)` for clarity,
- Simplified MSBuild task for reading package release notes from file-based approach to direct `System.IO.File::ReadAllText`,
- Updated DocFX API documentation homepage title from "Bootstrapper API" to "BenchmarkDotNet API",
- Fixed formatting in GitHub Actions service-update workflow for release notes entry generation.

## [1.2.4] - 2026-02-28

This is a service update that focuses on package dependencies.
Expand Down Expand Up @@ -58,3 +78,13 @@ This is the initial stable release of the `Codebelt.Extensions.BenchmarkDotNet`
- ADDED `BenchmarkContext` class in the Codebelt.Extensions.BenchmarkDotNet.Console namespace that represents the command-line context for a benchmark run,
- ADDED `BenchmarkProgram` class in the Codebelt.Extensions.BenchmarkDotNet.Console namespace that provides the main entry point for hosting and running benchmarks using BenchmarkDotNet,
- ADDED `BenchmarkWorker` class in the Codebelt.Extensions.BenchmarkDotNet.Console namespace that is responsible for executing benchmarks within the console host.

[Unreleased]: https://github.com/codebeltnet/benchmarkdotnet/compare/v1.2.5...HEAD
[1.2.5]: https://github.com/codebeltnet/benchmarkdotnet/compare/v1.2.4...v1.2.5
[1.2.4]: https://github.com/codebeltnet/benchmarkdotnet/compare/v1.2.3...v1.2.4
[1.2.3]: https://github.com/codebeltnet/benchmarkdotnet/compare/v1.2.2...v1.2.3
[1.2.2]: https://github.com/codebeltnet/benchmarkdotnet/compare/v1.2.1...v1.2.2
[1.2.1]: https://github.com/codebeltnet/benchmarkdotnet/compare/v1.2.0...v1.2.1
[1.2.0]: https://github.com/codebeltnet/benchmarkdotnet/compare/v1.1.0...v1.2.0
[1.1.0]: https://github.com/codebeltnet/benchmarkdotnet/compare/v1.0.0...v1.1.0
[1.0.0]: https://github.com/codebeltnet/benchmarkdotnet/releases/tag/v1.0.0
5 changes: 1 addition & 4 deletions Directory.Build.targets
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
<Project>
<Target Name="PreparePackageReleaseNotesFromFile" BeforeTargets="GenerateNuspec" Condition="'$(IsTestProject)' == 'false' AND Exists('$(PackageReleaseNotesFile)')">
<ReadLinesFromFile File="$(PackageReleaseNotesFile)">
<Output TaskParameter="Lines" ItemName="PackageReleaseNotesLines"/>
</ReadLinesFromFile>
<PropertyGroup>
<PackageReleaseNotes>@(PackageReleaseNotesLines, '%0A')</PackageReleaseNotes>
<PackageReleaseNotes>$([System.IO.File]::ReadAllText('$(PackageReleaseNotesFile)'))</PackageReleaseNotes>
</PropertyGroup>
</Target>

Expand Down
36 changes: 18 additions & 18 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="BenchmarkDotNet" Version="0.15.8" />
<PackageVersion Include="BenchmarkDotNet.Diagnostics.Windows" Version="0.15.8" />
<PackageVersion Include="Codebelt.Bootstrapper.Console" Version="5.0.4" />
<PackageVersion Include="Codebelt.Extensions.Xunit.App" Version="11.0.7" />
<PackageVersion Include="Cuemon.Core" Version="10.4.0" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.3.0" />
<PackageVersion Include="MinVer" Version="7.0.0" />
<PackageVersion Include="coverlet.collector" Version="8.0.0" />
<PackageVersion Include="coverlet.msbuild" Version="8.0.0" />
<PackageVersion Include="xunit.v3" Version="3.2.2" />
<PackageVersion Include="xunit.v3.runner.console" Version="3.2.2" />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
</ItemGroup>
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="BenchmarkDotNet" Version="0.15.8" />
<PackageVersion Include="BenchmarkDotNet.Diagnostics.Windows" Version="0.15.8" />
<PackageVersion Include="Codebelt.Bootstrapper.Console" Version="5.0.5" />
<PackageVersion Include="Codebelt.Extensions.Xunit.App" Version="11.0.8" />
<PackageVersion Include="Cuemon.Core" Version="10.5.0" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.3.0" />
<PackageVersion Include="MinVer" Version="7.0.0" />
<PackageVersion Include="coverlet.collector" Version="8.0.1" />
<PackageVersion Include="coverlet.msbuild" Version="8.0.1" />
<PackageVersion Include="xunit.v3" Version="3.2.2" />
<PackageVersion Include="xunit.v3.runner.console" Version="3.2.2" />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
</ItemGroup>
</Project>
9 changes: 7 additions & 2 deletions testenvironments.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,14 @@
"wslDistribution": "Ubuntu-24.04"
},
{
"name": "Docker-Ubuntu",
"name": "Docker-Ubuntu (net9)",
"type": "docker",
"dockerImage": "codebeltnet/ubuntu-testrunner:net8.0.418-9.0.311-10.0.103"
"dockerImage": "codebeltnet/ubuntu-testrunner:9"
},
{
"name": "Docker-Ubuntu (net10)",
"type": "docker",
"dockerImage": "codebeltnet/ubuntu-testrunner:10"
}
]
}
Loading