Understand for Java
Build Change Log


1.4 (Build b444) - 04 May 2008

  • No Changes

1.4 (Build b443) - 27 Apr 2008

General

Parsing

  • Handle misformed line endings of CR-CR-LF as single lines instead of double lines.

1.4 (Build b442) - 17 Apr 2008

General


1.4 (Build b441) - 07 Apr 2008

Parsing

  • Changed count of 'MaxNesting' to not increase the nesting level for 'else if'. The counting method for 'else if' is now the same as in c/c++.

1.4 (Build b440) - 31 Mar 2008

  • No Changes

1.4 (Build b439) - 31 Mar 2008

  • No Changes

1.4 (Build b438) - 24 Mar 2008

  • No Changes

1.4 (Build b437) - 17 Mar 2008

Understand

  • Support source files with '[' and ']' characters in the names.

1.4 (Build b436) - 10 Mar 2008

  • No Changes

1.4 (Build b435) - 2 Mar 2008

Understand

  • Fix Windows 2000 SP4 crashes introduced in build 432.

1.4 (Build b434) - 25 Feb 2008

  • No Changes

1.4 (Build b433) - 18 Feb 2008

General

  • Understand 2.0 is now available for public Beta! To download go to http://www.scitools.com and click the beta button on the far right. We would love your feedback.

Scripts

  • Fixed bug where reference column locations were off by one when tabs were used on the source line.


1.4 (Build b432) - 11 Feb 2008

Scripts

  • Fixed bug where import and package statements did not count as Declarative Statements for files.
  • Fixed bug where constructor declarations were not being counted as 'Declarative Statements'.

Perl/C APIs

  • Fix uperl Draw() crash on linux

1.4 (Build b431) - 5 Feb 2008

General

  • On windows the applications are now installed in the pc-win32 subdirectory instead of pc-win95.

Understand

  • Add spacing options for graphs.
  • Fixed bug in parser where annotations used as element values in another annotation caused syntax errors.
  • Fixed crash on 'parse changed files'.

Scripts

  • Fix $lexeme->inactive() call.

1.4 (Build b430) - 24 Dec 2007

  • No Changes

1.4 (Build b429) - 17 Dec 2007

  • No Changes

1.4 (Build b428) - 10 Dec 2007

Understand

  • Changed graph names to Calls or Called By, for all languages
  • Fixed bug where a class import did not correctly hide a class with the same name in the same package as the importing file.


1.4 (Build b427) - 3 Dec 2007

  • No Changes

1.4 (Build b426) - 19 Nov 2007

General

  • There will be no build this week due to the Thanksgiving holiday. Thank you.

Understand

  • none

1.4 (Build b425) - 5 Nov 2007

General

  • Understand 2.0 is almost ready for Beta, and we are looking for volunteers to help us test it in the last stages of the Alpha. If you are interested, send us an email at support@scitools.com.

Understand

  • Use dec/hex hover setting for macros
  • Fixed bug where types visited in the ExternalsUsed->Types Info Browser field were not highlighted.

1.4 (Build b424) - 29 Oct 2007

  • No Changes

1.4 (Build b423) - 22 Oct 2007

Understand

  • Fix dynamic Calls in Info Browser; fix OverridenBy in Info Browser

1.4 (Build b422) - 15 Oct 2007

General

  • If you've installed build 420 or 421, please download and install this build to resolve some issues with the TrackBack integration. There was an error about sockets that appeared when backing up large files, and in some scenarios TrackBack could take a large percentage of CPU time when it was running in the background. These issues have both been fixed and we apologize for any problems they may have caused. If you uninstalled TrackBack because of these issues we urge you to try it again.
  • Added new FAQ item to website Is there any way that Understand for C/C++ can follow function calls via pointers?

1.4 (Build b421) - 8 Oct 2007

Understand

  • Control Flowchart: Add Overview mode that hides all text on the graph. Rename "Assembly" option to "Display Assembly"
  • Control Flowchart: Fixed issue where no condition in a loop exit caused an error

1.4 (Build b420) - 1 Oct 2007

General

  • TrackBack now included with Understand
    As part of our ongoing Maintenance, we are happy to announce that we are bundling a version of TrackBack together with Understand. TrackBack watches and backs up every change made in your source code. TrackBack is different from a CM tool in that it requires no checkin. TrackBack watches all changes and can tell you a complete history. It acts as an "undo" button - but for work done hours or days ago.
     
    The version included with Understand works just with Understand.  However, a separately purchased version can work outside of Understand as well. Learn more about TrackBack at http://www.scitools.com/products/trackback/product.php

1.4 (Build b419) - 17 Sep 2007

General

  • Attention U.S. Navy project Understand Users:

    We have been working on a Navy sponsored SBIR R&D effort for about 2 years now. Some of our recent advances to Understand and TrackBack were spun out of this R&D.   Understand 2.0 (which will soon be beta tested) and also new products Change, Measure, and Impact will also spin out of this R&D in the near future.

    We now have been nominated for a Commercial Pilot Program (CPP), which is awarded to companies with high commercialization potential of technologies of use to the Navy (and other services).  It is quite an honor, something like 20 companies out of around 2000 have made it this far.

    How you can help…  If you are working on a Navy program (either as a Navy civilian employee or at a prime contractor)  then the PEO who nominated us would appreciate additional affirmation that our technology is helping Navy projects.  E-mail Ken Nelson (nelson@scitools.com) to learn more about this and who to contact at the Navy SBIR office.


1.4 (Build b418) - 10 Sep 2007

  • No Changes

1.4 (Build b417) - 3 Sep 2007

Understand

  • Fixed a crash that occurred when reloading flowchart with nested switch statements.

1.4 (Build b416) - 27 Aug 2007

Understand

  • Bug fix: find in files in regex mode was not ignoring grayed out options.
  • The report generated index.html had unneeded tags at end of the file.
  • Allow include directories to support mapped drives at the top level.
  • Fix display of backslashes in graphs.
  • Copy-to-clipboard of perl graphs (Control Flow) will have a white background now.

1.4 (Build b415) - 13 Aug 2007

  • No Changes

1.4 (Build b414) - 6 Aug 2007

Understand

  • $CurEntityScope macro added.

Scripts

  • Added Gui::scope() perl method.

1.4 (Build b413) - 30 Jul 2007

Understand

  • Control Flow: Added option to display entity name in the start node.
  • Bug fix: Search and replace in a selection could hang app if selection ended with a replace.
  • Added display variable initialization values.

1.4 (Build b412) - 23 Jul 2007

Understand

  • External Editor now get column in range of 1..n, previous versions 0..n-1 which is much less common behaviour.

1.4 (Build b411) - 13 Jul 2007

Understand

  • The column number was not being passed correctly to a user defined editor, it was always 0.
  • Control Flow - collapse an empty case into the next case in a switch statement if collapse is on.

1.4 (Build b410) - 22 Jun 2007

Understand

  • The control flow graph uses uses ellipses instead of diamonds for looping structures.
  • Made change to calculate values for 'final' integer variables.

1.4 (Build b409) - 11 Jun 2007

Understand

  • Fixed bug where an 'implements' of an interface nested inside another interface did not always work correctly and could result in a missing type warning.

Scripts

  • Added 'instances' option to acjf_dead_code.pl to cause subprograms from generic instantiations to be analyzed. By default these entities are never considered as dead-code.

1.4 (Build b408) - 11 Jun 2007

Understand

  • Changed behavior so that adding graphic entity filters while graph filters are off will not cause graphs to be reloaded.

1.4 (Build b407) - 4 June 2007

General

  • We are getting near to the first alpha release of our 2.0 version of Understand, which will include the ability to analyze sources from multiple languages at once. We are still sorting out the intricacies of linking names between different languages, as this is highly compiler dependent. If you use multiple languages together we would appreciate getting details from you about which compilers you use, along with any relevant options that affect mixed language linking. As examples of the kind of information we are trying to find, some compilers require that you add "_" or other symbols to the front or end of your external symbols, or make them all lowercase, etc. Please send your linking details to support@scitools.com.

Understand

  • Fixed bug where types declared in project files and nested more that one level deep were not located in the dependency-determination phase.

1.4 (Build b406) - 28 May 2007

Understand

  • Bug fix: Typing in the editor when the cursor is scrolled off screen now jumps to the text that is being edited.

1.4 (Build b405) - 21 May 2007

Parsing

  • Fixed bug where refresh could miss some dependant files.

Understand

  • Fixed svg graph export for text containing reserved characters like & or <

Scripts

  • Added $ent->parsetime() to the api, which returns the last parse time of a file in the database.

1.4 (Build b404) - 29 April 2007

Scripts

  • Changed the $ent->ib() call name from Callbys to Called By for consistency.

1.4 (Build b403) - 21 April 2007

Understand

  • Crash fix: changing tab size or project tab size with a file open could lead to a later crash while editing or undoing changes
  • Change Control Flow graph to allow situations where a control structure is inside of a longer statement

License Manager

  • fixed repeating version number bug in Understand Licensing page


1.4 (Build b402, b401) - 14 April 2007

Understand

  • none
  • Fixed bug where static import on demands did not give visibility to classes in all contexts.


1.4 (Build b400) - 7 April 2007

Understand

  • Bug Fix: Using File Save as... on source files, and saving new untitled files with certain edit with replace tab options could have led to a crash.


1.4 (Build b399) - 31 Mar 2007

Understand

  • Crash Fix: Trying to open favorites list with no project open would have led to a crash
  • Fixed issue in flowchart where a colon starting a line was interpreted as a goto label instead of a continuation.
  • Fixed bug where static imports of classes did not give visibility to the classes in all contexts.


1.4 (Build b398) - 25 Mar 2007

Scripts

  • Categorize the scripts and add sorting to the Perl API page on www.scitools.com

1.4 (Build b397) - 17 Mar 2007

  • No Changes

1.4 (Build b396) - 10 Mar 2007

Understand

  • For all HTML reports, turn off document title setting for files since it was frequently displaying incorrectly.

1.4 (Build b395) - 3 Mar 2007

  • No Changes

1.4 (Build b394) - 27 Feb 2007

  • No Changes

1.4 (Build b393) - 18 Feb 2007

Understand

  • Fixed an issue where canceling a graphic print could crash Understand if the window was closed.

1.4 (Build b392) - 12 Feb 2007

Understand

  • Bookmarks now disabled when there is no project open.
  • Added a new print option to turn off the title header when printing a graphic.
  • Fixed crash when aborting a database open.

License Manager

  • Fixed issue introducted in build 391 that caused almhostid to throw an error on Windows 2000.

1.4 (Build b391) - 5 Feb 2007

Scripts

  • Add option to display multiple calls in optional GV Invocation graph.

Perl/C APIs

  • Added method $ent->value() to return the value associated with enumerators, initialized variables and macros.
  • Add tabstop parameter to $ent->lexer() method to set the size of the tab for the lexer.

License Manager

  • Added better support for multiple NICs on win32 platforms, almhostid will generate multiple IDs if there are multiple network cards and allow the user to select the most permanent card.

1.4 (Build b390) - 29 Jan 2007

  • No Changes

1.4 (Build b389) - Jan 23 2007

  • No Changes

1.4 (Build b388) - 15 Jan 2007

Understand

  • Fixed issue introduced in b386 that caused Understand to not run in Solaris.
  • Fixed bug in java path counting where the path count stopped at the first 'try' statement.

1.4 (Build b386) - 3 Jan 2007

General

  • Announcing TrackBack, a brand-new software development tool from Scitools. TrackBack is a new kind of personal change management tool. It watches and backs up all changes in your source tree so you can:
       * Protect yourself between CM check-ins.
       * Instantly see what changed, how it changed and when.
       * Recover all or parts of changes – from multiple versions of a file over time.
    We’ve received great responses from our beta testers.  One told us, "You don't realize how useful TrackBack is until you have it."  Another said, “I think you’ve identified a legitimate hole in the multitude of tools available, i.e. the gap between in-process code saving and periodic submission to a Version Control System.”  

    Learn more and download at http://www.scitools.com/trackback

  • We apologize for the lack of build notes over the past two months, our mail system crashed and reimplementing it with a new tool was much more difficult than we anticipated.
  • These build notes reflect all changes from build 381 to build 386.

Understand

  • Fixed crash that occurred when the user canceled a long 'open database' operation.
  • Fixed crash that occurred if floating license users did not immediately open a database.
  • Pressing Order/Pricing link with no database caused a crash, this is resolved.
  • Fixed crash when changing certain user preferences when no database was open.
  • If the Find dialog comes back with "not found",Understand now returns the focus back to find dialog instead of the file.
  • Fixed crash on report generation for database that has been created but never parsed.
  • Using find in files sometimes caused a crash if no project was open - resolved.
  • Adjusted single page graphics to scale correctly when printing.
  • Fixed an issue where the undo buffer was corrupted by a Search and Replace action inside a selected block.
  • Fixed bug where local variables with same name declared in different blocks of a method were sometimes mixed up with one another.
  • Fixed typo in java abstract public enumeration type definition. It was defined as 'enul' instead of 'enum'.

Scripts

  • _no_define_declare.pl - fixed case where an entity has no references, can be caused by include files not being added to the source list.
  • cj_highcomplexity.pl script - correctly handle odd case where "define in" reference can't be found

1.4 (Build b376) - 13 Oct 2006

General

  • Build Notice Problems... Notices since Build 365 - Build 373 were lost online due to build log script problems. I will re-do those and publish them to our build note archive.
  • Real Time Embedded Shows - We will be in the DC area presenting Understand at two real time embedded shows. You can see us and a few dozen other vendors demoing our wares at no cost. Details below:
    • Tuesday - 17 Oct - Patuxent River, MD - http://rtecc.com/paxriver/
    • Thursday - 19 Oct - Herndon, VA - http://rtecc.com/tysonscorner/

    Understand

    • Removed serialVersionUID from unused object report. This is used by the Java runtime system to keep track of versions of serializable classes.

    Scripts

    • _no_define_declare.pl - fixed case where an entity has no references, can be caused by include files not being added to the source list.

    1.4 (Build b375) - 6 Oct 2006

    General

    Understand

    • Crash fix - uncommon path lead to crash in file view when pasting in text
    • Crash fix: coding error, C files with https or ftp in a comment could have lead to a crash

    Scripts

    • C/C++ API: changed 'defined' to be a preprocessor token, not an identifier token.

    1.4 (Build b374) - 29 Sep 2006

    General

    Understand

    • Changed database version number. Existing projects will be re-parsed automatically.
    • Added: Java export metrics option, Show Parameter Profiles
    • Added repjava command line option -metrics_parameters [on/off] to control whether or not parameter profiles are included as part of method names in the metrics file. By default, parameter profiles are not included.

    1.4 (Build b373) - 29 Sep 2006

    General

    Understand

    • Crash Fix: trying to undock search results window during search could have caused a crash

    1.4 (Build b365) - 5 Aug 2006

    Parsing

    • Changed database version. Old projects will be re-parsed automatically.
    • Fixed bug where strict complexity was incorrect for methods with switch statements.
    • Added count semicolon (CountSemicolon) metric.

    Understand

    • Multi-language version of Understand could crash on database open if a valid license wasn't found for one of the languages being analyzed.
    • Bug Fix: X-Windows only. Print to page size for graphics was not fitting to page for last 2 releases.

    Scripts

    • Renamed c_delta.pl to acjf_delta.pl since it is compatible with Ada, Java and FORTRAN.

    1.4 (Build b364) - 14 July 2006

    Understand

    • Fixed bug in re-painting... on loading or updating main filter list there often appeared an un-painted rect area
    • Stopped annoying main window painting rect area from flickering on project open
    • Changed -ib command line command not to send error as it is always processed.
    • Added new entity right click menu items, Copy Name and Copy Fullname

    1.4 (Build b363) - 7 July 2006

    Parsing

    • Changed format of database unique names for entities for all languages/tools.

    Understand

    • Bug fix: on X-Windows choosing help from the tool configuration dialog would have caused a crash.; Floating help windows have been removed in favor of putting text into command output windows to avoid X-11 issues and native window issues such as MS-Windows copy text
    • Bug Fix: Printing graphics to a single fit page would not work correctly if the user had zoomed into the current graphic
    • Added new option for find in files out put; show file names as relative, if project files only search relative to project. otherwise relative the starting search dir
    • Fixed rounded-rectangle nodes output in SVG exported graphs.

    1.4 (Build b362) - 30 June 2006

    Parsing

    • Fixed crash parsing class files with an unexpected value for a constant pool tag. These files are now identified as 'corrupted' and skipped.

    Understand

    • Bug Fix: invoking source file Option "copy as html" with no selection could have caused an application crash.
    • Added to interactive reports options a file text box that enables file browsing.
    • Flow Charts (Control Flow Diagrams):
      • Change the way the flowchart displays Switch statements, instead of displaying them as If/Then structures it now shows more of an "Octopus" version of the switch with each case having it's own arm. Also added a default fallthrough if no default is specified.
      • Fixed issue where Nested Switch statements cause the wrong condition text to be passed to the outer loop
      • Fixed issue where Fallthroughs were not happening correctly.
      • Fix bug where one line Case statements were causing Understand to hang.
      • Fixed a bug where the default condition in a switch was not displayed correctly if there was a space between DEFAULT and the colon.

      1.4 (Build b361) - 16 Jun 2006

      Understand

      • Fixed crash in erasing of Locator Window
      • Fixed X-Windows only printing bug: choosing the setup button from the print dialog could have led to a crash
      • Bug Fix: Various issues with the User Tools Configuration dialog.

      Perl/C APIs

      • ajcf_unused.pl - updated to have a "-kind" argument which permits you to specify what kind of thing you want to check is unused. Added when customer requested to find unused "enumerators".

      1.4 (Build b360) - 6 June 2006

      Understand

      • DB format changed. Projects will be re-parsed automatically.
      • Bug Fix: Search output, if 1 occurrence was found in the last file listed the number given as found would be one off.
      • Fixed Visio generation of rounded rectangle nodes, which were being shown as rectangles, to show as ovals.

      1.4 (Build b359) - 3 June 2006

      Parsing

      • Fixed bug in java where 'class extends tree' was incomplete in html.

      Understand

      • Bug Fix: Graphic views, selecting open nodes from entity menu would pop up an uneeded guage for a short process
      • Fixed crash (SGI Irix specific), when right-click on graph node and choose 'Open Node'.

      1.4 (Build b358) - 26 May 2006

      Parsing

      • Added parse error messages to command line output.

      Understand

      • Bookmarks: New Main global boomkark menu item under search to clear all bookmarks in the entire project
      • Bug fix: Bookmarks window was not processing any keyboard shortcuts
      • Bug Fix: running a graphics Perl script could have caused a crash on a database reparse.
      • Changed UPL plugin scripts to be managed by case insensitive name.
      • Fixed bug in control flow chart exception parsing.
      • Fixed crash on command line 'undjava -version'.

      1.4 (Build b357) - 19 May 2006

      Understand

      • Bug Fix: Opening a recent project could have crashed at startup during 'opening previous files' phase if the project being opened had opened source files previously.
      • Bug in B356 where the newly introduced feature to turn off capture of Understand perl script output would not remember it state 
      • Fixed bug preventing multiple clusters in plugin graphs.
      • Control Flow Graph Fix: Avoid overrunning the end of the function if a parse error occurred

      License Manager

      • Add the ability for Checkins to record the amount of time that the license was checked out.

      1.4 (Build b356) - 12 May 2006

      Parsing

      • Control flow graphs:
        • Fixed bug in goto label parsing.
        • Fixed bug in node collapsing that could have caused the plugin to hang.

        Understand

        • Fixed possible crash on database error or missing license.
        • Bug Fix: Tool configuration dialog panels, use of the move up or down buttons could have led to a crash or corrupted tools.
        • Bug Fix: B353-355 Find and Find in Files in non regex mode would not yield proper results if a ( or ) was part of the search string

        Perl/C APIs

        • Uperl: added new option for i-reports to force initial options window to always display, never display, or allow the user to choose.

        1.4 (Build b355) - 5 May 2006

        Understand

        • Fixed potential crash in graphics re-layout when adjusting graphs with edge connector right click menus.
        • Changed "Run an understand script" so that capturing output is now optional.
        • User Tool configuration change: user tools that are Understand scripts can now optionally turn off output and show of command results window
        • Crash fix: some uses of right click menu in History toolbar button may have crashed.
        • Fixed bug in Control-Flow diagram when collapsing blocks containing array initialization (e.g. int foo[] = {1,2,3}).

        1.4 (Build b354) - 28 Apr 2006

        General

        • Fixed crashes on exit in Unix versions.

        1.4 (Build b353) - 21 Apr 2006

        Understand

        • Fixed initial option values in Interactive Reports.
        • Bug Fixes with regex searching: some regex strings searches yielded in-correct results. Now regex searches highlight matches in find and find in files

        Perl/C APIs

        • Fixed $ent->ib() which was crashing when no options were passed.

        1.4 (Build b352) - 14 Apr 2006

        General

        • Software Technology Conference, 1-4 May 2006

          We will be attending the Software Technology Conference in Salt Lake City, UT. If you will be attending, please drop by our booth. We have 25 complimentary exhibit passes, so if you are in Utah and want to attend then please e-mail us for passes.

          Ken Nelson will also give a short talk that he has tenatively titled "Novel uses for Static Analysis Tools". He has a few uses in mind drawn from customers he has dealt with over the years, but if you have an interesting non-typical use for Understand and don't mind being mentioned please e-mail him (nelson@scitools.com).

        Understand

        • General fix up of erase events to avoid potential crashes.
        • Control Flow Graphs - Added option to collapse simple sequential nodes.

        Scripts

        • Don't strip -debug from UPerl command line

        1.4 (Build b351) - 7 Apr 2006

        General

        • IMPORTANT:

          With this build we move our Solaris, SGI and HPUX ports to Solaris 8, IRIX 6.5, and HP-UX 11i. This means that the search path to the bin directory containing new binaries for B351 and later for these operating systems has changed:

          bin/hp700-hpux_11i
          bin/sgi-irix_6.5
          bin/sun4-solaris_8

          Please be sure to change your search paths to reflect the new location. If you don't and the old installations remain you will continue to run old software even if you update.

        Understand

        • Bug Fix: Left click of a graphic node opens source but may have not opened to corrent line/column.
        • Bug Fix: Installing a plugin script via the drag/drop installation would crash. B350 only
        • Bug fix: When showing graphical views in the window maximized mode, a left click in the window would not give focus to that window

        Perl/C APIs

        • Ada : Made change to store enumeration literal representation clause information. The specified value is now stored as free text and can be accessed with $ent->freetext("InitValue") (in the PERL API);

        1.4 (Build b350) - 31 Mar 2006

        General

        • Supported Platform Notices... With the next build (build 351) we will make changes to our supported platforms:
          • HP-UX 10.20 binaries will no longer be released. HP-UX 11i will be the new HP-UX platform.
          • Solaris 2.5.1 binaries will no longer be released. Solaris 8 and later will be the new supported Solaris platform.
          • Compaq (formerly Digital) Alpha OSF will no longer be a supported platform.

            We are making these changes so that we can advance the GUI and other portions of our tools using new toolkits and technologies that will not run on these older platforms.

            We don't want to cause anybody undue hardship. If these changes do, please contact us.

          Parsing

          • Fixed syntax errors on 8 bit characters as part of identifiers. The syntax errors could result in invalid metric values.

          Understand

          • Ctrl-Enter is equavalent to double click in the Entity Filter window lists.
          • Added "Cancel" option to dialog warning of attempting parse, running of a script, running of an external command, or user tool, without having saved all modified files.
          • Added Flowchart as new type of graphical view.

          Perl/C APIs

          • Changed entity->draw() to generate a graph, regardless of if an error occurred in parsing the option string. An error message is still returned.

          1.4 (Build b349) - 14 Mar 2006

          Understand

          • Bug fix: if option to show float text as status text was selected and a command results window was docked, app could have crashed at startup.
          • Bug Fix: B346/7 Locator Window did refresh on reparse without a resize.
          • Bug Fix: Docking redocking or undocking an empty Information broswer could have caused an application crash

          1.4 (Build b348) - 17 Mar 2006

          Understand

          • Bug Fix: Find in File * regex searches could have hung application
          • Bug Fix: When File titles shown as project relative, shown file titles were not updated after a project parse.
          • Bug fix: locator filename column option to show as short/rel/long was not being shown
          • Fixed bug where no 'endref' relation was created for the end of constructors.

          1.4 (Build b347) - 10 Mar 2006

          Understand

          • Fixed comment collection, broken in build 346.

          1.4 (Build b346) - 3 Mar 2006

          General

          • Supported Platform Notices... At the end of March 2006 we will make changes to our supported platforms:
            • HP-UX 10.20 binaries will no longer be released. HP-UX 11i will be the new HP-UX platform.
            • Solaris 2.5.1 binaries will no longer be released. Solaris 8 and later will be the new supported Solaris platform.
            • Compaq (formerly Digital) Alpha OSF will no longer be a supported platform.

            • We are making these changes so that we can advance the GUI and other portions of our tools using new toolkits and technologies that will not run on these older platforms.

              We don't want to cause anybody undue hardship. If these changes do, please contact us.

            Understand

            • Better handling of database read/write failures. These are unlikely to happen on local disks but could be more common if the database is located across a network. We don't recommend hosting databases across networks for performance reasons.

              Should a read/write failure occur a dialog will appear indicating so and asking to "Retry or Quit".
            • Bug fix: Data dictionary with included comments, included comments where not translated into proper html for confliction text/html <tags>
            • Bug Fix: All scripts plugins in some cases may have been turned off . New default is to have all installed scripts enabled.

            1.4 (Build b345) - 24 Feb 2005

            General

            • Supported Platform Notices... At the end of March 2006 we will make changes to our supported platforms:
              • HP-UX 10.20 binaries will no longer be released. HP-UX 11i will be the new HP-UX platform.
              • Solaris 2.5.6 binaries will no longer be released. Solaris 8 and later will be the new supported Solaris platform.
              • Compaq (formerly Digital) Alpha OSF will no longer be a supported platform.

              • We are making these changes so that we can advance the GUI and other portions of our tools using new toolkits and technologies that will not run on these older platforms.

                We don't want to cause anybody undue hardship. If these changes do, please contact us.

              Parsing

              • Improved parser speed when comment collection is enabled.

              Understand

              • Bug: external tools calling -entitymenu when entity not unique the filtering Locator window and an incorrect menu may have occured

              Scripts

              • Improved performance of language lexers, when associating entities. Times are 45-60% faster and memory usage is up to 25% less.

              1.4 (Build b344) - 17 Feb 2006

              General

              • Supported Platform Notices... At the end of March 2006 we will make changes to our supported platforms:
                • HP-UX 10.20 binaries will no longer be released. HP-UX 11i will be the new HP-UX platform.
                • Solaris 2.5.6 binaries will no longer be released. Solaris 8 and later will be the new supported Solaris platform.
                • Compaq (formerly Digital) Alpha OSF will no longer be a supported platform.

                • We are making these changes so that we can advance the GUI and other portions of our tools using new toolkits and technologies that will not run on these older platforms.

                  We don't want to cause anybody undue hardship. If these changes do, please contact us.

                Parsing

                • Fixed crash when using import on demand of static methods.

                Perl/C APIs

                • Added standard Data::Dumper module to our Understand module.

                1.4 (Build b343) - 10 Feb 2006

                General

                • Supported Platform Notices... At the end of March 2006 we will make changes to our supported platforms:
                  • HP-UX 10.20 binaries will no longer be released. HP-UX 11i will be the new HP-UX platform.
                  • Solaris 2.5.6 binaries will no longer be released. Solaris 8 and later will be the new supported Solaris platform.
                  • Compaq (formerly Digital) Alpha OSF will no longer be a supported platform.

                  Parsing

                  • Fixed more memory leaks.
                  • Fixed crash in parsing generic parameter declarations with more than one 'extends'.

                  Understand

                  • Changed Info Tree left click events, left click on header open/closes it, otherwise left click on +/-. This was in response to some negative feedback about the change we made to automatically expand sub-trees on left clicks.
                  • Bug Fix X-Windows only: user tools and options->Run a Commandlaunching an non-existing app in non-capture mode would have hung application
                  • Added 'Relative' choice to graphics 'Filename' option.

                  1.4 (Build b342) - 3 Feb 2006

                  Parsing

                  • Fixed various memory leaks.

                  Understand

                  • Bug Fix: new per filter options, when revisiting an altered option on the dialog, the alter result would not have been shown.
                  • Crash fix: Locator Window was allowed to be closed during a busy state causing a crash

                  Scripts

                  • 'uml.upl' - Added support for Java. Fixed some bugs. This is a script that draws UML class diagrams using our Understand plugin scripting technology. We consider this script more experimental now than generally releasable. Those who have it will want this update though. Grab it from the Perl Archive link on our home page.
                  • 'ada_flowchart.upl' - Fixed bug in parsing condition statements. Removed from nodes comments inside of statements.

                    This and a few other plugins will be officially released in B343's distribution ( as a standard part of the tool).

                  1.4 (Build b341) - 27 Jan 2006

                  Understand

                  • Right click over an entity now defaults to Find-In-File for the simplest entity name

                  1.4 (Build b340) - 20 Jan 2006

                  Parsing

                  • Added handling of java 1.5 'import static' statement. Previously, use of 'static' in an import statement resulted in a syntax error.
                  • Fixed crash on second parse of enum type within the same understand_java run.

                  Understand

                  • X-Windows/Unix Crash: Closing print dialog could crash application.
                  • Crash fix: closing app with run a command open, or some help dialogs app could have crashed.
                  • Enabled hover text information for entities in all filter tree types.
                  • Added Files Tree entity filter back into the Filter Tree. It is not shown by default.
                  • Returned Files filter to Tree view as the default.
                  • Entity trees: For example new filter entity trees, unresolved entities now shown in light blue
                  • Minor bug: Favorites tree, right click extreme right of an item would have brought up popup menu for favorite item, but if chosen would not execute.
                  • Favorites New name: now starts with current name as default.
                  • Bug Fix: mdi history arrows on toolbar default to source history when no window is shown, yet it was not right click enabled.
                  • Bug Fix: right click over a one item forward source history, menu would not be shown

                  Perl/C APIs

                  • Added preprocessor tokens to Ada lexer

                  1.4 (Build b339) - 15 Jan 2006

                  General

                  • Attention Solaris users…

                    We are currently porting Understand on Solaris 2.5.1, but this is becoming very difficult to maintain.  We would like to move our ports to Solaris 8.  This will likely mean that Solaris 2.5.x machines will not be able to run new versions of Understand or SourcePublisher.

                    If you are using Understand or SourcePublisher on Solaris please let us know if this porting change will cause problems.

                  • Attention HP-UX users…

                    We are currently porting Understand on HP-UX 10.20, but this is becoming very difficult to maintain.  We would like to move our ports to HP-UX 11.x.  This will mean that HP-UX 10.20 systems will no longer be able to run new versions of Understand or SourcePublisher.
                    If you are using Understand or SourcePublisher on HP-UX please let us know if this porting change will cause problems.

                  Understand

                  • Fixed various minor memory leaks associated with recent changes to Preferences dialog.
                  • Fixed possible crash when generating Visio output from plugin (upl) graph scripts.
                  • Source file history menu (right click mouse over arrow icons) now contains the scope name (most often function name) that the corresponding file/line/col was contained in at the time of reference. This only is shown when no files need to be re-parsed.
                  • Fixed bug with entity filter trees where hovering would bring up incorrect data.
                  • Bug Fix B336-338 it was possible to invoke multiple Option->Preferences dialog.
                  • Fixed minor bug where for new undockable filter windows, there best last location was not retained after a re-parse.
                  • Added fullname & tree options to many filters, accessible through Options->Preferences->EntityFilters.
                  • New Filter options: Filter options panel, select filter to change individual options.
                  • Fixed crash problem with B338 on Solaris only.
                  • Changed default setting for html and text report generation to html report on and text report off.

                  1.4 (Build b338) - 6 Jan 2006

                  Understand

                  • Bug Fix: [...] button on entity filters did not start the options dialog on the entity filters panel; When closing and opening the software Options dialog, the last selected options panel is now retained.

                  1.4 (Build b337) - 22 Dec 2005

                  General

                  • Added better database file locking to prevent database corruption and crashes.

                  Understand

                  • Display name/kind/description when opening an STI script file.
                  • Fixed minor bug (B336 on X-Windows only) where when closing the app may have sent an X warning to stdout.
                  • Changed X-Windows version software preference keyboard panel to make the event box active on select.
                  • Menu text change: change file items Save/Print as PDF to Save/Print to PDF report so as to better clarify what is being created.

                  Scripts

                  • butterfly.upl - Changed to sync clicks in graph nodes to entity instead of definition line.
                  • Added new user options panel named Scripts, list Interactive report scripts and graphic scripts to enable/disable

                  1.4 (Build b336) - 16 Dec 2005

                  General

                  • There will be no new build the week after Christmas or the week of New Year. The next build will be available Monday, January 9.

                  • Feedback/Comments needed... We are developing a coding style/quality/anomaly checking tool (called Improve) which we hope to release in the first quarter of 2006. Our first initial target languages are C/C++ and Ada. If your development group has a shareable coding standard that might hold some potentially automatable checks we can add to this tool we would really appreciate your sharing it with us.

                  Parsing

                  • Changed reference kind for calls to static, private, and final methods to 'call nondynamic'. Previously, these were recorded with a regular 'call' relation.

                  Understand

                  • Bug Fix: bringing up a docked command results window would not have shown [x] close without resizing.
                  • Fixed crash when selecting Options->GraphicalSettings, introduced in build 334.
                  • Bug Fix: Opening the locator after opening more than one recent project, may have lead to a crash in some instances.
                  • Changed format of Options->Preferences dialog to be a list/tree item select format vs tabs to better handle our expanding list of user options.
                  • Bug Fix: Closing application multiple times could lead to a crash on close (File->Exit or [x] to close main window).
                  • Added support for displaying dynamic calls and callbys in graphics.

                  Perl/C APIs

                  • Added ability to put text into the progress/status reporting for interactive reports.

                  1.4 (Build b335) - 9 Dec 2005

                  • No Changes

                  1.4 (Build b334) - 1 Dec 2005

                  Understand

                  • Added: Single Document Interface mode interactive reports windows now have toolbar
                  • Bug fix: interactive report windows in MDI mode where not properly updating the copy toolbar icon.
                  • Ireports improvements: Now has a history list last 10 kept.
                  • Fixed bug in IReports where if the viewed entity is removed during reparse now handled.
                    (Note - Ireports are interactive PERL scripts that plug into Understand's GUI).
                  • Interactive reports, new dynamic option, a single check box item.
                  • Interactive report windows: better options window placement, right click options menu, and now disabled on no options, reset background to default white on report clears, close new windows on abort, don't clear existing reuse windows until options are not canceled

                  Scripts

                  • New scripts - these are experimentally available on request (e-mail support).
                    • ada_flowchart.upl - draws logic flowcharts of program units
                    • butterfly.upl - shows call and callby trees for an entity on same graph
                    • file_deps.upl - shows all file dependencies on one graph (a dependence is a callby or use of a global)
                    • flowchart.upl - flowcharting of c/c++
                    • invocation.upl - shows all invocations in a project (could be big and slow)
                    • uml_class.upl - shows UML class charts of classes (or selected classes) in a project
                    • exceptions.upl - cross references exception use in Ada
                    • struct_report.upl - shows structures and where they are used
                    • var_init.upl - reports where variables are initialized


                  1.4 (Build b333) - 22 Nov 2005

                  Understand

                  • Added a new "Favorites" facility. This lets you "remember" favorite entities that you are always going back to visit or examine. To add a Favorite, right click on the desired entity and choose "Add to Favorites". Favorites can be organized by folders. Later access to Favorites is available from the Window->Favorites dialog.
                  • New Shortcuts: WindowFavorites EntityFavoritesAdd
                  • Added synchronization of Information Browser (and other syncrhonized views) and double click to visit source to the Favorites entities.
                  • Fixed bug where type finding (also called center to) on the entity lists for files didn't always work.
                  • Fixed bug in shortcuts: WindowDockedIBHistoryPrevious/Next were not working with the new docking approach. Now this short cut applies the the reused docked Informaton Browser window.


                  1.4 (Build b332) - 11 Nov 2005

                  Understand

                  • Fixed highlighting bug, right clicking a file name in an include statement, in some cases was not highlighted correctly.
                  • Fixed bug where in the MDI mode bringing a graphic window forward would not properly update the history arrows in the tool bar.
                  • Fixed bug where if global graphics (Project->Graphical Views) were generated, the graphic history list for this report would not function.
                  • Fixed bug where the project graphical views windows could have completed with empty title bars vs report title.
                  • Fixed bug where docking and dock Information View the history list was not retained.
                  • Fixed bug where the bookmarks window didn't retain docked state on open if closed in docked state

                  Scripts

                  • Changed all scripts available at www.scitools.com/perl.shtml to standardize naming convention, usage lines and to clearly identify what languages they work with.
                    Naming convention:

                    _script.pl = any language
                    a_script.pl = Ada
                    c_script.pl = C/C++
                    p_script.pl = Pascal/Delphi
                    j_script.pl = Java
                    v_script.pl = Jovial
                    f_script.pl = FORTRAN

                    Scripts supporting multiple, but not all languages append multiple letters:

                    acp_script.pl = Ada, C/C++ and Pascal/Delphi
                  • Added 'a_fileStmtExeMaxComp.pl' - a script which reports for Ada files the Statement, Exe Statement, and Max Complexity.


                  1.4 (Build b331) - 7 Nov 2005

                  General

                  • Fixed crash (MS-Windows only) in situation where the user has multiple monitors, where the primary was smaller than a secondary.

                  Parsing

                  • Fixed bug where a 'use module-name' in an include file, followed by a reference to an entity from the module, resulted in an unresolved entity being created.
                  • Fixed bug where calls from a module to an external, non-module routine resulted in a call to an unresolved entity instead of a call to the external routine.

                  Understand

                  • Fixed crash introduced in b330, when you left click in the background of a graph.
                  • Fixed bug where Project->graphical views-> menu sometimes had repeated entries.
                  • Fixed bug where parse changed files from the GUI would prompt for saving new files and then to add them to project. If so, then dual parses could have occured.
                  • All macros now translated for intial dir for run-a-command run-a-script and configured tools.
                  • Fixed bug (B329) menu bar item Project->Graphical Views would be shown enabled when no sub menus where available.
                  • Fixed problem in graphical trees where a selected node remained highlighted after 'Highlight Path' was chosen for another node.

                  SourcePublisher

                  • Added command line options for selecting collections and adding files to collections

                  Scripts

                  • Fixed Understand.html uperl api doc on linux and sgi


                  1.4 (Build b329) - 30 Oct 2005

                  Parsing

                  • Changed database version. Existing projects will be re-parsed automatically.
                  • Added new kinds for constructors that include the private, protected, public and default visibility information. 
                  Understand
                  • Menu changes: menu bar item Project->Graphical views added, Right click menu items "Reports" renamed Interactive Reports
                      

                  1.4 (Build b328) - 22 Oct 2005

                  Understand
                  • Added new $macro for tools/run commands, $Paste, the contents of the clipboard will replace $paste on execute of the command
                  • On a few instances Understand could have crashed when closing graphic window, especailly when multiple windows in use. X11 only.
                  • Fixed bug where User configured tools that used $prompt macros would have been prompted for same value twice.
                  • Fixed bug (MS Windows only) where floating stay on top windows and docked windows were incorrectly being allowed during database parse, which could have lead to later crashes.
                  • Fixed bug introduced in B327 where running a script that generated error messages could lead to crash.
                  • Fixed bug introduced in B323 where using File->New File on X11 versions could have lead to a crash.
                  • Fixed bug where text selecting until end of file then trying to tab over or back selection or use EditOverSelection or EditBackSelection, could have led to a crash.

                  Perl/C APIs

                  • Fixed bug introduced in B327 where running a script that generated error messages could lead to crash.

                  1.4 (Build b327) - 14 Oct 2005

                  Understand
                  • Fixed bug on Solaris only where using the Preferences dialog with an open project could cause a crash.
                  • Small change to initial position of docked windows.
                  • Added memory of docking state so that when a previously docked window of a certain type (say search results) is opened, it is docked too.
                  • Fixed bug where it was possible for the same project or file to be listed in the MRU lists.
                  • Docked windows (MS Windows only) now have a [x] button to close them.
                  • Fixed problem where the On Overloads:Display Subprogram Parameters Always/Never was reversed

                  1.4 (Build b326) - 12 Oct 2005

                  Understand
                  • Changed database version. Existing projects will be re-parsed automatically.
                  • Fixed bug where if the Project setting "Info tree->Show on project open" was on, and if there was already an Information Browser checked for [ ] reuse , a second would be inadvartently opened.
                  • Bug Fix: in B325 left dock window may in some cases have been hard to undock, or wanting to redock on bottom verses undock
                  • Added new "stay on top" option for the Filter window when undocked. This makes it act as an SDI window when in MDI mode (MS Windows).
                  • New report option: Display Subprogram Parameters. This will help distinguish overloaded functions in the reports.
                  • Added repjava command line option '-fmt_parameters [always|never|overloads] to control printing of parameter profiles on called routines in the text report. Default is never.
                      

                  SourcePublisher

                  • Restored graphics inadvertantly removed in B325.

                  Scripts

                  • Added Uperl api Understand::Gui::open_files() to return the list of current open files.
                      

                  1.4 (Build b325) - 5 Oct 2005

                  General (all products)

                  • Fixed bug where SourcePublisher and and Understand could have crashed on Save/Apply of Metrics export selection changes.
                  Parsing
                  • Changed java database version. Existing projects will be re-parsed automatically.
                  • Added CountInput (FANIN) and CountOutput(FANOUT) metrics to java.
                  • Changed Java Metrics Export to have Declared in file and line available in output as option to distinguish overloaded functions.
                  • Added option '-comment [never|before|after]' to control comment association. Added option '-count_assoc_comment [on|off]' to control whether or not comments assocation with '-comment before' are included in the comment lines metric. Also available as a Project configure option 'Include associated comments in metric CountLineComment'. This permits JavaDoc style comments to be included in the comment count metric for their associated function.

                   Understand

                  • Filter Window now can be shown or set focus to by the window menu item Filter List. This was moved from the Search menu.
                  • New keyboard shortcut WindowFilterList, default mapped to F1, this shows the filter list window and sets focus to its list.
                  • Fixed New Project creation on MS Windows Explorer right-click menu.
                  • Automatically open a Filter window and Information view window if not docked on a project open, optionally turn off on individual window options 'Show on project open'
                  • Fixed bug where having the Filter window open at app close, with no project open, could have lead to a crash at close.
                  • Fixed bug where Information Browser preferences were not preserved.
                  • Improved the undocking of the bottom window to now require less up drag distance, which was previously too large depending on window size

                  Perl/C APIs

                  • Added udbEntityParameters() to UDB api. This returns true if an entity may have parameters (ie, a function). The text that is retur