Skip to content

chore(deps): update dependency microsoft.codeanalysis.fxcopanalyzers to v3#116

Merged
RLittlesII merged 1 commit intomasterfrom
renovate/microsoft.codeanalysis.fxcopanalyzers-3.x
Aug 3, 2022
Merged

chore(deps): update dependency microsoft.codeanalysis.fxcopanalyzers to v3#116
RLittlesII merged 1 commit intomasterfrom
renovate/microsoft.codeanalysis.fxcopanalyzers-3.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Aug 1, 2022

Mend Renovate

This PR contains the following updates:

Package Type Update Change
Microsoft.CodeAnalysis.FxCopAnalyzers nuget major 2.6.2 -> 3.3.2

Release Notes

dotnet/roslyn-analyzers

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.

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

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
    • CA1700: Do not name enum values 'Reserved'
    • CA1713: Events should not have 'Before' or 'After' prefix -- Enabled by default
  • 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
    • 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
  • Reliability
    • CA2014: Do not use stackalloc in loops -- Enabled by default
    • CA2015: Do not define finalizers for types derived from MemoryManager -- Enabled by default
    • CA2016: Forward the 'CancellationToken' parameter to methods that take one -- Enabled by default
  • 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

v3.0.0

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

Contains following important changes on top of v2.9.x releases

Bug Fixes

Tons of bug fixes

Additional analyzers/fixers:
Added
  • Design
    • CA1021: Avoid out parameters
    • CA1069: Enums values should not be duplicated -- Enabled by default
  • Reliability
    • CA2011: Avoid infinite recursion -- Enabled by default
    • CA2012: Use ValueTasks correctly -- Enabled by default
    • CA2013: Do not use ReferenceEquals with value types -- Enabled by default
  • Usage
    • CA2215: Dispose methods should call base class dispose -- Enabled by default
Changed
  • Security
    • CA5361: Do Not Disable SChannel Use of Strong Crypto -- Now disabled by default
    • CA5376: Use SharedAccessProtocol HttpsOnly -- Now disabled by default
    • CA5377: Use Container Level Access Policy -- Now disabled by default
    • CA5378: Do not disable ServicePointManagerSecurityProtocols -- Now disabled by default
    • CA5380: Do Not Add Certificates To Root Store -- Now disabled by default
    • CA5381: Ensure Certificates Are Not Added To Root Store -- 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

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
    • 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
Changed
  • Security
    • CA2351: Some cases of autogenerated code are now reported as CA2361
    • CA2352: Some cases of autogenerated code are now reported as CA2362

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

v2.9.9

Release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 2.9.0 NuGet packages. Works with VS 2017.9 or later.

Contains the following important changes on top of the v2.9.8 release.

Fixes
  • CA2201: Performance improvement.
  • CA2212: Fix AD0001 crash.
  • CA3009: Treat System.Web.Security.AntiXss.AntiXssEncoder as a sanitizer.
  • CA5358: Renamed to "Review cipher mode usage with cryptography experts"
  • CA5360: Handles local functions.

v2.9.8

Release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 2.9.0 NuGet packages. Works with VS 2017.9 or later.

Contains the following important changes on top of the v2.9.7 release.

Fixes
  • Fixed performance regression for most analyzers relying on tainted data analysis. Affects rules CA3001-CA3012 and CA5389.
  • Improved performance for dataflow analysis rules.

v2.9.7

Release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 2.9.0 NuGet packages. Works with VS 2017.9 or later.

Contains following important changes on top of the v2.9.6 release

Fixes
  • CA5390: Do Not Hard Code Encryption Key -- improved performance
  • Rules tracking property values -- now handling assignments such as foo.Bar = Singletons.Bar ?? throw new Exception();
Added
  • Security
    • CA5401: Do not use CreateEncryptor with non-default IV
    • CA5402: Use CreateEncryptor with the default IV
    • CA5403: Do not hard-code certificate

v2.9.6

Release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 2.9.0 NuGet packages. Works with VS 2017.9 or later.

Contains following important bug fix on top of v2.9.5 release:

v2.9.5

Release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 2.9.0 NuGet packages. Works with VS 2017.9 or later.

Contains following important changes on top of v2.9.4 release

Bug Fixes
  • Critical Performance: Fixed memory leak in flow analysis results cache which leads to OOM exceptions and crashes on large solution. This is applicable for all rules
  • Critical Reliability: Hardened all the analyzers and fixers from crashes due to Single or SingleOrDefault invocations.
  • CA1065: Fixed false positives caused by breaking changes in the IOperation tree shape for throw operations.
  • CA1067: Fixed false positives.
  • CA1708: Fix high memory allocations in the rule implementation
  • CA1721: Fixed false positives.
  • CA2000: Fixed false positives
  • CA2234: Fixed false positives
  • CA2327: Do not use insecure JsonSerializerSettings -- Fixed InvalidCastException
  • CA3147: Mark verb handlers with ValidateAntiForgeryToken -- Now handles Task-based ASP.NET MVC controller action methods
  • CA3075: Insecure DTD processing in XML -- Fixed NullReferenceException.
  • CA3076: Insecure XSLT script processing -- Fixed ArgumentOutOfRangeException.
  • CA5390: Do Not Hard Code Encryption Key -- Treats Encoding.GetBytes() as a potentially hardcoded key. Also considers newer .NET Core 3.0 AesGcm and AesCcm APIs.
Additional analyzers/fixers:
Added
  • Performance
    • CA1828: Do not use CountAsync() or LongCountAsync() when AnyAsync() can be used -- Enabled by default
    • CA1829: Use Length/Count property instead of Count() when available -- Enabled by default
  • Security
    • CA2329: Do not deserialize with JsonSerializer using an insecure configuration
    • CA2330: Ensure that JsonSerializer has a secure configuration when deserializing
    • CA5391: Use antiforgery tokens in ASP.NET Core MVC controllers -- Enabled by default
    • CA5392: Use DefaultDllImportSearchPaths attribute for P/Invokes
    • CA5393: Do not use unsafe DllImportSearchPath value
    • CA5394: Do not use insecure randomness
    • CA5395: Miss HttpVerb attribute for action methods
    • CA5396: Set HttpOnly to true for HttpCookie
    • CA5397: Do not use deprecated SslProtocols values -- Enabled by default
    • CA5398: Avoid hardcoded SslProtocols values
    • CA5399: Definitely disable HttpClient certificate revocation list check
    • CA5400: Ensure HttpClient certificate revocation list check is not disabled
  • Usage
    • CA2246: Assigning to a symbol and its member (field/property) in the same statement is not recommended. It is not clear if the member access was intended to use symbol's old value prior to the assignment or new value from the assignment in this statement. For clarity, consider splitting the assignments into separate statements -- Enabled by default
    • CA2200: Code fix added
Changed
  • Security
    • CA5389: Do Not Add Archive Item's Path To The Target File System Path -- Now disabled by default
    • CA5390: Do Not Hard Code Encryption Key -- Now disabled by default
New Analyzer Configuration options
  • CA1031: Add a configurable option disallowed_symbol_names to to allow configuration of disallowed exception types.
  • CA1062: Add configurable option exclude_extension_method_this_parameter for CA1062 to skip analysis of extension method 'this' parameter.
  • CA1801: Respect existing option api_surface for CA1801 (Review unused parameters).
  • CA1802: Add configuration option required_modifiers for CA1802. CA1802 only flags static readonly flags by default. This matches the legacy FxCop implementation for compat reasons. With this change, users can make the rule more aggressive by also flagging instance fields
  • CA2241: Add a new configurable option additional_string_formatting_methods for CA2241. CA2241 considers String.Format and Console.WriteLine as special formatting methods to validate the callsites for formatting arguments. This change allows end users to supply additional formatting methods that should be validated.

v2.9.4

Release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 2.9.0 NuGet packages. Contains bug fixes on top of v2.9.3 release and additional rules listed below.

Works with VS 2017.9 or later.

Added
  • Performance
    • CA1827: Do not use Count() when Any() can be used -- Enabled by default
  • Security
    • CA2326: Do not use TypeNameHandling values other than None
    • CA2327: Do not use insecure JsonSerializerSettings
    • CA2328: Ensure that JsonSerializerSettings are secure
    • CA5387: Do Not Use Weak Key Derivation Function With Insufficient Iteration Count
    • CA5388: Ensure Sufficient Iteration Count When Using Weak Key Derivation Function
    • CA5389: Do Not Add Archive Item's Path To The Target File System Path -- Enabled by default
    • CA5390: Do Not Hard Code Encryption Key -- Enabled by default
  • Usage
    • CA2245: Do not assign a property to itself. -- Enabled by default
Fixes
  • CA3075: Insecure DTD processing in XML -- Performance improvements.
  • CA5360: Do Not Call Dangerous Methods In Deserialization -- Fixed KeyNotFoundException.

v2.9.3

Release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 2.9.0 NuGet packages. Contains bug fixes on top of v2.9.2 release.

Works with VS 2017.9 or later.

Added
  • Security
    • CA2321: Do not deserialize with JavaScriptSerializer using a SimpleTypeResolver
    • CA2322: Ensure JavaScriptSerializer is not initialized with SimpleTypeResolver before deserializing
    • CA5366: Use XmlReader For DataSet Read Xml -- Enabled by default
    • CA5369: Use XmlReader For Deserialize -- Enabled by default
    • CA5370: Use XmlReader For Validating Reader -- Enabled by default
    • CA5371: Use XmlReader For Schema Read -- Enabled by default
    • CA5372: Use XmlReader For XPathDocument -- Enabled by default
    • CA5373: Do not use obsolete key derivation function -- Enabled by default
    • CA5374: Do Not Use XslTransform -- Enabled by default
    • CA5375: Do Not Use Account Shared Access Signature
    • CA5376: Use SharedAccessProtocol HttpsOnly -- Enabled by default
    • CA5377: Use Container Level Access Policy -- Enabled by default
    • CA5378: Do not disable ServicePointManagerSecurityProtocols -- Enabled by default
    • CA5379: Do Not Use Weak Key Derivation Function Algorithm -- Enabled by default
    • CA5380: Do Not Add Certificates To Root Store -- Enabled by default
    • CA5381: Ensure Certificates Are Not Added To Root Store -- Enabled by default
    • CA5382: Use Secure Cookies In ASP.Net Core
    • CA5383: Ensure Use Secure Cookies In ASP.Net Core
    • CA5384: Do Not Use Digital Signature Algorithm (DSA) -- Enabled by default
    • CA5385: Use Rivest–Shamir–Adleman (RSA) Algorithm With Sufficient Key Size -- Enabled by default
    • CA5386: Avoid hardcoding SecurityProtocolType value

v2.9.2

Release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 2.9.0 NuGet packages. Contains bug fixes on top of v2.9.1 release.

Works with VS 2017.9 or later.

v2.9.1

Release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 2.9.1 NuGet packages. Contains bug fixes on top of v2.9.0 release.

Works with VS 2017.9 or later.

Added
  • Security
    • CA3061: Do Not Add Schema By URL -- Enabled by default
    • CA5367: Do Not Serialize Types With Pointer Fields
    • CA5368: Set ViewStateUserKey For Classes Derived From Page -- Enabled by default

v2.9.0

Release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 2.9.0 NuGet packages. Contains additional analyzers/fixers and additional bug fixes on top of v2.6.3 release.

Works with VS 2017.9 or later.

Added
  • Design
    • CA1031: Do not catch general exception types -- Enabled by default
    • CA1062: Validate arguments of public methods
  • Globalization
    • CA1303: Do not pass literals as localized parameters
  • Maintainability
    • CA1508: Avoid dead conditional code
  • Naming
    • CA1712: Do not prefix enum values with type name -- Enabled by default
  • Reliability
    • CA2000: Dispose objects before losing scope
  • Security
    • CA2100: Review SQL queries for security vulnerabilities
    • CA2300: Do not use insecure deserializer BinaryFormatter
    • CA2301: Do not call BinaryFormatter.Deserialize without first setting BinaryFormatter.Binder
    • CA2302: Ensure BinaryFormatter.Binder is set before calling BinaryFormatter.Deserialize
    • CA2305: Do not use insecure deserializer LosFormatter
    • CA2310: Do not use insecure deserializer NetDataContractSerializer
    • CA2311: Do not deserialize without first setting NetDataContractSerializer.Binder
    • CA2312: Ensure NetDataContractSerializer.Binder is set before deserializing
    • CA2315: Do not use insecure deserializer ObjectStateFormatter
    • CA3001: Review code for SQL injection vulnerabilities
    • CA3002: Review code for XSS vulnerabilities
    • CA3003: Review code for file path injection vulnerabilities
    • CA3004: Review code for information disclosure vulnerabilities
    • CA3005: Review code for LDAP injection vulnerabilities
    • CA3006: Review code for process command injection vulnerabilities
    • CA3007: Review code for open redirect vulnerabilities
    • CA3008: Review code for XPath injection vulnerabilities
    • CA3009: Review code for XML injection vulnerabilities
    • CA3010: Review code for XAML injection vulnerabilities
    • CA3011: Review code for DLL injection vulnerabilities
    • CA3012: Review code for regex injection vulnerabilities
    • CA5359: Do Not Disable Certificate Validation -- Enabled by default
    • CA5360: Do Not Call Dangerous Methods In Deserialization -- Enabled by default
    • CA5361: Do Not Disable SChannel Use of Strong Crypto -- Enabled by default
    • CA5362: Do Not Refer Self In Serializable Class
    • CA5363: Do Not Disable Request Validation -- Enabled by default
    • CA5364: Do Not Use Deprecated Security Protocols -- Enabled by default
    • CA5365: Do Not Disable HTTP Header Checking -- Enabled by default
  • Usage
    • CA2213: Disposable fields should be disposed
Removed
  • Naming
    • Async002: Async Method Names Should End in Async
  • Usage
    • Async001: Avoid Async Void
    • Async003: Don't Pass Async Lambdas as Void Returning Delegate Types
    • Async004: Don't Store Async Lambdas as Void Returning Delegate Types
    • Async006: Don't Mix Blocking and Async

v2.6.4

Release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 2.6.0 NuGet packages, with additional bug fixes and rules on top of v2.6.3 release.

Works with VS 2017.5 or later.

v2.6.3

Release build of Roslyn-analyzers based on Microsoft.CodeAnalysis 2.6.0 NuGet packages, with additional bug fixes on top of v2.6.2 release.

Works with VS 2017.5 or later.


Configuration

📅 Schedule: Branch creation - "after 3am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot added the 📦 dependencies Pull requests that update a dependency file label Aug 1, 2022
@github-actions github-actions bot added this to the v0.9.1 milestone Aug 1, 2022
@RLittlesII RLittlesII enabled auto-merge (squash) August 2, 2022 23:15
@renovate renovate bot force-pushed the renovate/microsoft.codeanalysis.fxcopanalyzers-3.x branch from a5a9db1 to a961700 Compare August 2, 2022 23:18
@codecov
Copy link
Copy Markdown

codecov bot commented Aug 2, 2022

Codecov Report

Merging #116 (026f290) into master (d256def) will not change coverage.
The diff coverage is n/a.

❗ Current head 026f290 differs from pull request most recent head 1f483a0. Consider uploading reports for the commit 1f483a0 to get more accurate results

@@           Coverage Diff           @@
##           master     #116   +/-   ##
=======================================
  Coverage   40.98%   40.98%           
=======================================
  Files          52       52           
  Lines         732      732           
  Branches       34       34           
=======================================
  Hits          300      300           
  Misses        432      432           

📣 Codecov can now indicate which changes are the most critical in Pull Requests. Learn more

@renovate renovate bot force-pushed the renovate/microsoft.codeanalysis.fxcopanalyzers-3.x branch 2 times, most recently from 11280f8 to 026f290 Compare August 3, 2022 00:36
@renovate renovate bot force-pushed the renovate/microsoft.codeanalysis.fxcopanalyzers-3.x branch from 026f290 to 1f483a0 Compare August 3, 2022 01:14
@RLittlesII RLittlesII merged commit 5b401d1 into master Aug 3, 2022
@RLittlesII RLittlesII deleted the renovate/microsoft.codeanalysis.fxcopanalyzers-3.x branch August 3, 2022 01:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📦 dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant