Releases: dotnet/roslynator
Releases · dotnet/roslynator
v4.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
andCompilerDiagnosticFixVerifier
. - Add property
DiagnosticVerifier.Descriptor
(BREAKING CHANGE) - Add property
CompilerDiagnosticFixVerifier.DiagnosticId
(BREAKING CHANGE) - Make property
DiagnosticTestData.Descriptor
obsolete. - Make property
CompilerDiagnosticFixTestData.DiagnosticId
obsolete.
- Add methods to
Fixed
v4.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:
- [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
- Required option:
Changed
- [CLI] Open help in web browser when running command
roslynator help <COMMAND>
(PR)
Fixed
v4.4.0
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
- Fix RCS1016 (#1090 by @jamesHargreaves12)
- Improve inversion of logical expressions to handling additional cases (#1086 by @jamesHargreaves12)
- Fix RCS1084 (#1085 by @jamesHargreaves12)
- Fix RCS1169 (#1092 by @jamesHargreaves12)
- Recognize more shapes of IAsyncEnumerable as being Async (RCS1047) (#1084)
- Fix RCS1197 (#1093 by @jamesHargreaves12)
- Fix RCS1056 (#1096 by @jamesHargreaves12)
- Fix RCS1216 (#1094 by @jamesHargreaves12)
- Fix RCS1146 (#1098 by @jamesHargreaves12)
- Fix RCS1154 (#1105)
- Fix RCS1211 (#1095 by @jamesHargreaves12)
- Fix RCS0005 (#1114)
- Fix RCS1176 (#1122, #1140)
- Fix RCS1085 (#1120 by @jamesHargreaves12)
- Fix RCS1208 (#1119 by @jamesHargreaves12)
- [CLI] Fix member full declaration in generated documentation (command
generate-doc
) (#1130)- Append
?
to nullable reference types.
- Append
- Fix RCS1179 (#1129 by @jamesHargreaves12)
- Fix RCS0060 (#1139)
v4.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)
v4.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.
- Required option:
- Add analyzer "Simplify argument null check" (RCS1255) (#994)
- Use
ArgumentNullException.ThrowIfNull
instead ofif
null check. - Not enabled by default.
- Use
- 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
.
- This analyzer reports null checks of arguments that are:
- 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 withglobal::
RCS0015 (#1000) - [VS Extension] Reference all assemblies as 'Analyzer' and 'MefComponent' in vsix manifest (#1002)
- Fixes
AD0001
withSystem.IO.FileNotFoundException
on Visual Studio 17.4 and later.
- Fixes
v4.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)
v4.1.1
- Bug fixes
v4.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)
v4.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)
v4.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