Skip to content

Releases: dotnet/roslyn-analyzers

v3.3.4

18 Jan 07:29
22ea642
Compare
Choose a tag to compare

Release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 3.3.1 NuGet packages. Works with VS 2019 16.9 or later.

  • Contains important functionality and performance bug fixes on top of v3.3.3 release

NetAnalyzers 7.0.1

09 Mar 02:53
897aa84
Compare
Choose a tag to compare

Release build of Microsoft.CodeAnalysis.NetAnalyzers containing first-party code quality analyzers ("CAxxxx rules").

Contains bug fixes on top of 7.0.0 release.

What's Changed

Full Changelog: 7.0.0...7.0.1

NetAnalyzers 7.0.0

08 Dec 00:55
e26a04c
Compare
Choose a tag to compare

Release build of Microsoft.CodeAnalysis.NetAnalyzers containing first-party code quality analyzers ("CAxxxx rules").

Added

  • Globalization
    • CA1311: Specify a culture or use an invariant version -- Enabled by default
  • Interoperability
    • CA1420: Property, type, or attribute requires runtime marshalling -- Enabled by default
    • CA1421: This method uses runtime marshalling even when the 'DisableRuntimeMarshallingAttribute' is applied -- Enabled by default
    • CA1422: Validate platform compatibility -- Enabled by default
  • Performance
    • CA1850: Prefer static 'HashData' method over 'ComputeHash' -- Enabled by default
    • CA1851: Possible multiple enumerations of 'IEnumerable' collection
    • CA1852: Seal internal types -- Enabled by default
    • CA1853: Unnecessary call to 'Dictionary.ContainsKey(key)' -- Enabled by default
    • CA1854: Prefer the 'IDictionary.TryGetValue(TKey, out TValue)' method -- Enabled by default
    • CA1855: Prefer 'Clear' over 'Fill' -- Enabled by default
  • Reliability
    • CA2019: Improper 'ThreadStatic' field initialization -- Enabled by default
    • CA2020: Prevent from behavioral change -- Enabled by default
  • Usage
    • CA2259: 'ThreadStatic' only affects static fields -- Enabled by default
    • CA2260: Use correct type parameter -- Enabled by default

v3.3.3

16 Aug 17:08
2771ee3
Compare
Choose a tag to compare

Release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 3.3.0 NuGet packages. Works with VS 2019 16.9 or later.

  • Contains important functionality and performance bug fixes on top of v3.3.2 release

NetAnalyzers 6.0.0

24 May 20:50
547cafd
Compare
Choose a tag to compare

Release build of Microsoft.CodeAnalysis.NetAnalyzers containing first-party code quality analyzers ("CAxxxx rules").

Added

  • Interoperability
    • CA1418: Use valid platform string -- Enabled by default
    • CA1419: Provide a parameterless constructor that is as visible as the containing type for concrete types derived from 'System.Runtime.InteropServices.SafeHandle' -- Enabled by default
  • Naming
    • CA1727: Use PascalCase for named placeholders -- Enabled by default
  • Performance
    • CA1839: Use 'Environment.ProcessPath' -- Enabled by default
    • CA1840: Use 'Environment.CurrentManagedThreadId' -- Enabled by default
    • CA1841: Prefer Dictionary.Contains methods -- Enabled by default
    • CA1842: Do not use 'WhenAll' with a single task -- Enabled by default
    • CA1843: Do not use 'WaitAll' with a single task -- Enabled by default
    • CA1844: Provide memory-based overrides of async methods when subclassing 'Stream' -- Enabled by default
    • CA1845: Use span-based 'string.Concat' -- Enabled by default
    • CA1846: Prefer 'AsSpan' over 'Substring' -- Enabled by default
    • CA1847: Use char literal for a single character lookup -- Enabled by default
    • CA1848: Use the LoggerMessage delegates -- Enabled by default
    • CA1849: Call async methods when in an async method
  • Reliability
    • CA2017: Parameter count mismatch -- Enabled by default
    • CA2018: 'Buffer.BlockCopy' expects the number of bytes to be copied for the 'count' argument -- Enabled by default
  • Security
    • CA5404: Do not disable token validation checks
    • CA5405: Do not always skip token validation in delegates
  • Usage
    • CA2250: Use 'ThrowIfCancellationRequested' -- Enabled by default
    • CA2251: Use 'string.Equals' -- Enabled by default
    • CA2252: This API requires opting into preview features -- Enabled by default
    • CA2253: Named placeholders should not be numeric values -- Enabled by default
    • CA2254: Template should be a static expression -- Enabled by default
    • CA2255: The 'ModuleInitializer' attribute should not be used in libraries -- Enabled by default
    • CA2256: All members declared in parent interfaces must have an implementation in a DynamicInterfaceCastableImplementation-attributed interface -- Enabled by default
    • CA2257: Members defined on an interface with the 'DynamicInterfaceCastableImplementationAttribute' should be 'static' -- Enabled by default
    • CA2258: Providing a 'DynamicInterfaceCastableImplementation' interface in Visual Basic is unsupported -- Enabled by default

Removed

  • Publish
    • IL3000: Avoid using accessing Assembly file path when publishing as a single-file -- Enabled by default
    • IL3001: Avoid using accessing Assembly file path when publishing as a single-file -- Enabled by default
  • Usage
    • CA1801: Review unused parameters

NetAnalyzers 5.0.3

05 Jan 14:44
8673687
Compare
Choose a tag to compare

Release build of Microsoft.CodeAnalysis.NetAnalyzers containing first-party code quality analyzers ("CAxxxx rules").

  • Version 5.0.3 of this package contains additional bug fixes on top of version 5.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

NetAnalyzers 5.0.1

04 Dec 00:01
4e0e1e8
Compare
Choose a tag to compare

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 version 5.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

04 Dec 00:10
4e0e1e8
Compare
Choose a tag to compare

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

12 Nov 20:09
953532d
Compare
Choose a tag to compare

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

29 Oct 00:11
49efc9e
Compare
Choose a tag to compare

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