Build Notes (1209) - 8 Nov 2024
This build is a version point change and thus has quite a few improvements. To take a tour of the new features look at our release announcement here.
CodeCheck
Note: The CodeCheck UI has been completely reworked and improved, please click on the above link for a full breakdown of the new additions
- Add an optional "id" parameter to test_language for python CodeChecks.
 - Add a new Check Compliance report and command line tool for DO-178C Validation
 - Edit configuration dialog updates.
 - Und analyze also runs background CodeChecks.
 
Command Line(Und)
- Updated "und license" to return a message when no valid Und license exists.
 - Treat empty databases like wrong version databases and analyze on open.
 - Add interactive report generation to und.
 - Fixed bug where the wrong Ada standard library directory could be used when analyzing from the command line with und
 
Plugins
- Add the plugins that historically shipped as part of Understand into the plugins repo.
 - Add a new Plugin Manager for choosing plugins
 
Filter
- Add ExternalTypeTables and ExternalVariableTables entity filters for jovial
 
General
- Updated the New Project Wizard to be able to be shrunk down manually to 800 X 600.
 - Purge automatically added include files from a project when the file is deleted on disk
 - Reference columns now start at 1 instead of 0
 - Tabs now count as one column.
 - Update project config visual basic tooltip with correct year.
 - Fix crash on project open when the project overview is on the right/bottom of a split workspace
 - Changed behavior of Project->Analyze-Changed-Files to not warn on missing or too-large files
 
Graphs
- Add edge filters to File Dependencies graph.
 - Add Java reference kinds to Variable Tracker graph.
 - Data Flow In and Data Flow Out graphs relationship graph dialog now accepts functions and objects.
 - Graphs and charts now support the graphviz "tooltip" attribute in the GUI view
 
Info Browser
- Add option to hide AI Overview
 - Add Values field for Jovial items with statusname values
 - Display Components field for tables in Jovial
 - Add AI Annotations Header
 
List Browser (New Feature)
- Add new List Browser feature for working through long lists of references
 
Python API
- Add Python API metric overload that takes a single metric name and returns it's value
 - Don't require a label for Python API graph.node() function.
 - Add codecheck inspections to the API and allow them as targets for reports and graphs.
 
Reports
- Enhance IReports to support graphs, charts, tables, and multiple pages.
 - Add IReport ability to export results in html and PDF
 - IReports can now be run from the command line with the `und reports` command
 
Search
- Allow comma and locale numerical formatting.
 
VS Code Plugin
- Improved references by highlighting them
 - Fix inconsistencies with analysis, CodeCheck, and inactive code
 - Show background CodeCheck inspection status
 
Widgets
- On the global progress bar move progress popup to the right of toolbar icon.
 
Language - C
- Change max nesting calculation for fuzzy C to include try/catch blocks
 
Language - C#
- Added support for C# 12 and expanded use of "using" alias types.
 - Added support for a 'using' declaration statement without a block.
 - Changed graph text ranges to start at column 1 instead of 0.
 - Fixed bug where top level executable code was not able to access entities defined in partial 'Program' class declarations.
 - Added line and column numbers to end nodes in Control Flow graph.
 
Language - C++ (Strict)
- Change max nesting calculation to include try/catch blocks
 - Fixed failure to report some violations found through cross-translation-unit analysis
 - Fix C++ API lexer when associating call references to implicitly defined constructors
 
Language - Fortran
- Fixed bug where references in Entry blocks 'fallen' into from the preceding context were recorded only for the Entry and not for the parent context.
 - Changed tabs in fixed format to count as one column.
 
Language - Jovial
- Fixed parsing error on table body with an unnamed entry and an empty 'BEGIN' 'END' block.
 - Improve jovial entity association in API lexer
 - Add comment collection for Jovial
 
Known Issues
- Incorrect control flow graph when simplify macro expansion is enabled 
 - In Fortran c-style comments (/*...*/) in preprocessor directives can cause incorrect condition evaluation