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