Skip to content

Update nuget non-major dependencies - #39

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/nuget-minor-patch
Open

Update nuget non-major dependencies#39
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/nuget-minor-patch

Conversation

@renovate

@renovate renovate Bot commented Sep 17, 2025

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence Type Update
CSharpier.MsBuild 1.1.21.3.0 age confidence nuget minor
MinVer 6.0.06.1.0 age confidence nuget minor
PublicApiGenerator 11.4.611.5.4 age confidence nuget minor
SonarAnalyzer.CSharp (source) 10.15.0.12084810.32.0.713 age confidence nuget minor
Verify.Xunit 30.11.030.20.1 age confidence nuget minor
csharpier 1.1.21.3.0 age confidence nuget minor
dotnet-sdk 8.0.4138.0.424 age confidence dotnet-sdk patch
xunit.runner.visualstudio 3.1.43.1.5 age confidence nuget patch

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

belav/csharpier (CSharpier.MsBuild)

v1.3.0

Compare Source

Breaking Changes

Change xml formatting to return error when it runs into syntax error so it is consistent with c# #​1854

Previously CSharpier treated an invalid xml file as a warning instead of an error. This was inconsistent with how it treated c# files.
Invalid c# or xml files are not treated as errors.
The --compilation-errors-as-warnings argument has been renamed to --syntax-errors-as-warnings and can be used to return warnings instead of errors when encountering invalid files.

What's Changed

Feature: Configurable whitespace handling for xml #​1790

CSharpier now supports two types of xml whitespace formatting strict or ignore.
By default all xml except xaml or axaml is treated as strict whitespace. See details

Feature: Move closing bracket for xml elements to the same line. #​1598

With strict xml whitespace handling, csharpier now keeps the closing bracket for an element on the same line instead of breaking it to a new line.

<!-- input & expected output -->
<ElementWithAttribute Attribute="AttributeValue__________________"
  >TextValue</ElementWithAttribute>

<!-- 1.2.6 -->
<ElementWithAttribute Attribute="AttributeValue__________________"
  >TextValue</ElementWithAttribute
>
Feature: Support for csharpier-ignore with XML formatter #​1788

CSharpier now supports csharpier-ignore in xml files. See details

Feature: Add MSBuild transitive and multi-target support #​1833

CSharpier.MSBuild can now work as a transitive dependency.

Feature: allow checking formatting with cache #​1830

The csharpier check command now supports a --use-cache option.

Feature: remove dependency on Microsoft.AspNetCore.App #​1508

Previously CSharpier required that Microsoft.AspNetCore.App be installed. CSharpier has been modified to use an HttpListener when it is run using server to remove the need for this dependency.

Fix: csharpier-ignore comment removes linespaces before block #​1867

CSharpier was removing blank lines before csharpier-ignore comments in some cases

// input and expected output
var x = 1;
    
// csharpier-ignore
var y=1;

/// 1.2.6
var x = 1;
// csharpier-ignore
var y=1;
Fix: Inconsistent indentation for raw string literals. #​1857

CSharpier was not consistently indenting raw string literals when they were inside of simple lambdas.

// input & expected output
CallMethod(() =>
{
    var someString = """
        SomeRawString
        """;
});

// 1.2.6
CallMethod(() =>
{
    var someString = """
    SomeRawString
    """;
});
Fix: case of modifier reorder with leading trivia #​1855

CSharpier was incorrectly reporting a syntax validation failure when it was reordering modifiers. This is now resolved.

// when this code is modified and the modifiers are reorderd it should not report a syntax validation failure.
public class ClassName
{
    // SomeComment
    override public int GetHashCode() => 0;
}
Fix: Xml breaks final element when it contains mixed content #​1841

CSharpier was breaking the end element in some cases when it should not be.

<!-- input & expected output -->
<HtmlTypeElement
  >Some long text to make things break <a href="http://url.com"
    >url.com</a> more text.</HtmlTypeElement>

<!-- 1.2.6 -->
<HtmlTypeElement
  >Some long text to make things break <a href="http://url.com"
    >url.com</a
  > more text.</HtmlTypeElement
>
Fix: Unable to ignore csharpier formatting within case statement group #​1824

CSharpier now supports csharpier-ignore comments within case statements.

switch (1)
{
    case 2:
        // csharpier-ignore
        var unformatted      = true;
        break;
}
Fix: Incorrect formatting for simple lambda expression with comment #​1147

CSharpier was indenting code for a simple lambda with a leading comment.

// input & expected output
this.Where___________________(
    // Comment
    x =>
    {
        return x;
    }
);

// 1.2.6
this.Where___________________(
    // Comment
    x =>
{
    return x;
});
Fix: Ignores files it shouldn't ignore when negative patterns are used #​1803

Fixed a couple more edgecases with CSharpier not handling negative ignore patterns the same way that git does

Fix: Tolerate missing directories when formatting from stdin #​1848

CSharpier was throwing a DirectoryNotFoundException if it were passed a path via --stdin-path with a directory that did not exist.

Fix: Stop .gitignore walk at git worktree boundary #​1860

When CSharpier walks up the target directory looking for .gitignore files it stops when encountering a .git directory. However in a git worktree there is no directory, .git is a file. This change ensures CSharpier stops when encountering a .git file so that CSharpier behaves the same in a worktree.

perf: cache IgnoreWithBasePath #​1758
perf: fast comparison using FullSpan and source code #​1737
perf: optimise SyntaxNodeComparer #​1730
perf: set capacity of List in MembersForcedLine #​1709
perf: use Stack.Peek to reduce Pop and Push churn #​1708
perf: add Doc.Null check to Argument avoids Concat creation #​1706
perf: use overload for Any( SyntaxTriviaList to prevent allocations #​1703

Full Changelog: belav/csharpier@1.2.6...1.3.0

v1.2.6

Compare Source

What's Changed

[Bug]: XML with DOCTYPE results in "invalid xml" warning #​1809

CSharpier was not formatting xml that included a doctype and instead reporting that it was invalid xml.

<?xml version="1.0"?>
<!DOCTYPE staff SYSTEM "staff.dtd"[
    <!ENTITY ent1 "es">
]>
<staff></staff>
[Bug]: Initializing a span using stackalloc leads to different formatting compared to new #​1808

When initializing a spacn using stackalloc, it was not being formatting consistently with other code

// input & expected output
Span<int> metatable = new int[]
{
    00000000000000000000000001,
    00000000000000000000000002,
    00000000000000000000000003,
};

Span<int> metatable = stackalloc int[]
{
    00000000000000000000000001,
    00000000000000000000000002,
    00000000000000000000000003,
};

// 1.2.5
Span<int> metatable = new int[]
{
    00000000000000000000000001,
    00000000000000000000000002,
    00000000000000000000000003,
};

Span<int> metatable =
    stackalloc int[] {
        00000000000000000000000001,
        00000000000000000000000002,
        00000000000000000000000003,
    };
[Bug]: Comments in otherwise empty object pattern disappear when formatting #​1804

CSharpier was removing comments if they were the only content of an object pattern.

// input & expected output
var match = obj is {
    //Property: 123
};

// 1.2.5
var match = obj is { };

Full Changelog: belav/csharpier@1.2.5...1.2.6

v1.2.5

Compare Source

What's Changed

Performance issue when running CLI in project with pnpm on Windows #​1781

1.2.4 did not properly address this

The code to determine if there is a version of CSharpier.MsBuild referenced that does not match the version of CSharpier being run has been optimized to not look in node_modules or .git. This significantly speeds things up in some setups.

Full Changelog: belav/csharpier@1.2.4...1.2.5

v1.2.4

Compare Source

What's Changed

Weird enter in closing when formatting XAML TextBlock #​1785

CSharpier was breaking an end element to a new line when it did not need to.

<!-- input & expected output -->
<root>
  <TextBlock Foreground="DarkGray">
    I saw the sign. When I opened up my eyes, I saw the sign.
  </TextBlock>
  <TextBlock>
    I saw the sign. When I opened up my eyes, I saw the sign.
  </TextBlock>
</root>

<!-- 1.2.3 -->
<root>
  <TextBlock Foreground="DarkGray">
    I saw the sign. When I opened up my eyes, I saw the sign.
  </TextBlock
  >
  <TextBlock>
    I saw the sign. When I opened up my eyes, I saw the sign.
  </TextBlock>
</root>
Order Modifiers (IDE0036) not formatting when code is preceded by a comment. #​1784

When incorrectly ordered modifiers were preceded by a comment they were not being reordered. Thanks go to @​TimothyMakkison for the contribution

// input & 1.2.3

// Comment
required public int Prop1 { get; set; }

// expected output
// Comment
public required int Prop1 { get; set; }
Performance issue when running CLI in project with pnpm on Windows #​1781

The code to determine if there is a version of CSharpier.MsBuild referenced that does not match the version of CSharpier being run has been optimized to not look in node_modules or .git. This significantly speeds things up in some setups.

Full Changelog: belav/csharpier@1.2.3...1.2.4

v1.2.3

Compare Source

What's Changed

Large directories ignored in .gitignore significantly impact performance. #​1776

CSharpier was enumerating all files within all subdirectories and then determining if they should be formatted or not. That logic was optimized to only enumerate files in directories that are not ignored.

Full Changelog: belav/csharpier@1.2.2...1.2.3

v1.2.2

Compare Source

What's Changed

The null coalescing operator is grouped in an unexpected place #​1769

Null coalescing is now consistently broken thanks to a contribution from @​ogaken-1

// input & expected output
var x =
    someValue.SomeCall().SomeProperty.SomeProperty
    ?? someValue.SomeCall().SomeProperty.SomeProperty;

var x =
    someValue.SomeCall().SomeProperty?.SomeCall().SomeProperty
    ?? someValue.SomeCall().SomeProperty?.SomeCall().SomeProperty;

var x =
    someValue.SomeCall().A_______.B_______.C_______
    ?? someValue.SomeCall().A_______.B_______.C_______;

// 1.2.1
var x =
    someValue.SomeCall().SomeProperty.SomeProperty ?? someValue
        .SomeCall()
        .SomeProperty.SomeProperty;

var x =
    someValue.SomeCall().SomeProperty?.SomeCall().SomeProperty ?? someValue
        .SomeCall()
        .SomeProperty?.SomeCall()
        .SomeProperty;

var x =
    someValue.SomeCall().A_______.B_______.C_______ ?? someValue
        .SomeCall()
        .A_______.B_______.C_______;
Xml formatter should not add a second line #​1760

When formatting an xml file with a declaration and extra blank line was being added.

<!-- input & expected output -->
<?xml version="1.0" encoding="utf-8"?>

<Element />

<!-- 1.2.1 -->
<?xml version="1.0" encoding="utf-8"?>

<Element />
Git ignore patterns do not work the same as git #​1759

The handling of ignore patterns did not properly match how git handles them. The logic has been reworked and now has tests that compare it directly to git.

Fix server crash when launched without console #​1774

If a plugin launched csharpier server without a console it would crash. This has been resolved thanks to @​rcdailey

Full Changelog: belav/csharpier@1.2.1...1.2.2

v1.2.1

Compare Source

What's Changed

Multiline comments are now formatted in a single line in XML format #​1747

The 1.2.0 release was combining xml comments into a single line.

<!-- input & expected output -->
<Root>
  <!-- This is the first line comment-->
  <!-- This is the second line of my comment-->
</Root>

<!-- 1.2.0 -->
<Root>
  <!-- This is the first line comment--><!-- This is the second line of my comment-->
</Root>

Full Changelog: belav/csharpier@1.2.0...1.2.1

v1.2.0

Compare Source

What's Changed

Custom XML Parser #​1679

CSharpier now has a custom xml parser. XmlDocument and XDocument do not provide the original white space or the original attribute values from the file that was parsed which blocked the ability to implement supporting keeping empty new lines and not automatically encoding attributes.

Support for keeping empty lines in xml files #​1599

CSharpier now supports keeping a single empty line between elements in xml files. It will remove any initial or trailing empty lines.

<!-- input -->
<Root>

  <Element />

  <Element />

</Root>

<!-- expected output -->
<Root>
  <Element />

  <Element />
</Root>

<!-- 1.1.2 -->
<Root>
  <Element />
  <Element />
</Root>
Xml - don't automatically encode attribute values #​1610

CSharpier will no longer encode attribute values. It will leave them encoded if they are supplied that way.

<!-- input & expected output -->
<Target Name="Transform" BeforeTargets="Build">
  <Message Importance="high" Text="@(MyItems->'MyItems has %(Identity)', ', ')" />
</Target>

<!-- 1.1.2 -->
<Target Name="Transform" BeforeTargets="Build">
  <Message Importance="high" Text="@(MyItems-&gt;'MyItems has %(Identity)', ', ')" />
</Target>
Add option to all integrations to report incorrect formatting as a warning instead of error #​1687
Formatting "using" import split on multiple lines requires formatting it twice to get the expected result #​1698

When a using contained a newline before the namespace it was not being sorted properly.

// input
using System.Net;
using
    SomeProject.Bar;
using Microsoft.Extensions.Logging;

// expected output
using System.Net;
using Microsoft.Extensions.Logging;
using SomeProject.Bar;

// 1.1.2
using System.Net;
using SomeProject.Bar;
using Microsoft.Extensions.Logging;
An empty line is inserted in lambda #​1694

CSharpier was inserting an extra blank line in some situations with a lambda and a collection expression

// input & expected output
CallMethod(
    (parameter1, parameter2) =>
        [
            LongValue________________________________________________,
            LongValue________________________________________________,
        ]
);

// 1.1.2
CallMethod(
    (parameter1, parameter2) =>

        [
            LongValue________________________________________________,
            LongValue________________________________________________,
        ]
);
Indent .ThenInclude() for clearer navigation hierarchy in EF Core queries #​1602

CSharpier now treats .ThenInclude as a special case to improve formatting of EF queries

// input & expected output
websiteQueryable = websiteQueryable
    .Include(o => o.Categories)
    .Include(o => o.Categories)
        .ThenInclude(c => c.Products)
    .Include(o => o.Categories)
        .ThenInclude(c => c.RuleManager)
            .ThenInclude(rm => rm.RuleClauses)
    .Include(o => o.Categories)
        .ThenInclude(c => c.RuleManager)
            .ThenInclude(rm => rm.RuleClauses)
                .ThenInclude(rc => rc.RuleTypeOption);

// 1.1.2
websiteQueryable = websiteQueryable
    .Include(o => o.Categories)
    .Include(o => o.Categories)
    .ThenInclude(c => c.Products)
    .Include(o => o.Categories)
    .ThenInclude(c => c.RuleManager)
    .ThenInclude(rm => rm.RuleClauses)
    .Include(o => o.Categories)
    .ThenInclude(c => c.RuleManager)
    .ThenInclude(rm => rm.RuleClauses)
    .ThenInclude(rc => rc.RuleTypeOption);
Inconsistent indentation between is and other operators #​1601

Pattern operators were being indented inconsistently with other operators. The formatting is now more consistent

// input & expected output
var b2 = (
    System.Environment.SpecialFolder.AdminTools
    is System.Environment.SpecialFolder.AdminTools
        or System.Environment.SpecialFolder.AdminTools
        or System.Environment.SpecialFolder.AdminTools
);

var b2 =
    System.Environment.SpecialFolder.AdminTools
    is System.Environment.SpecialFolder.AdminTools
        or System.Environment.SpecialFolder.AdminTools
        or System.Environment.SpecialFolder.AdminTools;

var b2 =
    someLongValue____________________________________________
    == someOtherLongValue______________________________
        + someOtherLongValue______________________________;

var b2 = (
    someLongValue____________________________________________
    == someOtherLongValue______________________________
        + someOtherLongValue______________________________
);

// 1.1.2
var b2 = (
    System.Environment.SpecialFolder.AdminTools
        is System.Environment.SpecialFolder.AdminTools
            or System.Environment.SpecialFolder.AdminTools
            or System.Environment.SpecialFolder.AdminTools
);

var b2 =
    System.Environment.SpecialFolder.AdminTools
        is System.Environment.SpecialFolder.AdminTools
            or System.Environment.SpecialFolder.AdminTools
            or System.Environment.SpecialFolder.AdminTools;

var b2 =
    someLongValue____________________________________________
    == someOtherLongValue______________________________
        + someOtherLongValue______________________________;

var b2 = (
    someLongValue____________________________________________
    == someOtherLongValue______________________________
        + someOtherLongValue______________________________
);
Error when formatting with an indent size <= 0 #​1741

Previously csharpier would attempt to format code when indent size was set to 0. This was not intentional and had a number of bugs. CSharpier now error out when encountering an indent size of 0

Fix condition causing FirstTargetFramework build property erasure #​1696

In some situations CSharpier.Msbuild was running into a build failure.

Full Changelog: belav/csharpier@1.1.2...1.2.0

adamralph/minver (MinVer)

v6.1.0

Compare Source

Enhancements
PublicApiGenerator/PublicApiGenerator (PublicApiGenerator)

v11.5.4

Compare Source

What's Changed

Full Changelog: PublicApiGenerator/PublicApiGenerator@11.5.3...11.5.4

v11.5.3

Compare Source

What's Changed

Full Changelog: PublicApiGenerator/PublicApiGenerator@11.5.2...11.5.3

v11.5.2

Compare Source

What's Changed

New Contributors

Full Changelog: PublicApiGenerator/PublicApiGenerator@11.5.1...11.5.2

v11.5.1

Compare Source

New features

Misc

Full Changelog: PublicApiGenerator/PublicApiGenerator@11.5.0...11.5.1

v11.5.0

Compare Source

What's Changed

CI updates

Full Changelog: PublicApiGenerator/PublicApiGenerator@11.4.6...11.5.0

SonarSource/sonar-dotnet (SonarAnalyzer.CSharp)

v10.32.0.713

Compare Source

Release notes - .NET Analyzers - 10.32

Feature

NET-4132 Implement rule S9022: Redundant "Include" calls should be removed
NET-4215 Implement rule S9118: Default values should be compatible with their entity property type
NET-4240 Update RSPEC before 10.32 release

False Positive

NET-1322 Fix S2857 FP: Do not raise in constant string interpolation when string is in square brackets
NET-1468 Fix S6966 FP: should not raise when inside lock
NET-1598 Fix S1125 FP: dynamic and custom nullable structs with conversion to bool are compliant
NET-4233 Fix S8733 FP: AsSplitQuery/AsSingleQuery set in a different statement than the colliding Includes goes undetected
NET-4297 Fix S8717 FP: EFCore DBFirst Scaffold

v10.31.0.145097

Compare Source

Release notes - .NET Analyzers - 10.31

Feature

NET-3865 Implement S8733: Potential Cartesian Explosion
NET-3875 Implement rule S8718: Client-evaluated default values should use database functions
NET-4087 Use shared secret exclusion patterns in hardcoded secrets rules
NET-4211 Update RSPEC before 10.31 release

False Positive

NET-1922 S1144 FP: When registering a service with Microsoft.Extensions.DependencyInjecion framework
NET-3928 Fix S3267 FP: Should not raise on EntityFramework IQueryables
NET-4205 Fix S1244 FP: should not raise on NaN check via x.Equals(double.NaN)

v10.30.0.144632

Compare Source

Release notes - .NET Analyzers - 10.30

Feature

NET-1536 Implement rule S8970: Null-forgiving operators should not be used when nullable warnings are disabled
NET-3436 Implement rule S8949: Use the overload that accepts a CancellationToken
NET-3810 Fix: Protobuf Importer logs debug on excluded files
NET-3877 Implement rule S8747: Migrations should not narrow column types without converting existing data
NET-4091 Implement rule S8969: Null-forgiving operators should not be redundant
NET-4120 Update RSPEC before 10.30 release

False Positive

NET-1541 Fix S3459 FP: support classes marked with [AutoConstructor] attribute
NET-1583 Fix S6967 FP: Raises when model has no validation attributes
NET-1840 Fix S3903 FP: top-level statements and partial Program in separate file
NET-4059 Improve precision of S8949 (CancellationTokenShouldBeUsed) - umbrella
NET-4191 Fix S3169 FP: Should not raise in Azure Cosmos

False Negative

NET-3819 Fix S1244 FN: Should report on Double.Equals

Bug

NET-4107 Fix S4026 Race Condition

v10.29.0.143774

Compare Source

Release notes - .NET Analyzers - 10.29

Feature

NET-3997 Move S6444 out of hotspot
NET-4060 Update RSPEC before 10.29 release

False Positive

NET-1626 Fix S6444 FP: REGEX_DEFAULT_MATCH_TIMEOUT

False Negative

NET-3920 Fix S2971 FN: Should raise on EntityFramework IQueryables
NET-3921 Fix S1155 FN: Should raise on EntityFramework IQueryables
NET-3922 Fix S3981 FN: Should raise on EntityFramework IQueryables
NET-3924 Fix S3169 FN: Should raise on EntityFramework IQueryables

v10.28.0.143324

Compare Source

Release notes - .NET Analyzers - 10.28

Feature

NET-1990 S100/S101: Configuration for custom acronyms
NET-2280 New Rule T0048: Avoid is not { } value
NET-3802 Update RSPEC before 10.28 release
NET-3818 Change Protobuf Info message to Debug
NET-3820 Coverage warnings should surface as Analysis Warnings
NET-3827 Create RSPEC for S8717: Multiple "[Key]" attributes should not be used to define a composite key
NET-3843 Implement rule S8717: Multiple "[Key]" attributes should not be used to define a composite key
NET-3949 Modify rule S2696: add fix guidance, compliant example, and exceptions
NET-3950 Modify rule S1135: add compliant example and fix guidance
NET-3951 Modify rule S108: give the C# page its own code examples
NET-3952 Modify rule S1133: add rationale, fix guidance, code examples
NET-3953 Modify rule S3251: add compliant example, fix guidance, and exceptions
NET-3967 Move S1313 out of hotspot
NET-3969 Move S2077 out of hotspot
NET-3972 Move S2092 and S3330 out of hotspot
NET-3973 Move S2245 out of hotspot
NET-3975 Move S2257 out of hotspot
NET-3976 Move S4036 out of hotspot
NET-3978 Move S4502 out of hotspot
NET-3980 Move S4507 out of hotspot
NET-3982 Move S5122 out of hotspot
NET-3983 Move S5332 out of hotspot
NET-3993 Move S5443 out of hotspot
NET-3995 Move S5753 out of hotspot
NET-3996 Move S5766 out of hotspot
NET-3998 Move S6640 out of hotspot
NET-4000 Move S4790 out of hotspot
NET-4001 Move S5693 out of hotspot
NET-4008 Change S1313 message
NET-4009 Change S2257 message
NET-4010 Change S4036 message
NET-4011 Change S2077 message

False Positive

NET-3564 Fix FP S6966: Do not raise for methods for SqlDataReader.IsDBNull/GetFieldValue
NET-3808 Fix S4260 FP: Don't raise on extension properties
NET-3821 Fix S1244 FP: Should not raise on comparison to 0
NET-3825 Fix S2221 FP: Do not raise on async void
NET-3878 Fix S3358 FP: Suggesting to extract ternary from EF Core select
NET-3914 Fix T0044 FP: Should not raise on locator annotaitons
NET-3926 Fix S6608 FP: Should not raise inside expression tree
NET-3927 Fix S6603 FP: Should not raise inside expression tree
NET-3932 S2068: Do not raise on @​paramName and $paramName

False Negative

NET-1673 Fix S4790 FN: default parameters
NET-2846 Fix S1117 FN: Extensions, Partial Events
NET-3876 Fix S6667 FN: Logging should pass exception not raised in IDE for Serilog
NET-3923 Fix S2291 FN: Should raise on EntityFramework IQueryables

v10.27.0.140913

Compare Source

Release notes - .NET Analyzers - 10.27

Feature

NET-1285 S2629: Add custom message for Log4Net and Castle.Core
NET-3666 Deprecate S5042 and move it from HotSpots to Code Smell
NET-3783 Update RSPEC before 10.27 release

False Positive

NET-2696 Fix S4260 FP: Extension Properties always raise

False Negative

NET-230 Fix S4056 FN: SpecifyIFormatProviderOrCultureInfo for C#13 compatibility
NET-2692 Fix S2190 FN: Recursive extension properties
NET-2705 Fix S3343 FN: Partial Constructor with attribute in definition
NET-2732 Fix S1172 FN: Extension blocks
NET-2745 Fix S4144 FN: Extension Members
NET-2829 Fix S3241 FN: Extension methods and extension blocks
NET-3541 Fix S1117 FN: add CatchDeclaration coverage and adopt LocalDeclarationKinds

v10.26.0.140279

Compare Source

Release notes - .NET Analyzers - 10.26

Feature

NET-3694 Update RSPEC before 10.26 release

False Positive

NET-2346 Fix S1854 FP: Variable used after another assignment in finally
NET-2347 Fix S1168 FP: Do not report on value types
NET-3698 Fix S1210 FP: file-scoped types should be exempt

False Negative

NET-1265 Fix S2930 FN: raise issues on non-disposed RegistryKeys
NET-2685 Fix S3604 FN: Field Keyword, Partial Constructors, NullConditional Assignment
NET-2812 Fix S4275 FN: Field Keyword
NET-2999 Fix S6672 FN: Mismatch in primary constructor is not recognized

v10.25.0.139117: 10.25

Compare Source

?

Feature
  • NET-3613 - Support Cobertura coverage file format
    • Cobertura report paths can be passed via the sonar.cs.cobertura.reportsPaths parameter
  • NET-3665 - Update RSPEC before 10.25 release
False Positive
  • NET-3640 - Fix S3400 FP: Don't report function with conditional compilation body

v10.24.0.138807: 10.24

Compare Source

This release brings a batch of false negative fixes and analyzer crash fixes.

Bug Fixes

  • NET-3596 - Fix S1144 AD0001: Index out of range exception with type named Nullable
  • NET-3522 - Fix S1215 AD0001: ArgumentOutOfRangeException
  • NET-3521 - Fix S2053 AD0001: NRE
  • NET-3520 - Fix S3267 AD0001: NRE

False Positives

  • NET-2276 - Fix S1192 FP: EF migration classes

False Negatives

  • NET-3569 - Fix T0008 and T0009 FN: Support extension blocks
  • NET-2875 - Fix S2092 FN: Null Conditional Assignment
  • NET-2857 - Fix S3330 FN: Null Conditional Assignment
  • NET-2719 - Fix S4136 FN: Extension methods
  • NET-2688 - Fix S4433 FN: Null-conditional assignment in tracker
  • NET-2675 - Fix S6418 FN: Field keyword
  • NET-2667 - Fix S2934 FN: Null-conditional assignment and field keyword
  • NET-2658 - Fix S127 FN: BitShiftCompound

v10.23.0.137933: 10.23

Compare Source

This release brings a bunch of fixes! Enjoy.

Bug Fixes
  • NET-3557 - Fix SE AD0001 when SyntaxTreeOptionsProvider is null
  • NET-3519 - Fix AD0001: NRE in PropertiesAccessCorrectField
False Positives
  • NET-3532 - Fix S2583 FP: Any called two times
  • NET-3468 - Fix S1144 FP: Erroneously flagged Add() method used in Collection Initializer
  • NET-3454 - Fix S3267 FP: ref struct in foreach body cannot be captured in LINQ lambda
  • NET-3164 - Fix S125 FP: Improve semicolon heuristic
  • NET-2559 - Fix S5944 FP: When method name is also a class name of generic argument
  • NET-2438 - Fix S1067 FP: Do not raise an issue inside Equals() implementation
  • NET-1565 - Fix S1192 FP: Shouldn't raise on Dapper parameters
  • NET-1168 - Fix S1172 FP: When parameter conditionally used in local function
  • NET-52 - Fix S4017 FP: Do not raise when implementing abstract class/interface
False Negatives
  • NET-1642 - Fix S3415, S2701, S2699, S2187 FN: Support NUnit 4.0
  • NET-348 - Fix S4144 FN: Methods with generic return types

v10.22.0.136894: 10.22

Compare Source

Hello everyone,
This release brings 4 new rules to help developers transition to C# 14, and a bunch of false positive fixes.

New rules
  • NET-3361 - New rule S8381: "scoped" should be escaped when used as a type name in lambda parameters
  • NET-3359 - New rule S8368: "extension" identifiers should be escaped to avoid contextual keyword conflicts
  • NET-3347 - New rule S8380: Return types named "partial" should be escaped with "@​"
  • NET-3345 - New rule S8367: Identifiers should not conflict with the "field" keyword in C# 14?
False Positive
  • NET-3443 - Fix S1940 FP: for floating point numbers that can be NaN "!(a <= b)" is not the same as "a > b"
  • NET-3001 - Fix S3063 FP: Concatenation with identifier
  • NET-1569 - Fix S5944 FP: AddressOf(MethodName) in Return statement
  • NET-3445 - Fix T0029 FP: Inside target-typed new
  • NET-2817 - Fix T0029 FP: Ident for collection expression members
  • NET-2024 - Fix T0029 FP: Inside array initializer
  • NET-3341 - Fix T0029 FP: After member access
  • NET-3462 - Fix T0042 FP: Inside constructors and collection initializers
  • NET-3426 - Fix T0042: Raw string in collection initializer
  • NET-2888 - Fix T0042 FP: Returned from method
  • NET-2874 - Fix T0042 FP: Raw string in ternary
Bugs
  • NET-3386 - Fix S4583 AD0001: BeginInvoke callback declared in separate file
Other
  • NET-3385 - S2612: Rule type changed from Security Hotspot to Vulnerability

v10.21.0.135717: 10.21

Compare Source

Bug

  • NET-3376 - Fix S6930 AD0001: Issue on template / code files for blazor
  • NET-3367 - Fix S4830 AD0001: CertificateValidationCheck Syntax node is not within syntax tree
Feature
  • NET-3260 - Fix broken links in S6960 RSPEC
False Positive
  • NET-2886 - Fix T0015 FP: In constructor
  • NET-1678 - Fix S4275 FP: with property overload

v10.20.0.135146: 10.20

Compare Source

This release brings 9 precision improvements — 7 false positive fixes and 2 false negative fixes — across rules S1116, S1144, S1210, S1643, S1854, S2365, S3254, S3265, and S127. It also promotes S2068 and S6418 from Security Hotspot to Vulnerability, making them visible directly in the IDE, and removes S3256 from the Sonar Way quality profile.

Changes
  • NET-3227 - Remove S3256 from "Sonar Way" quality profile
  • NET-3208 - S6418: Rule type changed from Security Hotspot to Vulnerability
  • NET-3207 - S2068: Rule type changed from Security Hotspot to Vulnerability
  • NET-3206 - Remove links to rules.sonarsource.com
False Positive
  • NET-3215 - Fix FP on S127: Should only raise on stop condition variables
  • NET-3212 - Fix FP on S3254: Don't raise if the parameter isn't last
  • NET-3053 - Fix FP on S1210: Implementing comparable operators for private types
  • NET-2984 - Fix FP on S3265: BCL enums with [Flags] not recognized due to metadata resolution
  • NET-2976 - Fix FP on S1854: Default value initializations flagged despite exemptions
  • NET-2966 - Fix FP on S1144: Constructors in MEF-exported types
  • NET-2956 - Fix FP on S1116: Empty loop body with side effects in condition
False Negative
  • NET-1261 - Fix FN on S2365: Rule should report on new collection
  • NET-1259 - Fix FN on S1643: Concatenation for parameters, fields and properties are not detected
Rule specification
  • NET-3246 - Modify Rule S127: Update Description
  • NET-3218 - Modify Rule S3265: Add exception for MethodImplAttributes
  • NET-3086 - Modify Rule S1116: Add loop exception
Maintenance
  • NET-3047 - Update RSPEC before 10.20 release

v10.19.0.132793: 10.19

Compare Source

Documentation
False Positive
  • NET-3004 - Fix S2696 FP: New extension method format triggers FP when accessing static fields
False Negative
  • NET-3011 - Fix S4790 FN: Support Using statement
Task
  • NET-2948 - Update RSPEC before 10.19 release
Bug
  • NET-1866 - Support future VS versions in NuGet package

v10.18.0.131500: 10.18

Compare Source

This releases focuses on fixing the false-positives that are raised on code making use of the new features in C# 14.

Improvement
  • NET-2921 - Fix passthrough calculation in ModelBuilder
  • NET-2903 - Remove manual extension methods
  • NET-2895 - Cleanup handling of ParameterList of primary constructors
Task
  • NET-2917 - Update RSPEC before 10.18 release
False Positive

Note

PR body was truncated to here.


Configuration

📅 Schedule: (in timezone Europe/Oslo)

  • Branch creation
    • "before 07:00 on Thursday"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch 5 times, most recently from e330714 to d0be879 Compare September 28, 2025 06:08
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch 3 times, most recently from faa302f to 1e251f0 Compare October 7, 2025 06:56
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch from 1e251f0 to 86ff008 Compare October 9, 2025 11:47
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch 2 times, most recently from b552780 to 2964959 Compare October 17, 2025 03:32
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch 3 times, most recently from 9447612 to 799d4bd Compare November 18, 2025 23:39
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch 4 times, most recently from 71caa61 to a57fbf2 Compare November 29, 2025 15:01
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch 2 times, most recently from 4f6c858 to 39bbc72 Compare December 9, 2025 11:30
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch 3 times, most recently from aa74fbe to dac54f9 Compare December 20, 2025 19:05
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch 2 times, most recently from 3a89e38 to 74a4ffb Compare December 30, 2025 15:49
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch from 74a4ffb to 5a880a9 Compare January 3, 2026 22:54
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch 2 times, most recently from 251ebeb to f66bef1 Compare January 16, 2026 04:08
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch from f66bef1 to 23bf753 Compare February 2, 2026 10:53
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch from 23bf753 to f2e7bd4 Compare February 9, 2026 22:35
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch from f2e7bd4 to f99481b Compare February 13, 2026 03:31
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch from f99481b to 3dcc742 Compare February 28, 2026 14:32
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch 2 times, most recently from 8944750 to 90817d0 Compare March 16, 2026 15:49
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch from 90817d0 to 10ecbaa Compare March 30, 2026 10:50
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch 2 times, most recently from 08ac157 to 0777aff Compare April 17, 2026 00:51
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch 2 times, most recently from 417233f to fa9e1f9 Compare April 30, 2026 20:26
@sonarqubecloud

Copy link
Copy Markdown

@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch from fa9e1f9 to 7b96782 Compare May 15, 2026 02:38
@sonarqubecloud

Copy link
Copy Markdown

@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch from 7b96782 to 5c89efc Compare May 22, 2026 11:56
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch 2 times, most recently from e4d05fc to 4be8d5f Compare June 2, 2026 20:08
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch 3 times, most recently from b537df8 to 682de0b Compare June 12, 2026 03:39
@sonarqubecloud

Copy link
Copy Markdown

@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch from 682de0b to 0d5fe09 Compare July 5, 2026 15:37
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch 2 times, most recently from 5ca312e to 02a04e6 Compare July 17, 2026 03:50
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch 2 times, most recently from 4107271 to ff4a3f9 Compare August 1, 2026 18:56
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch from ff4a3f9 to c4bbee6 Compare August 13, 2026 15:16
@renovate
renovate Bot force-pushed the renovate/nuget-minor-patch branch from c4bbee6 to 697ad7f Compare August 14, 2026 05:38
@sonarqubecloud

Copy link
Copy Markdown

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.

0 participants