Skip to content

docs: 7.0.0 is the last .NET Standard 2.0 release - #136

Merged
AtwoodTM merged 1 commit into
masterfrom
docs/last-netstandard-7
Sep 26, 2026
Merged

AtwoodTM merged 1 commit into
masterfrom
docs/last-netstandard-7

Conversation

@AtwoodTM

Copy link
Copy Markdown
Collaborator

7.0.0 is the last release that supports .NET Standard 2.0, which is how a .NET Framework 4.6.1 through 4.8.1 application uses this package. Framework 4.8.1 stays serviced with Windows and does not gain BCL APIs. Keeping that target means a newer API is skipped or written twice.

8.0.0 drops the target after Dynamitey.Community 5.0.0 does. That release targets net10.0 and net11.0. It removes Dynamitey's netstandard2.0 branch, Guard.NotNull, the attribute polyfills, the Framework hash, and the extra Microsoft.CSharp and System.Reflection.Emit packages. A warm dynamic call stays a cached delegate. The library stays DLR-based.

The README, getting started, the Dynamitey page, CONTRIBUTING, and the release notes say this.

Framework 4.6.1 through 4.8.1 stays on this version. 8.0.0 follows Dynamitey.Community 5.0.0 onto net10.0 and net11.0.
@AtwoodTM
AtwoodTM requested a review from jbtule as a code owner September 26, 2026 16:47
Copilot AI lite review requested due to automatic review settings September 26, 2026 16:47
@AtwoodTM
AtwoodTM merged commit ba8abd7 into master Sep 26, 2026
19 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

Documentation changes are reviewed; remaining comments are minor wording nits and do not block approval.

Review effort: Lite
Findings: 1 Low severity

Open (1)
What changed in this PR

Documents 7.0.0 as the final .NET Standard 2.0 release and outlines the planned 8.0.0 transition to newer .NET targets.

Changes:

  • Updates compatibility and framework guidance.
  • Documents the Dynamitey.Community dependency transition.
  • Updates release, contributor, and changelog documentation.
File Reviewed changes
README.md Version and compatibility guidance
docfx/​index.md Supported frameworks
docfx/​docs/​releasing.md Release targeting policy
docfx/​docs/​getting-started.md Installation compatibility
docfx/​docs/​dynamitey.md Dependency and targeting roadmap
CONTRIBUTING.md Contributor targeting guidance
CHANGELOG.md Unreleased documentation entry

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread docfx/docs/dynamitey.md
`Dyn.namedArg`, `Dyn.staticContext`, and `Dyn.staticTarget` return `InvokeArg` and `InvokeContext` from that assembly. A project that also references `Dynamitey` 3.0.3 fails to compile with `CS0433`. ImpromptuInterface still references the original package. How to alias that is in the [community readme](https://github.com/dynamitey-community/dynamitey#if-you-end-up-with-both-packages).

Dropping `netstandard2.0` here is **8.0.0** ([#108](https://github.com/fsprojects/FSharp.Interop.Dynamic/issues/108)), later in 2026. [#29](https://github.com/fsprojects/FSharp.Interop.Dynamic/issues/29) was the older ticket. It is closed. The switch is [#130](https://github.com/fsprojects/FSharp.Interop.Dynamic/issues/130).
[#95](https://github.com/dynamitey-community/dynamitey/issues/95) is Dynamitey.Community 5.0.0. It ships after .NET 11 is generally available (scheduled 10 November 2026) and targets `net10.0` and `net11.0`. The `netstandard2.0` leg is why that library still carries `#if NETSTANDARD2_0`, a `Guard.NotNull` helper instead of `ArgumentNullException.ThrowIfNull`, attribute polyfills, a C# 7.3 language default, and package references to `Microsoft.CSharp` 4.* and `System.Reflection.Emit` 4.7.0. Those packages are in the shared framework on .NET 10 and .NET 11. The Framework hash of a member name cannot call `string.GetHashCode(StringComparison.Ordinal)`, so it does not match the ordinal `Equals`. 5.0.0 deletes that split. It does not make a warm `InvokeMember` faster, and it does not make the library trim-safe.
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