[
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)