Skip to content

Build with the .NET 11 SDK and add the net11.0 asset - #1031

Merged
FreeApophis merged 1 commit into
mainfrom
net11-rc3
Oct 29, 2026
Merged

FreeApophis merged 1 commit into
mainfrom
net11-rc3

Conversation

@FreeApophis

Copy link
Copy Markdown
Member

First step of the 4.0.0 milestone: the repository builds with the .NET 11 SDK (release candidate 3) and the packages gain a net11.0 asset. No target framework is removed in this PR; the removals from SupportPolicy.md are a separate 4.0.0 step.

Changes

  • global.json: SDK 11.0.100-rc.3.26522.148, allowPrerelease: true, rollForward: feature.
  • Funcky: newest target net11.0, net10.0 stays. Funcky.Async: net11.0 added as a second type-forwarding asset; the public API group condition now keys on FunckyAsyncIntegrated instead of the literal net10.0.
  • Test projects: Funcky.Test runs on net11.0 through net8.0 (and net48 on Windows), the single-framework test projects move to net11.0. Funcky.Async.Test stays on net9.0 and net8.0, since the async code lives in Funcky from net10.0 on.
  • CI: installs the 11.0 SDK with dotnet-quality: preview plus the 10.0, 9.0 and 8.0 SDKs; the trimming and AOT matrix gains net11.0.
  • Public API: PublicAPI/net11.0 for Funcky and Funcky.Async starts as a copy of net10.0; the net11.0-only additions below are in Unshipped.

New API on net11.0 only

.NET 11 adds TryParse(ReadOnlySpan<byte>, …) on BigInteger and IPEndPoint; the source generator produces ParseBigIntegerOrNone and ParseIPEndPointOrNone on ReadOnlySpan<byte> and the static BigInteger.ParseOrNone and IPEndPoint.ParseOrNone forms from them.

.NET 11 also adds 17 search overloads on string, which AllOverloadsOfIndexOfAreSupported caught: IndexOf/LastIndexOf for a char with a StringComparison plus a start index or count, and the whole family for Rune. IndexOfOrNone and LastIndexOfOrNone wrap them behind the new INDEX_OF_CHAR_COMPARISON_RANGE and INDEX_OF_RUNE feature constants, with theory rows for each.

Verification

  • dotnet build Funcky.slnx -c Release -warnaserror clean with SDK 11.0.100-rc.3.
  • Full dotnet test: every project green on every framework; Funcky.Test on net11.0 runs 1652 tests (34 new rows), net10.0 the previous 1618.
  • dotnet publish of Funcky.TrimmingTest for net11.0 (trimmed, win-x64) builds without warnings and runs. AOT is left to the Linux CI leg.

🤖 Generated with Claude Code

First step of 4.0.0: global.json pins the .NET 11 SDK (release
candidate 3 for now), Funcky and Funcky.Async gain net11.0 as their
newest target framework, every test project runs on net11.0, and the
trimming test and its CI matrix cover net11.0. No target framework is
removed yet.

.NET 11 adds UTF-8 TryParse overloads on BigInteger and IPEndPoint,
which the source generator turns into ParseOrNone members, and 17 new
search overloads on string (char with a StringComparison plus a start
index or count, and a Rune family), which IndexOfOrNone and
LastIndexOfOrNone now wrap behind the INDEX_OF_CHAR_COMPARISON_RANGE
and INDEX_OF_RUNE feature constants; AllOverloadsOfIndexOfAreSupported
enforces that. The net11.0 public API files start as a copy of net10.0
plus these additions in Unshipped.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@FreeApophis
FreeApophis merged commit a412362 into main Oct 29, 2026
11 checks passed
@FreeApophis
FreeApophis deleted the net11-rc3 branch October 29, 2026 14:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants