Skip to content

chore: modernize to .NET 10 and Spectre.Console 0.55.2 - #38

Merged
NikiforovAll merged 2 commits into
mainfrom
chore/modernize-net10-spectre-0.55
May 17, 2026
Merged

chore: modernize to .NET 10 and Spectre.Console 0.55.2#38
NikiforovAll merged 2 commits into
mainfrom
chore/modernize-net10-spectre-0.55

Conversation

@NikiforovAll

Copy link
Copy Markdown
Owner

Summary

  • Bumps target frameworks to net10.0 (libs, tests, all 6 samples) and global.json to 10.0.108.
  • Pins Spectre.Console 0.55.2 (was floating 0.32.*, ~7 minors behind); pins Spectre.Console.ImageSharp 0.55.2 for samples.
  • Refreshes all tooling (MinVer 7, Threading.Analyzers 17.14, SourceLink 10), test deps (Test.Sdk 18.5, xunit 2.9.3, runner 3.1.5, Moq 4.20.72, coverlet 10), and sample deps (EF Core 10.0.8, MiniProfiler 4.5.4, Bogus 35.6.5).
  • Moves dotnet-tools.json to .config/ and bumps tools (Cake 6.1.0, dotnet-example 5.0.0, dotnet-outdated-tool 4.7.1).
  • Updates GitHub Actions: setup-dotnet@v4 with .NET 10, checkout/upload-artifact/download-artifact@v4, release-drafter@v6.

Source changes forced by Spectre API churn (0.32 → 0.55)

  • Test console rewrite. IAnsiConsole/IAnsiConsoleInput grew new members (Profile, ExclusivityMode, Write(IRenderable), WriteAnsi, IsKeyAvailable, async ReadKey, nullable ReadKey return). Deleted 130 LOC of hand-rolled TestableAnsiConsole/TestableConsoleInput; switched to the official Spectre.Console.Testing.TestConsole (Spectre.Console.Testing 0.55.2).
  • AnsiConsole.RenderAnsiConsole.Write in 5 sample call sites — Render was removed upstream.

Public API of the published libraries: unchanged.

Test plan

  • dotnet --version → 10.0.204 picked up via updated global.json.
  • dotnet tool restore → cake/example/outdated installed from new .config/ manifest.
  • dotnet restore + dotnet build → 0 errors across solution.
  • dotnet test → 1 passed, 1 skipped (existing skip).
  • dotnet pack for both libs → .nupkg artifacts produced.
  • Ran samples iprogress and DataTable — output renders correctly.
  • Verify dotnet cake end-to-end on CI (Cake jumped from 1.0-rc → 6.1.0; if it breaks, fall back to direct dotnet build/test/pack in the workflow).
  • Confirm GitHub Actions matrix builds green on ubuntu/windows/macOS.

- Bump TFMs to net10.0 (libs, tests, samples); global.json to 10.0.108.
- Pin Spectre.Console 0.55.2 (no wildcard) and Spectre.Console.ImageSharp 0.55.2.
- Refresh tooling: MinVer 7.0.0, Threading.Analyzers 17.14.15, SourceLink.GitHub 10.0.300.
- Refresh test deps: Test.Sdk 18.5.1, xunit 2.9.3, xunit.runner.visualstudio 3.1.5, Moq 4.20.72, coverlet 10.0.0.
- Refresh sample deps: EF Core 10.0.8, M.E.DI 10.0.8, MiniProfiler 4.5.4, Bogus 35.6.5.
- Relocate dotnet-tools.json to .config/; bump cake.tool 6.1.0, dotnet-example 5.0.0, replace dotnet-outdated with dotnet-outdated-tool 4.7.1.
- CI: setup-dotnet@v4 (.NET 10), checkout/upload/download-artifact@v4, release-drafter@v6.
- Replace hand-rolled TestableAnsiConsole/Input with Spectre.Console.Testing.TestConsole.
- AnsiConsole.Render -> AnsiConsole.Write in samples (Render removed upstream).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant