Don't upgrade packages in 2.x branch to require v9 microsoft packages (v8 is ok)
Hello
We are using the 2.x packages for an old .net application we still need to support
However between 2.16 and 2.17 it was decided to update a lot of base packages from v7 to v9, and now the dependency tree has gone from:
.NETStandard 2.0
[Apache.Avro](https://www.nuget.org/packages/Apache.Avro/) (>= 1.11.2)
[AvroSchemaGenerator](https://www.nuget.org/packages/AvroSchemaGenerator/) (>= 2.9.2)
[FSharp.Core](https://www.nuget.org/packages/FSharp.Core/) (>= 7.0.400)
[FSharp.UMX](https://www.nuget.org/packages/FSharp.UMX/) (>= 1.1.0)
[K4os.Compression.LZ4](https://www.nuget.org/packages/K4os.Compression.LZ4/) (>= 1.3.6)
[Microsoft.Bcl.AsyncInterfaces](https://www.nuget.org/packages/Microsoft.Bcl.AsyncInterfaces/) (>= 7.0.0)
[Microsoft.Extensions.Caching.Memory](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Memory/) (>= 7.0.0)
[Microsoft.Extensions.Http](https://www.nuget.org/packages/Microsoft.Extensions.Http/) (>= 7.0.0)
[Microsoft.Extensions.Logging](https://www.nuget.org/packages/Microsoft.Extensions.Logging/) (>= 7.0.0)
[Microsoft.Extensions.Logging.Abstractions](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Abstractions/) (>= 7.0.1)
[Microsoft.IO.RecyclableMemoryStream](https://www.nuget.org/packages/Microsoft.IO.RecyclableMemoryStream/) (>= 2.3.2)
[NSec.Cryptography](https://www.nuget.org/packages/NSec.Cryptography/) (= 20.2.0)
[PemUtils](https://www.nuget.org/packages/PemUtils/) (>= 3.0.0.82)
[Pipelines.Sockets.Unofficial](https://www.nuget.org/packages/Pipelines.Sockets.Unofficial/) (>= 2.2.8)
[protobuf-net](https://www.nuget.org/packages/protobuf-net/) (>= 3.2.26)
[protobuf-net.Reflection](https://www.nuget.org/packages/protobuf-net.Reflection/) (>= 3.2.12)
[Snappy.Standard](https://www.nuget.org/packages/Snappy.Standard/) (>= 0.2.0)
[System.IO.Pipelines](https://www.nuget.org/packages/System.IO.Pipelines/) (>= 7.0.0)
[System.Text.Json](https://www.nuget.org/packages/System.Text.Json/) (>= 7.0.3)
[System.Threading.Channels](https://www.nuget.org/packages/System.Threading.Channels/) (>= 7.0.0)
[zlib.net-mutliplatform](https://www.nuget.org/packages/zlib.net-mutliplatform/) (>= 1.0.6)
[ZstdNet](https://www.nuget.org/packages/ZstdNet/) (>= 1.4.5)
to
.NETStandard 2.0
[Apache.Avro](https://www.nuget.org/packages/Apache.Avro/) (>= 1.12.0)
[AvroSchemaGenerator](https://www.nuget.org/packages/AvroSchemaGenerator/) (>= 2.10.0)
[FSharp.Core](https://www.nuget.org/packages/FSharp.Core/) (>= 9.0.100)
[FSharp.UMX](https://www.nuget.org/packages/FSharp.UMX/) (>= 1.1.0)
[K4os.Compression.LZ4](https://www.nuget.org/packages/K4os.Compression.LZ4/) (>= 1.3.8)
[Microsoft.Bcl.AsyncInterfaces](https://www.nuget.org/packages/Microsoft.Bcl.AsyncInterfaces/) (>= 9.0.0)
[Microsoft.Extensions.Caching.Memory](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Memory/) (>= 9.0.0)
[Microsoft.Extensions.Http](https://www.nuget.org/packages/Microsoft.Extensions.Http/) (>= 9.0.0)
[Microsoft.Extensions.Logging](https://www.nuget.org/packages/Microsoft.Extensions.Logging/) (>= 9.0.0)
[Microsoft.Extensions.Logging.Abstractions](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Abstractions/) (>= 9.0.0)
[Microsoft.IO.RecyclableMemoryStream](https://www.nuget.org/packages/Microsoft.IO.RecyclableMemoryStream/) (>= 3.0.1)
[NSec.Cryptography](https://www.nuget.org/packages/NSec.Cryptography/) (= 20.2.0)
[PemUtils](https://www.nuget.org/packages/PemUtils/) (>= 3.0.0.82)
[Pipelines.Sockets.Unofficial](https://www.nuget.org/packages/Pipelines.Sockets.Unofficial/) (>= 2.2.8)
[protobuf-net](https://www.nuget.org/packages/protobuf-net/) (>= 3.2.45)
[protobuf-net.Reflection](https://www.nuget.org/packages/protobuf-net.Reflection/) (>= 3.2.12)
[Snappy.Standard](https://www.nuget.org/packages/Snappy.Standard/) (>= 0.2.0)
[System.IO.Pipelines](https://www.nuget.org/packages/System.IO.Pipelines/) (>= 9.0.0)
[System.Text.Json](https://www.nuget.org/packages/System.Text.Json/) (>= 9.0.0)
[System.Threading.Channels](https://www.nuget.org/packages/System.Threading.Channels/) (>= 9.0.0)
[zlib.net-mutliplatform](https://www.nuget.org/packages/zlib.net-mutliplatform/) (>= 1.0.8)
[ZstdNet](https://www.nuget.org/packages/ZstdNet/) (>= 1.4.5)
However this is a pain for applications using v8 SDK, which now received warning/error about e.g. [Microsoft.Extensions.Logging.Abstractions](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Abstractions/) requiring v >9
It would be nice if the 2.x branch doesn't update it's base dependencies to v9, so it plays nicely with v8 packages which are commonly used.
v8 of the SDK which is still under LTS from microsoft until November 10, 2026
However this is a pain for applications using v8 SDK, which now received warning/error about e.g. Microsoft.Extensions.Logging.Abstractions requiring v >9
Why is this an issue? Those are just nuget packages that can be updated any time.
v8 of the SDK which is still under LTS from microsoft until November 10, 2026
That's true about .NET SDK, EF and ASP.NET, however not true about most nuget packages (like Microsoft.Extensions.Logging.Abstractions), only latest version (which is now v9.x) is officially supported.
Having said that, I'm not against moving dependencies to 8.x, you are welcome to send a PR. To achieve that you'll likely need to use Paket restrictions. https://fsprojects.github.io/Paket/dependencies-file.html Original PR with package update is https://github.com/fsprojects/pulsar-client-dotnet/pull/289