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