Understand 8.1 build notes
Build 1268
8.1, Nov 6, 2026New Features
Installer
- Added the understand-cli apt package, offering the Understand command-line tools on their own.
- The Linux .deb package is now published to a signed apt repository on builds.scitools.com.
- Added a .deb package of Understand for Debian and Ubuntu.
Graphs
- Added a "Compare" variant for the File Dependencies graph.
- Added a "Compare" variant to the Architecture graph.
Plugins
- Added a Shared Tasks Lock Order CSV report of lock orders and possible deadlocks.
CodeCheck Checks
- Added FORTRAN_A000: Character dummy arguments shall not be assigned a concatenation that starts with themselves.
API
- Metric plugins can now be aborted using is_aborted().
Metrics
- Added new, changed, and removed comparison count metrics.
- Added the PercentChanged, CountLineNew, CountLineRemoved, and CountLineChanged metrics for architectures and projects.
- Added Metrics > Configure Metrics to open metric settings in the Plugin Manager; double-clicking a metric in the Metrics Browser opens its configuration.
Plugin Manager
- Redesigned the Plugin Manager with a new interface for browsing, filtering, and configuring plugins.
VS Code
- Architectures are now shown, without letting you change them.
- The extension's graphs now match Understand's, with legend, options, node actions, saved graphs, treemap and Compare variants.
Interactive Reports
- Added the "Architecture Metrics CSV" interactive report.
Improvements
Command Line
- Removed und's -commandaddmode option, which made any add it was used with add nothing.
- und add -root now accepts a relative path for a named root, and a database that needs reanalyzing is analyzed after the root is added instead of before.
- und add -root now says why it refuses a root: no value, a value that starts with another root, or an overlap with another root.
AI
- Improved file name handling and searching in the MCP server.
Installer
- The Linux command-line kit now includes Bear.
- The Windows installer now stops the AI server service while updating Understand.
Graphs
- The graph legend's first-run hint now appears the first time you show the legend, not only when a graph opens with it showing.
UI
- The Information Browser's first-run hint now waits until the browser shows an entity instead of appearing over an empty browser.
VS Code
- Metrics are not computed for an entity once the cursor has left it.
- A graph you cancelled now stays cancelled when an analysis ends, until you ask for it again.
- Problems, Violations and References are now faster on large projects.
- High-severity CodeCheck violations now appear as warnings in the Problems panel; only Urgent ones and analysis errors are errors.
- Without GUI Access, the Graphs view now leaves out Understand's plugin graphs.
- Without CodeCheck, violations are now hidden; without Export, metrics are hidden.
- The API Info view now appears only when the license includes the API.
Plugins
- Added a Cost tag to metric plugins to identify metrics that may be slow to compute.
Metrics
- Coverage metrics now read LCOV 2.x function coverage.
- Metrics Export settings are now saved to the session in the GUI, and und takes them from switches on und metrics.
- The "Analysis Errors" and "Analysis Warnings" metrics are now enabled by default.
- Redesigned the Metrics Browser with category grouping, View By options, search, and configurable architecture metrics.
- Built-in metrics are now enabled and disabled through the Plugin Manager instead of project configuration.
- Removed the legacy metrics HTML and architecture metrics CSV exports. Use the interactive Architecture Metrics CSV report instead; project metrics CSV export remains available.
- Added Interactive Reports and Graphical Views shortcuts to the top-level Metrics menu for easier access to metric reports and graphs.
API
- The Git cache (cache("Git")) for a project analyzed at a Git commit now reads history from that commit.
- The Git cache now refreshes after analysis when the repository's HEAD commit has changed.
- A metric plugin script's enabled-by-default setting now applies per metric id.
CodeCheck
- Redesigned the CodeCheck Edit Configuration dialog with a cleaner interface, navigation history, and a dedicated filters page.
Bug Fixes
CodeCheck
- Fixed a deadlock in CodeCheck when a lexer is released.
- Fixed a synced inspection on a UNC share reporting every violation as new and fixed.
Language \- TypeScript
- Fixed a number of syntax errors in valid TypeScript code.
- Fixed analysis hanging on a file that ends with an unclosed parenthesis.
- Fixed type references to names imported from a module that could not be found not being linked to the import.
Language \- JavaScript
- Fixed a number of syntax errors in valid JavaScript code.
Project
- Fixed a machine's internal copy of the watched directory settings overriding the project's.
Omnibar
- Fixed Customize missing from CodeCheck configurations in the Omnibar plugin search.
Plugins
- Fixed the Shared Tasks graph and CSV showing an error when no shared objects are found.
UI
- Fixed a hint being drawn on another monitor for a tab that is not in front.
- Fixed the Entity Filter's first-run hint not appearing; it now shows once the list has entities and the filter is in view.
- Fixed a temporary status bar message being cleared every second before its full time was up.
VS Code
- Fixed a crash when a closed file is opened again and the cursor moves.
- Fixed analysis errors and warnings not being shown when the license does not include CodeCheck.
- Fixed a crash when you move the cursor as an analysis finishes.
- Fixed graph messages showing "&&" in a graph's or variant's name.
- Fixed a start-up crash when the project has a comparison database.
Graphs
- Fixed a potential crash in comparison graphs on analysis.
Editor
- For databases frozen at a git commit, fixed opening editors for files that existed in the commit but have since been removed sometimes opening the wrong file.
Reports
- Fixed a script error in the Outputs Metric report.
Architectures
- Fixed the AI Namespace architecture's entity kinds.
Metrics
- Fixed the DirectFanInNoCache, DirectFanOutNoCache, and VisibleFanOutNoCache metrics to compute the asked-for value.
- Fixed CountDeclModule and CountDeclSubprogram for architectures with directly added modules/subprograms.
- Fixed CountDeclExecutableUnit for architectures to exclude directly added Ada packages without code.
- Fixed CountDeclProgUnits for architectures with directly added program units.
- Fixed CountDeclClass for architectures to count C/C++ structs and unions directly added to the architecture.
Language \- C/C++
- Fixed comment collection in C/C++ when object member creation is enabled.
- Fixed Strict failing to load AST files when using any encoding other than UTF-8.
CodeCheck Checks
- Fixed MISRA12_19.1 flagging memcpy between non-overlapping parts of the same array.
- Fixed MISRA12_17.2 reporting recursion when a function only takes its own address.
- Fixed MISRA08_14-7-1 flagging parameters and local variables of function templates, and reporting them in the wrong file.
- Fixed MISRA12_15.7 flagging else if chains that continue past #if or #endif lines.
- Fixed MISRA12_14.2 flagging a for loop whose body changes the same member of a different object.
- Fixed MISRA12_11.3 missing pointer casts in arguments, initializers and address expressions.
Known Issues
- Fortran: CountDeclSubprogram is always 0 for modules, subroutines, and main programs
- Print preview may not display in the Windows print dialog
- Certain macros aren't being defined when importing VS 2022 SLN and VCXPROJ