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