Skip to content

v0.3.0: per-TFM floors for runtime-aligned Microsoft deps; bump Spectre to 0.57.2#17

Merged
StuartMeeks merged 1 commit into
mainfrom
release-v0.3.0
Jul 24, 2026
Merged

v0.3.0: per-TFM floors for runtime-aligned Microsoft deps; bump Spectre to 0.57.2#17
StuartMeeks merged 1 commit into
mainfrom
release-v0.3.0

Conversation

@StuartMeeks

Copy link
Copy Markdown
Owner

Summary

Adopts per-target-framework dependency floors for the runtime-aligned Microsoft platform packages, and bumps Spectre to latest stable.

Since 0.2.0 multi-targeted net8.0 alongside net10.0 but floored Microsoft.Extensions.* at a single 10.0.x, net8 consumers were forced off their own 8.0.x LTS servicing line — a library PackageReference version is a minimum floor NuGet forces on every downstream consumer.

Changes

  • Split the two runtime-aligned Microsoft deps into per-TFM ItemGroups:

    Package net8.0 net10.0
    Microsoft.Extensions.DependencyInjection.Abstractions 8.0.2 10.0.10
    Microsoft.Extensions.Http 8.0.1 10.0.10

    Each is the latest stable servicing version of that TFM's major (verified on nuget.org).

  • Bump Spectre.Console 0.56.0 → 0.57.2 (and test-only Spectre.Console.Testing to match). Spectre.Console.Cli stays 0.55.0 (latest stable). These are independently-versioned third-party packages, so they stay a single common PackageReference — not split per-TFM.

  • Microsoft.SourceLink.GitHub (PrivateAssets="All", build-time only) and the test project (IsPackable=false) left as common refs.

  • Version 0.2.0 → 0.3.0, CHANGELOG updated.

Verification

  • dotnet build -c Release clean for both TFMs (TreatWarningsAsErrors=true), 0 warnings.
  • dotnet test -c Release196 passed.
  • dotnet pack + inspected the .nuspec inside the .nupkg: each TFM dependency group shows the intended per-major floors; Spectre common across both; SourceLink correctly excluded.
<group targetFramework="net8.0">
  <dependency id="Microsoft.Extensions.DependencyInjection.Abstractions" version="8.0.2" .../>
  <dependency id="Microsoft.Extensions.Http" version="8.0.1" .../>
  <dependency id="Spectre.Console" version="0.57.2" .../>
  <dependency id="Spectre.Console.Cli" version="0.55.0" .../>
</group>
<group targetFramework="net10.0">
  <dependency id="Microsoft.Extensions.DependencyInjection.Abstractions" version="10.0.10" .../>
  <dependency id="Microsoft.Extensions.Http" version="10.0.10" .../>
  <dependency id="Spectre.Console" version="0.57.2" .../>
  <dependency id="Spectre.Console.Cli" version="0.55.0" .../>
</group>

…re to 0.57.2

Split Microsoft.Extensions.DependencyInjection.Abstractions and
Microsoft.Extensions.Http into per-target-framework ItemGroups so each
TFM floors them at its own aligned major: net8.0 -> 8.0.2 / 8.0.1
(latest stable 8.0.x LTS servicing), net10.0 -> 10.0.10 / 10.0.10. A
library PackageReference is a floor NuGet forces on every consumer, so
the previous single 10.0.x floor dragged net8 consumers off their own
8.0.x servicing line.

Spectre.Console (and test-only Spectre.Console.Testing) bumped
0.56.0 -> 0.57.2; Spectre.Console.Cli stays 0.55.0 (latest stable).
As independently-versioned third-party packages they remain a single
common PackageReference, not split per-TFM.

Build clean for both TFMs (TreatWarningsAsErrors), 196 tests pass,
and the packed .nuspec shows the intended per-major floors in each
TFM dependency group.
@StuartMeeks
StuartMeeks merged commit db67b4c into main Jul 24, 2026
4 checks passed
@StuartMeeks
StuartMeeks deleted the release-v0.3.0 branch July 24, 2026 04:47
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