Skip to content

fix: make Runtime Async opt-in and release 2.0.1 - #50

Merged
kieronlanning merged 1 commit into
mainfrom
fix/runtime-async-off-by-default
Nov 12, 2026
Merged

kieronlanning merged 1 commit into
mainfrom
fix/runtime-async-off-by-default

Conversation

@kieronlanning

Copy link
Copy Markdown
Contributor

Summary

Runtime Async is now off by default for net11.0+ targets.

It changes how every await compiles, so enabling it for every target was too broad a default. It is
now opted into explicitly:

  • PurviewRuntimeAsync=true, or
  • UseRuntimeAsync=true (the name the .NET team uses).

An explicit false under either name keeps it off, regardless of how it was enabled.

Changes

  • Targets/Modern.targets resolves the switch at target-evaluation time (after the project body), so
    both names work from the project file as well as Directory.Build.props.
  • Props/Defaults.props no longer forces the property on at import time.
  • Tests cover the new default, opt-in by each property name, and explicit-opt-out precedence.
  • README, wiki configuration reference, and the configuration skill updated.
  • Version bumped to 2.0.1 and CHANGELOG records the 2.0.0 → 2.0.1 change.

Validation

  • dotnet test --project src/BuildSdk.slnx --configuration Release — 1448 passed, 0 failed
  • just lint-check
  • just skills-validate
  • just version-sync-check

Runtime Async changes how every await compiles, so enabling it for every
net11.0+ target was too broad a default. It is now off unless opted in with
PurviewRuntimeAsync=true or UseRuntimeAsync=true; an explicit false under
either name keeps it off.
@kieronlanning
kieronlanning merged commit 46be624 into main Nov 12, 2026
5 checks passed
@kieronlanning
kieronlanning deleted the fix/runtime-async-off-by-default branch November 12, 2026 11:06
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.

1 participant