Skip to content

Releases: dotnet/roslynator

v4.6.0

18 Oct 17:57
3eab64e
Compare
Choose a tag to compare

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

v4.5.0

26 Aug 22:23
d4d27d8
Compare
Choose a tag to compare

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

v4.4.0

01 Aug 13:48
c623b1e
Compare
Choose a tag to compare

Added

  • Add GitHub workflow (#1112)

Changed

  • [CLI] Bump Roslyn to 4.6.0 (#1106)
  • Bump Roslyn to 4.4.0 (#1116)
  • Migrate documentation to Docusaurus (#922)
  • [Testing Framework] Bump Roslyn to 4.6.0 (#1144)

Fixed

v4.3.0

24 Apr 20:07
56128e4
Compare
Choose a tag to compare

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

v4.2.0

27 Nov 23:11
12665c1
Compare
Choose a tag to compare

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.

v4.1.2

31 Oct 21:13
a05bf46
Compare
Choose a tag to compare

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)

v4.1.1

29 May 22:20
Compare
Choose a tag to compare
  • Bug fixes

v4.1.0

29 Mar 21:04
Compare
Choose a tag to compare
  • 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)

v4.0.2

29 Jan 13:35
Compare
Choose a tag to compare

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)

v4.0.0

16 Jan 17:59
Compare
Choose a tag to compare
  • 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