Skip to content

Target net10.0 and net11.0 in 8.0.0; drop netstandard2.0 #108

Description

@AtwoodTM

Problem

6.0.0 targets netstandard2.0 + net10.0. netstandard2.0 is the Framework / Windows-shaped floor: it keeps FSharp.Core at 4.7.2, Microsoft.CSharp as a package reference, and the library compilable against an API surface that is no longer the product. CONTRIBUTING.md currently says not to drop it in a 6.x or 7.x change.

8.0.0 drops that floor. The target date is 10 November 2026, the scheduled .NET 11 general availability, and the issue is on the 8.0.0 milestone. Going forward this library targets the current LTS (even versions) and the current STS when one exists. Right now that is .NET 10 (LTS) and .NET 11 (STS). .NET 11 is in RC (GA expected November 2026); this issue is the preview/RC targeting work so 8.0.0 ships net10.0 + net11.0.

That is a TFM break, so the version is 8.0.0. 7.0.0 is already the Dynamitey.Community 4.0.0 switch (#130). 7.0.0 keeps netstandard2.0 and net10.0. Dynamitey.Community 4.0.0 is the last community release that still targets netstandard2.0, so Framework callers can take 7.0.0 without this TFM drop.

What this issue covers

  • Package and tests compile for net10.0 and net11.0 only. No netstandard2.0, no net4x.
  • CI uses a .NET 11 SDK (preview/RC until GA) and still runs on Linux, Windows, and macOS.
  • Dependency floors that existed only to serve Framework / netstandard2.0 move forward with the TFMs (FSharp.Core, Microsoft.CSharp as a framework reference on modern TFMs, analyzer and test packages).
  • Docs, README, CHANGELOG, CONTRIBUTING, and the "netstandard2.0 stays through 7.0.0" note are updated so they describe 8.0.0's TFMs and the LTS+STS policy.
  • VersionPrefix becomes 8.0.0.

Not this issue

  • Publishing 8.0.0 to nuget.org (follow-on, after this builds and tests).
  • Switching Dynamitey 3.0.3 to Dynamitey.Community 4.0.0. That is 7.0.0 (#130). #29 is the older ticket.
  • Vendoring Dynamitey into this repo (#107).
  • NativeAOT / trimming. Still DLR; still not trim-safe.

Acceptance

  • FSharp.Interop.Dynamic.fsproj TargetFrameworks is net10.0;net11.0.
  • Tests build and pass on net10.0 and net11.0 on Linux, Windows, and macOS.
  • The nupkg has no netstandard2.0 asset.
  • README / DocFX / CHANGELOG / CONTRIBUTING state 8.0.0 TFMs and the LTS+STS rule. They no longer tell contributors to keep netstandard2.0.
  • VersionPrefix is 8.0.0.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    8.0.0Ships in 8.0.0 (drop netstandard2.0; net10 + net11)

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions