Skip to content

Drop net5.0 runtime targets#1448

Merged
AArnott merged 1 commit intoMessagePack-CSharp:masterfrom
AArnott:dropNet5.0
Jun 16, 2022
Merged

Drop net5.0 runtime targets#1448
AArnott merged 1 commit intoMessagePack-CSharp:masterfrom
AArnott:dropNet5.0

Conversation

@AArnott
Copy link
Collaborator

@AArnott AArnott commented Jun 14, 2022

Where we already had a .NET 6 target, we just drop net5.0. Where .NET 5 was the latest target, we change it to target .NET 6.

This is because .NET 5 is no longer supported by Microsoft, so no one is expected to be using that runtime at this point.

.NET Core 3.1 is still supported, as it is an LTS release, where .NET 5 isn't. So we continue to support such targets as we did before.

Where we already had a .NET 6 target, we just drop net5.0. Where .NET 5 was the latest target, we change it to target .NET 6.

This is because .NET 5 is no longer supported by Microsoft, so no one is expected to be using that runtime at this point.
@AArnott AArnott added this to the v2.4 milestone Jun 14, 2022
@AArnott AArnott requested a review from neuecc June 14, 2022 20:00
Copy link
Member

@neuecc neuecc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am reluctant to agree.
Some users have not migrated to 6 because Visual Studio 2019 supports up to .NET 5.
I thought if it is not necessary to adjust the supported version of the library too much to the LTS.
(see the JSON .NET target frameworks, it is truly OSS style)
If it increases the complexity of code branching, etc., it should be remove, but since netstandard2.0 is there, not so much.

However, there is netstandard support so ok to remove.
By the way, but how about netstandard2.1 support?
For some #if reasons, 2.0->2.1 may improve performance.

@AArnott
Copy link
Collaborator Author

AArnott commented Jun 16, 2022

VS2019 targeting .NET 5 is no longer supported. It might do it, but it's unsupported by Microsoft at this point. Anyone using the .NET 5 runtime (or SDK) is running software that potentially has unfixed or unknown security holes and should stop. If VS2019 cannot target .NET 6, then VS2019 users that want to keep using .NET 5 really should upgrade to VS2022. That's just the hard truth. Lagging behind the way folks did on .NET Framework just isn't really an option with .NET.

It sounds like you're ok with removal of this though, so thanks.

Regarding .NET Standard 2.0 vs. 2.1, targeting 2.1 will only help those on a mono runtime that supports it. But I guess that's a non-empty set because iOS and Android are still based on the mono runtime, right? But don't newer mono runtimes support .NET 6 assemblies too? I'm not sure. If not, then ya, I can look into adding a .NET Standard 2.1 target to the library.

@AArnott AArnott merged commit 888ecb2 into MessagePack-CSharp:master Jun 16, 2022
@AArnott AArnott deleted the dropNet5.0 branch June 16, 2022 04:21
@neuecc
Copy link
Member

neuecc commented Jun 16, 2022

If drops .NET 5 users, it doesn't seem to make much sense.
Unity has started netstandard 2.1 support, so it might be useful as a marker for that, but that would require some other work (including Unity version checks).
I also understood the update policy.
Maybe I was a little too pulled into the image of Microsoft backward compatibility(I liked it)

Thank you.

@AArnott
Copy link
Collaborator Author

AArnott commented Jun 16, 2022

Remember that PR where we were trying to update unity by a major release or two (#1312)? We had it all going except for a build hang, which never got resolved. I'd love to pull unity forward, add nullable ref annotations everywhere, etc. But we'd need some expert advice to get #1312 merged I think.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants