[
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
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)