New Features 

AI

  • Add ability to use 3rd-party services with HTTPS and an API key

  • Add more LLM models to choose from

Annotations

  • Update the Move Annotations dialog to have the initial line set to the current line

Architectures

  • Add Architecture plugins for namespace architectures

CodeCheck

  • Add "Project Dependency Check" tag to dependency checks

Compilers

  • Add support for inline variations in GHS V850 compiler

Graphs

  • Add built-in Assigned To and Assignments graphs for Java and Ada
  • Add IReports "Shared Tasks Graph" and "Shared Tasks Graph AI" that list the nodes and edges in a Shared Tasks Graph
  • Add graph "Data Sequence Diagram" to show data interactions within a function
  • Add graph "Input Output Diagram" to show how a function's inputs affect a function's outputs

Project Browser

  • Now sorts case insensitive for Windows, Mac and Linux

Settings

  • Add a help link for AI Models.

VS Code Extensions

  • Add Metrics view

Language - C/C++

  • Add support for showing c++ function-call operators on the right-click context menu of the object involved in the call

Language - Java

  • Add 'java Assign/Assignby' references

CodeCheck Checks

  • Add check MISRA23_1.5, CPP_DD030: Storage Class Specifiers Not At Beginning
  • Add check MISRA23_22.7, CPP_L042: EOF Macro Misuse
  • Add check MISRA23_22.12, CPP_L043: Thread Data Misuse
  • Add check MISRA23_23.7, CPP_T067: Generic Expression Not Always Evaluated Once
  • Add check MISRA23_22.19, CPP_V040: Mutexes with One Condition Variable
  • Add check MISRA23_10.2.3: The numeric value of an unscoped enumeration with no fixed underlying type shall not be used
  • Add check MISRA23_7.0.6: Assignment between numeric types shall be appropriate
  • Add check MISRA23_22.15: Thread synchronization objects and thread-specific storage pointers shall not be destroyed
  • Add check MISRA23_22.18: Non-recursive mutexes shall not be recursively locked
  • Add check MISRA23_22.3: The same file shall not be open for read and write access at the same time on different streams
  • Add check MISRA23_7.0.2: There shall be no conversion to type bool
  • Added new MISRA23_7.0.4: The operands of bitwise operators shall be appropriate
  • Added new MISRA23_7.0.5: Integral promotion and the usual arithmetic conversions shall not change the signedness or the type category of an operand
  • Add NO-OP checks: MISRA23_0.3.1, MISRA23_0.3.2, MISRA23_18.5.1
  • Add check: MISRA23_4.6.1
  • Add support for Python and Visual Basic in HIS_08, METRIC_08, AC_HIS_08



Bug Fixes

AC_HIS_09

  • Fix for multithreading in HIS_09, AC_HIS_09

Ada

  • Fixed bug where function 'return' statements did not create an 'assign' reference to the function entity.

  • Fixed parser crash on some invalid syntax.

  • Fixed errors where some syntax error messages were duplicated.

CPP_C026

  • Fix script errors in CPP_C026, CPP_C031, CPP_T064, M6-5-3, POWER_OF_TEN_01

CodeCheck

  • Fix M6-4-5, CPP_C033, MISRA04_15.2, MISRA08_6-4-5, MISRA12_16.3, MISRA23_16.3 for throws in macros

  • Fix bug with non-pointers being flagged in MISRA12_DIR_4.8, MISRA23_DIR_4.8, CPP_P001

  • Improve HIS_10, AC_HIS_10 by using the control flow graph API

  • Remove CPP_VF002 which is a duplicate of CPP_V016

  • Fix for CodeCheck web page showing the progress bar/abort button for finished sarif imports.

  • Fix nested switch statement handling for MISRA04_15.2

  • Fix  VHDL_7 to correctly identify multiple drivers across different processes and concurrent statements

  • Fix false positives in EXP33-C by sorting refs in source order

  • Fix false positives with member access operators in MISRA12_18.4

  • Fix for incorrect handling of loop constructs in MISRA08_6-4-5

Virtual Debugger

  • Fix virtual debugger crash

Editor

  • Fix bug where an annotation popup shown from the editor gutter did not accept focus.

  • Fix for editor keybindings with default keybindings not remembering when the keybinding is removed.

General

  • Fix for Dependency Check names not showing correctly in the sidebar and not restoring in background checks

  • Possible fix for hang on project open/analysis when metric browser is open and multiple automatic architectures exist

  • Fix bug introduced in build 1240 where the last analysis time of a project was not recorded properly

Graphs

  • Input Output Diagram update to handle "switch" like "if"

  • Update UML Sequence Diagram and C# call/called-by built-in graphs kindstrings to allow "csharp field" entities to support delegate calls.

  • Fix bug in uml sequence diagram layout where message edges aren't visible unless another edge existed in the opposite direction.

Editor

  • Fix hang on save when the instant search index is locked

MISRA08_2-13-3

  • Fix bug in MISRA23_5.13.4

MISRA12_10.6

  • Fix false positives with some unresolved function calls

MISRA12_11.4

  • Fix false positives with macros in MISRA12_11.4

MISRA12_13.4

  • Fix false positives in MISRA12_13.4 with designated initializers

MISRA12_9.2

  • Fix false positives in MISRA23_9.2 with Array element assignments

MISRA23_14.2

  • Fix false positives in MISRA23_14.2

  • Fix false positives in MISRA23_14.2 due to type entities

  • Fix false positives due to incorrect loop counter handling in the 3rd clause

Search

  • Speed improvement for search results expand all

Settings

  • Improve the time it takes to load, save and cancel the configuration dialog for very large projects

Shared Tasks

  • CSV: remove spaces from separators

  • Fix interactive report options

  • Allow unresolved entities

  • Fix task names in CSV file

  • Remove redundant path with unique instance member functions

Git Authors/History

  • Fix script errors from Git Authors Pie Chart and Git History Pie Chart on projects without Git.

Visibility Matrix

  • Possible fix for Visibility Matrix script error

Language - C++ (Strict)

  • Fix missing "typed" reference to C++17 deduced template argument class template types

  • Remove invalid use reference in for loop increment expression

Language - Fortran

  • Fixed bug where 'multiple modules with same name' warnings were not saved correctly.

  • Fixed duplicated 'missing include file' messages.

Language - Python

  • Fixed bug where some error messages were duplicated.

  • Improved handling of unknown entities.




Known Issues

  • Understand can take up to a minute to launch on Windows
  • Nodelock license fails to validate running API on Rocky 8.10
  • Some macros aren't defined when importing VS 2022 SLN and VCXPROJ
  • MacOS Sonoma and later cannot connect to the Icarus server
  • Print Preview may not function correctly