Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Dec 29, 2025

Updated Roslynator.Analyzers from 3.2.2 to 4.15.0.

Release notes

Sourced from Roslynator.Analyzers's releases.

4.15.0

Added

  • Add option roslynator_null_conditional_operator.avoid_negative_boolean_comparison (PR)
    • Do not suggest to use null-conditional operator when result would be ... != true/false
    • Applicable for RCS1146

Fixed

  • Fix analyzer RCS1172 (PR)
  • [CLI] Fix loc command (PR)
  • Exclude ref-field backed properties from RCS1085 (PR by @​ovska)
  • [CLI] Fix rename-symbol scope option not being applied correctly (PR by @​andrtmschkw)
  • [CLI] Fix rename-symbol support for top-level statement (PR by @​andrtmschkw)

Changed

  • Migrate to .NET 10 (including command-line tool) (PR)

4.14.1

Added

  • [CLI] Add support for slnx files (PR by @​darthtrevino)
    • Bump Roslyn to 4.14.0
    • Drop support for .NET 7 SDK

Fixed

Changed

  • Change behavior of analyzer RCS1206 (PR)
    • The condition for option omit_when_single_line will be that the braces/brackets are on the same line, not just the expression in the braces/brackets

4.14.0

Added

  • [CLI] Add support for GitLab analyzer reports (PR)

Fixed

Changed

Removed

  • Remove legacy config options (PR)

4.13.1

Added

  • Support custom path of a test file (PR)
    • It's possible to specify a directory path and/or a file name of a test file.
    • Applies to testing library (Roslynator.Testing.*).

4.13.0

Fixed

Added

  • Add analyzer "Put expression body on its own line" RCS0062 (PR by @​cbersch)

Changed

  • Move analyzer RCS1036 to Formatting.Analyzers as RCS0063 (PR)
    • Old analyzer still works but is marked as obsolete.
  • Bump Roslyn to 4.12.0 (PR)
    • Applies to CLI and testing library.
  • Bump Microsoft.Build.Locator to 1.7.8 (PR)

4.12.11

Added

  • [CLI] Add support for .NET 9 (PR)

Fixed

Changed

  • Move DiagnosticRules and DiagnosticIdentifiers to Roslynator.Common (PR)

4.12.10

Fixed

Changed

  • Update whitespace formatting rules (PR)
  • Ensure that diagnostics are not reported with zero length (PR)

4.12.9

Fixed

Changed

  • Update analyzer RCS1077 (PR)
    • Do not suggest to change list.FirstOrDefault(predicate) to list.Find(predicate).
      Performance gain is negligible and actually FirstOrDefault can be even faster on .NET 9 (see related issue for more details).

4.12.8

Fixed

4.12.7

Fixed

Changed

4.12.6

Added

  • Analyzer RCS1077 now suggests to use Order instead of OrderBy (PR by @​BenjaminBrienen)

Fixed

4.12.5

Fixed

Changed

  • Bump Roslyn to 4.11.0 (PR)
    • Applies to CLI and testing library.

Removed

  • [CLI] Remove support for .NET SDK 6 (PR)

4.12.4

Fixed

4.12.3

Fixed

4.12.2

Fixed

  • [CLI] Fix loading of slnf files (PR)
  • [CLI] Fix --severity-level (PR)
  • Fix analyzer RCS1246 (PR)

4.12.1

Changed

  • [CLI] Bump Roslyn to 4.9.2 (PR)
  • Convert Last() to [] (RCS1246) (PR by @​jakubreznak)

Fixed

  • Fix analyzer RCS1077 (PR)
  • Fix export of ILanguageService (PR)

4.12.0

Added

  • Add analyzer "Simplify numeric comparison" RCS1268 (PR by @​jakubreznak)

Fixed

  • Fix analyzer RCS1267 (PR)
  • Fix "Unknown value 'Default'" exception (PR by @​jsliwinski)
  • Fix name of UnityEngine.SerializeField attribute (PR)
  • Fix analyzer RCS1077 (PR)

4.11.0

Added

  • Add analyzer "Use raw string literal" RCS1266 (PR)
  • Add analyzer "Convert 'string.Concat' to interpolated string" RCS1267 (PR)
  • Simplify LINQ query RCS1077 (PR)
    • items.Select(selector).Average() => items.Average(selector)
    • items.Select(selector).Sum() => items.Sum(selector)

Fixed

  • Fix analyzer RCS0049 (PR)
  • Fix analyzer RCS1159 (PR)
  • Fix analyzer RCS1019 (PR)
  • Fix analyzer RCS1250 (PR, PR)
  • Fix code fix for CS8600 changing the wrong type when casts or var are involved (PR by @​jroessel)
  • Fix Roslyn multi-targeting (PR)

4.10.0

Added

  • Publish NuGet packages that provide refactorings and code fixes for compiler diagnostics (PR)
    • These packages are recommended to be used in an environment where Roslynator IDE extension cannot be used, e.g. VS Code + C# Dev Kit (see related issue)
  • Add analyzer "Remove redundant catch block" RCS1265 (PR by @​jakubreznak)
  • [CLI] Spellcheck file names (PR)
    • roslynator spellcheck --scope file-name

Changed

  • Update analyzer RCS1197 (PR)
    • Do not report interpolated string and string concatenation

Fixed

4.9.0

Added

  • Add support for Unity (PR)
    • Unity uses Roslyn 3.8 and this version is now supported by Roslynator NuGet packages with analyzers (Roslynator.Analyzers etc.)

Fixed

4.8.0

Added

  • Add analyzer "Add/remove blank line between switch sections" (RCS0061) (PR)
    • Option (required): roslynator_blank_line_between_switch_sections = include|omit|omit_after_block
    • Make analyzer RCS0014 obsolete
  • Add analyzer "Declare explicit/implicit type" (RCS1264) (PR)
  • Add code fix "Declare as nullable" (PR)
    • Applicable to: CS8600, CS8610, CS8765 and CS8767
  • Add option roslynator_use_collection_expression = true|false (PR)

Changed

  • Replace type declaration's empty braces with semicolon (RCS1251 (PR, PR)
  • [TestFramework] Bump MSTest.TestFramework to 3.1.1 (PR)
  • [TestFramework] Bump xunit.assert to 2.6.2 (PR)
  • Bump Roslyn to 4.7.0 (PR)

Fixed

4.7.0

Added

  • Add analyzer "Dispose resource asynchronously" (RCS1261) (PR)
  • Add analyzer "Unnecessary raw string literal" (RCS1262) (PR)
  • Add analyzer "Invalid reference in a documentation comment" (RCS1263) (PR)
  • Add analyzer "Add/remove blank line between switch sections" (RCS0061) (PR)
    • Option (required): roslynator_blank_line_between_switch_sections = include|omit|omit_after_block
    • Make analyzer RCS0014 obsolete

Changed

  • Improve refactoring "Remove comment" RR0098 (PR)
  • Remove trailing dot from analyzer's title (PR)
  • Group code fix "Change accessibility to ..." (PR)
  • [CLI] Bump Roslyn to 4.8.0 (PR)
  • Group refactoring "Remove members above/below" (PR)
  • Rename analyzers (PR)
    • "Add new line before embedded statement" -> "Put embedded statement on its own line" (RCS0030)
    • "Add new line before statement" -> "Put statement on its own line" (RCS0033)
  • Group refactoring "Wrap in ..." (PR)

Fixed

4.6.4

4.6.3

Added

  • [CLI] Add command find-symbol (PR)
    • This command can be used not only to find symbols but also to find unused symbols and optionally remove them.
    • Example: roslynator find-symbol --symbol-kind type --visibility internal private --unused --remove

Changed

  • Bump Roslyn to 4.6.0 (PR)
  • [CLI] Add support for .NET 8 (PR by @​JonasSchubert)

Fixed

4.6.2

Added

  • [CLI] Add note to docs that Roslynator CLI does not contain any analyzers itself (PR)

Fixed

  • Fix RCS1234 (PR by @​jakubreznak)
  • Fix refactoring Inline method (PR)
  • [CLI] Fix globbing (PR)
  • [CLI] Remove assembly resolving (PR)
  • Detect false positive from Unity code (RCS1169) (PR)
    • Introduce config option roslynator_unity_code_analysis.enabled = true|false
    • Make option roslynator_suppress_unity_script_methods obsolete

4.6.1

Fixed

4.6.0

Added

  • Add social card (PR)
  • Add nullable annotation to public API (PR)
  • Add refactoring "Remove directive (including content)" (PR)

Changed

  • Update logo (PR, PR)
  • Migrate to .NET Foundation (PR, PR, PR)
  • Bump Roslyn to 4.7.0 (PR)
    • Applies to CLI and testing library.
  • Bump Microsoft.Build.Locator to 1.6.1 (PR)
  • Improve testing framework (PR)
    • Add methods to DiagnosticVerifier, RefactoringVerifier and CompilerDiagnosticFixVerifier.
    • Add property DiagnosticVerifier.Descriptor (BREAKING CHANGE)
    • Add property CompilerDiagnosticFixVerifier.DiagnosticId (BREAKING CHANGE)
    • Make property DiagnosticTestData.Descriptor obsolete.
    • Make property CompilerDiagnosticFixTestData.DiagnosticId obsolete.

Fixed

4.5.0

Added

  • Add SECURITY.md (PR)
  • Add custom FixAllProvider for RCS1014 (PR by @​jamesHargreaves12)
  • Add more cases to RCS1097 (PR)
  • Add analyzer "Use enum field explicitly" (RCS1257) (PR)
    • Enabled by default.
  • Add analyzer "Unnecessary enum flag" RCS1258 (PR)
    • Enabled by default.
  • Make Roslynator.Rename.SymbolRenamer public (PR)
  • Analyzer 'Remove empty syntax' (RCS1259) (PR)
    • This analyzer replaces following analyzers:
      • Remove empty statement (RCS1038)
      • Remove empty 'else' clause (RCS1040)
      • Remove empty object initializer (RCS1041)
      • Remove empty 'finally' clause (RCS1066)
      • Remove empty namespace declaration (RCS1072)
      • Remove empty region directive (RCS1091)
      • Remove empty destructor (RCS1106)
  • [CLI] Add glob pattern matching (--include or/and --exclude) (PR, PR)
  • Add analyzer "Include/omit trailing comma" (RCS1256) (PR)
    • Required option: roslynator_trailing_comma_style = include|omit|omit_when_single_line
    • Not enabled by default

Changed

  • [CLI] Open help in web browser when running command roslynator help <COMMAND> (PR)

Fixed

  • Fix RCS1187 (PR by @​jamesHargreaves12)
  • Fix RCS1056 (PR by @​jamesHargreaves12)
  • Fix RCS1208 (PR)
  • Fix RCS1043 (PR by @​bdovaz)
  • [CLI] Fix exit code of spellcheck command (PR)
  • Improve indentation analysis (PR)

4.4.0

Added

Changed

Fixed

4.3.0

Changed

  • [CLI] Bump Roslyn to 4.5.0 (#​1043)
  • [CLI] Downgrade version of Microsoft.Build.Locator from 1.5.5 to 1.4.1 (#​1079)
  • [CLI] Add more information about the found diagnostics to the XML output file (#​1078 by @​PeterKaszab)

Fixed

  • Fix RCS1084 (#​1006)
  • Fix RCS1244 (#​1007)
  • [CLI] Add nullable reference type modifier when creating a list of symbols (list-symbols command) (#​1013)
  • Add/remove blank line after file scoped namespace declaration (RCS0060) (#​1014)
  • Do not remove overriding member in record (RCS1132) (#​1015)
  • Do not remove parameterless empty constructor in a struct with field initializers (RCS1074) (#​1021)
  • Do not suggest to use generic event handler (RCS1159) (#​1022)
  • Fix (RCS1077) (#​1023)
  • Fix (RCS1097) (#​1037 by @​jamesHargreaves12)
  • Do not report (RCS1170) when Microsoft.AspNetCore.Components.InjectAttribute is used (#​1046)
  • Fix (RCS1235) (#​1047)
  • Fix (RCS1206) (#​1049)
  • Prevent possible recursion in (RCS1235) (#​1054)
  • Fix (RCS1223) (#​1051 by @​jamesHargreaves12)
  • Do not remove braces in the cases where there are overlapping local variables. (RCS1031, RCS1211, RCS1208, RCS1061) (#​1039, #​1062 by @​jamesHargreaves12)
  • [CLI] Analyze command does not create the XML output file and returns incorrect exit code when only compiler diagnostics are reported (#​1056 by @​PeterKaszab)
  • [CLI] Fix exit code when multiple projects are processed (#​1061 by @​PeterKaszab)
  • Fix code fix for CS0164 (#​1031 by @​jamesHargreaves12)
  • Do not report System.Windows.DependencyPropertyChangedEventArgs as unused parameter (RCS1163) (#​1068)
  • Fix (RCS1032) (#​1064 by @​jamesHargreaves12)
  • Update processing of .globalconfig file to prioritize file-specific diagnostic severities over global diagnostic severities (#​1066 by @​jamesHargreaves12)
  • Fix RCS1009 to handles discard designations (#​1063 by @​jamesHargreaves12)
  • [CLI] Fix number of formatted documents, file banners added (#​1072)
  • Improve support for coalesce expressions in code fixes that require computing the logical inversion of an expression, such as RCS1208 (#​1069 by @​jamesHargreaves12)

4.2.0

Added

  • Add Arm64 VS 2022 extension support (#​990 by @​snickler)
  • Add analyzer "Add/remove blank line after file scoped namespace declaration" (RCS0060) (#​993)
    • Required option: roslynator_blank_line_after_file_scoped_namespace_declaration = true|false
    • Not enabled by default.
  • Add analyzer "Simplify argument null check" (RCS1255) (#​994)
    • Use ArgumentNullException.ThrowIfNull instead of if null check.
    • Not enabled by default.
  • Add analyzer "Invalid argument null check" (RCS1256) (#​888)
    • This analyzer reports null checks of arguments that are:
      • annotated as nullable reference type.
      • optional and its default value is null.
  • Add package Roslynator.Testing.CSharp.MSTest (#​997)

Changed

  • Disable RCS1080 by default (#​980)
  • [CLI] Bump Roslyn to 4.4.0 (#​998)
  • [CLI] Add support for .NET 7 and remove support for .NET 5 (#​985)

Fixed

  • Fix RCS1080 when collection is derived from List<T> (#​986)
  • Fix retrieving of trusted platform assemblies - separator differs by OS (#​987)
  • Fix refactoring (RR0014) (#​988)
  • Fix refactoring (RR0180) (#​988)
  • Recognize ArgumentNullException.ThrowIfNull (RCS1227) (#​992)
  • Detect pattern matching in RCS1146 (#​999)
  • Handle using directive that starts with global:: RCS0015 (#​1000)
  • [VS Extension] Reference all assemblies as 'Analyzer' and 'MefComponent' in vsix manifest (#​1002)
    • Fixes AD0001 with System.IO.FileNotFoundException on Visual Studio 17.4 and later.

4.1.2

Added

  • Convert more syntax to implicit object creation (RCS1250) (#​910)
  • Add code fix for CS0037 (#​929)
  • [CLI] Generate reference documentation that can be published with Docusaurus (#​918)
    • roslynator generate-doc --host docusaurus
  • [CLI] Generate reference documentation that can be published with Sphinx (#​961)
    • roslynator generate-doc --host sphinx
  • [CLI] Basic support for <inheritdoc /> when generating documentation (generate-doc command) (#​972)
  • [CLI] Add option ignored-title-parts (generate-doc command) (#​975)
  • Publish Roslynator to Open VSX Registry (#​820)

Changed

  • Rename default branch to main.
  • Format changelog according to 'Keep a Changelog' (#​915)
  • [CLI] Improve release build of command-line tool (#​912)
  • Do not sort properties in an initializer (RR0216)
  • [CLI] Bump Roslyn to 4.3.1 (#​969)
  • [CLI] Bump Microsoft.Build.Locator to 1.5.5 (#​969)

Fixed

  • [CLI] Fix filtering of projects (relates to --projects or --ignored-projects parameter) (#​914)
  • Refactoring "Add using directive" (RR0014) now works when file-scoped namespace is used (#​932)
  • Add parentheses if necessary in a code fix for RCS1197 (#​928 by @​karl-sjogren)
  • Do not simplify default expression if it would change semantics (RCS1244) (#​939)
  • Fix NullReferenceException in RCS1198 (#​940
  • Order named arguments even if optional arguments are not specified RCS1205 (#​941), (#​965)
  • Prefix identifier with @ if necessary (RCS1220) (#​943)
  • Do not suggest to make local variable a const when it is used in ref extension method (RCS1118) (#​948)
  • Fix formatting of argument list (#​952)
  • Do not remove async/await when 'using declaration' is used (#​953)
  • Convert if-else to return statement when pattern matching is used (RCS1073) (#​956)
  • [CLI] Include compiler diagnostics in the xml output file of the roslynator analyze command (#​964 by @​PeterKaszab)
  • Do not simplify 'default' expression if the type is inferred (RCS1244) (#​966)
  • Use explicit type from lambda expression (RCS1008) (#​967
  • Do not remove constructor if it is decorated with 'UsedImplicitlyAttribute' (RCS1074) (#​968)
  • Detect argument null check in the form of ArgumentNullException.ThrowIfNull (RR0025, RCS1227) (#​974)
  • Do not make generic class static if it's inherited (RCS1102) (#​978)

4.1.1

  • Bug fixes

4.1.0

  • Add analyzer RCS1254 (Normalize format of enum flag value)
  • Add analyzer RCS1253 (Format documentation comment summary)
  • Add analyzer RCS1252 (Normalize usage of infinite loop)
  • Add analyzer RCS1251 (Remove unnecessary braces from record declaration)
  • Add refactoring Deconstruct foreach variable (RR0217)
  • Add code fix for CS8602, CS8604
  • Add suggestion to call AddRange instead of Add (RCS1235)
  • Put back refactoring "Split local declaration and assignment" (RR0194) (issue)
  • Adopt activation events in VS Code extension (issue) (thanks to ProphetLamb)
  • Fix: Get config value from global AnalyzerConfig if available (issue)
  • Fix: Do not suggest using null-forgiving operator for parameter default value (CS8625)
  • Fix: Check if equality operator is overloaded (RCS1171)
  • Fix: Do not remove field initialization in struct with constructor(s) (RCS1129)

4.0.2

4.0.2 (2022-01-29)

  • Disable analyzer ROS003 by default (commit)
  • Analyzers that require option to be set should disabled by default (RCS1018, RCS1096, RCS1250) (commit)

Bug fixes

  • Fix analyzer RCS1014 (Use explicitly/implicitly typed array) (commit)
  • Fix analyzer RCS1016 (Use block body or expression body) (commit)
  • Fix refactoring AddUsingDirective (RR0013) (commit)
  • Propagate some options from .roslynatorconfig (commit)
  • Enable ROS analyzers to be set from .roslynatorconfig (commit)
  • Files generated with source generators have relative paths (commit)

4.0.0

  • Bump Roslyn version to 4.0.1

  • Change category of all analyzers to 'Roslynator'

  • Migrate all options to EditorConfig

    • Enable/disable all analyzers
    • Enable/disable all refactorings
    • Enable/disable specific refactoring
    • Enable/disable all compiler diagnostics fixes
    • Enable/disable specific compiler diagnostic fix
  • Add analyzer RCS0057 (Normalize whitespace at the beginning of a file)

  • Add analyzer RCS0058 (Normalize whitespace at the end of a file)

  • Add analyzer RCS0059 (Place new line after/before null-conditional operator)

  • Add analyzer RCS1249 (Unnecessary null-forgiving operator)

  • Add analyzer RCS1250 (Use implicit/explicit object creation)

  • Add refactoring ExpandPositionalRecord (RR0215)

  • Add refactoring AddAllPropertiesToInitializer (RR0216)

  • Add code fix for CS8403, CS8618 and CS8625

3.3.0

  • Bunch of bug fixes and small improvements
  • Disable analyzers RCS1079 and RCS1090 by default

Commits viewable in compare view.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

---
updated-dependencies:
- dependency-name: Roslynator.Analyzers
  dependency-version: 4.15.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Dec 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant