Understand 6.3 build notes
← All versions
Build 1139
6.3, May 15, 2023
New Features
- Entity filter list may be blank on Windows
- Variables in CodeCheck may appear as "unnamed"
- License manager occasionally displays a threading warning
- Collapsed code no longer accessible when modifying first line of a collapsed block
Bug Fixes
- Strict: Fix worker process crash regression on C++ rethrow expressions
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1138
6.3, May 2, 2023
New Features
- Entity filter list may be blank on Windows
- Variables in CodeCheck may appear as "unnamed"
- License manager occasionally displays a threading warning
- Collapsed code no longer accessible when modifying first line of a collapsed block
Bug Fixes
- Fixed the -c++systemincludesremove to remove the include directory
- Fix dark mode print of graphs with styled labels off to correctly change white text to black
- Fixed handling of UNC filenames
- Fix duplicate override c++ include directories being added unintentionally to project source directories and disallow explicit duplicate directories from being added
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1137
6.3, Apr 13, 2023
New Features
- Long texts are truncated in CodeChecks' description - Text was not being truncated but the horizontal scrollbar was not working. The horizontal scrollbar is now working properly.
- Update the previewer to not take focus when activated from CodeCheck results.
- When single as well as multiple entities are selected in the Entity Filter, 'Ctrl+c' will copy the entity names to the clipboard. Also, used the right click menu, 'Copy Fullname', that will do the same.
- Copying multiple Entity Filter lines - replace the action of "Copy Full Name" with the new copy entity name action and removed 'Copy Entity Names"
- Update default options for acf_ControlFlowTree.pl to match current options available
- Change C# and Java SameName IB fields to Overloads
- Add Overloads IB field for Ada
- Add Overloads IB field for Basic methods
- Add Overrides and OverriddenBy IB fields for C#
- Add VirtualType and VirtualCalls options to C# CalledBy and References IB fields
- Add VirtualCalls and VirtualType options to C++ CalledBy and References fields
- Change java CalledBy and References IB fields to identify static calls instead of dynamic calls
- IReports use last used options instead of default options when options popup is not shown.
- Change the IReport entity double click to match entity double clicks in other parts of the tool.
- Add missing references to types and fields referenced inside of __builtin_offsetof expressions
- Variables in CodeCheck may appear as "unnamed"
- License manager occasionally displays a threading warning
- Collapsed code no longer accessible when modifying first line of a collapsed block
Bug Fixes
- Fixed text for the description of 'Instructions to build your architecture' key in the resource file
- Remove the CodeCheck save on Inspect for the ignores file in order to fix the issue with baselining CodeCheck violations.
- Selected CodeCheck config is overwritten by importing another config - Issue is fixed and current selected configuration is no longer overwritten by the importing configuration.
- Fix potential crash on project close
- Fix Butterfly Compare (Classic) graph ignoring of multi-line /* ...*/ comments.
- Fix visual studio import of configurations with parentheses in the name.
- Fix some Entity Locator string localizations.
- Fix worker process crash on malformed Objective-C for-in statement
- Fixed bug where overload resolution cold be incorrect when overloaded methods were inherited from ancestor classes and additional overloads were defined in the child class.
- Fix duplicate entries in Scopelist for C# and Java
- Fixed bug where variables declared as global within functions but having no assignment statement at the file level were generating Unknown Variables.
- Fixed bug where xml and css file counts were sometimes incorrect. Fixed bug where a src of a php file from html caused an attempt to parse as Javascript.
- Error calling ent.draw() using custom Python
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1136
6.3, Mar 20, 2023
New Features
- Show virtual callby references in the c++ References IB from overridden methods
- License manager occasionally displays a threading warning
- Collapsed code no longer accessible when modifying first line of a collapsed block
Bug Fixes
- Issue with baselining CodeCheck violations - Remove the CodeCheck save on Inspect for the ignores file
- Crash when closing Understand while CodeCheck is performing a read or write operation - Fixed the crash while previous inspection is loading and the user closes Understand or when exporting results
- Fix slight performance regression
- Fix worker process crash
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1135
6.3, Mar 13, 2023
New Features
- Menu Bar Changes - Added 'Violation Browser" to the View Menu and the Annotations - 'Browse All Annotations' is now the top menu item
- Add missing references to entities made visible through using declarations
- Avoid counting semicolons in inactive code
- Change constructor and destructor type text from "void" to empty
- Allow C++20 to be chosen as a language standard
- Added support for Ada to call_pairs.py script
- Install warning when rolling back to a previous build after installing build 1135 on Windows
- License manager occasionally displays a threading warning
- Collapsed code no longer accessible when modifying first line of a collapsed block
Bug Fixes
- Fix crash in associated c comments
- Fix report group by directory und setting
- Some translations not showing - Fix the About Page translation
- Fix translation of graph options
- Don't show git related errors in stderr unless STI_GIT_ERRORS environment variable is defined
- Fix crash on exit when an info browser context menu is visible
- Fixed potential parser crash
- For Visual Basic, fixed syntax errors on some uses of XML literals
- Fix crash in associated c comments
- Fix CountStmt metric for for statements
- Fix failure to count lines with nothing but a semicolon as "code" lines
- Fix missing "friend" reference for friend functions defined inline
- Fix missing references in C++17 if/swtich init statements
- Fix crash in associated c comments
- Fixed crash when the parser attempted to read some .so files found in the import path
- For Web,Typescript,Javascript, fixed syntax errors on property declarations without terminating semicolons
- For Web/Typescript, fixed bug where arrow functions were not included in the CountDeclFunction metric
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1134
6.3, Mar 5, 2023
New Features
- Update help for und create
- Add UML Sequence Diagram Ada support
- Add image for CyclomaticStrictModified metric documentation
- Add missing assign references to fields appearing in designated initializers
- C and C++
- Declarations and Definitions
- CPP_DD014: Add check "Use the same parameter names and type qualifiers for all declarations and definitions"
- Headers
- CPP_H020: Add check "Do not use standard header tgmath.h"
- CPP_H021: Add check "Do not use standard header setjmp.h"
- Identifiers
- CPP_I010: Add check "Do not reuse identifiers of static objects or static functions"
- Published Standards
- MISRA C 2012
- MISRA12_21.11: Add check "Do not use standard header tgmath.h"
- MISRA12_21.4: Add check "Do not use standard header setjmp.h"
- MISRA12_8.3: Add check "Use the same parameter names and type qualifiers for all declarations and definitions"
- MISRA-C 2004
- MISRA04_5.5: Add check "Do not reuse identifiers of static objects or static functions"
- MISRA04_8.3: Add check "Use the same parameter names and type qualifiers for all declarations and definitions"
- MISRA-C++ 2008
- MISRA08_2-10-5: Add check "Do not reuse identifiers of static objects or static functions"
- License manager occasionally displays a threading warning
- Und batch mode requires the database explicitly set for each line
- Collapsed code no longer accessible when modifying first line of a collapsed block
Bug Fixes
- Fix crash when attempting to drag-and-drop to install an invalid Python plugin
- Fixed bug where adding a directory containing .class files as a Class Path sometimes resulted in 'unable to read file' errors for the .class files
- Fixed error loading some class files when reading from a class reference directory
- Fixed bug where nested classes with names containing ‘$’ did not load correctly from reference jar files
- Fixed parser crash on some uses of unknown classes as parent types
- CPP_D011: Fixed: "Type error in CPP_D011"
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1133
6.3, Feb 22, 2023
New Features
- Rename macOS package to reflect Universal Support
- Change synthetic 'use' references for entities marked with an 'unused' attribute to 'use implicit'
Build 1132
6.3, Feb 9, 2023
New Features
- Don't show chat option on welcome page in Japanese build
- Avoid blocking the user interface when changing filters (including after analysis).
- Write inline member initializers as the init value
- Write parameter default arguments as the init value
- Cannot load nested classes with entity names containing “$” in Java
- Collapsed code no longer accessible when modifying first line of a collapsed block
- Und batch mode requires the database explicitly set for each line
- License manager occasionally displays a threading warning
Bug Fixes
- Fix crash on exit during project open
- Fix regression in positioning violation popups within editor bounds in files with very few lines.
- Fix architecture metric calculation of AvgCyclomaticStrictModified and MaxCyclomaticStrictModified
- Fix failure to respect the encoding setting for some paths on Windows
- Fixed bug where some parameters loaded from dll files were written to the Understand database with null long names. This could result in a crash during parsing.
- Fixed bug where the use of an integer literal as a prefix in a dotted name caused a syntax error.
- Fixed syntax error on use of 'Out' as an identifier. Fixed syntax errors on some references to enumeration literals with names 'And' and 'Or'.
- Fixed bug where the mscorlib.dll file information was purged from the database and rewritten on all refresh parses.
- Fixed bug where a '/' operator overload resulted in a null named entity in the database.
- Fixed bug where the mscorlib.dll file information was purged from the database and rewritten on all refresh parses.
- Fixed bug where some entities with non-alphanumeric names were created with null entity names in the database.
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1131
6.3, Feb 6, 2023
New Features
- Ensure that violations pop up within editor scroll area bounds
- Cannot load nested classes with entity names containing “$” in Java
- Collapsed code no longer accessible when modifying first line of a collapsed block
- Und batch mode requires the database explicitly set for each line
Bug Fixes
- Fix crash loading old databases
- Fix crash on analysis when the database is locked by another process
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1130
6.3, Jan 21, 2023
New Features
- Add a built-in variable tracker graph
- Update Project Overview Charts subtitles.
- Change fuzzy c analysis to treat static function and object definitions in included files as external
- Added IntPtr and UIntPtr stubs to the understand conf standard directory.
- Added 'synchronized' to the AdditionalKinds free text for synchronized methods.
- 'Synchronized' now appears as part of the kind text in the Information Browser.
- In control flow graphs, changed synchronized blocks from 'passive' nodes to 'java block begin' nodes with a corresponding 'java block end' and with 'synchronized...' as the node text.
- Cannot load nested classes with entity names containing “$” in Java
- Collapsed code no longer accessible when modifying first line of a collapsed block
- Und batch mode requires the database explicitly set for each line
Bug Fixes
- Fix crash on project close when a CodeCheck analysis is running
- Fix failure to save Perl script options
- Fix failure to recognize icon files.
- Fix crash on user tools import dialog cancel
- Fix crash after user tool import
- For Web/Typescript, fixed bug where 'any' and 'unknown' types on catch variables caused syntax errors.
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1129
6.3, Jan 12, 2023
New Features
- Update minor version number to 6.3.
- Change dependency analysis settings from global settings to project settings and make the default mode link time.
- Update warnings in Tools->Options->General for settings that require Understand to restart.
- Change sound defaults to off (Tools->Options->User Interface ->Alerts->Audible Alerts).
- Project overview bar chart make change so it doesn't elide labels in full-screen.
- Clicking on nodes in a comparison treemap opens a diff view. The diff view, used by both the comparison treemap and locate changed entities no longer becomes the active window on sync events.
- Restore ability to call API draw function from scripts run through the Understand GUI.
- Move graph styling controls from Tools->Options->Graphs to the graph legend.
- Graph styles: Add metric color scale options.
- Graph styles: Allow different graphs to have different graph styles, and add a style for object references.
- Added Data Flow graphs.
- Avoid defaulting to a comparison graph variant when drawing from the API.
- Graphs allow showing comments and annotations on a per-node basis.
- Updated how clusters block child edges to match dependency graphs.
- Add a file_type() method for entities to the Perl and Python APIs.
- Changed the Python and Perl API version method (.version()) to return 'Major_version '." Minor_version '.' build number'.
- C-api: Add missing Python library RPATH entry to the C API shared library
- Refactor Rename for files moves files on disk.
- Add support for the CyclomaticStrictModified metric: Logical operators (AND, OR, NOT) in conditional expressions add one (1) to the complexity for each occurrence.
- Change the mechanism for calculating cyclomatic complexity to be more consistent with the other languages
- Add missing control flow graph support for C++11 range-based for loops and Objective-C collection for-in loops.
- Support added for C# 11
- Cannot load nested classes with entity names containing “$” in Java
- Collapsed code no longer accessible when modifying first line of a collapsed block
Bug Fixes
- Fix xcode project import failure to include .hpp files.
- Fix crash when running CodeCheck on an architecture containing unresolved entities.
- Fix plugin legend display of dashed arrow style and #RRGGBBAA colors.
- For web - Javascript, Typescript and Php, fixed bug where average line metrics were incorrect for some files.
- Fixed the Search Results find shortcut. Keyboard shortcut (Ctrl+F) was not working in Search Results.
- For Visual Basic, fixed invalid syntax error on use of an array variable in a 'for each' statement.
- For Web/Typescript, fixed bug where a function defined using a 'const' set to an 'arrow function' created an unnamed function entity instead of just a function with the name given in the const declaration. This prevented call trees from following into the body of the defined function.
- Incorrect control flow graph when simplify macro expansion is enabled