Jens-G opened a new pull request, #3963:
URL: https://github.com/apache/thrift/pull/3963

   Adds net11 support to netstd, along the lines of THRIFT-5902 for net10. .NET 
11 is due in November 2026. Its release candidates come with a go-live license: 
"Go-live releases are supported by Microsoft in production" ([.NET support 
policy](https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core)).
 RC1 has been out since September 8.
   
   - The netstd generator gets a `net11` option (C# 15). Code generated for 
`net10` now stops with `#error` when built for net11, as `net9` code does for 
net10.
   - `ApacheThrift` and `ApacheThrift.AspNetCore` add `net11.0` to their target 
frameworks.
   - A new test project, `Thrift.Compile.net11`, is a copy of 
`Thrift.Compile.net10` with the version names changed. `Thrift.Compile.net8`, 
`net9` and `net10` stay. `Thrift.Tests` now references `net11`, so `make check` 
builds `net10` explicitly.
   - These move from net10 to net11:
     - the unit, integration and fuzz tests;
     - the benchmarks;
     - the test suite (`test/netstd`);
     - the tutorial (`tutorial/netstd`).
   - CI: an older SDK cannot build the `net11.0` target; 10.0.401 fails with 
NETSDK1045. The runners also build every codegen leg with their newest 
preinstalled SDK. So:
     - `lib-netstd` sets up `11.0.x`;
     - each codegen leg installs `11.0.x` next to its own SDK, and the matrix 
gains 11;
     - the MSVC image moves to `sdk:11.0-windowsservercore-ltsc2025`.
   
     `actions/setup-dotnet` hands `11.0.x` to the install script as `--channel 
11.0`, which currently resolves to RC1.
   
   Not changed: the `build/docker/ubuntu-*` images install .NET from 
`ppa:dotnet/backports`, which has no .NET 11 yet. That, and rebuilding the 
hash-cached MSVC image once GA ships, are follow-ups listed on the ticket. 
Dropping net8 and net9 (end of support November 10, 2026) is THRIFT-6383.
   
   Test, done locally with SDK 11.0.100-rc.1.26425.128:
   - Clean Release and Debug builds of `lib/netstd`, `test/netstd` and 
`tutorial/netstd` have no errors. The tutorial has no warnings. The other two 
show only the CS0114 warnings in generated exceptions that master has as well 
(THRIFT-4833).
   - `Thrift.Tests` passes 87/87 and `Thrift.IntegrationTests` 57/57 on 
net11.0. The 12 fuzzer variants build without warnings.
   - `run-NetStd-Codegen-Tests.ps1` for net11, net10, net9 and net8 with SDK 
11: 233/233 each. The environment turned every warning into an error except 
CS0114 and CS0108 (THRIFT-4833): `TreatWarningsAsErrors=true`, 
`WarningsNotAsErrors=CS0114;CS0108`. Master with SDK 10.0.401 passes the net10 
leg the same way.
   
   JIRA: [THRIFT-6382](https://issues.apache.org/jira/browse/THRIFT-6382)
   
   - [x] Apache Jira ticket: THRIFT-6382
   - [x] PR title follows "THRIFT-NNNN: describe my issue"
   - [x] Single commit
   - [x] No breaking change to the library API. For generated code, see the 
`net10` note above.
   - [x] Code change, so the commit carries no CI-skip marker.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
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]

Reply via email to