Closed nblumhardt closed 1 year ago
On the release of .NET 8
Would the versions built with the v7 libs roll forward to work with the v8 libs (say, if you wanted to test with ASP.Net Core 8 before it's released), or does 'pinned' actually mean '7 only' ?
@Numpsy thanks for checking this out! Roll-forward would work exactly as it does today. All I mean by "pinned" is that v7 of this library will have a dependency on v7 of Microsoft.Extensions.Configuration, and v8 of this library will build against v8 of M.E.C.
This probably sounds like a bigger change than it is - the main benefit is that the package's dependency graph is predictable and consistent, irrespective of the target framework and any other factors.
See also: https://github.com/serilog/serilog-extensions-logging/pull/222, https://github.com/serilog/serilog-extensions-hosting/pull/71, https://github.com/serilog/serilog-aspnetcore/pull/325
Unfortunately we've had some maintainability problems given the wide spread of target frameworks and dependencies across the Serilog sub-projects.
My aim's to kick through some RTM versions of all of these packages, pinned to their latest Microsoft.Extensions.* counterparts, ASAP.
I know we have https://github.com/serilog/serilog-settings-configuration/pull/343 open here (I've also held up the works there), my proposal is that we "rip the Band-Aid off" and merge this, then merge the release PR as v7.
Note that targeting v7 of the Microsoft.Extensions. packages doesn't mean dropping earlier TFMs - the majority of the ME packages continue supporting net462+, netstandard2.0+, and net6.0+.
On the release of .NET 8, the plan would then be to sim-ship Serilog.Extensions.* and Serilog.Settings.Configuration v8.0 versions that depend on the v8.0 dependencies (and so on, for the foreseeable future).