Code analyzer for C# and VB.NET projects
Hello everyone!
For this release, we focused on improving the symbolic execution engine, specifically rules S2589 and S2583, to increase their accuracy. We also deprecated rule S4792.
double
conditionHello everyone,
This release focuses on performance improvement. We made several changes to how we register our rules for analysis. Based on our measurement, we improve the build time by 5% to 15%, depending on project size and complexity! 🔥 🚀
@typeparam
are misplacedHasMatchingScope
for SyntaxNode registrationFileMetadataAnalyzer
and UtilityAnalyzerBase
should use IsGenerated
from SyntaxTreeExtensions
ShouldGenerateMetrics
Hello everyone!
We are happy to announce that we now have 5 dedicated Blazor rules 🚀 🥳
Special thanks to our contributor (and former colleague) @sagi1623 for fixing https://github.com/SonarSource/sonar-dotnet/pull/8302.
Hello everyone!
We are happy to announce that we now officially support .Net 8 and C# 12 🚀 🥳
Special thanks to our contributor (and former colleague) @sagi1623 for fixing #8152.
Due to some technical problems, we could not sign the NuGet packages and we did not push them to nuget.org.
Hi everyone, In this release we added some optimizations, improved a rule's message and deleted a deprecated rule.
Hello everyone,
We are happy to announce that this version enables the analysis of Razor files (.cshtml and .razor) 🚀.
The feature will be enabled by default and can be configured in the Languages settings, in the next versions of SonarQube / SonarCloud:
Currently, Razor files are not supported in Visual Studio (when using NuGet packages or SonarLint) due to some limitations in the IDE. See https://github.com/dotnet/razor/issues/9108 and this VS issue.
Hello everyone!
This release is focused on improving the symbolic execution engine to increase the issue accuracy. We also deleted rule S2255 as its deprecation period came to an end.
This release completes our effort to migrate all our symbolic execution rules from our old to our new engine: S2583 and S2589 are now migrated and see significant improvements. Also, they are now available for VB.NET. This being the last analyzer to migrate means that the engines don't run in parallel anymore, which significantly reduces analysis time.
On top of that, our TokenTypeAnalyzer got a rework, which also improves performance in terms of analysis time and memory usage.
This new release supports a new taxonomy for issues and hotspots that better reflects the characteristics of Clean Code.
Guid
comparison - should trigger S2589 insteadThis release focused on improving the precision of existing rules. We fixed a lot of False Positives, False Negatives, and bugs in Code Fixes.
We also reduced our memory footprint by reducing allocations in the hot path. Thank you @sharwell, for reporting this in #7439 and #7440.
Special thanks to our contributor @nalka0 for the correction of our rule documentation in #7587