simple-odata-client / Simple.OData.Client

MIT License
331 stars 197 forks source link

Upgrade dependencies to allow Microsoft.OData.Core >= 8.0 #936

Open swidz opened 3 months ago

swidz commented 3 months ago

Microsoft has released the Microsoft.OData.Client version 8.0 https://learn.microsoft.com/en-us/odata/changelog/odatalib-8x Current Simple.OData.Client version (6.0.1) has dependency set for Microsoft.OData.Core (>= 7.9.4 && < 8.0.0)

Remo commented 1 month ago

I tried to see if I could easily upgrade it, but I'm running into some issues.

When you check version 8, you'll see that it only supports .NET 8 https://www.nuget.org/packages/microsoft.odata.core/#readme-body-tab

The older version 7.21.3 supports .NET Core 3.1, .NET Standard 1.1, .NET Framework 4.5: https://www.nuget.org/packages/Microsoft.OData.Core/7.21.3

Supporting Microsoft.OData.Core 8.0 would mean that we would have to break backwards compatibility and probably create a new major version. I'm fine with that, I just thought I would mention and see what others things.

Remo commented 1 month ago

Here's a start, but please note, it's incomplete!

https://github.com/simple-odata-client/Simple.OData.Client/pull/937

swidz commented 1 month ago

For the reference: https://github.com/OData/odata.net/issues/3073

The OData team made a specific decision to only target .NET 8.0 and later moving forward. If you want to support older frameworks you need to stay on v7.

esbenbach commented 3 weeks ago

For me, dropping .net7 support is not an issue. .NET7 is an STS release, so people will have to move on regardless. If not now, then in a short time. As long as a version of simple.odata.client exists for .net7 i doubt its a big issue.

The alternative is to multi target and write wrappers (urgh the maintainer is NOT going to like this in the long run), or create separate version for older framework types (sort of the same thing, just without the wrappers, but its still going to be annoying).

rezanid commented 4 days ago

I am just starting to use your awesome library, but unfortunately because I am building tools for Microsoft products I am forced to use the old .Net Framework since most of Microsoft's own products (e.g. Visual Studio family of products, even the latest Power Platform), rely on .Net Framework without any published roadmap to ever move on to .Net.

Does this mean that I will not benefit from potential bug fixes in future? I'm fine with not receiving new features as Microsoft products are on the same boat too.