Release Notes - 1.6


1.6.2-funcrel

Resolved Issues

Customer Ticket Id Details
51103 Correction of root cause of the error "System.ArgumentException: An item with the same key has already been added" during the removal of duplicate projects.

Other Updates

Details
Correction of an exception raised when the rule 1027010: "Avoid weak encryption providing insufficient key size" is triggered.
Improve detection and removal of circular project references.
Improve management of project dependencies.

Rules

Rule Id New Rule Details
1027010 FALSE Correction of an exception raised when the rule 1027010: "Avoid weak encryption providing insufficient key size" is triggered.

1.6.1-funcrel

Resolved Issues

Customer Ticket Id Details
29240 Fixes an issue where generated "getter" or "setter" objects for an "internal" property were incorrectly set as "external". Now these items are correctly set as "external" and "generated".
48575 Provides an update to create links for "SCDiaWeb-IQueryable" interface calls to SQL "Table" objects.
49184 Fixes an issue causing the analyzer to fail when source code file paths exceeded 260 characters.
49568 Provides an update to remove unanalyzed ".resx" files from the results storage.
50335 Fixes an issue causing missing links due to an exception when analyzing record struct objects.
Callee Type Caller Type Details
CAST_DotNet_MethodCSharp CAST_DotNet_MethodCSharp Add link from method "RedirectToAction" to the action called.

Other Updates

Details
Fixes an issue causing a conflict leading to an Unresolved Definition.
Provides an update to ensure that no assemblies from the "DotNetCmd.xml" configuration file when the folder with the right TFM contains only the placeholder file ".".
Provides an update to ensure that "pathtoolong" exceptions are correctly caught while getting source files and that the file instead of the project is excluded.
Improves the selection of project files in a folder containing multiple project files to ensure that project references are correctly identified.
Mitigate the situation where project files with version of package references as ".props" variables are not supported: now the analyzer will take the latest version of the package.
Remove unnecessary file objects which are not used during the analysis: ".vbhtml", ".asa", ".html", ".htm", ".htc", ".css", ".js", ".jsx", ".vbs", ".ts", ".tsx", ".xml", ".json", ".ico", ".jpg", ".png".

Rules

Rule Id New Rule Details
1027058 FALSE Fixed a false positive violation for the rule "Avoid blocking async methods": no violation is now triggered inside "ContinueWith" method call arguments.

1.6.0-funcrel

Note

This extension now supports .NET 8 and as a result the Roslyn internal compiler used by com.castsoftware.dotnet has also been updated to release 4.10. Therefore any custom extensions that depend on com.castsoftware.dotnet will also need to be updated to ensure compatibility with Roslyn 4.10.

Resolved Issues

Customer Ticket Id Details
48217 Fixes a false positive when ExecuteReader is called with argument CommandBehavior.CloseConnection for the rule 3612 "Avoid missing release of SQL connection after an effective lifetime (C#, VB.NET)".
48031 Fixes an issue where for VB .NET source code, the default namespace is not created when namespace is not explicitly defined. The fix ensures that the default namespace is created and the fullnames of objects modified with it.
48394 Fixes an issue where not all violations were detected for the rule 8148 "Avoid artifacts having Incorrect Type Conversion or Cast".
48577 Fixes an issue where the computation of number of lines of code was incorrect.
49209 Fixes an issue (with the "Using" clause) causing a false violation for the rule 7258 "DataReader must be called using CommandBehavior.CloseConnection enumeration".

Other Updates

Details
An update has been implemented to ensure that the "com.castsoftware.dotnet" extension now uses the "com.castsoftware.dotnet.config.tcc" extension for the generation and configuration of transaction entry/end points. In previous releases the com.castsoftware.dotnet was responsible for the generation and configuration of transaction entry/end points.
Fixes an issue causing type conflicts during compilation when two versions of the same assembly exist.
Improve support of dependencies in nuspec file for multiple versions of the same framework kind

Rules

Rule Id New Rule Details
1027102 FALSE Avoid using Regex constructor or static method without timeout: an update to ensure that the regular expression source generators add a timeout.
8148 FALSE Fixes an issue where not all violations were detected for the rule "Avoid artifacts having Incorrect Type Conversion or Cast".
7258 FALSE Fixes an issue (with the "Using" clause) causing a false violation for the rule "DataReader must be called using CommandBehavior.CloseConnection enumeration".

New Support

Summary Details
Support of .NET 8 Support of .NET 8 framework for analyzed projects and as a result the Roslyn internal compiler used by com.castsoftware.dotnet has also been updated to release 4.10.
Support of C# 12 Support of new C# 12 syntax for analyzed projects: Primary constructors, Collection expressions, Inline arrays, Optional parameters in lambda expressions, ref readonly parameter and Alias any type.