chore(deps): adopt the Sharp analyzer suite, update Primitives, modernize#4414
Merged
Conversation
glennawatson
force-pushed
the
chore/nuget-package-upgrades
branch
4 times, most recently
from
July 22, 2026 06:37
0d5af7c to
4b2af8f
Compare
…nize - Enable StyleSharp/PerformanceSharp/SecuritySharp 3.38.1 at error across every project and target framework, and bring the whole codebase into compliance (style, performance, correctness, security) - clean on Linux and Windows. - Update ReactiveUI.Primitives to 7.0.0 and align the net11 framework packages (Microsoft.Extensions.*, System.Collections.Immutable) so net11 restores. - Modernize throughout: expression-bodied members, interpolated strings, pattern matching, nameof, static lambdas, built-in throw helpers, tighter disposal. - Turn off the overlapping third-party analyzer rules the suite now supersedes; add justified suppressions only for documented-idiom cases (OAPH this-in-ctor, interface-impl generics, variadic overloads, BCL-mirror polyfills).
glennawatson
force-pushed
the
chore/nuget-package-upgrades
branch
from
July 22, 2026 09:00
4b2af8f to
ecabc6b
Compare
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #4414 +/- ##
==========================================
+ Coverage 93.06% 93.13% +0.07%
==========================================
Files 339 345 +6
Lines 14882 14979 +97
Branches 1567 1566 -1
==========================================
+ Hits 13850 13951 +101
+ Misses 767 755 -12
- Partials 265 273 +8 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
ChrisPulman
approved these changes
Jul 22, 2026
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 / refactor - analyzer compliance, package updates, and code modernization. No public API or runtime behavior changes for consumers.
What is the new behavior?
this-in-constructor pattern, interface-implementation generics, deliberately variadic overloads, and the BCL-mirroring polyfills.nameof,staticlambdas, built-in argument-throw helpers, and tighter disposal handling.What is the current behavior?
The analyzer suite was pinned to an older version with most of the newer rules unenabled, ReactiveUI.Primitives was on 6.0.0, and the .NET 11 framework packages were misaligned so .NET 11 could not restore. A large number of style, performance, correctness, and security findings were outstanding across core, platform, test, and sample code.
What might this PR break?
None expected. There are no public API or runtime behavior changes; the overlapping third-party analyzer rules the suite now supersedes are turned off in
.editorconfigso they do not double-report.Checklist
mainbranchAdditional information
The change set is large because the analyzer adoption is a repo-wide sweep, but it is overwhelmingly mechanical (net-negative line count) plus the package alignment. Verification: the full solution builds clean on Linux for every non-Apple target framework, and the Windows, iOS, and macOS heads build clean on a Windows toolchain. CI runs the complete cross-platform matrix.