Skip to content

Build the analyzers and the source generator against Roslyn 4.14 - #1038

Open
FreeApophis wants to merge 1 commit into
mainfrom
roslyn-4-14
Open

FreeApophis wants to merge 1 commit into
mainfrom
roslyn-4-14

Conversation

@FreeApophis

Copy link
Copy Markdown
Member

Closes #814.

Funcky 4.0.0 drops support for SDKs before .NET 10 (grooming decision of 21 Oct 2026), so every Roslyn component in the repo moves to the single baseline Roslyn 4.14 (Visual Studio 2022 17.14 / .NET SDK 9.0.300, hence every .NET 10 SDK):

  • Funcky.Analyzers, Funcky.Analyzers.CodeFixes, Funcky.BuiltinAnalyzers, Funcky.BuiltinAnalyzers.CodeFixes: AnalyzerRoslynVersion 4.4.0 → 4.14.0. Funcky.Analyzers becomes 3.0.0.
  • Funcky.SourceGenerator (internal, builds Funcky itself): 4.12.0 → 4.14.0. It already uses ForAttributeWithMetadataName.
  • The Roslyn3.7 projects of the built-in analyzers are deleted (also from Funcky.slnx and Funcky.csproj), the #if ROSLYN_4_4_0 guard around λ1010 is gone, and the DisableAnalyzerReleaseTracking workaround that only those projects needed is removed from the targets.
  • Funcky/build/Funcky.targets: with one asset there is nothing to keep on SDKs without analyzer versioning, so the target now removes all built-in analyzers there (silently; the library keeps working). Funcky.Analyzers keeps its warning λ.BUILD.0001 with the new version text.
  • Docs: Funcky.Analyzers/readme.md, the rules table (λ1010 note dropped), SupportPolicy.md gains an SDK section, changelog entry under 4.0.0.

Note on the issue's wording: Roslyn 4.14 is the compiler of SDK 9.0.300, not 10.0.100 (that one ships Roslyn 5.0). 4.14 was the groomed choice and it covers all .NET 10 SDKs plus the last VS 2022 release.

Verified locally: dotnet build Funcky.slnx -c Release with 0 warnings, Funcky.Analyzers.Test (248) and Funcky.SourceGenerator.Test (11) pass, and both packed packages contain exactly analyzers/dotnet/roslyn4.14/cs.

🤖 Generated with Claude Code

Funcky 4 no longer supports SDKs before .NET 10, so the built-in analyzers,
Funcky.Analyzers and the internal source generator move to one Roslyn 4.14
baseline (Visual Studio 2022 17.14, .NET SDK 9.0.300). The Roslyn 3.7 asset of
the built-in analyzers and its ROSLYN_4_4_0 guard are removed, together with the
release tracking workaround only that project needed. The Funcky package targets
now remove all built-in analyzers on SDKs without analyzer versioning, as a
single asset cannot be partially kept. Funcky.Analyzers becomes 3.0.0.

Closes #814

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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.

Update Roslyn packages to their latest version

1 participant