Understand Build 760

(Build b760) – 9 Jan 2015

CODECHECK

  • Updated MISRA 2008 and All Check script noMoreThanOneBreakOrGoto.upl to detect irregular loop construction and bypass without throwing a script error.
  • Updated MISRA 2008 rule 6-6-4 and All Check script noMoreThanOneBreakOrGoto.upl to not crash when encountering an irregular loop construction.
  • Updated unusedLocal.upl to skip [unnamed] variables.
  • Updated MISRA 2004 rule 2.2 and All Check script noSingleLineComments.upl to not throw multiple violations when a block of C99 comments are encountered.
  • Added implicitFunctionDeclarations.upl to All Check and Scitools Recommended Checks.
  • Update C/C++ specific codechecks not to test files from other languages in multi-language projects.

ECLIPSE

  • Version number changed to 1.1.0. Note that this new plugin version is not compatible with older builds of understand, and the old plugin version is not compatible with this build of understand.
  • Entity Graphs (not metric treemap):
    • Double click on entity nodes jumps to definition.
    • Single click on control flow graph nodes goes to the line in the source code.
    • Right-click on entity nodes gives the entity context menu.
    • Right-click on anything other than the entity nodes give the full menu for the graph (as it appears in understand). Additional menu options may be added by eclipse because of the nature of eclipse context menus.
  • For instructions on installing the Eclipse plugin visit www.scitools.com/eclipse

EDITOR

  • Updated labels under tools->options->Editor->Externally modified files.

FORTRAN PARSER

  • Made changes to better handle IO statements with control transfer specifiers, for example READ with an END specifier. Also, fixed bug where these control transfers were not counted in cyclomatic complexity.

GENERAL

  • Fixed most recently used tab activation order.
  • Save Project As starts with current project name in field.

GRAPHS

  • Improved representation of Fortran IO statements in Control Flow graph.
  • Update Cluster Control Flow for Fortran IO statements.

JAVA_API

  • Add documentation for new Java API to installer.

PARSERS

  • For Ada, c#, and Fortran, made change so that removing a file causes files that depend on it to be reparsed.

PROJECT

  • Added a sort by file extension option to the project browser, available in the dimple menu.
  • Fixed a crash that could happen in Config : C# : References if named roots are used and then deleted.
  • Changed context menus in the Project Browser to be consistent with context menus in the Entity Filter.
  • Remove dimple menu buttons from the selected item in the Entity Filter and Entity Locator.

PYTHON PARSER

  • Update python documentation.

REFACTOR

  • Fixed some minor issues with Extract Function Refactor Tool (correctly handle when last selected character is newline, always add extra line after new function, correctly expand return value combo box for longer names, change “Not Member” to “Non-member” in gui, changed Move Up and Move Down buttons to stay at the top rather than center.)
  • Added an extract temp refactor tool for c++.

STRICT PARSER

  • Fixed possible worker process crash on 32-bit Windows.
  • Report missing header files in analysis log.

UPERL

  • Update uperl documentation.

Understand Build 759

(Build b759) – 1 Jan 2015

C# PARSER

  • Fixed bug where get and set accessor methods were not counted in the CountDeclMethod metrics.
  • Added CountDeclProperty and CountDeclPropertyAuto metrics for classes.

CODECHECK

  • Updated MISRA 2004 rule 8.11 and All Check script explicitStaticWhenInternal.upl to only work on C entities.
  • Updated MISRA 2004 rule 8.3 and MISRA 2008 rule 3-2-1 to only function on C and C++ entities.
  • Combined two versions of MISRA 2008 rule 6-6-4 and then their corresponding All Check scripts into single scripts. Additionally made the checks more robust and less prone to errors.

FORTRAN PARSER

  • Fixed invalid syntax errors on common block statements with more than one block defined in a single statement.
  • Fixed syntax error in some 'interface operator' declarations in free format files.

METRICS

  • For Pascal/Delphi, added CountDeclProperty metric. Previously, properties were counted in CountDeclInstanceVariable.

REFACTOR

  • Added an initial extract function refactor tool for c/c++.

STRICT PARSER

  • Fixed worker process crash on range-based for loops with a dependent initializer.
  • Fixed crash on some invalid Objective-C super expressions.

UND

  • Fixed several issues with build log import.

Understand Build 758

(Build b758) – 19 Dec 2014

CODECHECK

  • Updated MISRA 2008 rule 8-3-1 and All Check sript overridingVirtualFunctionShallNotChangeDefaults.upl to handle more cases.
  • Updated noMoreThanOneBreakOrGotFuzzy.upl, noMOreThanOneBreakOrGotoStrict.upl and allDeclarationsOfAnObjectShallHaveCompatibleTypes.upl to only function on C and C++ files.

ECLIPSE PLUGIN

  • Change call and call by graphs to show 3 levels.

FORTRAN PARSER

  • Fixed bug where using a keyword as a kind parameter on a literal caused a syntax error.
  • Fixed bug where use of a function name as an argument within the function was recorded as a 'call ptr' instead of a 'use'.
  • Fixed bug where passing string literals as macro arguments caused invalid syntax errors.

GENERAL

  • Fixed spurious warning for missing C# references in relative and named root projects. Allow the opportunity to cancel the import of C# reference list files when any of the references are found to be invalid.

INSTALLER

  • Add a message to the installer redirecting Windows XP users to the appropriate download.

JAVA PARSER

  • Made change to optionally count Javadoc comments preceding entities in the CountLine, CountLineComment, and RatioCommentToCode metrics.

LICENSE SERVER

  • Updated License Server Application for Mac issues.

LICENSING

  • Updated Understand License GUI when adding a SDL license to always show the Licensee email address field.
  • Fixed almd crash on Mac.

SEARCH

  • Fixed failure to restore instant search and find-in-files results window in drawered mode.

TOOLS

  • Added a keybinding for explore entity. When multiple explorations are available, display a menu like edit companion files.

WEB PARSER

  • Fixed some problems with dependency diagrams.

Understand Build 757

(Build b757) – 12 Dec 2014

FORTRAN PARSER

  • Fixed bugs in c style preprocessor macro definitions and usage where macro definitions continued over more than one line caused syntax errors and where use of predefined macros such as ‘__LINE__’ in a macro definition caused syntax errors.
  • GENERAL

  • Fixed regression in adding workspace tabs alphabetically.
  • On windows, make companion files case insensitive.
  • INSTALLER

  • Fix osx certificate.
  • JAVA PARSER

  • Fixed bug where a trailing comma in an array initializer in an annotation caused a syntax error.
  • For Java, fixed bug where a call to a static generic method with explicit type arguments caused a syntax error in some contexts.
  • TOOLS

  • Fix issue in und when line started with “.
  • Understand Build 756

    (Build b756) – 8 Dec 2014

    PYTHON PARSER

  • Made change so that deleting a Python file causes any files that import it to be reparsed.
  • GENERAL

  • Correct developer certificate for OSX installation.
  • Understand Build 755

    (Build b755) – 5 Dec 2014

    Support for Windows XP will be separate from our other builds going forward and will no longer be updated with the rest of our builds. It will be available at https://scitools.com/download/archive/

    CODECHECK

    • Updated MISRA 2008 rule 16-2-1 and All Check script preprocessorOnlyUsedForInclusionAndGuards.upl to throw fewer false positives.
    • Updated MISRA 2008 rule 3-1-1 and All Check script possibleToIncludeMultipleTranslationsWithoutViolatingOneDefinition.upl to be more accurate.
    • Updated MISRA 2008 rule 16-2-3, MISRA 2004 rule 19.15 and All Check script includeGuardsShallBeProvided.upl to be more accurate.
    • Added a note to the description qualifying checks as Strict only checks.

    COMMANDLINE

    • Fixed ‘und -rescan’ to purge parse information for files that no longer exist.

    FUZZY PARSER

    • Change so that deleting a c++ include file causes files known to include it, to be reparsed.

    GENERAL

    • Fixed drag-and-drop of files from Finder on Mac OS X Yosemite.
    • Windows XP available at https://scitools.com/download/archive/
    • Fixed crash on command line invocation with -existing -contextmenu flags during database resolve.
    • Analysis Log, Added an option to allow the user to specify the selection color in Tools -> Options -> User Interface -> Windows.

    INSTANT SEARCH

    • Updated to use the rich text selection color. Added the extended code base for the tooltip.

    SCOPE LIST

    • Fix for redundant methods in scope list toolbar and scope list widget.

    STRICT PARSER

    • Fixed worker process crash on Objective-C property declare references where the associated interface can’t be found.

    USER TOOLS

    • Changed user tools to treat quotes in the parameter list the same as the Windows command prompt and Linux terminal. See examples below.

                 Input                             Old Behavior                                  New Behavior

    \"some text\"                 2 args = { \ , some text\ }              2 args = { "some, text" }
    -arg="a b"                    2 args = { -arg= , a b }                 1 arg = { -arg=a b }
    -arg=$Prompt...               2 args = { -arg=, result }               1 arg = { -arg=result }
    On the third example, note that all $Prompt macros are internally quoted (so that things like filenames that come in with spaces are one parameter).
    • Changed user tools macro $CurrentProjectName to include everything up to the last dot rather than the first so understand-1.0.0.udb comes in as understand-1.0.0 instead of understand-1.
    • Potential fix for CommandCapture YieldCheck() crash.

    TREEMAP

    • Possible fix for crash during analyze when metrics treemap is open.

    WEB PARSER

    • For web html, made changes to not create entities for html ids and tags with empty names.
    • For Javascript, fixed some problems with full name recognition for properties of global objects.
    • For web javascript, fixed crash when parsing some dotted name expressions.
    • For web css, fixed parser hang on some invalid css code.

    Understand Build 754

    (Build 754) – 23 Nov 2014

    GENERAL

    • Release new build to include missing Visual Studio Redistributable for Windows.

    Understand Build 752-753

    (Build b752-753) – 22 Nov 2014

    BOOKMARKS

    • Updated to show 5 lines of code surrounding the bookmark in question in the tooltip over the right side of the bookmark (left side still shows time and date).

    C# PARSER

    • Fixed a bug where a reference to an unknown method using ‘base’ as a prefix did not create a reference to the unknown method entity.

    CODECHECK

    • Updated the richText highlight to adjust the font correctly.

    EDITOR

    • Added a keybinding to highlight an entity until the same keybinding is applied again. Added a second keybinding to clear all such highlights. Supports up to four highlighted entities per editor.

    ENTITY FILTER

    • Added a “Most Recently Used” menu to the right click menu of the Filter line edit field.

    GENERAL

    • In Project Metrics Browser, keep scroll bar constant when changing between entities/architectures with the same number of metrics.
    • Fixed crash when scrolling over a disappearing tooltip on Mac with the trackpad or magic mouse scroll gesture.

    SEARCH

    • Updated the selected foreground text to be displayed better (white text for darker shades and black text for lighter shades).
    • Updated the Find in Files Result Window and the “Search – Show Find Results” to reflect the correct wording (Find in Files Results).

    TOOLS

    • In User Tools, changed $PromptFor macros so that the result only became its own argument if it contained spaces. In other words, the results of all $PromptFor macros used to be treated as if they were quoted, and now that behavior only occurs if there are spaces in the result.

    Understand Build 751

    (Build b751) – 16 Nov 2014

    GENERAL

    • Fixed failure to fully restore open files from relative projects after upgrading from an older build of understand. These same files would then fail to open correctly during regular use.

    Understand Build 750

    (Build b750) – 14 Nov 2014

    ARCHITECTURES

    • Improve architecture builder speed for folders with lots of files.

    BOOKMARKS

    • Allow next/previous bookmark actions to wrap.

    CODECHECK

    • Added shallNotPassByReference.upl and fileLength.upl to Code Check.
    • Updated MISRA 2008 rule 3-2-1 and All Check script allDeclarationsOfAnObjectShallHaveCompatibleTypes.upl to be more accurate.

    EDITOR

    • Added separate semantic highlight category for C++ virtual functions.

    FUZZY PARSER

    • Improve c++ fuzzy parser handling of deeply recursive macro expansions.

    GENERAL

    • Export cytoscape XML in UTF-8 encoding.
    • Bookmarks hover display added.
    • Fix crash in visual studio arch with same-name project/solutions.
    • Added an import/export theme option for global editor styles.

    REFACTOR

    • Fix error in refactor rename tool for java functions.

    SCOPELIST

    • Make Scope List Toolbar list show overloads like the Scope List Window.

    SEARCH

    • Find in Files Result Window, Added the code snippet as a tooltip on the result so the user can bypass expanding the result if desired.

    STRICT PARSER

    • Added missing reference for tentative variable definitions in C.

    VISUALSTUDIO

    • Fix processing of MSVC 2010/2012/2013 project files to handle out-of-order file definitions

    Understand Build 749

    (Build b749) – 8 Nov 2014

    CODECHECK

    • Added All Check script objectsOrFunctionsWithExternalLinkageShallBeDeclaredInAHeaderFile.upl to Code Check.
    • Updated MISRA 2008 rule 3-3-1 to eliminate various reporting errors.
    • Update All Checks, ‘No direct or indirect recursion allowed’ check to work in many different languages.
    • Added MISRA 2004 rule 8.3.

    ECLIPSE PLUGIN

    • Make Eclipse plugin work with Java 1.6.
    • Update Eclipse Plugin Japanese Translation Files.

    EDITOR

    • Fixed issue with the settings dialog going behind the main window on Mac.

    GENERAL

    • Exclude standard library entities from dependency analysis (affects dependency reports, architecture dependency graphs, and the dependency browser). It can be changed in Tools->Options->Dependencies.
    • Fixed occasional loss of focus when switching tabbed windows.

    GRAPHS

    • For file entities only show the uml class diagram if there are classes defined in that file.

    METRICS

    • Fixed some architecture metrics that were incorrect for files with namespaces.

    PROJECT

    • Project Browser updated to show a horizontal scrollbar when needed.

    REFACTOR

    • Improve messages in the inline temp refactor dialog and the prompt for save & analyze before refactoring dialog.
    • Added an inline temp refactor tool for c/c++ local variables.

    SEARCH

    • Added an IO Unit filter to the entity filter for Fortran.
    • Fixed an errant Find in Files dialog from popping up unasked for.

    Understand Build 748

    (Build b748) – 31 Oct 2014

    C API

    • Added C99, C11, and C++11 keywords to C/C++ API lexer.

    GENERAL

    • Fixed possible crash and other issues with pinned dock windows.

    Understand Build 747

    (Build b747) – 29 Oct 2014

    CODECHECK

    • For Typedef Naming Convention check allow Struct and Enum typedefs to have their own rules.
    • Updated MISRA 2008 rule 2-13-4 and All Check script literalSuffixesShallBeUpperCase.upl to work regardless of context and not just as set references.

    GRAPH

    • Fixed gvlayout crash in build 746.

    PROJECT

    • Added an automatic architecture for visual studio solutions and projects. For existing Understand projects, the architecture will not be visible until after a rescan.

    SEARCH

    • Fixed incorrect expansion indicators after expand all in instant search results.

    Understand Build 746

    (Build b746) – 27 Oct 2014

    CODECHECK

    • Corrected issue in MISRA 2008 rule 6-3-1, MISRA 2004 rule 14.8 and All Check script bodyOfSwitchOrLoopShallBeACompoundStatement.upl where the tail end of a do .. while loop was treated as a new while loop.

    ECLIPSE PLUGIN

    • Ensure Edit Definition right click menu option is disabled for unresolved/unknown entities.
    • If multiple Understand versions are on the path, use the first instead of the last.
    • Remove errors about missing file contexts.xml.

    GENERAL

    • Fixed issue where clearing editor history sometimes reopened a closed editor window.
    • Fixed possible crash on graph window close.

    JAVA PARSER

    • Fixed crash parsing some lambda expressions.

    PROJECT

    • Fixed an issue where watched directories were not always rescanned correctly.

    REFACTOR TOOL

    • Prompt for save & analyze if modified files are present.

    SEARCH

    • Find in Files Updated to allow users to specify if the “Directory” List and the “Find” most recently used list should be a global or per project lists.

    Understand Build 745

    (Build b745) – 17 Oct 2014

    ADA PARSER

    • For Ada, fixed bug where uses of loop parameters were recorded with ‘ref’ relations instead of ‘use’ relations.
    • For Ada, fixed bug where nested subroutine stubs were sometimes not correctly merged with the separate subunit.

    CODECHECK

    • Add Magic Numbers Codecheck for Java.
    • Add Single Exit from Method Codecheck for Java.

    COMMANDLINE

    • Updated the settings command in und (see details listed below).
    • Added to Settings:
    •      Web: AllowJQuery, AllowNodeJS, NodeJsSearchPath, NodeJsPredefined, SearchStringsForEntityNames
    •      Override: C++Frameworks, C++IgnoreParentFrameworks, C++SysRoot, C++IgnoreParentSysRoot
    •      Reports: TextClearDirectory, HtmlClearDirectory
    •      Java: IncludePackageName
    •      C++: SysRoot, CreateReferencesInAssembly, MSCVersion
    •      Cobol: Compiler, Format
    •      Assembly, SystemIncludePath, Includes
     
    • Removed From Settings (Options not used):
    •      C#: LocateSystemClassesMode, StandardLibraryDirectory, FrameworkDirectory
     
    • Removed From List (Options not available in Settings and not used):
    •      C#: LocateSystemClassesMode, StandardLibraryDirectory, FrameworkDirectory
    •      Assembly, SaveMacroExpansionText, SearchAmongProjectFiles, TreatSystemIncludesAsUser, UseCaseInsensitiveLookup, Assembler, AssemblerIncludePath, Replacements, Macros

    COMPILER

    • Add support for Wind River PowerPC C++ compiler.

    ECLIPSE

    • Fixed error in eclipse plugin where metrics treemap failed to generate.
    • Eclipse plugin dependencies lowered so that it loads for eclipse 4.2 and 4.3 as well as 4.4.
    • Added Japanese translation files to Eclipse plugin.

    GENERAL

    • Licensing Window updated to not show the “Add a License” window by default when there is a server but no license available.

    GRAPHS

    • Fix error in cluster call graphs where namespaces could sometimes lead to disappearing nodes.

    PROJECT

    • Changed name of ‘Unused Variables and Parameters’ report to ‘Unused Objects and Functions’ report to better reflect report contents.
    • Add configuration option to control C# comment association.

    PYTHON API

    • Fixed ent.lexer() not working for a named root file in the python api on windows.

    TOOLS

    • Command Capture Window, updated the output to allow users to see the output during the script run phase instead of only after the script has run.

    WEB PARSER

    • For web css, fixed bug where only the first font-family name given in a font-family property was referenced.
    • For web css, fixed crash in parsing some css font-family definitions.

    Understand Build 744

    (Build b744) – 10 Oct 2014

    CODECHECK

    • Updated MISRA 2008 rule 2-10-2, MISRA 2004 rule 5.2 and All Check script scopeHiding.upl to be more accurate.
    • Corrected issue in codeSlicingShouldNotOccur.upl where an error would be thrown in certain circumstances.
    • Fixed an issue where the Ignores List violation column was not showing the entity specific information. This is fixed for Ignores going forward.

    ECLIPSE PLUGIN

    • Perform license check for creating an Understand project before displaying the create project dialog.
    • Improve error messages in Eclipse plugin for creating an Understand project from an Eclipse project. Also, on create, only associate an Understand project with an Eclipse project if the Understand project file was created.

    FORTRAN PARSER

    • Made change to record references from executable code in include files only in the including subroutine.

    GENERAL

    • Fix an error where Edit Companion File(s) menu option was always disabled for relative and named root projects.

    GRAPHS

    • Added a dot export for architecture dependencies (Reports->Dependency->Architecture Dependencies->Export to Dot).

    PROJECT

    • Fixed spurious prompt to reload open files after cancelling config dialog in build 743.

    REPORTS

    • For the Unused Variables and Parameters report, made changes to make the report more consistent between languages. Changed report name in the .txt file from ‘Unused Items’ to ‘Unused Variables and Parameters’ to agree with the name in the html report.
    • Unused Ada parameters are now listed in the Unused Objects report.
    • For Unused Items report and Unused Objects report, made changes to bring reports more in line with one another and with the editor ‘highlight unused entities option’.
    • Variables that are set but not used are now listed in the Unused Items and Unused Objects reports.

    STRICT PARSER

    • Fixed several progress calculation issues.

    Understand Build 743

    (Build b743) – 4 Oct 2014

    CODECHECK

    • Added codeSlicingShouldNotOccur.upl to Code Check.

    ECLIPSE PLUGIN

    • Added new Eclipse plugin.

    JOVIAL

    • Fixed bug where most references to unknown entities were recorded as calls instead of uses.

    METRICS

    • Fixed a warning message displayed in Linux when opening Project Metric Charts.

    PERL SCRIPTS

    • Changed calltree script to support jovial.

    PROJECT

    • Fixed automatic reload of editors after changing project encoding setting.
    • Fixed an issue in Rescan where Linux symbolic links could be cyclic and add already added files to a rescan.

    STRICT PARSER

    • Fixed failure to add entities for unnamed parameters. Added missing parameter text for implicitly generated special member functions.

    Understand Build 742

    (Build b742) – 26 Sep 2014

    COMMANDLINE

    • In und, added a remove option for all lists except filetypes (because you can’t remove from that anyway). So, for example, you can now use -languagesremove C++ to just remove c++.

    GENERAL

    • Added the ability to remove specific items from the recent projects and recent files list under Tools->Options->User Interface->Lists.
    • Included graph windows in editor history.

    GRAPHS

    • On ClusterGraphSettingsPage, fixed the drop down menus for node and arrow shape so that you don’t have to click away in order to get the Apply button to become enabled.

    HELP

    • Update understand documentation.

    LICENSING

    • Fixed issues with the License Dialog not allowing the user to checkout a license if at first all licenses are taken and then one frees up.
    • Fixed a heartbeat issue when Understand tries to use an invalid server in a Linux license file.

    Understand Build 741

    (Build b741) – 20 Sep 2014

    CODECHECK

    • Updated MISRA 2008 rule 14-5-2 and All Check script copyConstructorDeclaredForTemplate.upl to allow unnamed parameters to be used in the copy constructor.
    • Added MISRA 2008 rule 5-2-11 and All Check script logicalAndLogicalOrCommaNotOverloaded.upl to Code Check.
    • Added MISRA 2008 rule 0-1-4 and All Check script singleUseVariables.upl to Code Check.
    • Added MISRA 2008 rule 14-5-3 and All Check script copyAssignementDeclaredForTempate.upl to Code Check.
    • Corrected Code Check entries for MISRA 2004 rule 19.13 and 20.2 which had the MISRA 2008 numbers in the check description.

    EDITOR

    • Added predefined editor themes.

    GRAPHS

    • Improve the recovery of cluster call graphs after an analyze.
    • Moved checkbox on tools->options->Graph to make the option to apply styles to cluster call graphs more visible.

    PARSER

    • Fixed possible crash when configuring empty c++ projects.
    • Fixed an issue in “New Architecture” where two Understand applications pointed to the same database would trip a non essential “Not Required” flag.

    PROJECT

    • Fixed regression in build 740 related to aborting the analysis.
    • Updated the Analysis status Abort button to have a tooltip “Abort/Pause the Analysis”.

    STRICT PARSER

    • Disabled real case include warning.

    Understand Build 740

    (Build b740) – 12 Sep 2014

    BUILDSPY

    • Fixed issue flushing buildspy usage to terminal.

    CODECHECK

    • Updated MISRA 2008 rule 6-4-1, MISRA 2004 rule 14.9 and All Check script ifConstructShallBeFollowedByACompoundStatement.upl to allow for a special case else if condition built using the preprocessor.
    • Updated MISRA 2008 rule 6-3-1, MISRA 2004 rule 14.8 and All Check script bodyOfSwitchOrLoopShallBeACompoundStatement.upl to allow for a special case where loops are built using the preprocessor.
    • Fixed bug in MISRA 2004 rule 5.4 and All Check script tagesUnique.upl where if a struct’s or union’s name was a subset of another struct’s or union’s name, the two were treated as having the same name.
    • Added MISRA 2008 rule 12-8-1 and All Check script copyConstructorInitializeBaseAndMembers.upl to Code Check.
    • Added the ability to select multiple ignores from the ignores list and remove them at one time.
    • Added MISRA 2008 rule 14-5-2 and All Check script copyConstructorDeclaredForTemplate.upl to Code Check.

    GENERAL

    • Changed selector window filter label to a regular text field with its own focus.
    • Improvements to the refactor ui, added the ability to set keybindings, added an apply changes (without preview) option, and start with text selected in the rename window.
    • Fixed source tree disappearing during execution of the add directory dialog.

    JAVA PARSER

    • Removed the ‘java unused’ entity kind.

    PASCAL PARSER

    • For Pascal/Delphi, fixed bug where an overloaded routine defined in a unit interface section had an ‘overloads’ reference to itself.

    PROJECT

    • Remove Extends report
    • Abort Analysis dialog box updated. Title and Text explain that the Analysis is paused and the Cancel button now is “Continue Analysis”.
    • Added a Project Save As option under the File dropdown menu. This will copy the .udb file and reset the appropriate places where the database name is used.
    • Fix pascal version to remain compaq when set and not revert back to Delphi.

    PYTHON PARSER

    • Fixed bug that could lead to a parser hang.

    UPERL

    • Update kind strings in perl documentation, remove duplicates.

    Build 739

    (Build b739) – 5 Sep 2014

    CODECHECK

    • Added MISRA 2008 rule 12-1-2 and All Check script constructorShouldCallConstructorForBase.upl to Code Check.
    • Added MISRA 2008 rule 12-1-1 and All Check script objectDynamicTypeNotUsedInConstructorDestructor.upl to Code Check.
    • Added MISRA 2008 rule 10-3-1 and All Check script oneDefinitionOfEachVirtualFunction.upl to Code Check.
    • Added MISRA 2008 rule 11-0-1 and All Check script nonPodMemberDataPrivate.upl to Code Check.
    • Add MISRA 2008 rule 10-3-3 and All Check pureVirtualOverridesPureVirtual.upl to Code Check.

    GENERAL

    • Added the ability to customize (set node and edge shapes, colors, etc) architecture dependency graphs and cluster call graphs. The options are found under Tools->Options->Graphs.
    • Fixed excluded directory appearance in project configuration source files view.

    PROJECT

    • Replace in Files – Fixed the ‘Finished Replacing Matches’ dialog so that it will stay on top of the application and not get hidden behind Understand.

    REFACTOR

    • Enabled key bindings, and show case differences and whitespace differences in the refactor preview window.
    • Added a simple rename/refactor option to the context menu. Undo functionality is available by right clicking in the white space.

    Build 738

    (Build b738) – 29 Aug 2014

    CODECHECK

    • Corrected issue in MISRA 2008 rule 6-2-2, MISRA 2004 rule 2004 and All Check script TestingEqualityInFloatingPointValues.upl where a pointer to an array was treated as a floating point value.

    EDITOR

    • Change editor macro menu item text during macro recording.

    GENERAL

    • Added menu to open editor macro settings page.

    PARSER

    • For c# and Java, made changes to fix problems with counting max nesting level in routines containing ‘else if’ constructs.

    PROJECT

    • Updated CodeCheck and Replace in Files dialog boxes to keep/maintain focus of the popup instead of sometimes getting hidden behind non Understand windows.
    • Updated the Reports generation dialog to not automatically begin when the user opens the dialog. Also added timing to the start and end and show the last run time with its status.
    • Report Config updated to allow users to delete the report directories before report generation (persistent dialog box will prompt users before the first time).

    PYTHON PARSER

    • Changed the ‘end’ reference for a function or class to be the end of the last code line in the context instead of the location of the start of the next context.

    WEB PARSER

    • For web Javascript, fixed bug where html line counts were incorrect in cases where a css file was include with a ‘link’ tag, and where javascript line counts were incorrect in some cases where anonymous functions were defined in object literals.
    • For web Javascript, made change to create properties from object literals where the property name is given as a string literal.
    • For web css, fixed bug where some font-face references were not recorded.

    Build 737

    (Build b737) – 23 Aug 2014

    CODECHECK

    • Clarify exception lists for several comma delimited lists.
    • Corrected a bug in MISRA 2008 rule 6-4-1, MISRA 2004 rule 14.9 and All Check script ifConstructShallBeFollowedByACompoundSatament.upl where preprocessor directives inside of defined functions was not handled correctly.
    • Added MISRA 2008 rule 9-3-3 and All Check script methodsMadeConstOrStaticIfPossible.upl to Code Check.
    • Added MISRA 2008 rule 10-1-3 and All Check script accessibleBaseClassNotBothVirtualAndNonVirtual.upl to Code Check.

    EDITOR

    • Fixed date format default values for editor printouts.

    GENERAL

    • Fixed an issue where if there were a released window and a non-released window editing the same file, on project close and then open, the file would not come back as a released window.
    • Fixed regresssion in build 736 that caused some editor file context sub-menu items to fail.
    • Prevent error on cytoscape import caused by <> in the longname of entities.

    PARSER

    • For assembly, Python, Java, Jovial, Pascal, Ada, C#, Fortran, and web languages, made changes to give error message for files too large to open.
    • Fixed regression in build 733 that caused ‘base’ references to sometimes be confused with ‘use’ references.

    STRICT PARSER

    • Fixed missing define references for variables defined in lambda expressions.
    • Fixed static member function kind.
    • Added missing references to C++11 type aliases and type alias templates.

    TOOLS

    • Allow user tools hierarchy to have any level of nesting.

    UPERL

    • Fixed crash in uperl lexer when a c++ file ends unexpectedly in an inactive preprocessor region.

    VISUALSTUDIO

    • Add support for MSVC 2013 C# projects.

    Build 736

    (Build b736) – 15 Aug 2014

    C#_PARSER

    • Fixed bug where endrefs for namespaces had 0 for the line and column when the namespace end occurred at the end of a file.

    CODECHECK

    • Added MISRA 2008 rule 9-3-1 and All Check script constMemberNotReturnNonConst.upl to Code Check.
    • Added MISRA 2008 rule 9-3-2 and All Check script memberFunctionsShallNotReturnNonConstHandles.upl to Code Check.
    • Ignores List – Fixed an Issue when trying to add a note and no Ignore is selected.
    • Updated the CodeCheck Results pages to allow the user to select a violation and then go directly to that violations check configuration (ctrl+alt+c).
    • User Specified Files – Updated the sort to be Case Insensitive and show directories first.
    • Updated MISRA 2008 rule 16-2-3, MISRA 2004 rule 19.15 and All Check script includeGuardsShallBeProvided.upl to be faster and to allow use of the preprocessor in code files.
    • Updated MISRA 2008 rule 4-5-1, MISRA 2004 rule 12.6 and All Check booleanOperatorShallBeUsedCorrectly.upl to allow , -> and . operators.

    EDITOR

    • Added ability to save editor macros and bind them to shortcuts.
    • Disabled continuation line syntax highlighting for Java files.
    • Fixed delay between editor position change and entity selection update.

    INFOBROWSER

    • Add Overloads IB field for Pascal.

    PARSER

    • Changed the max file size option from a Cpp language option to a global project option. This is done in the gui and in Und command line.

    PASCAL_PARSER

    • Made changes to identify calls to overloaded methods and functions.

    PYTHON_PARSER

    • Fixed bug where function and class ‘end’ references were missing.

    Build 735

    (Build b735) – 8 Aug 2014

    ADA_PARSER

    • Fixed bug where extremely long strings could cause a syntax error.

    CODECHECK

    • Corrected bug in MISRA 2008 rule 16-0-6 and MISRA 2004 rule 19.10 and All Check script definitionsOfFunctionLikeMacroShallEncloseParameterInParentheses.upl where the check could not deal with a macro without parameters and where the check treated a keyword that had a parameter as a subset of that keyword as a parameter for the macro.
    • Fixed bug in MISRA 2008 rule 0-1-11, 2008 MISRA rule 0-1-12, UnusedParametersVirtualAndOverride.upl, unusedLocal.upl, and UnusedParametersNonVirtual.upl where fuzzy parser treated ellipsis as a parameter.
    • In MISRA 2008 rule 6-4-5, MISRA 2004 rule 15.2 and All Check script unconditionalStatmentShallTerminateNonEmptySwitchClauses.upl made it so the return, break, or throw statement can be after the block if a block was used for the body of the switch statement.
    • Updated MISRA 2008 rule 6-4-5, MISRA 2004 rule 15.2 and All Check script unconditionalStatementShallTerminateNonEmptySwitchClauses.upl to accept return statements correctly.
    • Corrected an issue in the naming convention Code Check script that would treat … as an individual parameter.
    • Corrected a false positive issue ifdef and ifndef macros for MISRA 2008 rule 16-0-5, MISRA 2004 rule 19.9 and All Check script argumentsToFunctionMacrosShallNotUsePreproccessingDirectives.upl
    • Corrected a special case issue when preprocessor is used to create if statements in MISRA 2008 rule 6-4-1, MISRA 2004 rule 14.9 and All Check ifConstructShallBeFollowedByACompountStatment.upl
    • Corrected issue with double counting else statements.
    • Added the option to all return statements in the body of a switch statement in MISRA 2008 rule 6-4-5, MISRA 2004 rule 15.2 and All Check script unconditionalStatementShallTerminateNonEmptySwitchClauses.upl
    • Made MISRA 2008 rule 4-5-1, MISRA 2004 rule 12.6 and All Check script booleanOperatorShallBeUsedCorrectly.upl more robust and handle more situations
    • Corrected issue in destructorSetDataPtrTo0.upl where an array was treated as a pointer.
    • Corrected issue where empty throw specification was confused with a throw specification in MISRA 2008 rule 15-5-1 and All Check script destructorsNotThrowExceptions.upl.
    • Corrected issue in operandOfSideEffect.upl where script confused ifdef with if.

    COMMANDLINE

    • In und, always treat the first = in a macro as the split between name and value, thus allowing x=y=z (where x would be the name, and y=z would be the value). Also fixed quotes in interactive mode so that abc=\”123\” has abc as the name and “123” as the value.

    COMPILERS

    • Add support for IAR RL78 compiler.

    FORTRAN_PARSER

    • Fixed bug where both a label and a name on a ‘do’ statement caused a syntax error in free format files.
    • Fixed syntax errors for some ‘double complex’ declarations.
    • Fixed bug where use of ‘\*’ in a string literal caused a syntax error when the ‘Allow C-Style comments’ option was enabled.
    • Fixed bug where setting a variable with a name starting with ‘parameter’ caused a syntax error in fixed format Fortran.
    • Fixed bug where a syntax error was generated when an arithmetic-if was used as the action statement in a logical-if.

    GRAPHS

    • Added several types to the Dependency Filter list for the Dependency Browser and Graphs (where applicable). Also reordered the list alphabetically.

    JAVA_PARSER

    • Added ‘define implicit’ kind to identify methods that were implicitly defined.

    PROJECT

    • Updated the Watched directory exclude filter to allow a user to exclude relative to the watched directory.

    Build 734

    (Build b734) – 1 Aug 2014

    ADA_PARSER

    • Fixed bug where some legal Ada 2012 predicates caused a syntax error.

    CODECHECK

    • Added MISRA 2008 rule 8-5-1 and All Check variablesShallHaveValueBeforeUsed.upl to Code Check.
    • Added MISRA 2008 rule 7-1-2 and All Check parameterShallBeDeclaredAsConst.upl to Code Check.
    • Fixed an issue where multiple checks having the same short name were both being checked on load.
    • Added MISRA 2008 rule 10-1-2 and All Check script baseClassViartualOnlyIfInDiamondHierarchy.upl to Code Check.
    • Added MISRA 2008 rule 10-1-1 and All Check scrip classesShouldNotBeDerivedFromVirtualBases.upl to Code Check.
    • Added MISRA 2008 rule 5-3-3 and All Check unaryAndOperatorShallNotBeOverloaded.upl to Code Check.
    • Added MIRSA 2008 rule 8-4-4, MISRA 2004 rule 16.9 and All Check script functionIdentifierShallBeUsedToCallOrAddress.upl to Code Check.

    GENERAL

    • Fixed regression in showing watched directory rescan progress dialog.
    • Added local and global variable name syntax highlight styles for Ada.
    • Scheduled Processes – Added an option to allow the user to turn off a scheduled process “Do Not process”. Fixed an issue where the ‘Process Every’ would not fire correctly when the ‘Process At’ Day was not checked (even though it was disabled).
    • Selector Window – Fixed issue with the droplist not behaving correctly. Also added the local ctrl+w close all selected windows. This functionality is added to the application keybindings – Close Selector Selected/Unselected (no default binding).

    SEARCH

    • Find in Files – Potential fix for an issue where the ‘Add a Directory’ was showing the dialog ‘Add a File’.
    • Entity Filter – Added the option to have just the parameter type, full parameters or no parameters.

    Build 733

    (Build b733) – 26 Jul 2014

    CODECHECK

    • Added MISRA 2008 rule 7-1-1 and All Check unmodifiedVariablesShallBeConst.upl.
    • Added both strict and fuzzy versions of MISRA 2008 rule 6-6-4 and All Check noMoreThanOneBreakOrGoto.upl.

    GENERAL

    • Added an option to the Entity filter to show function parameters.
    • Scheduled Activities Updated to include the option of running every X minutes. Added a suppression option for the message box and made sure that Rescan Watched Directories is a schedule activity and added the specifics (files added/removed) in the scheduled activities log.

    GRAPHS

    • Fixed memory leak in graph export to Visio XML for nodes containing multiple lines.

    STRICT_PARSER

    • Improved support for record template specializations. Previously they were represented as re-declarations of the specialized template. Now they are represented as distinct entities with a new ‘specialize’ reference back to the specialized template.

    VISUALSTUDIO

    • Fix additional problem with processing MSVC 2013 user macros.

    Build 732

    (Build b732) – 18 Jul 2014

    ARCHITECTURES

    • Added an icon to be a visual clue if the file/directory already exists in the architecture (notification message comes up if the user tries to add it anyway).
    • Architecture context menu updated to fix an issue with relative/named roots.

    CODECHECK

    • Added MISRA 2008 rule 6-6-2 and All Check noBackJumps.upl to Code Check
    • Added MISRA 2008 rule 6-6-1 and All Check script labelReferencedByAGotoShallBeInSameBlock.upl to Code Check
    • Added MISRA 2008 rule 6-5-5 and All Check Script loopControlVariableNotModifiedWithinConditionOrExpression.upl to Code Check

    GENERAL

    • Metric TreeMap, Options are saved when the treemap is generated. This is done on an application wide setting.

    PASCAL_PARSER

    • For Delphi/Pascal, made changes to improve handling of overloaded routines.

    SCOPELIST

    • Fix broken scopelist.

    SEARCH

    • Fixed an issue with opening Find in Files from a right click context menu not checking the search directory correctly. I also stopped clearing the directory search list and just uncheck the directories that are currently being used.

    Build 731

    (Build b731) – 13 Jul 2014

    API

    • Fixed failure to respect project encoding setting when reading lexeme text from relative and named root files.

    CODECHECK

    • Added MISRA 2008 rule 6-5-4 and All Check loopCounterShallBeModifiedByConstant.upl to Code Check

    C_PARSER

    • Add support for MSVC 2013 C++ projects
    • Strict Parser, fixed failure to analyze relative and named root files with non-default encoding.
    • Fix processing of MSVC 2013 user macros which could have caused a crash

    EDITOR

    • Fixed issues with styled text in cluster control flow graph with entity specific styling and \.

    GENERAL

    • Fix crash that occurred when changing to a file where a horizontal scroll bar would be necessary in the scopelist, but the scopelist tab had not been used/shown.
    • Added the ability to add a File or Directory to a Architecture via the right context menu. Directories are from the “Directory Structure” architecture only.
    • Fixed regressions in project configuration source tree view for relative and named root projects.

    GRAPHS

    • Fixed issue in arch internal dependency graph where edge counts increased whenever the kinds of dependencies shown changed.
    • Changed flowchart ‘Labels’ option name to ‘Source Code’ to indicate that it only controls the appearance of source code. The ‘Labels’ option still exists to control edge, start, and end labels.
    • Added the ability to expand called functions in the cluster control flow graph. This option is off by default (because it reduces collapsing), and can be turned on by the “Allow Call Expansion” right click menu option. When the option is on, each expandable call is shown as a collapsed cluster.
    • Fixed issue in arch internal dependency graph. Added “Addr Uses” to the Dependency filter list.
    • Added a right click menu to edges in cluster graphs (architecture dependency and call) that lists the first N references that contribute to the edge. Clicking will visit source. N defaults to 25 and can be changed under tools->options->graphs.
    • Added a “Show Source Code” option to the cluster control flow graph. “Show Labels” now controls edge labels, “start”, “end” and the “(…)” on clusters. This change allows users to show only comments (where show labels used to turn off all labeling).
    • Added the comments option to Data Members Graph.
    • Fixed flowchart option to show comments when labels are hidden.

    JAVA_PARSER

    • Fixed syntax error for some uses of ‘int.class’.
    • Add Java IB field Type Parameters
    • Fixed some problems with overload resolution involving generic methods.
    • Fixed problems reading generic information from .class files and problems reading some Java 8 .class files.
    • Added new kinds for generic classes, methods, and interfaces. For web css, made changes to parse @font-face rules.
    • Java 8 and Generics are now fully supported

    PYTHON_PARSER

    • Fixed bug where named roots in python import paths did not work.

    Build 730


    (Build b730) – 4 Jul 2014

    CODECHECK

    • Added MISRA 2008 rule 6-5-2 and loopCounterIncrementOrDecrement.upl to Code Check.
    • Corrected potential reporting errors in, MISRA 2004, rule 14.8 and 14.9, MISRA 2008, rule 6-3-1 and 6-4-1, and their corresponding All Check scripts.
    • Added MISRA 2008 rule 6-5-3, MISRA 2004 rule 13.6, and All Check loopCounterShallNotBeModified.upl scripts to Code Check.
    • Added MISRA 2008 rule 6-5-1 and forLoopsShallContainASingleLoopCounter to Code Check.

    COMMANDLINE

    • Fix error on linux “qthread destroyed while running” in und.

    EDITOR

    • Fixed jump to brace behavior on ()() so that after a jump from brace 1 to brace 2, jump to brace will return to brace 1 instead of the default behavior of jumping from brace 3 to brace 4.

    FORTRAN_PARSER

    • Fixed bug where when a module subroutine was forward referenced, variables passed as ‘intent(out)’ parameters were given ‘use’ references instead of ‘set’ references.

    GENERAL

    • Fixed an issue with the Selector Window dropdown not behaving properly.
    • Bookmark Window – will now retain it state between projects and Closing and Opening Understand.

    GRAPHS

    • Added syntax highlighting to cluster control flow graphs. It can be turned off in the right-click menu.

    SEARCH

    • Find Results Window – Added a new icon to allow users to open the Find in Files dialog from the results window. Added a default local shortcut key (Ctrl+F) to open the ‘Find in Results”.

    VISUALSTUDIO

    • Fixed crash when processing MSVC 2010 projects that contain multiple levels of import files.

    Build 729

    (Build b729) – 27 Jun 2014

    API

    • For api fortran lexer, fixed crash in lex of files with lines longer than 1024 characters.

    CODECHECK

    • Added MISRA 2008 rule 14-8-1 and All Check script overloadedFunctionTemplatesShallNotBeExplicitlySpecialized.upl.
    • Added MISRA rule 14-7-1 and allTemplatesShallBeInstantiatedAtLeastOnce.upl to Code Check.

    COMMANDLINE

    • Support overriding macros of the form X=”\”Y=Z\””.

    EDITOR

    • Fixed jump to matching brace for nested braces like ((())).

    FORTRAN_PARSER

    • Fixed crash when parsing fixed format source files with extremely long lines (over 1024 characters).
    • Fixed bug in fixed format files where iostat parameters to input/output functions were given ‘use’ references instead of ‘set’ references.
    • Fixed a scoping problem that occurred when a public, private, or protected statement was given for an imported variable.

    GENERAL

    • Project Configuration -> Reports Output Panel fixed alt+l shortcut to go to the correct input box.

    GRAPHS

    • For Butterfly graph add option to show or hide intrinsic functions.

    REPORTS

    • Fixed problem in Fortran Uninitialized Item report where some module variables were reported that were actually initialized.

    WEB_PARSER

    • Made changes to handle nested rule-sets.
    • Made change to handle non-standard syntax allowing class names beginning with a numeral.

    Build 728

    (Build b728) – 20 Jun 2014

    BUILDSPY

    • Escape xml characters in macros to prevent crash.

    CODECHECK

    • Ignore standard libraries when testing for Identifier Reuse.
    • Corrected scripting error that can occur when scanning a file that overloads or overwrites an operator which also happens to be a special character when using regular expressions. This fix affected MISRA 2008 Rules 17-0-1, 17-0-2 and 17-0-3; MISRA 2004 Rules 20.1 and 20.2; and their All Check counterparts.
    • Changed virtalFunctionCallInConstructorDestructor.upl to a more strict interpretation of Effective C++.

    FORTRAN_PARSER

    • Fixed bug where array slice with default upper bound and a stride expression (e.g. 1::1) caused a syntax error. Changed type-text for ‘double precision’ variables to ‘double precision’ instead of just ‘double’.
    • Changed reference created for an item named in a DATA statement from a ‘set’ reference to a ‘set init’ relation. These items are no longer listed in the Uninitialized Item Report.
    • Made changes to improve the Uninitialized Items report.

    GENERAL

    • Recent Files/Projects and Getting Started – Fixed an issue where very long paths/names would cause the menu to be inaccessible.
    • Editor->Reload Prompt – Updated to allow users to Analyze the reloaded files.

    PROJECT

    • Change handling of MSVC C++ files to implicitly include project include paths.

    WEB_PARSER

    • For javascript, fixed syntax error for non-standard use of ‘char’ as a variable name.
    • For css, fixed bug where some url expressions could cause syntax errors.
    • For xml, fixed bug where CDATA sections could cause syntax errors.

    Build 727

    (Build b727) – 13 Jun 2014

    BUILDSPY

    • Fix for buildspy crash on files that take a long time to compile.

    C#_PARSER

    • Added debug output to monitor dll files being opened.

    FORTRAN_PARSER

    • Fixed crash that could occur parsing modules with ‘entry’ statements.

    GENERAL

    • Open Last Project – Functionality has been changed so that if the user closes a project from the File Menu and then closes Understand, Understand will not load a project (because there was no last project loaded) when starting next.

    GRAPHS

    • Added an option (right click menu) to show comments associated with the entity in the call, call by, and declaration graphs.
    • Fixed issue where entity context menu was not available on some graphs.
    • Added an option under Tools->Options->Graphs to turn off the animation in cluster graphs that occurs each time the graph changes.

    SEARCH

    • Find in Files – Updated the Directory Search to allow users to exclude directories from being searched.

    TOOLS

    • Fixed user tools issue where macros that were prefixes of other macros were not working correctly.

    WEB_PARSER

    • For css, made change to better handle unrecognized css3 at-rules.
    • For css, made changes to handle non-standard syntax where property declarations appear directly inside media rules.
    • For Javascript, made changes to handle non-standard syntax allowing multiple variables to be defined and initialized using ‘var {name1,name2…} = expr’.
    • For Javascript, made change to handle non-standard syntax where anonymous functions could be defined with just an expression for the function body.
    • For css, added support for keyframes animation rules.

    Build 726

    (Build b726) – 6 Jun 2014

    CODECHECK

    • Corrected reporting errors in MISRA 2008, rule 6-4-5; MISRA 2004, rule 15.2; and AllCheck script unconditionalStatementShallTerminateNonEmptySwitchClauses.upl
    • CodeCheck – Fixed potential loop/Analysis crash.

    GENERAL

    • Entity Locator – Fixed an issue with sorting dates not working correctly when the dates were only seconds apart. Also fixed the date compare so that = now works correctly.
    • Display the project configuration when a Visual Studio sln file is loaded.

    GRAPHS

    • Fix for issue on Mac where context menu in interactive graphs does not go away for subsequent clicks.

    JAVA_PARSER

    • Made change to avoid unnecessary rewriting of database information for library classes.

    PYTHON_PARSER

    • Made changes to avoid unnecessary file status checks when searching for imported files.

    TOOLS

    • Command Capture – Fixed a case where filenames with dashes were not creating links properly.

    WEB_PARSER

    • For css, made change to allow non-standard syntax with ‘+’ and ‘-‘ expressions in property values. Also, added column numbers to web language syntax error messages.
    • For web css, made change to allow non-standard syntax where property name is preceded by ‘* ‘.

    Build 725

    (Build b725) – 29 May 2014

    BOOKMARKS

    • Added an option to show the original indentation.

    CODECHECK

    • Added MIRSA 2008 rule 8-3-1 and All Check script `overridingVirtualFunctionsShallNotChangeDefaults.upl’ to CodeCheck.

    GENERAL

    • Fixed possible crash in new project wizard.

    PARSER

    • Fix minor memory leak in api function udbListEntityFree().
    • Fixed db corruption/read errors that occurred after reparse on some windows machines.

    PYTHON_PARSER

    • Made changes to improve parse speed.

    SEARCH

    • Find in Files – Fixed an issue where the Find button was not enabled correctly when there were no open files and Find In->Open Files is selected.

    TOOLS

    • User Tools – Fixed an issue where valid icon files were not being accepted as valid.

    Build 724

    (Build b724) – 26 May 2014

    ADA_PARSER

    • Fixed bug where the body and spec of a procedure with an ‘export_procedure’ pragma were not combined into a single database entity.

    ARCHITECTURE

    • Disable buttons in architecture builder when the action can’t be done (ex: only enable remove if item is selected in editable arch).

    CODECHECK

    • Corrected reporting errors in MISRA 2008, MISRA 2004 and All Check scripts.

    COMMANDLINE

    • In und, ensured that after “settings -metricmetrics all”, the metrics exported are sorted alphabetically (like from the gui). If metrics are listed out in the settings command, they will still be exported in the order listed.

    GENERAL

    • Entity Locator, CodeCheck Results Locator, CodeCheck False Positive Locator – Added the ability to allow negative searches. This is done by adding a ‘!’ before the filter. This will work for all Filter Pattern Syntax.
    • Selector – Updated to close all selected open files when the default close shortcut (cmd+w on Mac) is used even when the Selector is not in focus.
    • Dependency Browser – Added “Addr Uses” to the filter list.

    GRAPHS

    • Fix for cluster graphs nodes sometimes refusing to expand.
    • Fixed highlighting issues with entities inside of entity clusters in Architecture Dependency Graphs.
    • Enabled cluster options (inter child edges shown, aggregate edges) for entity clusters in Architecture Dependency Graphs.
    • Fixed an issue in architecture dependency graphs where edges between entities and architectures were sometimes aggregated to the file.
    • Fixed error in architecture depends, depends on, butterfly dependency graphs where file nodes vanished when clicked.
    • Fixed wheel zoom on graphs to work even when graph doesn’t have focus.

    PYTHON_PARSER

    • Improved parse speed on projects with a large number of source directories.

    SEARCH

    • Find in Files – Allow for specifying File Types in an “Open Files” search.
    • Entity Locator – Fixed an issue with filtering and sorting the file/entity dates.

    STRICT_PARSER

    • Fixed failure to begin analysis of header files.
    • Fixed bug in BOM detection.

    TOOLS

    • Command Capture Macros – Alphabetized Macros.
    • KeyBindings->User Tools – Fixed an issue where the names defined in the User Tools were not being escaped correctly (i.e. \t).
    • User Tools – Added the $CurArchitecture macro.

    Build 723

    (Build b723) – 19 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.

    COMPILERS

    • Add support for TI C55X c/c++ compilers.

    EDITOR

    • Fixed rich text indent and wrap issues.
    • Fixed find/replace incorrect case replacement.

    FAVORITES

    • Fixed the issue with Favorite items not showing properly.

    GENERAL

    • 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 722

    (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 721

    (Build b721) – 9 May 2014

    CODECHECK

    • Added new MISRA 2008 and All Check scripts.
    • Corrected reporting errors in Java naming convention scripts.
    • Corrected reporting errors in MISRA 2004, MISRA 2008 and All Check scripts.

    COMMANDLINE

    • When analyzing in und, warn users if a named root definition is missing, and stop analysis.
    • Added an option to und to add the files and file override settings from one database to another database. The format is “und add from.udb to.udb”.

    GENERAL

    • Fixed editor truncate column setting with automatic Fortran format detection.
    • Fixed extra save dialog when the option to save on application deactivation is enabled.
    • Fixed failure to load Fortran ‘free format file filter’ files in free format in the editor.
    • Fixed project settings persisting after cancelling the project settings dialog.

    GRAPHS

    • Zoom on graphs starts from the mouse position (like google maps).
    • Fixed Cluster Control Flow Graph display of multiple lines of comments.
    • Fixed control flow graph failure with the comment option enabled.

    WEB_PARSER

    • For Javascript, added full names for nested entities.

    SEARCH

    • Added an option to the entity filter (menu->Filter Unresolved Entities) to filter unknown/unresolved entities from the list.

    UPERL

    • Add $ref->macroexpansion to perl API.
    • Fix API lexer when accounting for macro expansion to not add 1 to the lexeme ending column.
    • Add uperl api function ->macroexpansion(), to return the expansion text of macro references.

    COMPILERS

    • Add support for the extension @interrupt in Cosmic compilers to appear between ‘static’ and the function type.

    FAVORITES

    • Fixed an issue with Open and Close all items sometimes not working with non project files.
    • Potential fix to an issue where a Favorite item is not shown but still exists.

    STRICT_PARSER

    • Added missing references to using directive declarations in function scope.
    • Fixed worker process crash on files containing a UTF-16 or UTF-32 byte-order-mark.

    UPY

    • Added Ref.macroexpansion() to the python api.
    • Updated python api documentation for db.close() to warn users that accessing objects belonging to that database after db.close() can cause a crash.

    Build 720

    (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.

    GENERAL

    • Enabled double-click toggling of expansion state, and standard keys (+/-/*/right/left/down/up) on tree views that didn’t yet support it.
    • Fixed project configuration progress dialog hang.

    METRICS

    • Add MaxEssential metric for c++ files and functions, c#, Fortran, Java, Pascal, Python, and web languages.
    • For Pascal metrics, fixed bug where Max and Sum metrics for Units did not include information from class methods. Also, removed all metric values for unknown and unresolved routines.

    STRICT_PARSER

    • Fixed clang static analyzer checks to search the project for includes when the option to search project includes is set.
    • Fixed incorrect Objective-C property and synthesized ivar reference scopes.

    Build 719

    (Build b719) – 29 Apr 2014

    ADA_PARSER

    • Fixed bug where sets of array components were sometimes recorded as uses if there were unknown types used in the array declaration.

    CODECHECK

    • Corrected reporting errors in MISRA 2008, MISRA 2004 and AllCheck scripts.
    • Fixed enumerator naming conventions check.

    EDITOR

    • 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.

    PERL

    • Changes to the c_function_compare.pl script. Thanks John M!

    STRICT_PARSER

    • Fixed call reference type to template type parameters.

    Build 718

    (Build b718) – 18 Apr 2014

    CODECHECK

    • Added new MIRSA 2008, MISRA 2004 and AllCheck scripts to CodeCheck.
    • Corrected reporting errors in MISRA 2008 and AllCheck scripts.

    EDITOR

    • Fixed regression in prompting to edit read-only files.

    GENERAL

    • Fixed possible crash when clicking on the ‘Analyze Changed Files’ tool button.
    • Fixed failure to center window navigator and editor companion popups over the main window. Updated window navigator layout. Fixed window navigator memory leak.
    • Keybindings – Updated to accept mouseclicks as shortcuts (not Left, Right or Middle).

    GRAPHS

    • Added a cluster control flow graph.

    SEARCH

    • Find in Files – Updated the Directory/Files section to default to the project directory if there is a project loaded.

    Build 717

    (Build b717) – 11 Apr 2014

    EDITOR

    • Revert preservation of /r/n in rich text copy. Use editor font size.
    • Fix for custom styles sometimes becoming uneditable.
    • Added option to disable preformatted white space in rich text copy. Use this option to work around broken HTML rendering in Microsoft Lync.

    GENERAL

    • 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 716

    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.

    STRICT_PARSER

    • Fixed calculation of PercentLackOfCohesion metric for Objective-C classes containing property declarations.

    TOOLS

    • 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 715

    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 714

    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.

    PYTHON_PARSER

    • Made changes to improve processing speed in two pass parse.
    • Fixed potential crash in analyzing older projects.

    STRICT_PARSER

    • Added missing implicit destructor calls for automatic member variables.

    Build 713

    C#_PARSER

    • 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.

    STRICT_PARSER

    • Added missing calls to operator new and operator delete.
    • Added missing references for out-of-line template class member function definition parameter lists.

    Build 712

     

    (Build b712) – 7 Mar 2014

    PARSER

    • Fix c++ resolve of template static functions.

    PYTHON_API

    • Fixed memory leaks in Python API.

    PYTHON_PARSER

    • Fixed bug where circular imports between files where one of the imports occurs inside of a function could cause unknown or unresolved entities to be created.

    STRICT_PARSER

    • Added missing throw and exception spec freetext.
    • Fixed range of unnamed catch variables in control flow graph.

    UND_COMMANDLINE

    • Fixed an issue with adding directories with NamedRoots to a project.

    Build 711 and Earlier

    (Build b711) – 28 Feb 2014

    CODECHECK

    Improve codecheck performance.
    Add option to allow multi-dimensional arrays when checking for pointer indirection.
    Results Locator – Fixed the csv export to export the file name formatted correctly.

    GENERAL

    View Dependencies – Added the Typedef entity type to the dependency types.
    Fixed periodically increasing idle memory usage introduced in build 710.

    PARSER

    Fix crash in python and web incremental resolve.
    Changed macro #undef reference kind to set.

    STRICT_PARSER

    Fixed call kind to virtual destructors in delete expressions.

    (Build b710) – 22 Feb 2014

    EDITOR

    Avoid translating \r\n to \n in rich text copy.

    FORTRAN_PARSER

    Fixed syntax errors on Intel Fortran binary constants and C style string literals.

    GENERAL

    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.

    SEARCH

    Replace in Files – Added the ability to directly commit changes from the “All Changes Resolved” dialog box.

    (Build b708) – 7 Feb 2014

    ADA_PARSER

    Fixed bug where a type declared as “access T’class’class'” caused a syntax error.

    BUILDSPY

    Fixed errors on very large compile command lines.

    CODECHECK

    Added CodeCheck menu option to allow the user to Analyze and Run CodeCheck.

    COMMANDLINE

    Add/Remove from a file list – Fixed an issue where a filename containing a # would not be added/removed from a specified file list.

    GENERAL

    Instant search – Respect rich text selection and highlight color settings.
    RichText Color Highlights and Color Selection – Combined the various separate RichText Highlights and Color Selections. This is found in the Tools – User Interface (RichText) instead of the various located in Tools – User Interface – Windows.

    JAVA_PARSER

    Fixed invalid syntax error for trailing semicolon on resource declarations in try-with-resources statement.

    PYTHON_PARSER

    Fixed bug where relative imports of packages did not work correctly.

    SEARCH

    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.

    (Build b707) – 30 Jan 2014

    C#_PARSER

    Improved error message for attempting to open 64 bit dll file.
    Fixed problem where dll file reading could fail for some dll files, resulting in invalid missing type and namespace warnings.

    STRICT_PARSER

    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.

    COMPILERS

    Add support for TI C55X c/c++ compilers.

    EDITOR

    Fixed rich text indent and wrap issues.
    Fixed find/replace incorrect case replacement.

    FAVORITES

    Fixed the issue with Favorite items not showing properly.

    GENERAL

    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.

    GENERAL

    Enabled double-click toggling of expansion state, and standard keys (+/-/*/right/left/down/up) on tree views that didn’t yet support it.
    Fixed project configuration progress dialog hang.

    METRICS

    Add MaxEssential metric for c++ files and functions, c#, Fortran, Java, Pascal, Python, and web languages.
    For Pascal metrics, fixed bug where Max and Sum metrics for Units did not include information from class methods. Also, removed all metric values for unknown and unresolved routines.

    STRICT_PARSER

    Fixed clang static analyzer checks to search the project for includes when the option to search project includes is set.
    Fixed incorrect Objective-C property and synthesized ivar reference scopes.

    (Build b719) – 29 Apr 2014

    ADA_PARSER

    Fixed bug where sets of array components were sometimes recorded as uses if there were unknown types used in the array declaration.

    CODECHECK

    Corrected reporting errors in MISRA 2008, MISRA 2004 and AllCheck scripts.
    Fixed enumerator naming conventions check.

    EDITOR

    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.

    PERL

    Changes to the c_function_compare.pl script. Thanks John M!

    STRICT_PARSER

    Fixed call reference type to template type parameters.

    (Build b718) – 18 Apr 2014

    CODECHECK

    Added new MIRSA 2008, MISRA 2004 and AllCheck scripts to CodeCheck.
    Corrected reporting errors in MISRA 2008 and AllCheck scripts.

    EDITOR

    Fixed regression in prompting to edit read-only files.

    GENERAL

    Fixed possible crash when clicking on the ‘Analyze Changed Files’ tool button.
    Fixed failure to center window navigator and editor companion popups over the main window. Updated window navigator layout. Fixed window navigator memory leak.
    Keybindings – Updated to accept mouseclicks as shortcuts (not Left, Right or Middle).

    GRAPHS

    Added a cluster control flow graph.

    SEARCH

    Find in Files – Updated the Directory/Files section to default to the project directory if there is a project loaded.

    (Build b717) – 11 Apr 2014

    EDITOR

    Revert preservation of /r/n in rich text copy. Use editor font size.
    Fix for custom styles sometimes becoming uneditable.
    Added option to disable preformatted white space in rich text copy. Use this option to work around broken HTML rendering in Microsoft Lync.

    GENERAL

    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.

    STRICT_PARSER

    Fixed calculation of PercentLackOfCohesion metric for Objective-C classes containing property declarations.

    TOOLS

    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.

    PYTHON_PARSER

    Made changes to improve processing speed in two pass parse.
    Fixed potential crash in analyzing older projects.

    STRICT_PARSER

    Added missing implicit destructor calls for automatic member variables.

    (Build b713) – 14 Mar 2014

    C#_PARSER

    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.

    STRICT_PARSER

    Added missing calls to operator new and operator delete.
    Added missing references for out-of-line template class member function definition parameter lists.

    (Build b712) – 7 Mar 2014

    PARSER

    Fix c++ resolve of template static functions.

    PYTHON_API

    Fixed memory leaks in Python API.

    PYTHON_PARSER

    Fixed bug where circular imports between files where one of the imports occurs inside of a function could cause unknown or unresolved entities to be created.

    STRICT_PARSER

    Added missing throw and exception spec freetext.
    Fixed range of unnamed catch variables in control flow graph.

    UND_COMMANDLINE

    Fixed an issue with adding directories with NamedRoots to a project.

    (Build b711) – 28 Feb 2014

    CODECHECK

    Improve codecheck performance.
    Add option to allow multi-dimensional arrays when checking for pointer indirection.
    Results Locator – Fixed the csv export to export the file name formatted correctly.

    GENERAL

    View Dependencies – Added the Typedef entity type to the dependency types.
    Fixed periodically increasing idle memory usage introduced in build 710.

    PARSER

    Fix crash in python and web incremental resolve.
    Changed macro #undef reference kind to set.

    STRICT_PARSER

    Fixed call kind to virtual destructors in delete expressions.

    (Build b710) – 22 Feb 2014

    EDITOR

    Avoid translating \r\n to \n in rich text copy.

    FORTRAN_PARSER

    Fixed syntax errors on Intel Fortran binary constants and C style string literals.

    GENERAL

    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.

    SEARCH

    Replace in Files – Added the ability to directly commit changes from the “All Changes Resolved” dialog box.

    (Build b708) – 7 Feb 2014

    ADA_PARSER

    Fixed bug where a type declared as “access T’class’class'” caused a syntax error.

    BUILDSPY

    Fixed errors on very large compile command lines.

    CODECHECK

    Added CodeCheck menu option to allow the user to Analyze and Run CodeCheck.

    COMMANDLINE

    Add/Remove from a file list – Fixed an issue where a filename containing a # would not be added/removed from a specified file list.

    GENERAL

    Instant search – Respect rich text selection and highlight color settings.
    RichText Color Highlights and Color Selection – Combined the various separate RichText Highlights and Color Selections. This is found in the Tools – User Interface (RichText) instead of the various located in Tools – User Interface – Windows.

    JAVA_PARSER

    Fixed invalid syntax error for trailing semicolon on resource declarations in try-with-resources statement.

    PYTHON_PARSER

    Fixed bug where relative imports of packages did not work correctly.

    SEARCH

    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.

    (Build b707) – 30 Jan 2014

    C#_PARSER

    Improved error message for attempting to open 64 bit dll file.
    Fixed problem where dll file reading could fail for some dll files, resulting in invalid missing type and namespace warnings.

    STRICT_PARSER

    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.

    GENERAL

    Bookmarks – Added a dimple option to turn on/off the doubleclick “Copy to Clipboard” feature.

    PYTHON_PARSER

    Option changes – Allow user to specify the Python executable.

    WEB_PARSER

    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.

    PASCAL_PARSER

    Fixed bug where some constant declarations as class fields caused syntax errors.

    PERL

    Enhance recursive_includes.pl – thanks Andrzej

    STRICT_PARSER

    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.

    METRICS

    Configure Metric Charts – Added Assembly files and Python files, classes, functions to the filters.

    SEARCH

    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.

    C#_PARSER

    Added support for ‘asynch’ methods and ‘await’ expressions.

    CODECHECK

    Only check active code for multiple exit points.

    FORTRAN_PARSER

    Added support for predefined macros __LINE__, __FILE__, __DATE__, __TIME__.

    FUZZY_PARSER

    Fix crash in c++ fuzzy parser handling preprocessor ## command without arguments.

    GENERAL

    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.

    STRICT_PARSER

    Fixed crash on UTF encoded files with a byte order mark.

    WEB_PARSER

    For Javascript, added option to search javascript strings for javascript entity names.
    Fixed syntax error for Php string cast with mixed case ‘string’ keyword. Fixed syntax error for css nth-child selector.

    (Build b695) – 22 Nov 2013

    ADA_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.

    STRICT_PARSER

    Analyze header files that aren’t included anywhere.

    (Build b692) – 1 Nov 2013

    C#_PARSER

    Removed processing file messages for standard library files on non-windows systems.

    COMMANDLINE

    Fixed C++ maximum file size option.

    EDITOR

    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.

    STRICT_PARSER

    Fixed incorrect built-in resource header lookup on Linux.
    Added sysroot option.

    VISUALSTUDIO

    Add support in MSVC 2010/2012 import projects for SolutionName, SolutionPath, SolutionFileName and SolutionExt.

    (Build b690) – 18 Oct 2013

    EDITOR

    Added option to print the date last modified instead of the current date in printouts.
    Wrap file name in printouts instead of truncating with ellipsis.

    GRAPHS

    Entity Cluster Graph: Fixed an issue where predeclared entities were causing false dependency links.

    INFOBROWSER

    Fixed copy text for metrics fields in the architecture info browser.

    JAVA_PARSER

    Fixed invalid syntax error for multiple statement labels on one statement. Also, made change to ignore decompiler generated ‘goto’ statements.
    Fixed crash handling classes that extend classes with the same name.

    PYTHON_PARSER

    Improved handling of imports of missing packages.

    (Build b689) – 12 Oct 2013

    FORTRAN_PARSER

    Fixed syntax highlighting of Fortran continued strings.
    Removed false dependency for Fortran IoUnit In Dependency Graphs.

    GENERAL

    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.

    C#_PARSER

    For C#, fixed random crash parsing instantiations of generic methods nested in generic classes.

    FORTRAN_PARSER

    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.

    SEARCH

    Add jQuery Selectors locator filter.

    (Build b685) – 13 Sep 2013

    GENERAL

    Added context menu item to copy entity full name.
    Open configuration dialog with previous option selected.

    GRAPHS

    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.

    (Build b684) – 9 Sep 2013

    ADA

    In Configuration Ada Options – Fixed issue where new project ada option standard library directory was blank.

    COBOL_PARSER

    Fixed possible crash analyzing empty files.

    GRAPHS

    Added a ‘View Dependency’ Button to allow users better access to the dependency browser while viewing graphs.

    PROJECT

    Add support for simple wildcards in extension-to-filetype mappings

    (Build b683) – 6 Sep 2013

    ADA

    Allow creation of api lexers for ada standard files
    Project Configuration – Updated the Ada Options – Standard Directory to be an empty directory if the user desires it.

    GENERAL

    Getting Started Page – Fixed issue with displaying the RSS News.
    Bookmarks – Added the project name to the Bookmarks title to distinguish between two released bookmark windows.

    GRAPHS

    Remove old control flow graph. Change name of beta control flow graph to not show beta anymore.

    INFOBROWSER

    Add Require/Required By IB fields and graphs for javascript Node.js code.

    STRICT_PARSER

    Respect the macro expansion truncation option.

    WEB_PARSER

    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”.

    PYTHON_PARSER

    Added some statements to the beta control flow graph.

    STRICT_PARSER

    Fixed info browser parameters field for unresolved functions.

    (Build b680) – 16 Aug 2013

    GENERAL

    Fixed issue saving printer-specific paper sizes.
    Remember print settings when printing from the editor.

    GRAPHS

    Fix some cases where the entity name didn’t show in the control flow graphs.
    Change color for clusters in Control Flow Graph.

    REPORTS

    Added a report option “Index by method name” to allow sorting of entities by short name.

    STRICT_PARSER

    Added missing references to return and parameter types in friend function declarations.
    Fixed issue displaying template names in analysis log notes.

    WEB_PARSER

    Fixed bug where some DOCTYPE declarations caused invalid syntax errors.
    Fixed bug where keywords used as properties caused syntax errors. Fixed bug where ‘let’ statement caused syntax errors. Fixed bug where ‘get’ and ‘set’ accessor declarations caused syntax errors.

    (Build b679) – 13 Aug 2013

    EDITOR

    Fixed brace highlight for closing braces followed by comment.

    STRICT_PARSER

    Fixed broken line count metrics.

    (Build b678) – 9 Aug 2013

    EDITOR

    Fixed auto-indent issues within C multi-line comments.

    FORTRAN_PARSER

    Fixed a couple of problems with the beta control flow graph in fixed format files.

    GENERAL

    Fixed possible auto-complete hang.
    Fixed the issue when focused in a released window, these key bindings did not work: Window Selector, Project Browser, Info Browser, Entity Locator, Arch Browser, CIS
    Added improved selection and copy actions to instant search results pane.
    Updated text for the list of found header files from “Missing Header Files Found” to “Header Files Found”.

    REPORTS

    Added “Display entity name parameters” option that will changed the entity name in the reports to show parameters if available.

    STRICT_PARSER

    Added missing references to template parameter dependent type names in construct expressions.

    WEB_PARSER

    For javascript, fixed bug where some method references were not correctly combined with the method declaration and resulted in ‘unresolved function’ entites.

    (Build b677) – 26 Jul 2013

    FORTRAN_PARSER

    Fixed a few parser memory leaks.
    Fixed a couple of problems with the Fortran beta Control Flow graph.

    GENERAL

    Added an “Expand All by Default” option in the Find in Files Result Window dimple menu. This will automatically expand all the results when new results are added to the Result Window.

    (Build b676) – 19 Jul 2013

    FORTRAN_PARSER

    Made fixed format fortran column numbers on lines beginning with tab characters agree with column numbers generated by fortran parser.

    GENERAL

    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.

    GRAPHS

    Add support for creating Depends graphs via ->draw()
    Fixed bug introduced in previous build in displaying Shift-JIS source in flowchart graphs

    METRICS

    For Fortran metrics, fixed bug where path count and essential complexity could be incorrect for routines that contain ‘where’ statements.

    UND

    Fixed an issue where if the file does not exist and the supplied name is not the correct case on windows, the file was not being removed. It will now be removed.

    VISUALSTUDIO

    Add support for property sheet user macros in MSVC 2010/2012 projects

    (Build b674) – 5 Jul 2013

    ADA_PARSER

    Fixed a bug where parameters of ‘separate’ local procedures were not merged with the parameters from the spec and stub.

    C/C++_PARSER

    Fix c++ lazy include option to support relative and named-root projects.

    COBOL_PARSER

    Fixed regression in copying copybooks containing picture clauses multiple times.

    FAVORITES

    Added a persistent dialog box to inform the user when the database is locked, Favorite settings are not saved.

    GENERAL

    Browse Metrics right click menu item added for Entities and Architectures. This will open a new Metrics Browser with the current Entity/Architecture selected.

    GRAPHS

    Change upl graph api so that ->node() always creates new nodes and no longer looks up existing nodes.

    PROJECT

    Fixed handling named-roots or relative mode in a watched directory on Mac.

    STRICT_PARSER

    Added missing references in array size expressions.

    (Build b673) – 28 Jun 2013

    BUILDSPY

    Fixed failure to add source file to the project when the output object file name appears after the source file on the command line.

    COMMANDLINE

    Fixed an issue with not being able to remove individual files via the command line.

    EDITOR

    Improve editor performance when loading very large files by measuring line widths asynchronously.
    Added option to print the absolute file name in source code printouts.

    PASCAL_PARSER

    Control flow graphs, fixed bug where statements split over multiple lines with // comments ending lines were being combined into a single line in the control flow graph.

    PROJECT

    Show diagnostic summary during analysis.
    Fixed copy shortcut issue in build 672.
    Change error text message for files too large to parse.

    STRICT_PARSER

    Fixed regression in build 672 related to static data member declarations resolving with other references.

    (Build b672) – 23 Jun 2013

    COBOL_PARSER

    Fixed recognition of DBCS nonnumeric literals. Fixed parse error on ‘EXEC SQL DECLARE …’ statements that appear in the data section.

    CODECHECK

    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.

    FORTRAN_PARSER

    Fixed problem where auto format determination mode sometimes used the wrong truncate column.

    GRAPHS

    Fix potential crash in declaration graphs.

    PROJECT

    Fixed analysis log copy shortcut to copy all selected lines.
    Fixed an issue when rescanning project directories, excluded files are inserted back into the project.

    PYTHON_PARSER

    Fixed some problems with package imports.
    Fixed a problem with import search order when a package and module have the same name.

    STRICT_PARSER

    Fixed duplicate tokens in macro expansion text.

    UNDERSTAND

    Released Windows – Fixed potential issue with the context menu icon not appearing in the correct location.

    (Build b670) – 14 Jun 2013

    C#_PARSER

    Fixed several parser memory leaks.

    C/C++_PARSERS

    For Fuzzy and Strict Parser, Improve search algorithm when locating c++ includes files with the option ‘Search for include files among project files’

    GENERAL

    Remove undlegacy. Users using the old command line options can contact support if migration help is needed.
    Update current location when moving forward or backward through history.

    GRAPHS

    Don’t generate expand/collapse controls in graphs exported to Visio

    JAVA_PARSER

    Added command line debug option to print jar file contents.

    PYTHON_PARSER

    Made change to correctly handle direct import of a package.
    Removed Python package dependencies to external packages.

    STRICT_PARSER

    Fixed override references from specialized member functions to the overridden template.

    (Build b669) – 8 Jun 2013

    CODECHECK

    Add complexity check for python

    COMMANDLINE

    Added relative and named root portability for synced visual studio files.

    GENERAL

    Fixed crash in project configuration when selecting a file imported from msvc with an unknown file type.

    METRICS

    For C#, added CountLinePreprocessor metric.
    For C#, added CountLineInactive metric.

    PARSER

    Create entities of kind ‘unparsed file’ for project files that are not of a parseable type.

    PROJECT

    Force .h files in fortran visual studio projects to be treated as fortran files, not c header files

    STRICT_PARSER

    Fixed issue on Windows with looking up missing includes from project files when the include contains a directory separator.

    UPERL

    Add new $ref->lexeme() command.

    VISUALSTUDIO

    Fix bug importing MSVC 2010/2012 projects with source file specifications that include the metadata AdditionalIncludeDirectories or PreprocessorDefinitions.

    (Build b668) – 3 Jun 2013

    STRICT_PARSER

    Fixed non-deterministic analysis of headers on Windows.

    (Build b667) – 31 May 2013

    C#_PARSER

    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.

    INFOBROWSER

    Add ‘Globals Used’ IB field to Fortran

    METRICS

    For VHDL, added missing ratio of comment to code project metric.

    STRICT_PARSER

    Mark C function linkage in strict analyzer.
    Restore diagnostic messages in non-project headers the first time they’re included.

    VHDL_PARSER

    Fixed subprogram lookup at calls that pass literal arguments.

    (Build b665) – 17 May 2013

    CODECHECK

    Add new codecheck script to find uninitialized variables in C/C++

    COMMANDLINE

    Remove unused und option CreateReferencesToNonMacrosDuringMacroExpansion

    FORTRAN_PARSER

    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

    GENERAL

    Fixed editor popup widgets appearing on the wrong monitor in multi-monitor environments.

    GRAPHS

    Add new beta Control Flow graph for most languages

    METRICS

    For C#, added new metrics: CountDeclInstanceVariableInternal, CountDeclInstanceVariablePrivate, CountDeclInstanceVariableProtected, CountDeclInstanceVariableProtectedInternal, CountDeclInstanceVariablePublic, CountDeclMethodInternal, CountDeclMethodProtectedInternal.

    PARSER

    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.

    (Build b660) – 19 Apr 2013

    DEPENDENCY BROWSER

    Fixed an issue with non global variable dependencies in php files.

    GENERAL

    Remember printer page settings.
    Fixed issue adding excluded files to project from project browser.
    Fixed performance issues related to identifying the language (C/C++/ObjC/ObjC++) of header files (.h) in the editor.

    PARSER

    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.

    SEARCH

    Entity Locator, Fixed a crash when sorting on “Declared In”.

    (Build b659) – 12 Apr 2013

    COMMANDLINE

    Fixed bug where project browser data could be lost during analyze.

    GENERAL

    Tools->Options->Key Bindings, Fixed issues with keybindings retaining their modified values when Cancel/Esc/X is used.
    Project->Config, Fixed a UI issue – MoveUp and MoveDown buttons were being displayed on the text replace pages.
    Added the toggle ability to the bookmark shortcut.
    Fixed regression in reading files containing null characters (e.g. UTF-16 encoded).

    PARSER

    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.

    (Build b657) – 29 Mar 2013

    CODECHECK

    Add option to ignore virtual functions when testing for uncalled functions

    COMMANDLINE

    Und – import macros file issue fixed.

    EDITOR

    Added C++11 keyword highlighting in editor.

    GENERAL

    Added menu links for CodeCheck and Annotations.

    INFOBROWSER

    Windows only, Updated the left and right arrow keys in windows versions of Understand to behave like the other display trees (e.g. Dependency Browser).

    METRICS

    Added the Preprocessor line count in the summary views.

    PARSER

    Fortran, fixed invalid syntax error on some uses of INTERFACE TO SUBROUTINE.
    C++ Improved handling of template classes in MSVC headers in fuzzy parser
    Web, For Javascript, fixed bug where a variable declaration initialized to an anonymous function sometimes caused following declarations to not be recognized.
    Cobol, Fixed possible analysis errors in some IBM COBOL EXEC statements.
    Fortran, fixed invalid syntax error in select case statements where the case selector begins with ‘:’.
    Strict Parser, Changed scope of macro references in the strict analyzer to match the fuzzy analyzer.
    Strict Parser, Improved strict analyzer performance slightly.
    Cobol, Fixed COBOL analyzer crash.
    Fortran, added kind text to type text stored for variable declarations.

    PROJECT

    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

    REPORTS

    Removed some java ‘bean’ methods from the Unused Program Unit report.

    (Build b656) – 23 Mar 2013

    CODECHECK

    CodeCheck for Java, changed Unused Methods script to filter out override relations.

    GENERAL

    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).

    GRAPHS

    Change UML Class Diagram to fully handle Ada Tagged types. Also change to top-down layout. Thanks Vinzent!
    Report graph script errors in a warning dialog.

    INFOBROWSER

    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.

    PROJECT

    Fixed spurious command line errors introduced in build 655.
    Fixed issue with Project Browser not always selecting file in the Graph drop down list.

    (Build b655) – 18 Mar 2013

    GENERAL

    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.

    GRAPHS

    For Ada, fixed error in Knot count metric and EssentialStrictModified complexity for if/elsif constructs.

    PARSER

    Fixed record object modify references in the strict analyzer.

    (Build b654) – 8 Mar 2013

    API

    Added .vdx export to Python API.

    CODECHECK

    Results -html exports by violation.

    COMMANDLINE

    Added notes associated with strict analyzer diagnostics.

    GENERAL

    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.

    LICENSING

    Add Windows 8 support for dongle licenses
    Fixed license server crash introduced in build 653.

    PARSER

    Cobol, Fixed several bugs in COBOL analyzer.
    C++ Fixed parsing of comma-separated member declarations in fuzzy parser
    C/C++ Fixed location of call references to conversion operators in the strict analyzer.
    Cobol Fixed resolve error for some COBOL paragraphs defined in copybooks.
    For Ada, fixed bug in EssentialStrictModified complexity metric where the metric value was low for routines that had ‘return’ statements inside control structures.
    For Ada, fixed parser crash introduced in build 653.

    REPORT

    dynamic dialogs – New Options for iReport added.

    SEARCH

    Find in Files – Fix issue where Next/Previous result button was not enabling properly.

    (Build b653) – 2 Mar 2013

    CODECHECK

    CodeCheck Results -html exports by file.
    Remove false positives from MISRA Check 3-3-2.

    GENERAL

    Fixed inactive region line mapping in split editor windows.
    Fixed possible crash related to context menu items executing after the resolve begins.

    PARSER

    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.

    SEARCH

    Fixed incorrect find-in-files highlight location for lines containing tabs.

    UPERL

    Add support for .vdx file format in uperl $ent->draw() method.

    USER_API

    Fixed constant values in user_api.h for UdbStatus and UdbToken.

    VISUALSTUDIO

    Handle quoted preprocessor definitions in MSVC 2010 project files.

    (Build b652) – 22 Feb 2013

    COMMANDLINE

    Und – Exclude feature in und was not working properly. Fixed.

    GENERAL

    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.

    REPORTS

    Added several Unused Entity reports for VHDL.
    Added Data Dictionary and File Contents reports for COBOL.
    Added API lexer for COBOL.

    UPERL

    Fix Control Flow graph and Unreachable code to handle switch statements with only one case with one line

    (Build b650) – 8 Feb 2013

    CODECHECK

    Change Dangling Else check to ignore inactive code

    GENERAL

    Fixed possible crash when visiting find-in-files results during database resolve.
    Removed superfluous warning when canceling the automatic analysis of an out-of-date example project.
    Added link to search for missing includes from parse log.
    Enabled the ‘Unresolved’ option for COBOL Perform/Perform By graphs.
    Moved instant search field label into field.
    Fixed editor URL syntax highlight for some languages.
    Understand – Project – Config – Missing Includes: Added an add all button for adding found directory paths in the search.
    Understand – Project – Config – Missing Includes: Optimized the adding of directory paths.
    Fixed possible crash after analysis.

    GRAPHS

    Fixed possible crash after analysis with open graph windows.
    Understand – Graph – Architecture – reference counts on the Butterfly-Dependency Graph do not repeat.

    PARSER

    Fortran, fixed bug where macro uses with arguments could cause invalid syntax errors.
    Fixed incorrect function line count metrics from the strict analyzer when the return type is expanded from a macro.
    C#, fixed bug where attribute arguments that used ‘argument-name :’ syntax caused syntax errors.
    For strict analyzer, fixed kind of unresolved (template parameter dependent) member function references from Deref Call to Call.

    PROJECT

    Fixed possible crash when restarting analysis after choosing to restart every time without prompting.
    Fixed issue saving the strict analyzer MSC version option.

    UPERL

    Handle ‘do’ keyword in Ada control flow graphs
    Fix bug in Ada Control Flow Graph where programs with Exceptions didn’t always render correctly

    (Build b649) – 25 Jan 2013

    CODECHECK

    Checks that look for unused variables now also report unused parameters
    Fixed a potential crash when opening results.

    COMMANDLINE

    Improved parsing of command line options in und add command.
    Added support for auto-includes with the -include flag in buildspy and und.

    GENERAL

    Fixed issue related to some menu items failing to update correctly after project close.

    PARSER

    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.

    PROJECT

    Improve Project Accuracy – Undefined Macros: Opens the Undefined Macros dialog first (if no undefined macros exist, then the normal (strict) C++ Macros panel is shown).
    Improve Project Accuracy: – Missing Includes: Opens the Missing Includes Search dialog first.
    Fix error handling a file name case change in a watched directory on mac

    (Build b648) – 21 Jan 2013

    COMMANDLINE

    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.

    PARSER

    Fix resolve of c++ overloaded function declarations
    For c#, fixed bug where processing some self-referencing generic declarations caused out of memory errors. This bug was introduced in build 642.
    Improve python resolve of dynamic attributes

    PROJECT

    Fixed error loading the project browser from the menu.

    UPERL

    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.

    INFOBROWSER

    Fixed possible crash on database open with the information browser ‘File Sync’ option checked.

    PARSER

    For Jovial, fix crash recently introduced in jovial project overview graphs
    For Jovial, fixed bug where between file references resulted in unresolved entities.

    REPORTS

    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.

    (Build b643) – 7 Dec 2012

    ANNOTATIONS

    Fixed spurious errors when adding a new annotation file.

    GENERAL

    Project – ‘Improve Project Accuracy’ menu added. Menu items directly link to Configure Project – C++ Macros/Includes. Shortcut keys for the Macros/Includes can be set in Tools – Options – Keybindings.

    GRAPHS

    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.

    REPORTS

    html report – prevent overwriting the sourcestyles.css file so users can customize the report presentation.

    TOOLS

    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.

    PROJECT

    Ignore case when sorting files in the Project Browser.

    SCRIPTS

    Fix comment display option in acf_ControlFlowTree.pl sample perl file.

    (Build b638) – 2 Nov 2012

    ANNOTATIONS

    Close annotation database files when they’re not being used.

    CODECHECK

    Fix ‘Use Const Whenever Possible’ script to handle member calls and sets

    EDITOR

    Understand – Tools – Options – allow more resizing with the settings dialog.

    GRAPHS

    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.

    SCRIPTS

    Changes to ac_text_calltree.pl to correctly handle duplicate call trees.

    SEARCH

    Fixed replace-in-files failure to replace with case-insensitive, whole words, wildcard, and regex options selected.

    TREEMAP

    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.

    EDITOR

    Fixed editor clipping issues related to drawing the end-of-line marker.

    GENERAL

    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.

    GRAPHS

    Fixed error where cluster call graphs didn’t escape the slashes in filenames.

    METRICS

    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

    UPERL

    Correctly handle implicit defaults in switch statements in Control flow graph and unreachable code.

    (Build b628) – 24 Aug 2012

    GENERAL

    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.

    METRICS

    Rewrite “Configure Metrics Charts” section
    For Python, added some additional metrics for classes and enabled the Class Metrics and Class OO Metrics reports.

    PARSER

    Fixed importing a Visual Studio C# project file.
    For Java, fixed some parser memory leaks.
    Fixed worker process crash on invalid Objective-C category implementation.

    REPORTS

    For Python and Java, added Class Metrics Report.

    (Build b627) – 18 Aug 2012

    ANNOTATIONS

    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.

    CODECHECK

    for ‘Prefer internal linkage over external whenever possible’ ignore C++ Constructors and Destructors

    COMMANDLINE

    Added c++ strict options to und.

    GENERAL

    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.

    CODECHECK

    Fix ‘Variables should be commented’ check to be more robust

    FAVORITES

    fix a potential crash when opening Understand project by double clicking a .udb file.

    GRAPHS

    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

    EDITOR

    Added ‘jump to matching keyword’ editor functionality for JOVIAL begin/end blocks.

    GENERAL

    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.

    (Build b622) – 15 Jul 2012

    CODECHECK

    Add documentation for exception field to 5.7 Identifier Reuse CodeCheck script

    EDITOR

    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.

    METRICS

    C/C++, Change cyclomatic complexity calculation to include count of catch statements

    PROJECT

    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.

    (Build b619) – 30 Jun 2012

    API

    Add uninitialized_items Perl API sample script.

    GRAPHS

    Fix c++ file declaration graph to show contents of namespaces.
    Control Flow – Improve how comments are handled. Add alignment options.

    SEARCH

    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.

    (Build b616) – 15 Jun 2012

    API

    Added udbEntityNameRelative() function to public C API.
    Added annotations to python api.
    Added annotations to perl api.

    CODECHECK

    Fix to file import. Files are correctly selected.
    Results tree search fix.

    COMMANDLINE

    Added export includes and export macros options to und.
    Includes only show up with -verbose for the analyze command in und.

    EDITOR

    Fixed editor folding bug related to Ada block statements without a declare block. Added additional fold points for each begin keyword after a declarative block.

    GENERAL

    Restricted the “Getting Started” page to not show when -help or -visit is used in the command line.
    Removed the ‘Object’ entity filter and added ‘Root Call/Callby’ and ‘Root Classes’ filters for Java.

    GRAPHS

    Cleanup up Comment/Code display options in Control Flow graph.
    Fixed crash in arhitecture cluster call graphs.

    PARSER

    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.

    (Build b615) – 30 May 2012

    CODECHECK

    Potential fix for crash when closing CodeCheck while analyzing.

    COMMANDLINE

    Added UseStrict to list in und.

    GRAPHS

    Fixed entity cluster graph bug where static functions in a file were sometimes missing.

    PARSER

    Web, For web languages, made changes to improve entity resolve. This change improves speed of database lookup for web language entities, especially for methods such as __construct in php which are defined in muliple classes in the project. The change also allows javascript same named functions in different files to be kept as separate database entities with separate metric values.
    Fixed kind of const and volatile qualified member functions in the strict analyzer.
    For strict analyzer, avoid referencing anonymous record implicit constructor calls.
    For strict analyzer, fixed invalid member kind of classes containing semantic errors.
    For strict analyzer, added exe and decl code line count metrics.
    Web, For web languages, fixed bug where parse abort during dependency analysis didn’t stop the parse until dependency analysis was complete. Also, made changes to improve parse progress bar accuracy.
    For strict analyzer, added decl and exe statement count metrics.
    Added alt line count metrics for strict analyzer. Fixed some line count metrics to agree with fuzzy analyzer.
    Fixed possible strict analyzer worker process crash in files containing certain fatal errors.
    For strict analyzer, added paths, knots, and essential complexity metrics. Added some missing average count metrics.

    (Build b614) – 18 May 2012

    GENERAL

    Read Visual Studio project character set specification (unicode or multibyte) and set appropriate defines

    GRAPHS

    Fixed crash in entity-arch cluster graphs on rescan with reparse.

    INSTALLER

    For Windows remember the last path where Understand was installed and default to that location

    SEARCH

    Fix the Find in Files Search Type text. Increased the minimum size to accommodate the Mac layout.

    UPERL

    Fixed computed goto statements for Fortran in Control Flow chart.

    (Build b613) – 11 May 2012

    CODECHECK

    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.

    GENERAL

    Added key bindings to release/capture the active window.
    Fixed issue dispalying macro expansion hover text containing HTML special characters.

    METRICS

    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.

    (Build b611) – 30 Apr 2012

    GENERAL

    Release Understand 3.0.