VisualStudio Configuration setting – Fixed an issue with the saved configuration not selecting the correct saved configuration setting.
Updated the User Tools menu/toolbar to be disabled when analyzing/resolving in order to avoid database conflict when running scripts.
Fixed an issue with Named Root and Relative Root not renaming files correctly.

PASCAL_PARSER

Fixed some syntax problems with ‘const’ members.

PERL

Update several sample scripts. Thanks Andrzej

PYTHON_PARSER

Rebuild python projects when the ‘Use Installed Python Library Files’ option is changed.
Added ‘implicit import’ for __init__.py file when a package is imported.
Changed handling of unknown variables so that all instances of the same name are merged into a single entity instead of creating a different unknown entity for each referencing file.
Fixed problem where library modules with ‘import __main__’ were causing unresolved entities in some projects.
Fixed bug where using relative paths for project files could result in the creation of a package entity with an empty name.

(Build b709) – 14 Feb 2014

CODECHECK

Updated the CodeCheck Analyze to check for unsaved/modified files before analyzing. This is done with a persistent dialog box.
Checks that test for the number of significant characters now handle Java entities correctly.

CSHARP_PARSER

Add support for Visual Studio 2012/2013 C# project files.

GENERAL

Analysis – Modified Editor Persistent Dialog has been changed to allow users to see files/editors that have been modified but not saved.
Plugin (Drag and Drop) installation dialog modified to show the plugin name when installing.

PYTHON_PARSER

Fix issue with python incremental resolve.
Fixed bug in ‘analyze changed files’ where some files that depended on changed files were not being analyzed.

Find in Files – Updated the File Types combo box to retain the last 5 user defined file types and then add the default common file types below.
Find in Files – Added an option to the dimple to allow the user to clear Results before each search.
Find in Files – Fixed an issue of not excluding file types when searching directory lists.

Added inline freetext for functions declared with the ‘inline’ keyword or defined in the class body.

=======

(Build b723) – 17 May 2014

COMMANDLINE

In und made environment-defined named roots take precedence over Understand.ini-defined named roots. Note that “add -root” still works and will temporarily overwrite a named root for the duration of that instance of und.

Removed warning from und about QObject::connect failure that sometimes occurred during add with named roots.
Fixed regression in project configuration dialogue cancel prompt.
Enabled select all, copy all for understand trees, lists, and tables that didn’t yet support it.

GRAPHS

Changed cluster call graphs to have aggregated edges appear on the edge of clusters instead of a random location inside the cluster.
Restored architecture dependency graph aggregate edges to draw the edges from the edge of a cluster, rather than an arbitrary point within the cluster.
In architecture dependency graphs, changed edges that go to an expanded entity to go to the cluster edge instead of a fake node (with the cluster name) inside of the cluster.
Fixed issue in entity cluster call graphs when collapsing a parent with children that have expanded children.

PROJECT

Fixed regression in saving visual studio sync project settings.
Parselog – Updated the Missing Includes link to be more readable when selected.

SEARCH

Fixed error where incremental find would ignore selected text when enter was pressed.
Entity Locator – Updated to be able to see and filter and correctly sort associated Architectures.

WEB_PARSER

For Javascript, made changes to give full names to properties.

(Build b722) – 12 May 2014

CODECHECK

Updated CodeCheck Checks and Files configuration pages to have a search icon that will activate the search (same as CTRL + F).
Added new MISRA 2008 and All Check scripts

COMMANDLINE

Load named roots from Understand.ini when Und launches.

GENERAL

Window Title & Tab Title & Selector – Fixed the titles to show the correct title for non project files in relative projects and to show the correct long names for project files. These options can be set in Tools->Options->User Interface under ‘Title Formats’.
Possible fix for database error on resolve with the architecture browser open.
Updated the Selector to show the complete file path in the ToolTip.

(Build b722) – 12 May 2014

CODECHECK

Updated CodeCheck Checks and Files configuration pages to have a search icon that will activate the search (same as CTRL + F).
Added new MISRA 2008 and All Check scripts

COMMANDLINE

Load named roots from Understand.ini when Und launches.

GENERAL

Window Title & Tab Title & Selector – Fixed the titles to show the correct title for non project files in relative projects and to show the correct long names for project files. These options can be set in Tools->Options->User Interface under ‘Title Formats’.
Possible fix for database error on resolve with the architecture browser open.
Updated the Selector to show the complete file path in the ToolTip.

(Build b720) – 1 May 2014

API

Fix api lexer when accounting for macro expansion to not add 1 to the lexeme ending column.

FAVORITES

Updated the Text Selection to reflect rich text in the tooltip if available.

Understand editor now supports CRCRLF as a line ending.
Enabled pasting with multiple insertion points with Alt+ column select.

FAVORITES

Updated the Editor tabs to include the “Add to Favorites” in the context menu regardless if is a project file or not.
Added the ability to close all open editor items that are associated with a Favorites group.
Updated to include a “Remove From Favorites” where appropriate. Updated to only show Favorite groups that do not already have the file/entity/architecture (included in this is the remove).
Added an “Add to New Favorites” in the Editor selection. Removed the “Text Selection:” text from the Text Selection Tooltip.
Fixed an issue with Favorites groups not showing in the drop down menus.

GENERAL

Search for Missing Includes – Updated to save\cancel and not return to the Project Configuration.
Fixed clipped text and menu button in the information browser.
Hide the User Tools toolbar when it is empty.
Updated the project Wizard to allow for empty projects (no Directories/Files) when creating new projects.

GRAPHS

Fixed crash in cluster control flow graphs for functions with do-while loops.
Removed text from toolbar, and instead showed entity name as first menu item (italic and disabled).
Added an option under Tools->Options->Graphs to control whether clusters have a background color (fill).
Fix crash on Graphs->Project Graphs menu.

JAVA_PARSER

Added support for some of the new Java 8 syntax.

METRICS

For Java metrics, fixed bug where Unknown Methods were given a RatioCommentToCode metric of 0.

Fixed failure to save main window size and location settings when the application is closed without any project open.
Windows only – Reordered the title bar to reflect the open project first, then the selected editor and then the Understand brand and build number. This allows window users to have multiple instances of Understand open and see each project name in the taskbar easily.
Dependency Browser – Added Expand All and Collapse All to the right click menu.
Fixed auto-complete crash on Windows.
Fixed editor history so that editing definition did not add two results to the editor history when editing the definition involved opening a file.
Fix for issue on windows where some windows disabled the close icon in the upper right corner.
Added the ability to toggle “auto complete enabled” by a key binding.

GRAPHS

Fixed the Visio XML export on cluster graphs to correctly export clusters.
Don’t show unknown or unresolved references in entity cluster graphs (they are the nodes that disappear when double clicked).

LICENSING

LicenseServer Windows tray app – Updated the almhostid command to try to fix an issue where almhostid was not functioning correctly.

PROJECT

Find in Files – Updated the Directory and File search pages to use the currently set directory unless the user specified directory (Tools – Options) is being used.

PYTHON_API

db.archs(ent) will now return automatic architectures (like directory structure) as well as custom ones.

PYTHON_PARSER

Made some improvements for handling overloaded attribute names.

SEARCH

Restored incremental search turning red when the search has no results.

TOOLS

Fixed crash running a Perl user tool without any database open.

(Build b716) – 4 Apr 2014

ANNOTATIONS

Changed Add/Edit Annotations Dialog to automatically create a new annotation and give the text window focus when there are no previous annotations.

CODECHECK

Added new CodeCheck scripts for MISRA 2008, MISRA 2004 and AllCheck.
Checks that looked for Commented Code could fail after the first file.

GENERAL

Edit companion files is only enabled when there are companion files, and opens the companion file for the file of the context menu rather than the active editor file.
Fixed regressions in the license server tray app on Windows.
Companion file list no longer includes object files (.o or .obj).
Save bookmark expansion state in the bookmark window during a database reparse.
Metrics Summary – Fixed an issue where more than two decimal places were showing on the report instead of being truncated.
Updated the Metric Browser, the Metric Summary and the Metric Export to show tooltip description of the metric.

GRAPHS

Control Flow Graphs – Updated to allow users to control the zoom by pressing ctrl+shift and use the mouse wheel.
Added a right-click menu option to change the default for showing node children.
ctrl+alt+click on an entity in a cluster graph will go to the definition of the entity.

INSTALLER

Fix some required files not being shipped in Solaris build kits (introduced in 715).

SEARCH

Find in Files – Added the ability to check/uncheck directories/architectures/files that the user has added instead of only adding or removing them.
The find at the bottom of the editor window now has a most recently used history.

The parameters for a user tool now supports > to separate the parameters from stdin. Text and Macro Expansions following the < sign are sent to stdin before any text from the selection or file.
When running a user tool that uses $PromptForPassword, the password is now replaced with *s in the window title and status bar of the command window.
Fixed issue where dragging motion in user tools configuration overwrote tool information.

WEB_PARSER

Fixed syntax error on tag names with ‘.’ characters.

(Build b715) – 28 Mar 2014

ANNOTATIONS

Added an accelerator key for Add/Edit annotations dialog box on the save button.

BUILDSPY

Updated to remove licensing.
Hopefully a fix for buildspy when compiler commands are really really long. Information is now sent from the wrapprs to buildspy in increments.

CODECHECK

Update “Macro Not Within Block” check and “#undef Not Used”.
Added several Perl scripts to MISRA 2008, MISRA 2004 and Allchecks.
Scripts that check for external objects being declared once are now faster and only check the selected files.
Add option to ignore violations in inactive code to the “avoid #undef” CodeCheck check.

COMMANDLINE

Und now processes wildcards before processing any commands, so wildcards work anywhere a list of files appears. Wildcards like */*.cpp also work now.
Und now allows any override file setting to take multiple files. The format for multiple files is the override command, the list of files, ==, and then the value(s) for the override. The value(s) are then applied to every file.
Und now maintains contact with the license server.
Und prints out the file path of the json database and the number of files added from that database when adding a cmake json database.
Und now accepts -cc and -cxx to specify the compilers on an add build log command.

GENERAL

Gave the python api access to named roots so asking for a lexer from a file with a named root works.
The Editor History tracks each file that becomes active, so drag and drop files and recapturing windows are picked up by the file history.
Changed editor history to only compare the file range if both file ranges are for the same file.
Compare – Updated the Compare features to allow users to set left/right Text/Files/Entities as well as initiate the compare from the right click context menu and bind application shortcuts to each of these actions.

GRAPHS

Fix possible crash when filtering graphs by DefinitionFile.

PYTHON_PARSER

Fixed problem where library modules with ‘import __main__’ were causing unresolved entities in some projects.

REPORTS

Removed Javascript property getter and setter methods from the Unused Program Units report.
Add support for named-roots files in uperl lexer calls.

STRICT_PARSER

Fixed option to control creating references in inactive code.

UPERL

Added nextUseful and prevUseful to Perl API.

USERTOOLS

Added a $PromptForPassword option to user tools that is exactly the same as a $PromptForText except the characters are hidden as you type.

WEB_PARSER

Fixed bug where some references to function properties created separate property entities.
Fixed bug where a function call using .call or .apply created both a use reference and a call reference to the function.
Made a ‘call ptr’ reference to functions referenced with ‘.bind’.

(Build b714) – 23 Mar 2014

BUILDSPY

Buildspy supports -cc and -cxx command line arguments that determine which compilers gccwrapper and g++wrapper call respectively. These command line arguments will override the configuration file if they are present.
Buildspy can be run incrementally, updating only the files it is run on (rather than requiring a clean build).

COMMANDLINE

Und now gives error messages if you type gibberish in interactive mode, or attempt a command that requires a database without having given one.
Named roots stay as named roots after an analyze -rescan.

GENERAL

Added the ability for users to clear the Recent Files, Recent Projects, IB History and the Editor History.
Tools->Options->User Interface->Windows – Added the ability for users to specify how many Find in Files ‘Find’ items are listed in the drop down.

C# References – Fixed an issue where users could inadvertently add a space before or after a value/reference pair that would cause an issue in parsing.
Fixed bug where trailing spaces on reference file names caused ‘unable to open dll file’ errors on linux systems.

CODECHECK

Added additional MISRA C/C++ checks.

GENERAL

Configure Metric Charts – Fixed an issue where occasionally a leftover indexing file (.sql) from Configure Metric Charts would not be deleted.
Editor TabBar – Fixed an issue where after starting a new project the tab would be hidden.
Fixed an issue to only notify the user when favorites have changed and the database is locked when exiting (instead of always when the database is locked).

PYTHONAPI

Fixed version function.

PYTHON_PARSER

Made change to speed up processing on refresh parse. Standard files already in database are no longer written to database during refresh.

VisualStudio Configuration setting – Fixed an issue with the saved configuration not selecting the correct saved configuration setting.
Updated the User Tools menu/toolbar to be disabled when analyzing/resolving in order to avoid database conflict when running scripts.
Fixed an issue with Named Root and Relative Root not renaming files correctly.

PASCAL_PARSER

Fixed some syntax problems with ‘const’ members.

PERL

Update several sample scripts. Thanks Andrzej

PYTHON_PARSER

Rebuild python projects when the ‘Use Installed Python Library Files’ option is changed.
Added ‘implicit import’ for __init__.py file when a package is imported.
Changed handling of unknown variables so that all instances of the same name are merged into a single entity instead of creating a different unknown entity for each referencing file.
Fixed problem where library modules with ‘import __main__’ were causing unresolved entities in some projects.
Fixed bug where using relative paths for project files could result in the creation of a package entity with an empty name.

(Build b709) – 14 Feb 2014

CODECHECK

Updated the CodeCheck Analyze to check for unsaved/modified files before analyzing. This is done with a persistent dialog box.
Checks that test for the number of significant characters now handle Java entities correctly.

CSHARP_PARSER

Add support for Visual Studio 2012/2013 C# project files.

GENERAL

Analysis – Modified Editor Persistent Dialog has been changed to allow users to see files/editors that have been modified but not saved.
Plugin (Drag and Drop) installation dialog modified to show the plugin name when installing.

PYTHON_PARSER

Fix issue with python incremental resolve.
Fixed bug in ‘analyze changed files’ where some files that depended on changed files were not being analyzed.

Find in Files – Updated the File Types combo box to retain the last 5 user defined file types and then add the default common file types below.
Find in Files – Added an option to the dimple to allow the user to clear Results before each search.
Find in Files – Fixed an issue of not excluding file types when searching directory lists.

Added inline freetext for functions declared with the ‘inline’ keyword or defined in the class body.

>>>>>>> 5b00ccaa355b9889ee8bd23956d2e3a19a740454

(Build b706) – 27 Jan 2014

STRICT_PARSER

Fixed worker process crash introduced in build 705.

(Build b705) – 24 Jan 2014

FORTRAN_PARSER

Fixed bug where line counts were incorrect when whole subroutines were included into modules.
Fixed syntax error in some fixed format declaration statements that use ‘;’ to separate statements on the same line.

For Php, fixed bug where references to $this followed by a property name were not linked exclusively to the enclosing class’s property and so could be combined with other properties with the same name in other classes.
For php, fixed bug where control flow graph text was incorrect for lines containing tab characters.

Fixed resolve of members declared in Objective-C anonymous categories.

(Build b704) – 17 Jan 2014

COBOL_PARSER

Added more complete support for Unisys COBOL.

CODECHECK

Added an Expand All and Collapse All to the File/Violation Results page.
Allow #pragma once and !defined when checking for #ifndef wrappers. Thanks Andrzej

EDITOR

Fixed auto-indent bug for braces following a C++ comment.

FORTRAN_PARSER

Fixed possible crash when subroutines were included into the body of a module.
Fixed regression problems in include file processing introduced in build 698.

GENERAL

Remember a different file open/save dialog initial location for each project instead of a single global setting.
Selector Window – Fixed a bug where the selector list was not updating the italics correctly with the release/capture of certain windows.

INFOBROWSER

Fixed an issue where Scientific Notation was being displayed instead of the raw number.

METRICS

Fixed the sorting issue in both the Metric Browser and HTML export. Also removed the variables from showing.

SEARCH

Find/Replace in Files – Updated the file/directory/architecture add and remove scheme to include an edit button (previously edit and add were combined and caused confusion).

(Build b703) – 10 Jan 2014

COBOL_PARSER

Added basic support for Unisys COBOL. Fixed fixed-format bug related to multi-byte character literals. Fixed fixed-format bug related to dot in the last column followed by a digit.

CODECHECK

Don’t check for uninitialized variables in unions

GENERAL

New Project Wizard- Fixed the combo directory box to use the “Default Working Directory” if activated in Tools->Options.
New Project Wizard – Fixed an issue where the language filters on adding a new directory were not updating correctly.

Find in Files – Replace preview – Updated the buttons so that the Key Bindings will show in the tooltip. I also added keybindings for the Previous and Next buttons.

WEB_PARSER

For Javascript, fixed syntax error on ‘const’ declarations.
For Javascript, fixed crash on some code that used the ‘prototype’ property.
For Javascript, added Call Ptr reference kind to identify uses of functions passed as parameters or set to a variable for later call.
For Javascript, added ‘call’ relations for functions called as part of their declarations and ‘call ptr’ relations for anonymous functions passed as parameters.

(Build b702) – 5 Jan 2014

GENERAL

Fixed broken default save shortcut.

(Build b701) – 3 Jan 2014

CODECHECK

Added a summary report to Results By Check.

GENERAL

Fixed an issue where if the “Use Default Working Directory” is set, Project Open didn’t use it correctly.

INFOBROWSER

References Line Code Snippets Tooltip – Added a highlight color to show the user the selected entity in the code snippet.
Reference ToolTip Color picker added for Information Browser.

(Build b700) – 30 Dec 2013

GENERAL

Japanese Build

(Build b699) – 27 Dec 2013

CODECHECK

Don’t check for uninitialized variables in struct definitions.

FUZZY_PARSER

Show ‘;’ node in control flow graph for fuzzy c++ parser for empty-body while statements.
Fix missing fall-through cases in control flow graph for fuzzy c++ parser.

GENERAL

Fixed scope list toolbar in split editor views.

GRAPH

Fix File Volume graph not showing anything for languages other than C/C++.

(Build b698) – 23 Dec 2013

FORTRAN_PARSER

Fixed problems with include file parsing that resulted in unknown entities being created. Also, fixed a possible parser crash.
Fixed bug where invalid dependencies were shown between some modules.
Fixed bug where the use of the same intrinsic module in more than one source file caused dependencies to be shown between the files in the dependency graph.

FUZZY_PARSER

Fix missing leading ‘(‘ in do-while nodes in Control Flow graph for fuzzy c++ parser.

GENERAL

Fixed issue with some key bindings including the Shift modifier.
Added the option “Code Snippet ToolTip in References” to Tools-> which allows users to turn off the code snippet tooltip that appears when hovering over the line number.

GRAPH

Edit Display text for Control Flow graph.

PYTHON_PARSER

Fixed parser hang when a project with relative source files had a __init__.py package indicator file at the top level.

(Build b697) – 12 Dec 2013

API

Fixed failure to generate JPEG images from the Python API.
Update c_functioncompare.pl to use the current version of und.

GRAPH

Add try/catch nodes to flowchart graph for fuzzy c++ parser.

INFOBROWSER

Added hover text (code snippet) to the IB Line Number.

(Build b696) – 5 Dec 2013

ADA_PARSER

Fixed bug where incomplete types in the private parts of package specs were not merged with the full type declarations in the package bodies.
Show With references from all nested subunits in ada With graphs and declaration graphs.
Show With references from all nested subunits in ada IB With field

ANNOTATIONS

Include timestamp in annotation search results.
Added context menu actions and shortcuts to expand/collapse all items in annotations search results.

Project Metric Charts – Fixed an issue where the Average Complexity metric always displayed 0 in the table tab.
Metric Browser – Entity Kinds have been removed from the summary in the Project Metrics Browser.
Fixed crash opening out-of-date projects from the scheduled activities list.
Fixed an issue where double clicking the first line of the command window causes Understand to hang.
Fixed error saving printer margins.

GRAPHS

Fix failure on layout of extremely large graphs.
Fixed duplication of for-init-statement passive nodes in Control Flow Graphs generated by fuzzy c++ parser.

Fixed bug where an invalid dependency was shown in the depedency graph between two files that both had exception handling code for ‘others’.
Fixed problem with slow dependency graph generation on large projects.

API

Fix control flow parameters.

BOOKMARKS

Fixed an issue where bookmarks were disappearing when external file modifications were happening.
Added the ability to copy the bookmark text to the clipboard on a doubleclick.

EDITOR

Fixed semantic highlight issues with case-insensitive languages.

GRAPHS

Add support for Python classes to UML Class Diagram.

METRICS

For C#, Fortran, Java, Jovial, and Python, changed the calculation of average metrics for files during parse to round the result to a whole number instead of truncating digits after the decimal point.

STRICT_PARSER

Fixed issues with header file analysis on Windows.

(Build b694) – 15 Nov 2013

ADA_PARSER

Changed relation kind for use of a subprogram as a parameter for a generic instantiation from ‘ref’ to ‘access call’. These references will now show up with ‘Calls’ and ‘Called by’ in the Information Browser and graphs.
Fixed a parser crash on invalid code referencing a package rename before the rename definition.

CODECHECK

Correct Max Nesting and Function Length Metric code checks.

EDITOR

Added support for back/forward mouse buttons.

GENERAL

Fixed an issue where the Architecture Browser – Entity/file “Browse Metrics” did not select the correct Architecture/File in the Metric Browser.
Sort bookmarks first in numeric file order, and then within file by line number.

JAVA_PARSER

Fixed bug where overriding methods defined in anonymous classes associated with enumeration literals were being combined into a single method.
Fixed bug where calls to overloaded routines in generic instantiations were not resolved correctly.

TOOLS

Understand : User Tools – Fixed an issue where the “Understand perl script” would be disabled and not be able to be unchecked.

UPERL

Add uperl->draw() method for project graphs.

(Build b693) – 8 Nov 2013

ADA_PARSER

Fixed bug where the control flow graph for a subunit could be empty.

EDITOR

Added option to show editor tooltip numbers as binary or hexadecimal.

FORTRAN_PARSER

Fixed a possible parser crash.

GRAPHS

Fix backslashes not being shown in butterfly graph.
Load Saved Dependency Graph – Added additional functionality to be able to open the Cluster Call graphs (Call, Callby, Butterfly, Internal).

JAVA_PARSER

Fixed a couple of problems with generic instantiations that resulted in the creation of ‘unknown’ methods.
Fixed error in generic instantations that caused some invalid ‘missing type’ warnings.

METRICS

Fixed the “Configure Metric Charts” to allow proper display of graphs when changing the number of displayed items or the next page of items.

Fixed possible crash during restoration of fold state after file reload.
Fixed regression in automatic reload of externally modified documents.

FAVORITES

Fixed an issue with Header and Text Items not editing properly.

FUZZY_PARSER

Support simple wildcards in C++ (fuzzy parser) Ignore Includes list.

GENERAL

Project Configuration – Fixed an issue where an extra string is added when editing ignore include file in the C++ ignore includes.
Fixed an issue with released windows not passing “Edit Source” and “Edit Declaration” Shortcuts.

INFOBROWSER

Fixed possible crash during analysis.

JAVA_PARSER

Made changes to better handle generic instantiations.

REPORTS

Fixed an issue with single page reports not using a correct link on the entity level.

(Build b691) – 26 Oct 2013

CODECHECK

Change the variable name codecheck to not treat static variables as global.
Modify Magic Numbers check to handle enumarator re-declarations.

COMPILERS

Add support for MPLAB XC8 and MPLAB XC16 compilers.

EDITOR

Fixed issue with the new unified external modification dialog popping up in the difference tool.
Added option to print short format date in printouts.

GENERAL

Fixed issue with printing to paper sizes in imperial units (e.g. US Letter, US Legal) on Mac.
Fixed several issues with Mac OS X 10.9 (Mavericks).
Exploring calls/callbys display. Added an options for showing the full entity name and associated parameters in the Entity Explore display. These options are accessed by the right corner dimple.
Fixed issue with backward and forward history shortcuts being reversed.

GRAPHS

Fixed an issue with occasional mis-aligned text on various text boxes.

Fixed regression in restoring split workspace state.
Fixed terminology “Sort by File” to “Sort by Line Number” in the Scope List.

JAVA_PARSER

Fixed bug with JNI C linkage where method names with ‘_’ were not linking correctly.
Fixed bug where references to nested classes and enum types were sometimes not recognized.

PYTHON_PARSER

Fixed bug where ‘analyze changed files’ could miss some files dependent on modified files.
Fixed problems handling an ‘import package’ followed by a ‘from package import…’ for the same package in the same scope.

(Build b688) – 8 Oct 2013

C/C++_PARSER

Fixed an issue for case sensitive includes on case-insensitive file systems.

DIFFVIEW

Combined the editor prompt to reload externally modified files into a single dialog that lists all modified files instead of individual dialogs for each file. Individual warning dialogs are still shown for each editor with unsaved changes.

EDITOR

Added replacement count status text to find & replace dialog.

FORTRAN_PARSER

Fixed syntax error in free format files when named parameter association was used for ‘size’ in an ‘inquire’ statement.
Added the “Depends on” and “Depended On By” Graphs to Fortran Modules.
Added “View Dependencies” to Fortran Modules.

MSVC

VS2008_C#, Fix MSVC 2010/2012 processing to support simple ExcludedFromBuild conditions of the form ‘$(Configuration)|$(Platform)’==’x’ or ‘$(Platform)’==’x’
Fixed MSVC 2002/2003 processing to allow ‘.’ include directory paths.

PYTHON_PARSER

Added new ‘import from’ and ‘import implicit’ kinds to distinguish between differnt types of imports.
Fixed bug where import * from a package did not import the files named in the __all__ assignment in __init__.py.
Add Imports and Imported By IB fields for Python.
Added missing built-in module ‘builtins.py’ for Python 3.
Added ‘unknown package’ kind.

SCOPELIST

Fixed regression in updating floating scope list.

(Build b687) – 27 Sep 2013

C#_PARSER

Fix C# Information Browser so that generic formal parameters are not shown mixed with method parameters but in their own new field
Fixed problem where references to instantiated methods were sometimes shown as references to unresolved methods.

GENERAL

Fixed selection and scroll position of cloned windows to match the original.
Update all help documentation to reflect the latest version.

PROJECT

Fixed an issue with the Project Browser moving to the last selected directory/file after receiving focus back from another application.

PYTHON_PARSER

Fixed a parser crash parsing some ‘from .. import …’ statements.

REPORTS

For Ada, made change to include subroutines defined in generic packages in the Unused Program Unit Report if there are no calls to the routine through any of the instantiations.

WEB_PARSER

For Javascript, fixed bug in JQuery mode where a reference to the wrong selector was sometimes created.

(Build b686) – 21 Sep 2013

ADA_PARSER

Fixed bug where parameters were duplicated in the Information Browser for some subroutines.

API

Fix api lexers in macro expand mode so that all lexemes derived from a macro expansion have begin and end values that correspond to the original begin and end values of the unexpanded macro.
Add Gui::tab_width() perl api call to get the tab width setting of the current editor file.

Fixed parser hang with fortran 77 non-standard ‘interface to’ statements that included a ‘*4’ with the return type.
Highlight fortran ! as a continuation character when in the continuation column.

GENERAL

Added editor tab width status widget. Click to set a different tab width for the current file. The setting is sticky for project files.
Added context menu for current scope entity to the scope popup menu.

GRAPHS

Make the random colors for the butterfly graph less random and more visible.

INFOBROWSER

Fixed possible crash on info browser navigation during resolve.
Fix jQuery Selector Uses IB so that full reference mode displays all references not just unique references.

Dependency Graphs – Fixed an issue of not hiding all the unhighlighted edges when “Hide Nodes With No Highlighted Edges” was also checked.

INFOBROWSER

Copy operation on individual infobrowser lines to exclude leading field titles, so fields like Fullname copies only the entity fullname.

STRICT_PARSER

Disable the invalid token paste error on Windows targets.

WEB_PARSER

For Javascript node.js processing, fixed bug where a reference to a property named ‘require’ was treated as a node.js require statement.
For Javascript, made changes to better handle processing of code using JQuery.

For Javascript, made changes to better handle server-side node.js processing.

(Build b682) – 31 Aug 2013

CODECHECK

Fixed crash on right-click on codecheck results non-leaf nodes.

EDITOR

Fixed issues with light-on-dark color schemes.

PYTHON_PARSER

Added some additional statements to the beta control flow graph and fixed a bug where terminating newline characters were included in statement text.

VHDL_PARSER

Added strict cyclomatic complexity metric.

WEB_PARSER

For Javascript, fixed bug in beta control flow graph where no text was included in graph for the last statement in a block embedded in html if the statement terminated without a semicolon.

(Build b681) – 22 Aug 2013

C#_PARSER

Fixed bug in some instances of overload resolution involving implicit conversions between primitive types.
Added warnings for overloads in same context that have the same signature.
Made changes to improve invocation information when types used in overload resolution are missing.

GENERAL

Fixed regression in perl $ent->longname API.

GRAPHS

Dependency Graphs – The edges now have hover text that tells users which two nodes the edge connects. There is an option in Tools : Options : Graphs that allow users to turn on “Highlight edges on Hover”.

Added an application shortcut that allows the user to clear the Locator Entity Filter. Added the functionality to automatically sync the IB when only one row remains in the Locator table while filtering.

METRICS

For C#, fixed bug where const member fields were counted as ‘instance’ fields instead of ‘class’ fields.

PARSER

Improve speed of c++ lazy include lookup option.

PROJECT

Fixed an issue in Linux when exporting Dependencies and not quoting the commas in filenames/Classes/Architectures.

(Build b675) – 13 Jul 2013

C/C++_PARSER

Write use and modify refs for variables modified in a use context, in fuzzy c++ parser
Fix possible crash when using c++ lazy include lookup
Fix potential crash in fuzzy c parser if project contains the same source file twice

CODECHECK

Object at block scope check will not return a false positive if the object is defined in a nested block in the function.

GENERAL

Selector and Navigator have been updated to show which windows are released windows. This is shown by italics and underlining.
Added an “Add a directory to project” for removed directories.

Added the ability to export the selected checks in a human readable format. Und codecheck -exportchecks dir\file.txt
Update Unreachable Code check to use the new control flow graph. It should run much faster and be more robust now.

For c# and java, made additional changes to improve control flow graph for breaks, returns, and gotos inside of try/catch/finally blocks.

FORTRAN_PARSER

For Fortran/C++ linkage, fixed bug where subroutines defined with ‘interface to….’ in a Fortran include file were not linked to the corresponding c function.

GRAPHS

Fixed layout of some graph nodes containing multibyte characters.
Add support for displaying virtual callbys in the butterfly graph

JAVA_PARSER

For c# and java, made additional changes to improve control flow graph for breaks, returns, and gotos inside of try/catch/finally blocks.

METRICS

Fix crash in Project Code Volume Metric when no data is available.

PASCAL_PARSER

Fixed bug in beta control flow graph where member name was sometimes omitted.

STRICT_PARSER

Fixed source location of references created in an #include file in the middle of a declaration.
Restore diagnostic messages in non-project headers the first time they’re included.

(Build b666) – 24 May 2013

API

Mark functions with c linkage in the api using freetext Linkage

C#_PARSER

For C# control flow graph, made changes to connect ‘return’ inside try/catch/finally block to the finally node instead of the end routine.

FORTRAN_PARSER

Added new ‘variable component’ kind.

GRAPHS

Add support for multiple node selection and path highlighting in graphs that currently support single selection.
Added option to close unselected nodes in tree graphs that support opening and closing branches.
Added comment option to beta flowchart.

Added a new kind ‘Fortran Local Variable’ for variables defined in subroutines and functions.
Fixed bug where a syntax error was generated for an empty source file.
Fixed bug (introduced in build 663) parsing DATA statements with impilied-do lists.

STRICT_PARSER

Revert “For the strict analyzer, show all messages for all header files encountered during analysis.”
Fixed possible hang.

(Build b664) – 10 May 2013

API

For Api Lexers for Ada, c#, Java, Pascal, and Python made changes to handle multi-byte characters in identifiers.

PARSER

For VHDL, fixed block and literal resolve issues.
For Pascal, made change to handle full width space character.
For VHDL, added missing dependency tracking.
For C#, added local variable declarations to new control flow graph.
For Java, fixed possible crash.
For VHDL, added subtype relation between array types and their element type.
For Ada, fixed syntax error for some multi-byte characters in identifiers.
For Java, added local variable declarations to new control flow graph.

(Build b663) – 3 May 2013

CODECHECK

Change Codecheck checks that look for a single point of exit in a function to ignore constructors and destructors

Silently handle some read/write db errors
For Fortran, Made changes to handle ‘data’ statement syntax variation ‘data (name=expr)’.
For Fortran, Fixed sporadic syntax error for ‘invalid base’ in fixed format files.
For Cobol, Added missing references for some entities used in copybooks.
For the strict C/C++ analyzer, show all messages for all header files encountered during analysis.
For Java, fixed bug where an annotation in a for loop variable declaration caused a syntax error.

PROJECT

Fixed recent bug where report filenames are not automatically filled in for new projects.
Fixed non-project files sometimes being counted in the parse log analysis counts.

REPORTS

For Ada, removed enumeration types from Unused Type report when any of the enumeration literals were referenced.

UPERL

Fixed COBOL language name in Perl API.

(Build b662) – 29 Apr 2013

PARSER

For Ada, fixed random parser crash.
For Strict C/C++, Fixed hang and performance regressions present in builds 660 and 661 on Windows.
For Fuzzy C/C++, Change algorithm for determination of deref references to be simpler and more consistent
For Pascal, fixed several problems where ‘unknown’ entities were created instead of references to existing entities.

(Build b661) – 24 Apr 2013

PARSER

For C#, fixed syntax error on multi-byte characters used in identifiers.
For Pascal, added path count and essential complexity metrics.
For Pascal, fixed bug where ‘with’ statement didn’t bring components into context for some prefix kinds. This resulted in ‘unknown’ entities being created for referenced components.
For strict analyzer, fixed deref use references to records accessed by -> operator.
For strict analyzer, fixed reference kind for dereference after modify.
For strict analyzer, write references in enum initializers.

PROJECT

Don’t start new projects with the default file add-mode as ‘named-roots’.
Fixed crash when clicking on the ‘Project Browser’ plus button without any active project.

VISUAL STUDIO

Add support for Import function and SolutionDir property in MSVC 2010/2012 project files.

For C/C++, Added option to prompt for missing include files from the strict analyzer.
Fixed regressions in creating and opening databases with localized names.
For Ada, fixed a possible crash in parsing.

REPORTS

Fixed regression in saving the modified time of files with localized names.

For Fortran, fixed invalid syntax error in ‘interface to … function’ statements in fixed format source files.
For Fortran, fixed bug where some syntax error messages gave the wrong token text when the token triggering the error was a keyword from a fixed format source file.
For Strict Analyzer, Added references to template parameter dependent entities for each function instantiation in the strict analyzer.
Handle associated “before” comments for c++ template functions better
For c#, fixed invalid syntax errors for fixed byte array declarations, nullable types used with the ‘is’ operator, and type argument lists used with qualified names in base type names.
For Fortran, fixed a problem where the source version of a forced free format file was set to f90, even if the project languare version was f95 or f2003.
For C++, fixed bug where the user request to stop prompting for missing includes during parse was ignored
Fixed occassional hang when initiating a reparse before the previous reparse is complete
For Fortran, fixed bug in fixed format files where some exit statements caused syntax errors in F90+ code.

PROJECT

Fixed bug in determining file type when file has an unknown extension
Fixed issues removing files from watched directories from the Project Browser.

VS2003

Fixed error in processing MSVC 2010/2012 projects with ‘.’ in include paths

(Build b658) – 5 Apr 2013

EDITOR

Added a more informative error message for failue to Copy/Cut because the Windows clipboard is already open in another application. Fixed issue with the Cut command removing text from the document even if the clipboard access failed.

GENERAL

Fixed unused entity highlighting false positives.
Fixed possible crash at the end of analysis.
Ensure that the ‘Tools->Options…’ action raises the settings window when hidden behind the main window.
Tools->Options, Fixed so the scrollbars act properly (are removed when not needed, don’t scroll too far, etc..).

PARSER

For Ada, fixed parser crash on linux.
For Strict, Fixed analyzer include lookup in relative and named root projects.

Added option to hide analysis log during analysis.
Fixed issue with analysis log remembering if it was drawered.
Fixed bug handling file type determination of files without an extension but with a ‘.’ in a directory name

Released Windows: Fixed an issue where the corner dimple would not appear on released editor windows.
Project – Config Project – Files directory tree: Fixed the bug where multiple files/directories could be right clicked and have the context menu to remove all selected enabled (this is now disabled).

Added Macros Used field in the Information Browser for c++ functions (fuzzy parser only).

METRICS

Fixed problem where MaxEssentialKnot count was larger than it should have been because ‘boundary knots’ after graph reduction were double counted.

PARSER

Fixed essential complexity calculation in the strict analyzer for switch statements with fall-through case labels.
For Cobol, Fixed resolve issue for COBOL paragraphs defined in copybooks.
Fixed crash on invalid goto statement in strict analyzer.
For Ada, fixed bug where subunits of child packages were sometimes not linked to the spec and stub declarations.
Add support for Understand Project (.udb) files larger than 2Gb.
For c#, fixed bug where overload resolution failed when a call to an overloaded method had a parameter expression with a boolean comparison operator, or a dot reference to an enumeration literal.

PERL

Added a -perarch option that will report changes by architecture to the _delta.pl script.

Find in Files: Added the ability for the user to customize the highlight color for the code snippets (Tools – Options – User Interface – Windows – Find in Files Result Window – Highlight Color).
Manage Architectures: Fixed the ‘Import Architecture from XML’ to disregard any beginning whitespace for filenames.
Dependency Browser: Added Dependency Setting that allows the user to pre expand the information. This is turned on by default and accessed through the Dependency Browser Dimple and the Tools – Options – Dependency Settings page.
Fixed issues in the python module when used with the PySide bindings to Qt.
Fixed intermittent failure to populate the project browser after analysis.

Prevent floating dock windows from going under the menu bar on Mac.
Action – ‘Close’ the active document: If Windows Selector is the active window, the ‘Close’ shortcut will trigger the Selector action ‘Close Selected Windows’ instead.
Added support for interpreting form feed as a page break when printing.
Fixed possible crash or other issues during printing on Mac.
Window Selected. Two application actions (one to remove all selected, one to remove all unselected) were added for the Window Selector. They do not have default keybindings but the user can specify what they want them to be in Tools – Options – Key bindings and searching for ‘Selector’.
Window – Predefined Windows Layouts: changed the functionality of the menu to allow users to reselect the current layout. I.E. If ‘Classic’ is already selected and the user moves the IB then wants it back to the default, the user can reselect ‘Classic’ to restore the default instead of needing to select a different layout first and then ‘Classic’ again.
After a project rescan new files, the file list that is presented for Added and Removed files are now sorted alphabetically.
Window – ‘Close All Document Windows’ global key-binding now works correctly. The Understand – Selector shortcut keys have been added.

For Ada, fixed bug in knot count metric where an extra knot was counted when ‘raise’ statements appeared inside exceptions.
For Pascal, added CountDeclClass metric for files.
Fixed crash during analysis of PL/M files.

REPORTS

Virtual functions shouldn’t be reported in the “Unused Variables and Parameters” Report.

Fixed issue on Linux with focus-follows-mouse enabled. The understand window would raise even when auto-raise was disabled.
Recover from loss of network-mounted database
Fixed performance regression when right-clicking on non-entities in large files.

GRAPHS

Avoid crash when internal upl-based graphs fail

INFOBROWSER

Fixed possible crash when viewing the information browser for members of anonymous records.

PARSER

For Python, added package names to entity full names.
For Fortran, fixed a couple of problems with macro expansions
For Fortran, fixed bug where using ‘&&’ operator in preprocessor statements in free format files caused syntax errors.

(Build b651) – 15 Feb 2013

GENERAL

Predefined Windows Layouts: Fixed an issue with the project browser being blank after a windows layout change.
Change Copyright date to 2013

INFOBROWSER

Added Package and Contains fields to python IB.

PARSER

For Fuzzy C++ Parser, Fix references to constructor calls namespace-qualified identifiers
For Python, fixed bug where paramters of lambda functions were added to the parameter list for the enclosing function.
For Python, added CountLineCodeExe and CountLineCodeDecl metrics. Fixed bug where CountLineCode was sometimes incorrect.
For Python, added ‘contain’ link from package to each file in the package directory.
For Fuzzy C++ Parser, Create implicit destructor calls after explicit constructor calls

PROJECT

Prevent non-released languages from appearing in the public api
Fixed issue related to contextual information view not updating correctly after project open.
Contextual Information Sidebar: Fixed issue where CIS does not initially update.

For C++, Improve c++ fuzzy parser handling of relational expressions within template arguments
For Python, fixed bug where a ‘from <package_name> import <module_name> as <local_name>’ import statement did not work correctly if the package name and the local name were the same.
For COBOL, Added more intelligent automatic detection of COBOL copybook files. These should no longer produce spurious errors when added to the project.
Added option to set the MSC version for the strict analyzer.
For VHDL, Fixed a major regression in VHDL entity resolve. This was causing lots of entities to show up as unknown, among other things.
For COBOL, Changed the scope of COBOL ‘Call’ references in copybooks from the copybook file to the enclosing program.
For Java, fixed crash in parsing some dotted name expressions.

Support /D and /I in addition to -D and -I in CMake JSON compile command import.

GENERAL

Project Configure – Fixed a cosmetic bug – Only show the Project name once in the configuration dialog title.
Fixed possible crash after analysis when the contextual information sidebar is enabled.
Updating Contextual Information Sidebar from External Editor.

Fix Control Flow Graph and Unreachable Code to correctly handle nested procedures with no body after them.

(Build b647) – 11 Jan 2013

CODECHECK

Fixed overlapping text in the results tree views.

PARSER

For Ada, added parsing of Gnat Gpr project files.
Do not allow c++ members to be linked with other languages
Added ‘Unknown Copybook File’ entities and ‘Copy’ references for missing COBOL copybook files.

(Build b646) – 3 Jan 2013

PARSER

For C#, Fixed syntax error on a query expression with a keyword typed variable declaration.
For C#, Fixed a couple of parser memory leaks.
For C#, Fixed syntax error on indexer declaration that gives an implemented interface name.
For C#, Fixed syntax error on an implicitly typed array creation expression followed by a method call.

(Build b645) – 21 Dec 2012

EDITOR

Fixed some stray inactive and dead code line markers sometimes left behind after deleting code.

GENERAL

Fixed possible crash when editing some CMake files.
Fixed possible crash during scheduled project analysis.
Fixed intermittent crash on database open when prompted to reanalyze because of a version change.

Fixed regression in creating annotated source files for reports for some languages.
Fixed an additional regression in source file annotation for reports for some languages when using a relative or named root project.

(Build b644) – 14 Dec 2012

GENERAL

Fixed possible crash in the Annotate context menu.
Fixed deadlock when choosing the ‘Stop’ option in the analysis abort dialog.
Fixed crash when opening an existing instance of understand from the command line.

PARSER

For Ada, fixed bug where an external variable (defined with an import pragma) that was referenced in another ada file but never defined in another language was not identified as ‘unresolved’.
For Fortran, added CountInput and CountOutput metrics.
For c#, made change to count the initialization and increment expressions in for statments as statements.
Fix slowdown recently introduced when reparsing java projects
For Java, made change to count the initialization and increment expressions in for statments as statements.

PERL

Improve how statement metrics are calculated in the _delta.pl sample script

UPYTHON

Added the ability to export .dot files via the api. Note that this will also create a .svg file as well.

Fixed crash on right-click on unknown/unresolved entity in some graphs.

PARSER

C++, Fix crash in parsing certain constant expressions
Add support for COMMIT, ROLLBACK, and DROP statements in IBM COBOL.
Search for missing includes – Made the search case insensitive on Windows and updated the Missing Header Files Found (for the selected directory) to show if that header file has already been added by another directory.

(Build b642) – 1 Dec 2012

CODECHECK

Don’t return code check violation for unreachable code if it is a “no_op”
When testing that variables have comments in codecheck, don’t throw a violation for typdefed struct labels if the struct itself is commented.
Add the option to show multiple violations per statement to the Magic Numbers CodeCheck check

COMMANDLINE

Added the ability to add the code snippets to the CodeCheck html report -htmlsnippets.

GENERAL

Add Background Parse
Change version number to 3.1
Fixed issue related to visiting references in modified editor documents which are open in multiple editors.
Updated the entity locator to automatically update the entity filter text if an editor has a valid entity selected when the locator is called via the global shortcut or the menu drop-down. Also removed the Locator’s filter highlight that was making the filter look like it was being disabled.
Bookmarks – added the ability for users to indicate if a bookmark is temporary (24 hours) and will be removed later.

GRAPHS

Fix Control Flow graph to have different shapes for different decision types, bug introduced in build 638.

INFOBROWSER

Show web callby ib field only for functions; remove setto relations from web call ib field; add Set To field to web ib
Fix C# ImplementedBy field to allow Fullname, Sort and Reference options
IB References – added option ‘view by – file list’ to group the references into files.
Add Fullname and Reference options to C# ib fields Overrides and OverridenBy

PARSER

Add support for MSVC 2012 solution files
For xml, made same named attributes for different elements into different entities.
For c#, fixed bug where a call to a generic method nested in a generic class instantiation resulted in an unknown entity.
Fix error handling line splice at beginning of macro name definition in fuzzy c++ analysis
For Jovial, enabled multi-language linkage with Jovial entities.
For c#, fixed problem where generic instantiations resulted in ‘unresolved’ entities.
Fix crash when hovering over c++ method call in certain illegal code

PROJECT

Use values of last project save as defaults for next new project
Project Browser – Update to display the file names without regard to case sensitivity.

User Tools – Fixed ‘After User Tool’ to run only after the user tool is complete and returns (instead of running right after the user tool starts).

(Build b641) – 16 Nov 2012

GRAPHS

Trace COBOL perform references through paragraphs defined in sections in the Butterfly graph.

PARSER

For Xml parsing, added entities to store character data for elements.
Handle environment variables in file paths in MSVC 2010 project files
For web languages, made changes to speed up parse on large files with no newline characters.

(Build b640) – 15 Nov 2012

GENERAL

Fixed automatic detection of Tcl mode in the editor.
This build only released in Japan.

PARSER

For web languages, added some entities and relations for content of xml files.

(Build b639) – 9 Nov 2012

BUILDSPY

Accept source file at any position on the command line. Fixed settings truncation on very long command lines.

GENERAL

Update link for instant search documentation.

METRICS

For Web languages, fixed bug where AvgEssential metric was 0 for files and classes.

PARSER

For web languages, fixed bugs where strict complexity was not correct for php and conditional operator use did not count toward complexity in php or javascript.
Allow the entire identification division to be omitted for compatibility with MicroFocus COBOL.
Fixed possible crashes in the COBOL analyzer.
For Delphi, fixed bug where declarations of a pointer to file type (^file) caused a syntax error.
Fixed metrics issues in the strict analyzer.
For Web languages, added SumCyclomatic, SumCyclomaticModified, SumCyclomaticStrict, and SumEssential metrics. Fixed bug where the sum and average metrics were sometimes incorrect for files.

Add an option to the Control Flow Graph to display the function parameters

METRICS

Fixed Alt line count metrics for C/C++ record (class/struct/union) types.

PARSER

Fixed bug in strict analyzer calculation of line count metrics with C-style comments (/* … */) that end in the middle of a line.
For Delphi, made changes to allow unicode characters in identifiers.
Fixed crash in COBOL analyzer when copying an empty copybook.
For Delphi, fixed problem in parent class lookup where parent name is multi-part.

Understand – Metrics – Treemap – Fixed an issue where the Web Functions were not showing in the treemap.

(Build b637) – 27 Oct 2012

CODECHECK

Don’t consider Ada Packages when counting max function line length.

DIFFVIEW

Fixed issue with Binary file confusion

GENERAL

Understand – Project Config – Potential fix for issue when adding a directory for finding the missing include files.

PARSER

Delphi, made change to allow generic subroutine declarations. Also, added generic type parameters to the database.
C#, fixed bug where implicit typing of variables in foreach statements did not work correctly.
Delphi, made changes to allow anonymous functions and procedures.

REPORTS

Removed Ada record objects that have all components initialized in the record type definition from the ‘Uninitialized Items’ report.

SCRIPTS

Add line number to function comparison script c_functioncompare.pl

SEARCH

Replace in Files – Added a message box to alert the user that no results were found.
Find/Replace in Files – Updated the replace text droplist to be case sensitive.

UPERL

Correctly handle anonymous blocks in collapsed graphs

(Build b636) – 19 Oct 2012

GENERAL

Fixed About Dialog date stamp to reflect the correct build date on all platforms.

PARSER

For Pascal, made changes to handle Delphi generic classes.

SEARCH

Replace in Files – Replace All progress window issue fixed.

TOOLS

Add new icon for the compare tool.
Compare – Entities crash fixed.

UND

Fixed issue where Und would remove files on analyze and then add them again on the next analyze.

(Build b635) – 12 Oct 2012

BUILDSPY

Correct linux file permissions for buildspy files

COMMANDLINE

Added Java7 as a language version option.

GENERAL

Und – Fixed the set Macro to include ‘double quotes(“”)’ and ‘sharp(#)’ with listfile. Note: the proper way to do this is by escaping the quotes and any # signs.

PARSER

For Java, fixed bug where use of a generic super class specification in a type parameter list caused a syntax error.
For Java 7, made change to allow a single catch block to handle more than one type of exception. Also, fixed bug introduced in build 634 where some numberic literals were not recognized correctly.
Fixed line count metric calculation for the strict analyzer when the function begins with (i.e. the return type) a macro expansion.
For Ada, fixed bug where declaration of a choice parameter on an exception handler resulted in an error for missing type execption_occurence if the package ada.exceptions was not visible in the context.

PROJECT

Fixed watched directory rescan issues related to symbolic links.

TOOLS

Added a folder view rescan button to the Compare Tool.
Fixed the file names in the diffview to only show the filename (no path) if the the width of the label area is smaller than the width of the filename with path.

(Build b634) – 8 Oct 2012

FAVORITES

Fixed an issue where the Favorites Menu on the main page was not updating correctly when renaming a Favorite group.
Added the ability to lookup Entities by longname if the uniquename lookup is not valid. If neither of the methods return valid entities then the Entity favorite is turned into a text favorite telling the what has happened.

GRAPHS

Fixed intermittent crash in graph views.

METRICS

Fixed error in the strict analyzer where the values for Cyclomatic/CyclomaticStrict and CyclomaticModified were inverted. Added executable and declarative code line counts for functions and classes in addition to files.

PARSER

For Fortran, added option to allow ‘;*’ to begin an in-line comment.
For Ada 2012, made changes to allow forward referencing in aspect specifications. Fixed bug where ‘use all type’ references were listed in the ‘Uses Not Needed’ report.
For Java 7, made changes to accept binary numeric literals and underscores in numeric literals.
For Java 7, added try-with-resources statements.
For Fortran, made change to apply fixed format line truncation to lines that use a tab character to skip the statement label field.
Fixed the long name of unknown files in the strict analyzer.
For Java 7, made change to allow no generic type parameters to be given in a generic instantiation.

SEARCH

Added the missing includes search feature to the strict C++/clang parser.
Updated the Tools – Options – User Interface – Windows – Find in Files Result Window to include the ability to have Contiguous Selection turned on. This is off by default.
Find in Files – Updated the accelerator keys and reordered the tabs

TOOLS

Fixed Folder diff reporting file differences that are not valid in the Tools->Compare feature.
Fixed an issue where long directory/file names would not allow resizing the Understand window correctly in the Tools->Compare feature.
Added a Regular Expression option to the filter in the Tools->Compare feature.

VIEW

Updated the “Open Contextual Information Sidebar” mainwindow toolbutton to close the Contextual Information Sidebar if it is already open.

(Build b632) – 21 Sep 2012

CODECHECK

Add capability to import/export ignored violations from Understand and Und
False positives can now have notes associated with them.
‘Functions shall not be declared at block scope’ Check changed to allow namespace declaration
‘External Linkage Shall Have Exactly One Definition’ Codecheck no longer throws violation for the Assignment Operator when it’s declared private.

Missing Includes and Undefined Macros have been moved from the ParseLog to the Project Configuration. Missing Includes has been updated to be more user friendly/streamlined.

PARSER

For Ada, fixed a few memory leaks.
For Python, made change to allow users to disable use of the built-in standard library files and the installed standard library files when searching for imported modules.
Fixed possible hang at the end of analysis with the strict analyzer.
For Ada, fixed bug where subprogram bodies with an ‘export_procedure’ pragma were sometimes identified as ‘objects’ instead of subroutines or functions.
Fix bug introduced in b630 where a request to rescan project directories did not cause an analysis to occur if there were files deleted from the project
For Ada 2012, added ‘use all type’ statements.

(Build b631) – 16 Sep 2012

ANNOTATIONS

Show annotations in the information browser.

CODECHECK

Fix ‘unnecessary includes’ script in Codecheck

DOCUMENTATION

Understand’s Documentation has been updated to reflect recent features and changes.

EDITOR

Show the caret line highlight even when the editor doesn’t have focus.
Fixed indentation error in the editor rich text copy and find-in-files results.
Improved performance of editor layout and rendering on documents containing very long lines.

GENERAL

Added a keybinding for annotating the currently selected entity that can be set under tools->options->keybindings.
Added Ada12 as a language option. Support for Ada12 is currently limited to conditional expressions, quantified expressions, and aspect specifications.

PARSER

For Ada, fixed potential crash in limited parse phase.

REPORTS

Fixed regression in links from annotated source files in reports.

(Build b630) – 6 Sep 2012

ANNOTATIONS

Show annotations in the information browser.

CODECHECK

Fix ‘unnecessary includes’ script in Codecheck

DOCUMENTATION

Understand’s Documentation has been updated to reflect recent features and changes.

EDITOR

Show the caret line highlight even when the editor doesn’t have focus.
Fixed indentation error in the editor rich text copy and find-in-files results.
Improved performance of editor layout and rendering on documents containing very long lines.

GENERAL

Added a keybinding for annotating the currently selected entity that can be set under tools->options->keybindings.
Added Ada12 as a language option. Support for Ada12 is currently limited to conditional expressions, quantified expressions, and aspect specifications.

PARSER

For Ada, fixed potential crash in limited parse phase.

REPORTS

Fixed regression in links from annotated source files in reports.

(Build b629) – 31 Aug 2012

ANNOTATIONS

Fixed crash in annotations dialog when a user saves (presses enter) with no annotations.
Fixed editor inline annotation artifact when adding user defined keywords.
Changed the annotations context menu on an entity to only display that entity, it’s parent, and the entity’s file to avoid namespace complications.

CODECHECK

Fix CodeCheck scripts when a void cast is needed and there is a parent. MISRA 2008 0-1-7 and Discarded Return Values.
Updated the selection for the file/check/locator results as well as the Ignores List to be user specified. This can be set in the Tools-Options-User Interface-Windows-CodeCheck Result Windows settings.

EDITOR

Fixed hang in the editor when trying to highlight (e.g. by searching from the incremental search field) a zero-width matching regular expression.

GENERAL

Added a refresh annotations option to the annotations menu. The option can also be assigned a key binding under tools->options->key bindings.
Ignore inactive statements when generating control flowcharts and testing for unreachable code.

Metric Browser – update the table to allow double clicks to open an editor to that file/entity.

PARSER

For c#, fixed bug where the use of full-width space characters (U+3000) caused syntax errors in the parser.
Fixed crash during parse when java is selected but no java files are present
For Python, fixed problem in name lookup where imports of form ‘from <name> import *’ in another imported file did not work correctly.
For Ada, added Ada 2012 conditional expressions.

SEARCH

Find in Files / Replace in files – reduced the total of found results to 2,000 before halting the search.

UND

Fixed adding directories/files on a Windows version of Understand from a Samba drive

Fixed Reports-Dependencies-File Dependencies-Export Matrix CSV to not show column elements multiple times.
Added a application shortcut to bring all released windows to the foreground. Also added this action to each of the release window’s menu dimple. There is no default shortcut key set. This can be set by the Tools-Options-Key Bindings and searching for ‘Released Windows Forward’.
Fixed crash on startup on X11 through VNC.

INFOBROWSER

Allow foreign declare and call references to show up in the References field of the Ada information browser.

INSTALLER

Add Understand to Add/Remove programs on Windows. Also fix issue where Understand could be added to the path multiple times.

Added the name of the entity being annotated to the Add/Edit Annotations window title.
Made the right-click Add/Edit Annotations option into a menu like the one available from the main toolbar. Also made both of those menus available when the cursor is in whitespace in the editor (instead of only being available when an entity was selected).

API

Added the ability to export metrics treemaps as jpgs or pngs to the perl and python apis.

CODECHECK

Fixed a CodeCheck crash when applying checks to directories/files and checks.

GENERAL

Fixed accidental removal of the Mac Preferences menu item from the application menu to Tools->Options…

GRAPHS

Changed graphviz to use faster layout algorithm on cluster graphs when they grows large (2000+ nodes and edges) or when the internal graph engine error occurs.
Improved the vixio xml export on declaration graphs. Arrows now point the correct directions, and text-only nodes have selection boxes.

METRICS

For Python, fixed bug where function metrics were being reported as having a zero value. Also, removed lines-exe and lines-dec from the Program Unit report for projects that have only Python or Web files since the metrics are not available for those languages.

PARSER

For Ada 2012, made changes to allow aspect specifications.
Fixed crash in the strict analyzer for Objective-C category declarations where the associated interface declaration can’t be found.
Enabled option to save comments associated with entities in the strict analyzer.

UND

Fixed the command line crash when -db is used without a database name.

(Build b626) – 10 Aug 2012

ANNOTATIONS

Fixed annotations issues where entities with quotes in their unique names caused errors, and where multiple message boxes appeared for annotation errors.

Fixed error in metrics treemap options dialog where function specific metrics were forgotten when the dialog was opened from an existing treemap.
Changed a keyboard accelerator for the Project Configuration – Ada – Options – “Count exception handlers in complexity” from Alt-e to Alt-h
Fix Project Menu to disable the Configure Project option when the project is closed.
Fixed a dialog box in Project – Configure Project – C# – Add new reference, where the add button was overlapping the text input.
Added dependency support for python, plm, and web.

GRAPHS

Handle nested methods in Control Flow chart
Control flow graph, fix minor issue where clicking the switch statement jumped to the start bracket of the block instead of the statement itself.

METRICS

For c#, changed CountLineCodeExe metric to include lines that contain variable initialization code.
For Java, changed CountLineCodeExe metric to include lines that contain variable initialization code.

PARSER

For Python, fixed bug on linux systems where the parser would only parse one file from a set of files with names that differed only by case.
For Ada, fixed bug where defining a type as an access type to a function that returns an anonymous access type caused a syntax error.
Fixed possible crash in the strict analyzer with the ‘save macro expansion text’ option enabled.

PROJECT

Sync visual studio files before analyzing because of project configuration changes.
Fix error importing VisualStudio 2010 projects where a preprocessor macro name could be created with a leading ‘;’

(Build b625) – 3 Aug 2012

ANNOTATIONS

Fixed error in annotations where background and foreground colors wouldn’t change when project portability was relative.

API

Fixed error in python api where file.depends and file.dependsby always returned an empty dictionary.

BUILDSPY

Changed gccwrapper and g++wrapper to forward stdin to the compiler which fixes an error where the wrappers hang when the file is stdin. Also changed the wrappers to stop blocking stdout and stderr from the compiler.

Fixed error in visio xml declaration graph export where not all text and edges showed up in visio.
Added two options to cluster graphs under Tools/Options/Graphs. First, an option to highlight edges on hover (to improve visibility on overlapping edges. Second an option to change what double clicking on a node will do. (so instead of always expanding/collapsing clusters you could show/hide edges or do a combination of both).

REPORTS

Known issue, Understand will crash when generating HTML or text reports for Ada. Fixed for build 626

TOOLS

Fixed crash when changing user tools settings.

(Build b624) – 27 Jul 2012

GENERAL

Add support for C++11 entities
Enable non-beta support for Coldfire x86 Assembly

METRICS

Fixed bug in knot count metric where a goto or return that transfered control form inside a loop to the statement following the end loop resulted in a knot count which was 1 larger than it should have been.

(Build b623) – 20 Jul 2012

ANNOTATIONS

Searching annotations without a filter now returns all annotations (instead of none).

CODECHECK

Change check so it doesn’t report a violation on structs that don’t have tag names for ‘A tag name shall be unique’.
Fix Code Check test “Exceptions not thrown by value” showing results on line 0.
Add note in description that the Unreachable Code check requires that macro expansion text be saved if macros are being used.
Modify several Code Checks to not throw script errors if the lexer isn’t created
Fix name of CodeCheck script for Magic Numbers

Project Configuration – Added a right click to the removed files (crossed out) that will allow a user to re-add the selected (crossed out) files back to the project.

GRAPHS

Correctly handle Fortran Else If statement in Control Flow Graph.
Remove command line debug messages for Control Flow graph.
More comment display changes for the control flow graph
Correctly handle comments associated with Try/Catch/Finally statements in Control Flow Graph
Remove control flow tree, this was a test graph and should not have shipped.

METRICS

Fixed metrics error where AltAvgLineBlank, AltAvgLineCode, and AltAvgLineComment always returned 0 for a c class.

PARSER

Add support for Renesas RX compiler
For Python, made change to allow imports from source directories without configuring an import path to the sources.

PLUGIN

Global Plugins now show in the menus after install not after restart: Ireports and Global graphs.

SEARCH

Find In Files- Updated the results window to display multiple results on the same line as one line.

Fixed selection bug when double-clicking on an Ada keyword in a comment.

GENERAL

keybind Tools->Options->KeyBinding page now allows users to type in the find text field and press Enter/Return to search (Return/Enter would default to the OK button and close the Options dialog).
Fixed an issue with new User Tools not showing up in the Tools->Options->Keybinding pages until Understand is restarted. It now reflects the added and removed usertools correctly.
Avoid blocking application close when a network request for the RSS feed is about to time out.

PROJECT

Rename file added. Copy filename and associated shortcut added to project browser.
Fixed bug on X11 where the parse log would move to the upper-left corner of the screen after parse.
Project Browser add file dialog now contains the same filter as the Configure Project add file dialog.

REPORTS

For Ada, changed Strict Essential complexity metric to Strict Modified Essential complexity. The new metric still treats short circuit operators (and then/or else) as unstructured but only adds one for all structured paths through case statements after graph reduction. Also, fixed bugs where references to unknown entities in conditions caused the Strict Essential complexity to be incorrect.

SEARCH

Added the ability to enable/disable the results window alternating row colors: Tools->Options->User Interface->Windows->Find in Files Result Window.
Find in Files fix for focus issue when Enter is pressed while in the results window (did not change focus to the Editor correctly).
Also fixed an incorrect focusing issue after parsing/analyzing files when the Find in Files results window is hidden.

UPERL

Better handle comments in some constructs in the Control Flow Graph.

(Build b621) – 9 Jul 2012

ANNOTATIONS

Fixed annotation error where removing all annotation files resulted in an error instead of the setup dialog.
Changed annotation filters so that have values and doesn’t have values with empty string are consistently the same as no value and any value respectively.

GENERAL

This build was only released for our Japanese customers.
Fixed display artifacts on Windows when items are selected in the parse log.

For c#, fixed bug where dll files from .Net Framework 4 were not found by the parser and resulted in ‘unable to open file..’ messages.

(Build b620) – 5 Jul 2012

GENERAL

Fixed crash when running CodeCheck and the Project Overview Graphs at the same time.
Fixed the project overview graph and CodeCheck to not be enabled if the project has not been parsed.

GRAPHS

Changed the graph window ui to have an export menu and fixed an issue where the progress bar didn’t go away.
Add new Visio XML export option so graphs can be exported to Viso format without opening Visio.
Fix for printing problem.

PARSER

For web javascript, made changes to name anonymous functions that are set to variables or components with the variable or component name. Added some class infomation for javascript functions used as classes.

PROJECT

Fixed missing includes button which has failed to show up correctly in the parse log since build 617.

Find in Files- Add keyboard shortcuts for many FiF features
Find in Files- Fixed issue with the results summary line not displaying html correctly.
Find in Files- Added caching to the code snippets.

(Build b618) – 26 Jun 2012

EDITOR

Fixed possible crash introduced in b617 when editing a file that is also open in the instant search results.

SEARCH

Find in Files – Fix the right arrow to not move horizontal scrollbar when the code snippet is reached.
Find in Files – Added and option for the user to customize what double clicking on a result will actually do (expand and/or open the editor).

(Build b617) – 23 Jun 2012

CODECHECK

Fixed an issue with Ignored Violations not using the correct mapping when moving the relative project from Mac to Windows.
Add several Java CodeCheck scripts shared by a customer.

GENERAL

Find in Files – Added a feature to Tools->Options->Windows that allows users to select the selection color in the result window. White will allow for transparent selection.
Added a new key binding to bring the active editor into focus.

GRAPHS

Added export to visio xml (vdx) option.

PARSER

For Java, fixed bug where ternary operator ?: was not counted in cyclomatic complexity metrics.
Fix crash during web-language reparse

REPORTS

For Ada, added new ‘Strict Essential Complexity’ metric that differs from the existing essential complexity metric in that short circuit operators are treated as unstructured code and add to the complexity count.

SEARCH

Find In Files fix for speed issue in the Flat List and the issue with the horizontal jump (moving over one column). Added the search criterial option. Changed the selection style to be more readable.
Find in Files – added a label in the toolbar to indicate the result file. Expanded the results to highlight the first result.

For web languages, fixed some memory leaks during parse.
Added scope list support for Python.
For Php, made changes to have ‘analyze changed files’ pick files required for analysis based on namespaces.

SEARCH

Consolidated the Find in Files Results and Details to one line.
Fix occasional crash in results.
Added the ability to apply all changes in Replace In Files without actually showing the Replace In Files Dialog or any popup dialog boxes (progress dialog does appear).
Find In Files- Fix to allow the saved Results view to be Directory Structure as well as Flat List and File.
Added color text to the Find In Files Results as well as additional code lines under each result (color text as well).
Find in Files – Results search does not navigate to the additional code snippet (unless already opened) and keeps the new selected row visible.

Fix Codecheck check that was showing a false violation for the dangling else.
Fix CodeCheck scripts that had errors – Expression uses operand of side-effect more than once, and Assignment Operator Self Assignment

FAVORITES

Fix for opening two graphs when item is double clicked.

GENERAL

Fixed regression from build 612 related to rich hover text in the editor.
Fixed incorrect semantic highlight of different entities with the same name on the same line in the presence of tab characters.

GRAPHS

Add support for VHDL Process entities to the control flow graph.

PARSER

Fixed VHDL resolve issue for variable declarations with the same name as the type.
For Java, fixed bug where kind name for extendby relation for libary classes had ‘implicit’ in the long kind name.

PROJECT

Fix for “Save & Analyze All Files” after Search for Missing header files does not use newly found header files.

SEARCH

Added a “Replace All” feature in Replace in Files

UPERL

Make some changes to the _delta.pl sample script to better handle irregular entity names

(Build b612) – 6 May 2012

CODECHECK

Added option to ignore base classes that have been inherited from in the ‘Unused Functions’ check.
Removed code in display grid that might have been causing crashes.

For c#, made change to not count entities from reference libraries in the count of all methods when the ‘Analyze found reference files’ checkbox on the References configuration panel is unchecked.

PARSER

Fixed possible crash in VHDL analyzer when a variable name shares the same name as its type.
Fixed strict analyzer worker process crash when arch is set to unknown.
For Java, added anonymous class name to entities nested in anonymous classes.

SEARCH

Find in Files fix to only allow “Match Whole Words” in Regular Expressions.
Find in Files update to include an exclude option for the File Types input.
Symantic Options have been added to Find in Files Architectures.
Find in File fix to eliminate the horizontal cursor that appears randomly when using Find/Replace in Files
The Find in Files dialog is now combined with Replace in Files dialog.

WINDOW

Sync selector selection with the active window.
Fixed inconsistent state and possible crash in the selector when closing released windows.