From d3becf546128dfa07d4b01a1ec19837778dfd6f8 Mon Sep 17 00:00:00 2001 From: Stuart Meeks Date: Fri, 24 Jul 2026 04:44:44 +0000 Subject: [PATCH] v0.3.0: per-TFM floors for runtime-aligned Microsoft deps; bump Spectre 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. --- CHANGELOG.md | 13 +++++++++++ ...Iteration.SpectreConsole.SelfUpdate.csproj | 23 +++++++++++++++---- ...ion.SpectreConsole.SelfUpdate.Tests.csproj | 2 +- 3 files changed, 33 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 919371f..a3c8164 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 --- +## [0.3.0] — 2026-07-24 + +### Changed + +- **Runtime-aligned Microsoft platform dependencies are now floored per target framework.** In a library a `PackageReference` version is a minimum floor NuGet forces on every downstream consumer (lowest-applicable-version resolution). Since 0.2.0 multi-targeted `net8.0` alongside `net10.0` but floored `Microsoft.Extensions.DependencyInjection.Abstractions` and `Microsoft.Extensions.Http` at a single `10.0.x`, net8 consumers were dragged off their own `8.0.x` LTS servicing line. These two packages are now split into per-TFM `ItemGroup`s: `net8.0` floors at the latest stable `8.0.x` (`DependencyInjection.Abstractions` 8.0.2, `Http` 8.0.1), `net10.0` at the latest stable `10.0.x` (both 10.0.10). The `net8.0` dependency group in the `.nupkg` no longer pins net8 apps to a .NET 10 servicing line. +- Bumped `Spectre.Console` (and the test-only `Spectre.Console.Testing`) 0.56.0 → 0.57.2. `Spectre.Console.Cli` stays at 0.55.0 (still its latest stable). These are independently-versioned third-party packages, so they remain a single common `PackageReference` at the built/tested version rather than being split per-TFM. + +--- + ## [0.2.0] — 2026-06-20 ### Changed @@ -166,6 +175,10 @@ Initial commit. Never published to nuget.org — superseded by 0.1.1 before the - Full XML documentation on the public surface, `TreatWarningsAsErrors=true`, `AnalysisLevel=latest`. - SourceLink, deterministic builds, published symbol packages. +[0.3.0]: https://github.com/StuartMeeks/NextIteration.SpectreConsole.SelfUpdate/releases/tag/v0.3.0 +[0.2.0]: https://github.com/StuartMeeks/NextIteration.SpectreConsole.SelfUpdate/releases/tag/v0.2.0 +[0.1.10]: https://github.com/StuartMeeks/NextIteration.SpectreConsole.SelfUpdate/releases/tag/v0.1.10 +[0.1.9]: https://github.com/StuartMeeks/NextIteration.SpectreConsole.SelfUpdate/releases/tag/v0.1.9 [0.1.8]: https://github.com/StuartMeeks/NextIteration.SpectreConsole.SelfUpdate/releases/tag/v0.1.8 [0.1.7]: https://github.com/StuartMeeks/NextIteration.SpectreConsole.SelfUpdate/releases/tag/v0.1.7 [0.1.6]: https://github.com/StuartMeeks/NextIteration.SpectreConsole.SelfUpdate/releases/tag/v0.1.6 diff --git a/src/NextIteration.SpectreConsole.SelfUpdate/NextIteration.SpectreConsole.SelfUpdate.csproj b/src/NextIteration.SpectreConsole.SelfUpdate/NextIteration.SpectreConsole.SelfUpdate.csproj index 6632e0f..fa270c5 100644 --- a/src/NextIteration.SpectreConsole.SelfUpdate/NextIteration.SpectreConsole.SelfUpdate.csproj +++ b/src/NextIteration.SpectreConsole.SelfUpdate/NextIteration.SpectreConsole.SelfUpdate.csproj @@ -11,7 +11,7 @@ NextIteration.SpectreConsole.SelfUpdate - 0.2.0 + 0.3.0 Stuart Meeks Self-update for Spectre.Console CLIs: pluggable update sources (GitHub Releases over HTTP, GitHub Releases via gh CLI for private repos, generic HTTPS manifest, custom), SHA-256 verification, atomic file swap, and a drop-in `update` command. true @@ -38,10 +38,25 @@ + + + + + + + + + + + - - - + diff --git a/tests/NextIteration.SpectreConsole.SelfUpdate.Tests/NextIteration.SpectreConsole.SelfUpdate.Tests.csproj b/tests/NextIteration.SpectreConsole.SelfUpdate.Tests/NextIteration.SpectreConsole.SelfUpdate.Tests.csproj index b8111b7..b36394c 100644 --- a/tests/NextIteration.SpectreConsole.SelfUpdate.Tests/NextIteration.SpectreConsole.SelfUpdate.Tests.csproj +++ b/tests/NextIteration.SpectreConsole.SelfUpdate.Tests/NextIteration.SpectreConsole.SelfUpdate.Tests.csproj @@ -32,7 +32,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive all - +