Releases: dotnet/roslyn-analyzers
NetAnalyzers 5.0.1
Release build of Microsoft.CodeAnalysis.NetAnalyzers containing first-party code quality analyzers ("CAxxxx rules").
- Version
5.0.1
of this package contains additional bug fixes on top of version5.0.0
that ships with the .NET 5 SDK. - Works with VS 2019 16.8 or later.
- All the shipped CA rules with the default severity and enabled state can be found here
v3.3.2
Release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 3.3.0 NuGet packages. Works with VS 2019 16.3 or later.
- Contains important functionality and performance bug fixes on top of v3.3.1 release
- New deprecation warning CA9998 for
Microsoft.CodeAnalysis.FxCopAnalyzers
package:
FxCopAnalyzers package has been deprecated in favor of 'Microsoft.CodeAnalysis.NetAnalyzers', that ships with the .NET SDK. Please refer to https://docs.microsoft.com/visualstudio/code-quality/migrate-from-fxcop-analyzers-to-net-analyzers to migrate to .NET analyzers.
NetAnalyzers 5.0.0
Release build of first-party code quality analyzers ("CAxxxx rules") that ship with the .NET 5 SDK. Works with VS 2019 16.8 or later. All the shipped CA rules with the default severity and enabled state can be found here
v3.3.1
Release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 3.3.0 NuGet packages. Works with VS 2019 16.3 or later.
Contains following important changes on top of v3.3.0 release:
Bug Fixes
- Functionality and performance bug fixes
- Tainted data rules improvements
- CA5377: Don't warn when unable to get the control flow graph for dataflow analysis
- CA3075: Fix false positive on XmlReader.Create(string) invocations
- Optimizing error list refresh times for full compilation analyzers in Visual Studio 2019 16.9
Additional analyzers/fixers
Added
- Globalization
- CA1310: Specify StringComparison for correctness -- Enabled by default
- Interoperability
- CA1416: Validate platform compatibility -- Enabled by default
Changed
- Globalization
- CA1307: Specify StringComparison for clarity -- Now disabled by default
v2.9.12
Release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 2.9.0 NuGet packages. Works with VS 2017 15.9 or later.
Contains functionality and performance bug fixes on top of the v2.9.11 release.
Fixes
- Optimizing type resolution
- Tainted data rules improvements
- CA5377: Don't warn when unable to get the control flow graph for dataflow analysis
- CA3075: Fix false positive on XmlReader.Create(string) invocations
- Optimizing error list refresh times for full compilation analyzers in Visual Studio 2019 16.9
v3.3.0
Release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 3.3.0 NuGet packages. Works with VS 2019 16.3 or later.
Contains following important changes on top of v3.0.0 release
The new security rules CA2350-CA2362 can help find vulnerabilities related to DataSet and DataTable security guidance.
Feature
Editorconfig based file/directory level options configuration. See details here
Bug Fixes
- Many bug fixes, including performance fixes.
- Various tainted data rules: Don't report tainted data flowing into non-sink method parameters, when other tainted data does flow into a sink parameter.
Additional analyzers/fixers
Added
- Design
- CA1002: Do not expose generic lists
- CA1005: Avoid excessive parameters on generic types
- CA1045: Do not pass types by reference
- CA1046: Do not overload equality operator on reference types
- CA1047: Do not declare protected member in sealed type -- Enabled by default
- CA1070: Do not declare event fields as virtual -- Enabled by default
- Interoperability
- CA1417: Do not use 'OutAttribute' on string parameters for P/Invokes -- Enabled by default
- Naming
- Performance
- CA1805: Do not initialize unnecessarily -- Enabled by default
- CA1830: Prefer strongly-typed Append and Insert method overloads on StringBuilder -- Enabled by default
- CA1831: Use AsSpan or AsMemory instead of Range-based indexers when appropriate -- Enabled by default
- CA1832: Use AsSpan or AsMemory instead of Range-based indexers when appropriate -- Enabled by default
- CA1833: Use AsSpan or AsMemory instead of Range-based indexers when appropriate -- Enabled by default
- CA1834: Consider using 'StringBuilder.Append(char)' when applicable -- Enabled by default
- CA1835: Prefer the 'Memory'-based overloads for 'ReadAsync' and 'WriteAsync' -- Enabled by default
- CA1836: Prefer IsEmpty over Count -- Enabled by default
- CA1837: Use 'Environment.ProcessId' -- Enabled by default
- CA1838: Avoid 'StringBuilder' parameters for P/Invokes
- Publish
- Reliability
- Security
- CA2109: Review visible event handlers
- CA2350: Do not use DataTable.ReadXml() with untrusted data
- CA2351: Do not use DataSet.ReadXml() with untrusted data
- CA2352: Unsafe DataSet or DataTable in serializable type can be vulnerable to remote code execution attacks
- CA2353: Unsafe DataSet or DataTable in serializable type
- CA2354: Unsafe DataSet or DataTable in deserialized object graph can be vulnerable to remote code execution attacks
- CA2355: Unsafe DataSet or DataTable type found in deserializable object graph
- CA2356: Unsafe DataSet or DataTable type in web deserializable object graph
- CA2361: Ensure autogenerated class containing DataSet.ReadXml() is not used with untrusted data
- CA2362: Unsafe DataSet or DataTable in autogenerated serializable type can be vulnerable to remote code execution attacks
- Usage
- CA2247: Argument passed to TaskCompletionSource constructor should be TaskCreationOptions enum instead of TaskContinuationOptions enum -- Enabled by default
- CA2248: Provide correct 'enum' argument to 'Enum.HasFlag' -- Enabled by default
- CA2249: Consider using 'string.Contains' instead of 'string.IndexOf' -- Enabled by default
Removed
- Reliability
- CA2010: Always consume the value returned by methods marked with PreserveSigAttribute -- Enabled by default
v2.9.11
Release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 2.9.0 NuGet packages. Works with VS 2017 15.9 or later.
Contains the following important changes on top of the v2.9.10 release.
New security rules to help find vulnerabilities related to DataSet and DataTable security guidance.
Fixes
- Various tainted data rules: Don't report tainted data flowing into non-sink method parameters, when other tainted data does flow into a sink parameter.
Added
- Security
Changed
v3.3.0-beta2.final
Pre-release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 3.3.0 NuGet packages. Works with VS 2019 16.3 or later.
Contains following important changes on top of v3.0.0 release
The new security rules CA2350-CA2356 can help find vulnerabilities related to DataSet and DataTable security guidance.
Feature
Editorconfig based file/directory level options configuration. See details here
Bug Fixes
Many bug fixes, including performance fixes.
Additional analyzers/fixers:
Added
- Design
- CA1002: Do not expose generic lists
- CA1005: Avoid excessive parameters on generic types
- CA1045: Do not pass types by reference
- CA1046: Do not overload equality operator on reference types
- CA1047: Do not declare protected member in sealed type -- Enabled by default
- CA1070: Do not declare event fields as virtual -- Enabled by default
- Naming
- Performance
- CA1805: Do not initialize unnecessarily -- Enabled by default
- CA1830: Prefer strongly-typed Append and Insert method overloads on StringBuilder. -- Enabled by default
- CA1831: Use AsSpan or AsMemory instead of Range-based indexers when appropriate -- Enabled by default
- CA1832: Use AsSpan or AsMemory instead of Range-based indexers when appropriate -- Enabled by default
- CA1833: Use AsSpan or AsMemory instead of Range-based indexers when appropriate -- Enabled by default
- CA1834: Consider using 'StringBuilder.Append(char)' when applicable. -- Enabled by default
- CA1835: Prefer the 'Memory'-based overloads for 'ReadAsync' and 'WriteAsync' -- Enabled by default
- CA1836: Prefer IsEmpty over Count -- Enabled by default
- Reliability
- Security
- CA2109: Review visible event handlers -- Enabled by default
- CA2350: Do not use insecure deserialization with DataTable.ReadXml()
- CA2351: Do not use insecure deserialization with DataSet.ReadXml()
- CA2352: Unsafe DataSet or DataTable in serializable type can be vulnerable to remote code execution attacks
- CA2353: Unsafe DataSet or DataTable in serializable type
- CA2354: Unsafe DataSet or DataTable in deserialized object graph can be vulnerable to remote code execution attacks
- CA2355: Unsafe DataSet or DataTable type found in deserializable object graph
- CA2356: Unsafe DataSet or DataTable type in web deserializable object graph
- Usage
- CA2247: Argument passed to TaskCompletionSource constructor should be TaskCreationOptions enum instead of TaskContinuationOptions enum. -- Enabled by default
- CA2248: Provide correct 'enum' argument to 'Enum.HasFlag' -- Enabled by default
- CA2249: Consider using 'string.Contains' instead of 'string.IndexOf' -- Enabled by default
Removed
- Reliability
- CA2010: Always consume the value returned by methods marked with PreserveSigAttribute -- Enabled by default
v2.9.10
Release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 2.9.0 NuGet packages. Works with VS 2017 15.9 or later.
Contains the following important changes on top of the v2.9.9 release.
New security rules to help find vulnerabilities related to DataSet and DataTable security guidance.
Bug fixes
- CA3075: Fix false positives with XmlDocument on .NET Framework 4.5.2 or later
Added
- Security
- CA2350: Ensure DataTable.ReadXml()'s input is trusted
- CA2351: Ensure DataSet.ReadXml()'s input is trusted
- CA2352: Unsafe DataSet or DataTable in serializable type can be vulnerable to remote code execution attacks
- CA2353: Unsafe DataSet or DataTable in serializable type
- CA2354: Unsafe DataSet or DataTable in deserialized object graph can be vulnerable to remote code execution attacks
- CA2355: Unsafe DataSet or DataTable in deserialized object graph
- CA2356: Unsafe DataSet or DataTable in web deserialized object graph
v3.3.0-beta1.final
Pre-release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 3.3.0 NuGet packages. Works with VS 2019 16.3 or later.
Contains following important changes on top of v3.0.0 release
Feature
Editorconfig based file/directory level options configuration. See details here
Bug Fixes
Many bug fixes, including performance fixes.
Additional analyzers/fixers:
Added
- Design
- CA1002: Do not expose generic lists
- CA1005: Avoid excessive parameters on generic types
- CA1045: Do not pass types by reference
- CA1046: Do not overload equality operator on reference types
- CA1047: Do not declare protected member in sealed type -- Enabled by default
- CA1070: Do not declare event fields as virtual -- Enabled by default
- Naming
- Performance
- CA1805: Do not initialize unnecessarily -- Enabled by default
- CA1830: Prefer strongly-typed Append and Insert method overloads on StringBuilder. -- Enabled by default
- CA1831: Use AsSpan or AsMemory instead of Range-based indexers when appropriate -- Enabled by default
- CA1832: Use AsSpan or AsMemory instead of Range-based indexers when appropriate -- Enabled by default
- CA1833: Use AsSpan or AsMemory instead of Range-based indexers when appropriate -- Enabled by default
- CA1834: Consider using 'StringBuilder.Append(char)' when applicable. -- Enabled by default
- CA1835: Prefer the 'Memory'-based overloads for 'ReadAsync' and 'WriteAsync' -- Enabled by default
- CA1836: Prefer IsEmpty over Count -- Enabled by default
- Reliability
- Security
- CA2109: Review visible event handlers -- Enabled by default
- Usage
- CA2247: Argument passed to TaskCompletionSource constructor should be TaskCreationOptions enum instead of TaskContinuationOptions enum. -- Enabled by default
- CA2248: Provide correct 'enum' argument to 'Enum.HasFlag' -- Enabled by default
- CA2249: Consider using 'string.Contains' instead of 'string.IndexOf' -- Enabled by default
Removed
- Reliability
- CA2010: Always consume the value returned by methods marked with PreserveSigAttribute -- Enabled by default