[ 
https://issues.apache.org/jira/browse/THRIFT-6383?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jens Geyer updated THRIFT-6383:
-------------------------------
    Description: 
.NET 8 (LTS) and .NET 9 (STS) both reach end of support on November 10, 2026. 
See the [.NET support 
policy|https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core] 
and the [Microsoft lifecycle 
page|https://learn.microsoft.com/lifecycle/products/microsoft-net-and-net-core].

Drop the net8 and net9 targets from netstd. These places on master name them:
* {{lib/netstd/Thrift/Thrift.csproj}} and 
{{lib/netstd/Thrift.AspNetCore/Thrift.AspNetCore.csproj}}: {{net8.0}} and 
{{net9.0}} in {{TargetFrameworks}}.
* The test projects {{Thrift.Compile.net8}} and {{Thrift.Compile.net9}} in 
{{lib/netstd/Tests/Thrift.Compile.Tests}}, and their entries in 
{{lib/netstd/Thrift.slnx}}, {{test/netstd/ThriftTest.slnx}}, 
{{lib/netstd/Makefile.am}}, {{build/veralign.sh}} and {{debian/copyright}}.
* {{NET_VERSIONS}} in 
{{lib/netstd/Tests/codegen/run-NetStd-Codegen-Tests.ps1}}, and the 
{{lib-netstd-codegen}} matrix in {{.github/workflows/build.yml}}.
* The .NET tool package: 
{{build/windows/dotnet-tool/Apache.Thrift.Compiler.csproj}} and 
{{test-dotnet-tool.ps1}} target {{net8.0}}, and 
{{.github/workflows/dotnet-tool.yml}} sets up the 8.0 SDK. 
{{build/windows/README.md}} gives the .NET 8 and .NET 9 SDKs as the reason for 
the managed launcher.
* The language levels row in {{LANGUAGES.md}}.
* The generator options {{net8}} and {{net9}} in 
{{compiler/cpp/src/thrift/generate/t_netstd_generator.cc}}. That covers their 
parsing, their lines in the help text, and their branches of the target 
platform check that the generator writes into every file. Afterwards, passing 
{{netstd:net8}} or {{netstd:net9}} fails as an unknown option.

_Drafted with AI assistance (Claude Opus 5.5)._


  was:
.NET 8 (LTS) and .NET 9 (STS) both reach end of support on November 10, 2026. 
See the [.NET support 
policy|https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core] 
and the [Microsoft lifecycle 
page|https://learn.microsoft.com/lifecycle/products/microsoft-net-and-net-core].

Drop the net8 and net9 targets from netstd. These places on master name them:
* {{lib/netstd/Thrift/Thrift.csproj}} and 
{{lib/netstd/Thrift.AspNetCore/Thrift.AspNetCore.csproj}}: {{net8.0}} and 
{{net9.0}} in {{TargetFrameworks}}.
* The test projects {{Thrift.Compile.net8}} and {{Thrift.Compile.net9}} in 
{{lib/netstd/Tests/Thrift.Compile.Tests}}, and their entries in 
{{lib/netstd/Thrift.slnx}}, {{test/netstd/ThriftTest.slnx}}, 
{{lib/netstd/Makefile.am}}, {{build/veralign.sh}} and {{debian/copyright}}.
* {{NET_VERSIONS}} in 
{{lib/netstd/Tests/codegen/run-NetStd-Codegen-Tests.ps1}}, and the 
{{lib-netstd-codegen}} matrix in {{.github/workflows/build.yml}}.
* The .NET tool package: 
{{build/windows/dotnet-tool/Apache.Thrift.Compiler.csproj}} and 
{{test-dotnet-tool.ps1}} target {{net8.0}}, and 
{{.github/workflows/dotnet-tool.yml}} sets up the 8.0 SDK. 
{{build/windows/README.md}} gives the .NET 8 and .NET 9 SDKs as the reason for 
the managed launcher.
* The language levels row in {{LANGUAGES.md}}.

Open question: keep or remove the generator options {{net8}} and {{net9}} in 
{{t_netstd_generator.cc}}. Build scripts outside this repository may pass them.

_Drafted with AI assistance (Claude Opus 5.5)._



> Drop net8 and net9 support
> --------------------------
>
>                 Key: THRIFT-6383
>                 URL: https://issues.apache.org/jira/browse/THRIFT-6383
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Build Process, netstd - Compiler, netstd - Library
>            Reporter: Jens Geyer
>            Assignee: Jens Geyer
>            Priority: Major
>
> .NET 8 (LTS) and .NET 9 (STS) both reach end of support on November 10, 2026. 
> See the [.NET support 
> policy|https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core]
>  and the [Microsoft lifecycle 
> page|https://learn.microsoft.com/lifecycle/products/microsoft-net-and-net-core].
> Drop the net8 and net9 targets from netstd. These places on master name them:
> * {{lib/netstd/Thrift/Thrift.csproj}} and 
> {{lib/netstd/Thrift.AspNetCore/Thrift.AspNetCore.csproj}}: {{net8.0}} and 
> {{net9.0}} in {{TargetFrameworks}}.
> * The test projects {{Thrift.Compile.net8}} and {{Thrift.Compile.net9}} in 
> {{lib/netstd/Tests/Thrift.Compile.Tests}}, and their entries in 
> {{lib/netstd/Thrift.slnx}}, {{test/netstd/ThriftTest.slnx}}, 
> {{lib/netstd/Makefile.am}}, {{build/veralign.sh}} and {{debian/copyright}}.
> * {{NET_VERSIONS}} in 
> {{lib/netstd/Tests/codegen/run-NetStd-Codegen-Tests.ps1}}, and the 
> {{lib-netstd-codegen}} matrix in {{.github/workflows/build.yml}}.
> * The .NET tool package: 
> {{build/windows/dotnet-tool/Apache.Thrift.Compiler.csproj}} and 
> {{test-dotnet-tool.ps1}} target {{net8.0}}, and 
> {{.github/workflows/dotnet-tool.yml}} sets up the 8.0 SDK. 
> {{build/windows/README.md}} gives the .NET 8 and .NET 9 SDKs as the reason 
> for the managed launcher.
> * The language levels row in {{LANGUAGES.md}}.
> * The generator options {{net8}} and {{net9}} in 
> {{compiler/cpp/src/thrift/generate/t_netstd_generator.cc}}. That covers their 
> parsing, their lines in the help text, and their branches of the target 
> platform check that the generator writes into every file. Afterwards, passing 
> {{netstd:net8}} or {{netstd:net9}} fails as an unknown option.
> _Drafted with AI assistance (Claude Opus 5.5)._



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to