Roslynator v4.2.0 Release Notes
Release Date: 2022-11-27 // almost 2 years ago-
➕ 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
.
- ➕ Add package
Roslynator.Testing.CSharp.MSTest
(#997).
🔄 Changed
- 0️⃣ 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
Previous changes from 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
- 0️⃣ 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).
- 0️⃣ 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). - 0️⃣ 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.
<!-- Content below does not adhere to 'Keep a Changelog' format -->