Understand 6.4 build notes
← All versions
Build 1157
6.4, Oct 19, 2023
New Features
- Entity filter list may be blank 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 potential crash on project close
- Fix potential crashes on graph create
- Fix for csv metrics export containing or using a comma as decimal delimiter. Decimal values using a period are no longer quoted.
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1156
6.4, Oct 12, 2023
New Features
- Entity filter list may be blank on Windows
- License manager occasionally displays a threading warning
- Collapsed code no longer accessible when modifying first line of a collapsed block
Bug Fixes
- Fixed issue on adding ignores, Und's -addignored, where an Entity was not initialized properly when no entity name or uniquename is specified.
- Fix regression in syntax highlighting diff views
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1155
6.4, Oct 11, 2023
New Features
- Entity filter list may be blank on Windows
- License manager occasionally displays a threading warning
- Collapsed code no longer accessible when modifying first line of a collapsed block
Bug Fixes
- Added support for a truncate column for fixed format files when Auto format detection is used. The specified truncate column will be used for all files identified as fixed format.
- Fixed bug where a trailing comma in a parameter list caused a syntax error.
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1154
6.4, Sep 28, 2023
New Features
- Added new Build Wrapper page and associated navigation to the Getting Started Wizard that explains Buildspy and Bear.
- Add missing metric visibility option to und list
- Add an option to UML Class Diagram to show return types.
- Avoid creating implicit declarations for functions that are also explicitly declared
- Added support for Intel !DIR$ directives.
- Entity filter list may be blank on Windows
- License manager occasionally displays a threading warning
- Collapsed code no longer accessible when modifying first line of a collapsed block
Bug Fixes
- Fixed issue where local repository was not allowing the freeze and compare git options when creating the project.
- Fix butterfly variant of Calls & Called By graph missing functions with only calledby references .
- Fix kind of implicitly declared C functions
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1153
6.4, Sep 21, 2023
New Features
- Add project metric visibility options to und
- Entity filter list may be blank on Windows
- License manager occasionally displays a threading warning
- Collapsed code no longer accessible when modifying first line of a collapsed block
Bug Fixes
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1152
6.4, Sep 19, 2023
New Features
- If c++ macro expansion text is saved, change it so it is never truncated
- Entity filter list may be blank 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 when opening the annotation viewer with a pre-existing empty annotation
- Fix regression in showing caret line highlight
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1151
6.4, Sep 7, 2023
New Features
- Entity filter list may be blank 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 for hang in ent.metrics() from upython when custom metric plugins are installed.
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1150
6.4, Sep 6, 2023
New Features
- Added the option to Add Git Repository Cloned to Local System on New Project Wizard - The save name for cloned projects now reflects the root project directory not the user folder by default.
- Add missing ARM intrinsic header files
- Entity filter list may be blank on Windows
- License manager occasionally displays a threading warning
- Collapsed code no longer accessible when modifying first line of a collapsed block
Bug Fixes
- Fixed crash when opening Understand for a specific folder (from CLI or GUI)
- Fixed issue where users could not access Freeze and Compare Git options after cloning a Git repository.
- Fix style issue in C# verbatim strings that contain escape sequences
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1149
6.4, Aug 24, 2023
New Features
- Call graphs make self edges an option on by default, all other built-in graphs remove self edges.
- Added new kind 'Use GenericArgument' for references to types used as parameters in generic instantiations that are not part of a type definition for a variable, method, or parameter.
- Added new kinds 'Typed GenericArgument' and 'Use GenericArguments' for references to types as arguments in generic instantiations. The 'Typed' form is used when the reference is part of the type definition for a variable, parameter, or method and the 'Use' form is used for all other contexts.
- Potential hang when reopening a project with a directory dependency graph open
- Workaround: run “und purge C:\my_project\my_project.und”
- Entity filter list may be blank on Windows
- License manager occasionally displays a threading warning
- Collapsed code no longer accessible when modifying first line of a collapsed block
Bug Fixes
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1148
6.4, Aug 17, 2023
New Features
- Add graphs building and layout to global progress bar.
- Make graph progress bar a little more obvious.
- Added new kinds 'Typed GenericArgument' and 'Use GenericArgument' for references to types as arguments in generic instantiations. The 'Typed' form is used when the reference is part of the type definition for a variable, parameter, or method and the 'Use' form is used for all other contexts.
- Added 'Typed Implicit' kind for implicit typing of 'Result' variables.
- Potential hang when reopening a project with a directory dependency graph open --Workaround: run “und purge C:\my_project\my_project.und”
- Entity filter list may be blank 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 und export changes not recognizing some columns.
- Fixed parser crash on some imports with missing files.
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1147
6.4, Aug 10, 2023
New Features
- Better handle apostrophes in spell checked comments.
- Improve compare control flow graph end and else node matching.
- Open web pages with system web browser when web engine is disabled.
- Treat 'inline' as a keyword in C for the fuzzy parser
- Missing Header Files cannot be found - Added the missing headers to the Project->Configure Project->C++->Includes->Search
- Entity filter list may be blank on Windows
- License manager occasionally displays a threading warning
- Collapsed code no longer accessible when modifying first line of a collapsed block
Bug Fixes
- Refactor tool for applying violation fix-it hints.
- Fix "Called By Depth" graph option in Object References With Called By (Cluster) graph.
- Fix worker process crash on field declarations with invalid bit width expressions.
- Fix worker process crash on functions with return type specified by
decltype(expr) where the expression depends on a template argument that couldn't be deduced.
- Fix worker process crash on some invalid new expressions and invalid code.
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1146
6.4, Aug 8, 2023
New Features
- Don't show duplicate annotations in the annotation viewer.
- Add check "Check Parameters and Return Values - Return Values"
- Improve tooltip text for template or generic functions
- Move global progress indicator from status bar to top right toolbar.
- Allow self-edges in built-in graphs.
- For Pascal, added generic parameters to the type text for variable, parameters, and method return types.
- For Java, added new kinds 'Typed GenericArgument' and 'Use GenericArgument' for references to types as arguments in generic instantiations. The 'Typed' form is used when the reference is part of the type definition for a variable, parameter, or method and the 'Use' form is used for all other contexts.
- Change reference kind of template arguments appearing in non-declaration contexts from "Typed TemplateArgument" to "Use TemplateArgument"
- Restore showing c++ function pointer calls on IB call and callby trees
- Some CodeCheck violations may be missing when enabling “Run automatically in the Background”
- Entity filter list may be blank on Windows
- License manager occasionally displays a threading warning
- Collapsed code no longer accessible when modifying first line of a collapsed block
Bug Fixes
- Update to Qt 6.5.2 to fix an issue on Mac where other apps with Accessibility access would crash Understand
- Fix classic butterfly graph layout to repeat nodes that appear in both trees.
- For Basic, Java, Pascal, changed kind for generic type parameters to 'GenericParameter Type' to be consistent with the kind name in C++ and to fix problem with the 'parameters()' method returning generic type parameters along with method parameters.
- For Pascal, fixed bug where two entites were created for a generic type paramter on a method where the method appears in both the interface and implementation sections.
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1145
6.4, Jul 31, 2023
New Features
- Add severities to the violation browser and information browser.
- Add many compiler warnings to CodeCheck
- Add -disableWebEngine command line argument to Understand
- Call graphs include bidirectional edge style by default.
- Compare control flow graph improve edge labels when filtering is on.
- Graph legends add tooltips for edge indicators.
- Add Generic Parameters IB field for C#
- Update C# dependency entities
- Made the kind for generic type parameters 'GenericParameter Type' to be consistent with naming used in C++.
- In fuzzy c++ parser, improve references to members in hierarchies of unnamed structs.
- Missing Header Files cannot be found - Use the analysis log missing includes list to populate the missing includes dialog from the Project Overview page and from the Project - Improve Project Accuracy - Missing Includes.
- Entity filter list may be blank 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 after analysis with the check selection dialog open
- Fix comparison project diff view when database files are read-only.
- Fix metrics browser crash on architecture change
- Fix hang when creating a project from a large watched directory
- Fixed bug where MaxNesting for a parent method with a nested method was always zero.
- Fixed bug where MaxNesting metric was always zero for 'get' and 'set' property accessors.
- Fixed bug where MaxNesting was always 0 for lambda methods and was sometimes incorrect for methods containing lambda methods.
- Fix invalid resolve for members of unnamed records
- Fixed bug where preprocessor line continuations using '\' in fixed format fortran code caused syntax errors.
- Fixed bug where the use of '#' in a string literal sometimes caused a syntax error.
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1144
6.4, Jul 20, 2023
New Features
- Bookmarks collapse when adding new bookmark - The bookmarks now respects the current expansion state.
- Add graph toolbar sections menu to graph window hamburger menu.
- Center graph when zoom fit to width/height are used.
- Graph windows default to released windows.
- Graphs fit width and fit height re-apply on each graph change while checked.
- Add a minimum mode for the legends in graphs.
- Update Documentation for Understand 6.4
- Added 'generic' to kind text for generic entities. Changed references to types used in generic instantiation to 'Use GenericArgument'.
- Changed 'Use GenericArgument' relation to 'Typed GenericArgument' to be more consistent with the C++ parser.
- Write assign references between members of structs passed by pointer or reference
- Made changes to allow c-style '/*...*/' comments in preprocessor '#define' statements.
- $report->option->checkbox() not initializing to any value in converted Perl iReports
- Entity filter list may be blank on Windows
- License manager occasionally displays a threading warning
- Collapsed code no longer accessible when modifying first line of a collapsed block
Bug Fixes
- Updated the log to force the correct color for appending text.
- Fix regression in recent projects menu showing pins.
- Fix crash on Mac when capturing a released window when welcome page is open.
- Fix hang on metric export from und.
- Fix db.metric, ent.metric, and arch.metric crashes with Python 3.12
- Fix crash on find-in-files in an architecture after analysis
- Fix temporary constructor call reference kind regression
- Fixed bug where a variable named 'stat' used as a parameter in a 'deallocate' statement caused a syntax error.
- Fixed bug where files that intermix fixed and free format using '!dec$freeform' and '!dec$nofreeform' were not fully parsed if the file ended with a '!dec$freeform' block with no ending '!dec$nofreeform' directive.
- Fixed bug where line numbers for references and error messages were sometimes incorrect in files that mix fixed and free format and use !dec$freeform and !dec$nofreeform to switch modes.
- Fixed bug where the use of '##' for concatenation in pre-processor directives caused syntax errors.
- Fixed crash in some pointer assignment statements.
- Fix Fortran config option 'Free format file filters'
- Understand may crash when creating a very large new project
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1143
6.4, Jun 30, 2023
New Features
- Add c functional macros to UML Sequence Diagram.
- Move dependency export progress dialog to the new global progress bar.
- Raise an exception on attempt to open or close a database from a plugin script
- Add .upy extension as a Python file type.
- Add missing constructor init list reference to class template base type
- Added support for .cts, .mts, .cjs, and .mjs extensions.
- Added support for arbitrary file extensions mapped to a file with extension d..ts (for example, an import of 'file1.css' maps to 'file1.d.css.ts'.
- Improved handling of 'import = require(...)' and 'export name = ...' syntax.
- Added support for 'satisfies' operator.
- Update Violation Browser count field width
Bug Fixes
- Fix regression in metrics treemap options remembering last used settings.
- Fix intermittent crashes on some graphs
- Fix error when clicking on the Filters button on the metric definitions page.
- Fix metrics CSV export to not include commas in large numbers.
- Fix filter field layout regression on scroll
- Fixed bug where using '!' as 'not' in a preprocessor condition resulted in incorrect condition evaluation.
- Fixed bug where a label on a tuple type element caused a syntax error.
Build 1142
6.4, Jun 15, 2023
New Features
- Entity filter list may be blank on Windows
- License manager occasionally displays a threading warning
- Collapsed code no longer accessible when modifying first line of a collapsed block
Bug Fixes
- Editor: Fix potential crash on editor document reload
- Strict: Fix kind and location of implicit base class constructor calls
- Understand may crash when creating a very large new project
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1141
6.4, Jun 8, 2023
New Features
- Add global progress indicator to status bar.
- Entity filter list may be blank 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 potential crash on error message output after the application has been destroyed on application close
- Fix handling of a database on a local disk and source files on a Windows network drive, specified with an unc path
- Understand may crash when creating a very large new project
- Incorrect control flow graph when simplify macro expansion is enabled
Build 1140
6.4, Jun 6, 2023
New Features
- Add a hover icon to the violations browser to ignore violations
- Add a refactor tool to ignore violations
- Create automatic ignores for CodeCheck comment keywords in line annotations
- Allow adding any metric as a column in the locator and changed entity locator
- Activate diff view when change locator entities are double clicked
- UML sequence diagram show call to func in "if(func() == 0)" inside the cluster to be consistent with "if(0==func())"
- Update Ada UML Class Diagram
- Variable tracker graph better support for set references with braces
- Updated the API names for some metrics
- Added metric plugins
- Add more file types to Metrics Browser architecture view
- Add PDF documentation for metrics
- Metrics export round decimals to places to match GUI
- Add the ability to the Perl and Python API's to retrieve CodeCheck violations
- Add missing references to types and fields referenced inside of __builtin_offsetof expressions
- Added 'Possible Functions' IB field for Pascal ambiguous functions
- For Javascript/Typescript, added type text for properties where available. Added 'public' to kind text for properties and methods with default visibility
- For Javascript/Typescript, made class fields and methods with names beginning with '#' have 'private' kinds
- For Typescript, added implicit typing on const definitions
- For Typescript, added support for const type parameters for Typescript 5.0
- For Typescript, additional changes for type tracking and member lookup
- For Typescript, made changes to use type relations to find components
- For Typescript/Javascript, added support for decorators
- 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 crash on dictionary access using '!' where prefix name is unknown to the parser
- Fixed some problems with overload resolution involving inherited methods
- Add CodeCheck Group: Bug Hunter
- CodeCheck false positives:
- fix false positives that allowed any filename
- Update false positive duplicate detection to allow multiple CodeCheck annotations with the same line ranges
- Fixed the -c++systemincludesremove to remove the include directory
- Fix access of existing annotations from und
- Add error message on Mac when launching Understand from the dmg install kit
- Fix Butterfly Compare (Classic) graph ignoring of multi-line /* ...*/ comments.
- Fix dark mode print of graphs with styled labels off to correctly change white text to black
- Fix overlapping text issue in variable tracker graph
- APIs Metric.list fix to report all metrics on empty kind string to match documented behavior
- Python-api: Fix fatal error in call to Ent.draw() with external Python interpreter
- Fix access of existing annotations from APIs
- Fix duplicate override c++ include directories being added unintentionally to project source directories and disallow explicit duplicate directories from being added
- Fixed handling of UNC filenames
- Fix control flow ranges of statements expanded from macros
- Fix potential crash on malformed template code
- Fix worker process crash regression on C++ rethrow expressions
- Fix enumerator values for enums declared in class templates
- Fixed problems handling overloaded methods with array parameters
- Fixed problems resolving calls to overloaded methods involving a parameter using '@name' for a pointer
- Fixed some problems with overload resolution involving inherited methods
- For Typescript, fixed missing call to parent constructor with use of 'super' inside child constructor
- For Typescript, fixed syntax error on use of a function call as an extends expression
- Incorrect control flow graph when simplify macro expansion is enabled