Skip to content

fix: make the memory-safety rules opt-in, fix SourceLink opt-out, and… - #51

Merged
kieronlanning merged 1 commit into
mainfrom
fix/sourcelink-opt-out-and-settings-docs
Nov 12, 2026
Merged

kieronlanning merged 1 commit into
mainfrom
fix/sourcelink-opt-out-and-settings-docs

Conversation

@kieronlanning

Copy link
Copy Markdown
Contributor

… refresh the settings docs

  • The C# 15 updated memory-safety rules (MemorySafetyRules) are off by default again: the updated model is an experimental compiler feature, so tier 2 is opt-in. Tier 1 and the PRCFG0001 validation are unchanged, and AllowUnsafeBlocks is still never set.
  • DisableSourceLink=true now opts out for real. Sdk.props re-assigned DisableSourceLink to false for every non-Roslyn project, clobbering a repository pre-import value, so the documented opt-out silently did nothing and the GitHub provider was always added.
  • SourceLink is documented end to end: a wiki page, a README section and skill coverage explain the provider for each host (Azure Repos, Azure DevOps Server, GitLab, Bitbucket), the SourceLinkAzureDevOpsServerGitHost item, the CPM PackageVersion requirement and the CI detection. Microsoft.SourceLink.AzureDevOps.Git, which does not exist, is gone.
  • Required settings and versions, how to set the target framework(s), and the compiler-visible (build_property.*) properties are now consistent across the README, the wiki and the skills.
  • A repository-local skill, purview-buildsdk-settings-docs-sync, is tracked under .agents/skills with a .gitignore carve-out; InstalledSkillsAreNotTracked still fails if a skill the CLI installed is committed.
  • SourceLinkTests and Dotnet11FeaturesTests pin the new behaviour.

… refresh the settings docs

- The C# 15 updated memory-safety rules (MemorySafetyRules) are off by default again: the
  updated model is an experimental compiler feature, so tier 2 is opt-in. Tier 1 and the
  PRCFG0001 validation are unchanged, and AllowUnsafeBlocks is still never set.
- DisableSourceLink=true now opts out for real. Sdk.props re-assigned DisableSourceLink to
  false for every non-Roslyn project, clobbering a repository pre-import value, so the
  documented opt-out silently did nothing and the GitHub provider was always added.
- SourceLink is documented end to end: a wiki page, a README section and skill coverage
  explain the provider for each host (Azure Repos, Azure DevOps Server, GitLab, Bitbucket),
  the SourceLinkAzureDevOpsServerGitHost item, the CPM PackageVersion requirement and the
  CI detection. Microsoft.SourceLink.AzureDevOps.Git, which does not exist, is gone.
- Required settings and versions, how to set the target framework(s), and the
  compiler-visible (build_property.*) properties are now consistent across the README, the
  wiki and the skills.
- A repository-local skill, purview-buildsdk-settings-docs-sync, is tracked under
  .agents/skills with a .gitignore carve-out; InstalledSkillsAreNotTracked still fails if a
  skill the CLI installed is committed.
- SourceLinkTests and Dotnet11FeaturesTests pin the new behaviour.
@kieronlanning
kieronlanning merged commit f360599 into main Nov 12, 2026
5 checks passed
@kieronlanning
kieronlanning deleted the fix/sourcelink-opt-out-and-settings-docs branch November 12, 2026 13:18
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