build: update RoslynCommonAnalyzers to 3.38.1 - #143
Merged
Conversation
- Update compatible analyzer, MAUI, and test dependencies. - Fix new diagnostics while preserving established public API names.
- Revert S8969-driven callback and test rewrites. - Keep established nullability assertions now that the rule is disabled.
- Group diagnostics by analyzer source and category with official IDE rule names. - Preserve the null-forgiving callback cast while forwarding cancellation tokens.
- Enforce SST1526 through SST1533 and update existing code. - Exclude incompatible source files from .NET Framework builds.
- Coordinate cancellation after the handler is ready.\n- Remove timer and thread-pool scheduling sensitivity.
ChrisPulman
approved these changes
Jul 25, 2026
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #143 +/- ##
==========================================
- Coverage 98.13% 98.09% -0.05%
==========================================
Files 676 676
Lines 20958 20944 -14
Branches 2530 2530
==========================================
- Hits 20568 20544 -24
- Misses 191 196 +5
- Partials 199 204 +5 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



What kind of change does this PR introduce?
Build and analyzer maintenance.
What is the new behavior?
RoslynCommonAnalyzers is updated to 3.38.1, and the resulting actionable analyzer diagnostics are fixed across the source, benchmarks, and tests. Existing public API names are preserved by disabling SST1321, and Sonar S8969 is disabled because its nullability inference is inconsistent across this repository's target frameworks.
Compatible dependency updates are also applied within the available target-framework trains:
What is the current behavior?
The target branch uses RoslynCommonAnalyzers 3.33.0 and older compatible package versions. Updating the analyzer package without the accompanying changes produces new diagnostics, including suggestions that would rename established public APIs.
What might this PR break?
None. The analyzer fallout is resolved without changing the public API surface.
Checklist
mainbranchAdditional information
Verification:
dotnet format ReactiveUI.Primitives.slnx --no-restore --verify-no-changesscoped to the changed C# filesdotnet build ReactiveUI.Primitives.slnx -c Release -v:minimal— 0 warnings, 0 errorsdotnet test ReactiveUI.Primitives.slnx -c Release --no-build— 11,820 passed, 0 failed, 0 skipped