[ https://issues.apache.org/jira/browse/AVRO-3236?focusedWorklogId=718703&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-718703 ]
ASF GitHub Bot logged work on AVRO-3236: ---------------------------------------- Author: ASF GitHub Bot Created on: 01/Feb/22 14:24 Start Date: 01/Feb/22 14:24 Worklog Time Spent: 10m Work Description: zcsizmadia commented on pull request #1375: URL: https://github.com/apache/avro/pull/1375#issuecomment-1026898923 @KyleSchoonover NET Standard 2.0 is required becuase of the NET Framework 4.6.x+ support. Many older NET Frameworks go EOL this April, however some are still supported. E.g. NET Framework 4,8 is an open ended LTS, and its supoort is toed to OS support. In the future they might add NET Standrad 2.1 support to Frameork as well, however at this point it is only NET Standard 2.0. To be fair I have to say I have no idea how many of this Avro library users are on NET Framework. My 2 cents on using newer language features in this project should be performance driven. When we have to support multiple frameworks , a common code base makes it eaiser to maintain it. However if there is a performance gain by moving to a newer language, becuase of a better compiler generated code or newer API features, a new target framework should be added. This was the reason netstandard2.1 was added. I would love to see if there is an improvement by adding net6.0 as a target framework. I would not be surprised if it would be somewhat faster. In that case we might be lucky and simply just compiling the same source with net6.0 target or we need to add some net6.0 specific source code (using conditional compiling). However the new language features would be available only in the code which is compiled o nly on net6.0+. Regarding to the future os MS support for NET Frameowrks and Core versions: 1. NET Framework 4.6.x, 4.7 and 4.8: Tied to Windows OS support. This requires NET Standard 2.0, so it has to be supported for a while 2. NET Core 3.1 EOL is in 12/2022: This requires NET Standard 2.1 (or NET STandard 2.0), however 2.1 is faster 3. NET 5.0 EOL 5/2022: Pretty much the same as NET Core 3.1 (NET STandard 2.1) 4. NET 6.0 EOL 11/2024: Pretty much the same as NET Core 3.1 (NET STandard 2.1) It is trivial to add net5.0 or net6.0 to the supported frameworks, however this should happen only if some performance gain is proven. Otherwise the published nuget packages might double or triple in size without gaining anything. https://github.com/apache/avro/blob/master/lang/csharp/common.props#L42 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@avro.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 718703) Time Spent: 2h 40m (was: 2.5h) > Retire .NET Core 2.1 > -------------------- > > Key: AVRO-3236 > URL: https://issues.apache.org/jira/browse/AVRO-3236 > Project: Apache Avro > Issue Type: Improvement > Reporter: Zoltan Csizmadia > Assignee: Zoltan Csizmadia > Priority: Minor > Labels: pull-request-available > Fix For: 1.11.0 > > Time Spent: 2h 40m > Remaining Estimate: 0h > > .NET Core was retired and EOL since August, 2021. > [https://dotnet.microsoft.com/download/dotnet/2.1] > > # Remove netcoreapp2.1 from TargetFramework(s) in all csproj. > # Remove .NET Core 2.1 dependency form the build environment -- This message was sent by Atlassian Jira (v8.20.1#820001)