Summary: This document provides information about changes and new features introduced in this release.
1.1.6-funcrel
Resolved issues
Below table lists the issue resolved in 1.1.6-funcrel release.
Internal ID | Ticket ID | Description | Impact? |
---|---|---|---|
DOTNET-674 | - | Devirtualization should create a link to all overrides at least | Previously, when the real type of a virtual call is unknown the devirtualization would not create any link, however, after upgrade to 1.1.6-funcrel, links will be created towards all overrides. Results of post-upgrade analyses on unchanged source code will be impacted. |
DOTNET-822 | - | A regression added in 1.1.5-funcrel taints analysis and cause incomplete results | After upgrading to 1.1.6-funcrel, analysis completes without any issue. |
1.1.5-funcrel
1.1.5-funcrel is no longer available and must not be used. All resolved issues and new features included in 1.1.5 are available in 1.1.6.
New features
Support of .NET framework 4.7.2
The .NET Analyzer is now capable of analyzing code that uses .NET framework 4.7.2
Support of .NET framework 4.8
The .NET Analyzer is now capable of analyzing code that uses .NET framework 4.8
Resolved issues
Below table lists the issues resolved in 1.1.5-funcrel release.
Internal ID | Ticket ID | Description | Impact? |
---|---|---|---|
DOTNET-725 | 17666 | FALSE VIOLATIONS FOR "Avoid improper processing of the execution status of data handling operations" | The current rule is not violated in the below cases: Either empty catch blocks, catch blocks with comments only, or only write to a stream are violating the rule. Appropriate logging or other treatment of exception are said to be valid. |
DOTNET-735 | 17807 | Links missing between C# methods when called through abstraction | After upgrading to 1.1.5-funcrel, the links from C# method to C# method, which are called through abstraction, are visible. |
DOTNET-742 | 17909 | FALSE VIOLATION FOR RULE- "Close the outermost stream ASAP" | Methods returning streams will not be considered for violation. After an upgrade to the current version of the extension and the generation of a post-upgrade consistency snapshot, results may changed for this rule - less false violations providing more accuracy. |
DOTNET-746 | 18063 | Missing links to C# Custom Attribute and that's why transactions coming as modified | Links are formed between the C# attributes hence affecting the function points |
1.1.4-funcrel
New features
Support for .NET Core 2.2
The .NET Analyzer is now capable of analyzing code that uses .NET Core 2.2.
Resolved issues
Internal ID | Ticket ID | Description | Impact? |
---|---|---|---|
DOTNET-718 | 17275 | FALSE VIOLATION FOR RULE- Close the outermost stream ASAP - 8108. | After an upgrade to the current version of the extension and the generation of a post-upgrade consistency snapshot, results may changed for this rule - less false violations providing more accuracy. |
DOTNET-723 | 17616 | Analysis failed with an error System.ArgumentException: 'end' must not be less than 'start' | After an upgrade to the current version of the extension and the generation of a post-upgrade consistency snapshot, the error in the analysis log will no longer be displayed. |
DOTNET-763 | 18245 | "LOC increase post migration" | The line of code count will no longer increase after an upgrade to the current version of the extension and the generation of a post-upgrade consistency snapshot. |
DOTNET-772 | 18360 | Computed LOC is not correct |
1.1.3-funcrel
Resolved issues
Internal ID | Call ID | Description | Impact? |
---|---|---|---|
DOTNET-673 | 16489, 17397 | Perm Fix: False positive for rule 'Avoid using Keywords' for 'C# Property Set' and 'C# Property Get' | In previous releases of the extension, false positive violations to the rule "Avoid using Keywords as names - 3570" were returned during the analysis. The false violations were detected in property getter and setters, which are always called "set" and "get" and which appear on the list of keywords causing the violation. This bug has now been fixed (these object types are no excluded from the scope of this rule) and therefore after an upgrade to the current version of the extension and the generation of a post-upgrade consistency snapshot, results may changed for this rule - less false violations providing more accuracy. |
DOTNET-689 | 16402 | Performance issue when analyzing application | Time required to run an analysis should now be improved. No impact to results. This bug was seen only in the specific case of relatively large projects containing numerous dependencies between their objects. In this specific context, a lot of time was spent in the garbage collector (sometimes many hours) causing analysis duration to be excessive. |
DOTNET-714 | 17197, 17198 | DOTNET.0003: Unknown exception System.ComponentModel.Win32Exception (0x80004005): The filename or extension is too long | After updating to 1.1.3-funcrel, no exception found in the analysis log saying, "The filename or extension is too long". |
DOTNET-722 | 17509 | PERMANENT FIX- AIP recommends to declare as static methods that cannot be declared as static | In previous releases of the extension, false positive violations to the rule "Declare as Static all methods not using instance members (.NET) - 7270" were returned during the analysis. The false violations were detected in property getter and setters, which cannot be declared static when they are overridden by a class from a base class, or when a class implements them from an interface. This bug has now been fixed and therefore after an upgrade to the current version of the extension and the generation of a post-upgrade consistency snapshot, results may changed for this rule - less false violations providing more accuracy. |
1.1.2-funcrel
Resolved issues
Internal ID | Call ID | Description | Impact? |
---|---|---|---|
DOTNET-630 | 15486 | ".NET SOAP operation" object type not visible on TCC | After upgrading to 1.1.2-funcrel , ".NET Soap Operation" objects will be set as entry points in the CAST Transaction Configuration Center. This may impact the analysis results. |
1.1.1-funcrel
Updates
DOTNET-651
Metrics are no longer calculated for generated objects, as such, analysis results may be impacted.
Resolved issues
Internal ID | Call ID | Description | Impact? |
---|---|---|---|
DOTNET-568 | 14692 | Asmx files are not saved in some cases | After upgrading to 1.1.1, .asmx files will be correctly analyzed. As such, analysis results may be impacted. |
DOTNET-629 | 15751 | FALSE VIOLATION FOR RULE- Declare as static all methods not using instance members. | In previous releases of the extension, violations of this rule were being incorrectly returned for interfaces. After upgrading to 1.1.1, no violations will be reported in interfaces. As such, analysis results may be impacted. |
DOTNET-635 | - | Wrong line of code count | After upgrading to 1.1.1, the line of code count will be correct. |
DOTNET-645 | - | NullReferenceException related to managment of 'dynamic' type | After upgrading to 1.1.1, the NullReferenceException crash will not occur. |
DOTNET-647 | 13903 | Permanent Fix: "GUID duplicate found : CAST_DotNet_SOAP_Proxy" | After upgrading to 1.1.1, the warning will not occur. |
1.1.0-funcrel
Resolved issues
Internal ID | Call ID | Description |
---|---|---|
DOTNET-610 | 15119 | Analysis Log warning "DOTNET.0038:Missing project dependency" |
DOTNET-609 | 15150 | DOTNET.0003:Unknown exception System.NullReferenceException |
DOTNET-598 | 15005, 15074 | The type or namespace name 'Linq' does not exist in the namespace 'System' |
DOTNET-589 | - | Mismanagement of implicit reference to all framework assemblies |
DOTNET-583 | - | Leverage the nupkg files present in the deployment folder of a .NET application |
DOTNET-582 | - | Xamarin projects are not well recognized (because unmanaged) |
DOTNET-533 | 13933 | "The Type or Namespace name "XX" could not be found" warning |
DOTNET-498 | 13496 | CastGenerated objects created from aspx files are marked as internal |
DOTNET-494 | 9725 | Reference finder not creating link between aspx and CS Method |
1.1.0-beta2
Resolved issues
Internal ID | Call ID | Description |
---|---|---|
DOTNET-591 | - | Unknown exception System.IO.FileLoadException: The given assembly name or codebase was invalid. |
DOTNET-588 | - | System.UnauthorizedAccessException: Access to the path 'XXX' is denied |
DOTNET-584 | - | Assembly folders not taken into account in "Referenced Assemblies" in CMS |
DOTNET-581 | - | Package references should be resolved as project references too |
DOTNET-572 | - | Warnings "Type 'X' is not defined" because of missing implicit reference to Microsoft.VisualBasic.dll |
DOTNET-569 | - | Exception System.ArgumentException is raised when a reference is duplicated in a .NET project |
In addition, the following fixes have been ported from CAST AIP 8.2.11 and 8.2.12:
Internal ID | Call ID | Description | Impact? |
---|---|---|---|
SCRAIP-30145 | 11019 | So many static links are getting created from a .net method to several other .net methods with same name creating a large SCC group | A change has been made in the way the .NET analyzer behaves with regard to links between .NET methods which cannot absolutely be determined. Previously the .NET analyzer would create multiple objects of the same name for one single .NET method "B" and create links from the calling .NET method "A" to those objects. This resulted in multiple links between .NET method "A" and multiple instances of .NET method "B". This behaviour has now been changed: multiple instances of objects will still be created, however, only one link between the methods will be created. Therefore, after an upgrade to this release of the extension and the generation of a post upgrade snapshot, results may differ: there may be less links between objects affecting transaction values. |
SCRAIP-32270 | - | False Violation for QR - Close SQL connection ASAP | A bug has been discovered which has meant that the rule "Close SQL connection ASAP - 3612" returns false positives. This bug is now fixed, therefore, after an upgrade to this release and the generation of a post-upgrade consistency snapshot on the same source code, results may differ: reduced number of violations and improved accuracy. |
SCRAIP-31238 | 12889 | False positive for rule - 'Avoid instantiations inside loops' | A bug has been discovered which has meant that the rule "'Avoid instantiations inside loops - 7212" returns false positives when an initializer (for / foreach) is present in a loop. This bug is now fixed, therefore, after an upgrade to this release and the generation of a post-upgrade consistency snapshot on the same source code, results may differ: reduced number of violations and improved accuracy. |
SCRAIP-30630 | 12883 | .Net code analysis running slow | - |
SCRAIP-30222 | 10337 | False positive for "avoid unreferenced method" | A bug has been discovered which is causing the Quality Rule "Avoid unreferenced Methods - 7908" to be falsely violated by objects that are called by NET framework objects. These objects should not be part of the scope of this rule. This bug has now been fixed and after an upgrade to this release of the extension, results may differ for this rule - there will be a reduction in false positives. |
1.1.0-beta1
New features
Support for Universal Windows Platform (UWP)
The .NET Analyzer 1.1.x is now capable of analyzing Universal Windows Platform (UWP) projects, in addition to all existing project support. Discoverers embedded in the CAST Delivery Manager Tool (with CAST AIP ≥ 8.3.5) will detect Universal Windows Platform projects.
Resolved issues
R&D ID | Ticket ID | Summary | Impact? |
---|---|---|---|
DOTNET-544 | 14332 | Analysis Log warning "GUID duplicate found : CAST_DotNet_SOAP_Server " | A bug has been discovered which is causing a warning message to be displayed in the analysis log with reference to duplicate objects. This bug has now been fixed, therefore, after an upgrade to this release and the generation of a post-upgrade consistency snapshot on the same source code, results may differ:
|
DOTNET-547 | 14533 | False violation - Avoid Unreferenced Methods | A bug has been discovered which has meant that the rule "Avoid Unreferenced Methods - 7908" returns false positives. This bug is now fixed, therefore, after an upgrade to this release and the generation of a post-upgrade consistency snapshot on the same source code, results may differ: reduced number of violations and improved accuracy. |
1.1.0-alpha2
New features
Support for ASP.NET Core
The .NET Analyzer 1.1.x is now capable of analyzing code that uses ASP.NET Core v 2.x.
Support for .NET Core 1.x
The .NET Analyzer 1.1.x is now capable of analyzing code that uses ASP.NET Core v 1.x (in addition to 2.x that was already supported).
Resolved issues
R&D ID | Ticket ID | Summary |
---|---|---|
DOTNET-528 | - | Analysis log must show warning of the 4.71 framework as as the prerequisite |
In addition, the following fixes were also included:
- Client/Server links for the ADO.NET technology are now resolved correctly.
- Silverlight projects are now taken into account properly.
1.1.0-alpha1
New requirements
.NET Framework
.NET Framework ≥ 4.7.1 must be installed in order for the analysis to function. A check will be done when the analysis starts and a message will produced if the minimum .NET Framework cannot be found.
New features
Delivery of .NET Framework no longer required
In previous releases of the extension, a specific package was required in the CAST Delivery Manager Tool to deliver the .NET Framework, used to analyze the application. This requirement is no longer valid in version ≥ 1.1 and there is no need to create this package and deliver it. If this package is created from scratch or remains from a delivery analyzed with version 1.0, and is then delivered, it will be ignored during the analysis. See .NET - Prepare and deliver the source code for more information.
Support for .NET Core and .NET Standard projects
The .NET Analyzer 1.1.x is now capable of analyzing .NET Core and .NET Standard projects, in addition to all existing project support. Discoverers embedded in the CAST Delivery Manager Tool (with CAST AIP ≥ 8.3.5) will detect .NET Core/.NET Standard projects when the .csproj or .vbproj files contain the following:
<Project sdk=""> ... </Project>
Support for .NET Frameworks
The .NET Analyzer 1.1.x is now capable of analyzing .NET Framework 4.6.x and 4.7.x.
Support for C# and VB.NET
The .NET Analyzer 1.1.x is now capable of analyzing code that uses C# 7.2 and VB.NET 15.5.
Changes in results post upgrade
This section lists changes in results post upgrade from 1.0.x:
- Code that was not previously supported in earlier releases of the .NET Analyzer may now be supported. This means that analyzing existing source code with the new release of the .NET Analyzer will produce different results. You may find that Quality results differ as do Function Points related data.
Bug fixes
None.