diff --git a/.docfx/images/128x128.png b/.docfx/images/128x128.png new file mode 100644 index 0000000..0b304b4 Binary files /dev/null and b/.docfx/images/128x128.png differ diff --git a/.docfx/toc.yml b/.docfx/toc.yml index d360c79..921bcba 100644 --- a/.docfx/toc.yml +++ b/.docfx/toc.yml @@ -1,4 +1,4 @@ -- name: Bootstrapper API +- name: BenchmarkDotNet API href: api/Codebelt.Extensions.BenchmarkDotNet.html - name: NuGet href: packages diff --git a/.github/scripts/bump-nuget.py b/.github/scripts/bump-nuget.py index 08cf477..82c90f7 100644 --- a/.github/scripts/bump-nuget.py +++ b/.github/scripts/bump-nuget.py @@ -53,6 +53,7 @@ "swashbuckle-aspnetcore": ["Codebelt.Extensions.Swashbuckle"], "savvyio": ["Savvyio."], "shared-kernel": ["Codebelt.SharedKernel"], + "carter": ["Codebelt.Extensions.Carter"], } diff --git a/.github/workflows/service-update.yml b/.github/workflows/service-update.yml index ea92ea5..8ce5965 100644 --- a/.github/workflows/service-update.yml +++ b/.github/workflows/service-update.yml @@ -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 diff --git a/.nuget/Codebelt.Extensions.BenchmarkDotNet.Console/PackageReleaseNotes.txt b/.nuget/Codebelt.Extensions.BenchmarkDotNet.Console/PackageReleaseNotes.txt index f274fcc..12736fe 100644 --- a/.nuget/Codebelt.Extensions.BenchmarkDotNet.Console/PackageReleaseNotes.txt +++ b/.nuget/Codebelt.Extensions.BenchmarkDotNet.Console/PackageReleaseNotes.txt @@ -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 -  \ No newline at end of file diff --git a/.nuget/Codebelt.Extensions.BenchmarkDotNet/PackageReleaseNotes.txt b/.nuget/Codebelt.Extensions.BenchmarkDotNet/PackageReleaseNotes.txt index 3e79d1f..2811dd0 100644 --- a/.nuget/Codebelt.Extensions.BenchmarkDotNet/PackageReleaseNotes.txt +++ b/.nuget/Codebelt.Extensions.BenchmarkDotNet/PackageReleaseNotes.txt @@ -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} -  \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index b91d399..08b3b8e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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. @@ -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 diff --git a/Directory.Build.targets b/Directory.Build.targets index f2f12ec..a5dbead 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -1,10 +1,7 @@  - - - - @(PackageReleaseNotesLines, '%0A') + $([System.IO.File]::ReadAllText('$(PackageReleaseNotesFile)')) diff --git a/Directory.Packages.props b/Directory.Packages.props index 84712fa..7c2842a 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -1,19 +1,19 @@ - - - true - - - - - - - - - - - - - - - + + + true + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/testenvironments.json b/testenvironments.json index a12cd13..e0b5a26 100644 --- a/testenvironments.json +++ b/testenvironments.json @@ -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" } ] }