From b72fed55c4dd6ee6ccb1be9d844e28c232c44e3b Mon Sep 17 00:00:00 2001 From: samatstarion Date: Sat, 6 Jun 2026 14:35:50 +0200 Subject: [PATCH] [Update] lower Microsoft.Extensions.Logging.Abstractions floor to 6.0.0 The core library only uses logging APIs present since 6.0.0, yet pinned the floor at 10.0.8. A PackageReference version is a transitive minimum, so the high floor forced every consumer onto the 10.x line and undermined the broad reach of the netstandard2.0 target. Lower the floor to 6.0.0, document the rationale in the csproj, and add a README note explaining how .NET 8/10 consumers can float or pin the dependency. --- README.md | 12 ++++++++++++ ReqIFSharp/ReqIFSharp.csproj | 11 ++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index cb0572d..97fded7 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,18 @@ The packages are available on Nuget: - [ReqIFSharp](https://www.nuget.org/packages/ReqIFSharp): ![NuGet Version](https://img.shields.io/nuget/v/ReqIFSharp) - [ReqIFSharp.Extensions](https://www.nuget.org/packages/ReqIFSharp.Extensions): ![NuGet Version](https://img.shields.io/nuget/v/ReqIFSharp.Extensions) +## Dependencies + +`ReqIFSharp` targets `netstandard2.0` and has a single runtime dependency: `Microsoft.Extensions.Logging.Abstractions`. Its version is **deliberately floored at `6.0.0`** - the lowest version that exposes every logging API the library uses. Because a NuGet package reference is a *minimum*, a low floor keeps the library broadly consumable instead of forcing everyone onto the latest major. + +**Using ReqIFSharp from .NET 8/10 (or any modern app)?** You don't have to do anything - NuGet automatically floats the dependency up to the version your application already uses (e.g. `Microsoft.Extensions.Logging.Abstractions 10.x` on .NET 10). If you want to be explicit, simply add a direct reference in your own project to the version that matches your runtime: + +```xml + +``` + +This pins the resolved version in your application without ReqIFSharp imposing it on consumers who are still on older lines. + ## Build Status GitHub actions are used to build and test the library diff --git a/ReqIFSharp/ReqIFSharp.csproj b/ReqIFSharp/ReqIFSharp.csproj index 3c46df9..2da37ef 100644 --- a/ReqIFSharp/ReqIFSharp.csproj +++ b/ReqIFSharp/ReqIFSharp.csproj @@ -90,7 +90,16 @@ - + +