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
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
- Enabled Help menus.
1.4 (Build b342) - 3 Feb 2006
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
- Implement delphi command line item -edit
1.4 (Build b340) - 20 Jan 2006
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
- Added options for language to the help text for -create.
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.
- Fixed ExtendedBy graphical view.
- 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.
- Improved handling of virtual call and callby in graphics.
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.
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).
Perl/C APIs
- Added ability to put text into the progress/status reporting for interactive reports.
1.4 (Build b335) - 9 Dec 2005
Parsing
- Made changes to allow pascal keywords to be used as identifiers when preceded by &.
- Fixed bug where include files in the standard library and included by other standard libary files were not getting tagged as 'standard' and so were showing up on the project files list.
1.4 (Build b334) - 1 Dec 2005
Parsing
- Fixed problems with the text associated with constant declarations.
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
- Fixed problem where like named parameters for non-overloaded functions with the same simple name were merged into the same entity. Also, fixed various places where case of text in type text was not preserved.
- Fixed so that graphs, Information Browser, etc don't lose their entity on db refresh, when the entity name is mixed case.
- Changed to show variable initialization values in the Information Browser; show type field for constants in the Information Browser; hide standard/system entities in the Locator Window.
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
Parsing
- Changed database format. Existing projects will be updated automatically.
- Fixed bug where some SQL entities, like tables, were not represented properly in the database and not reported properly in the html reports.
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
Parsing
- Fixed problems with typetext on entities declared in include file.
- Fixed problems with full names of entities declared in include files.
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
- Database version changed. Existing projects will be re-parsed automatically.
- Fixed bug where types which are foward referenced did not get a fullname that included the parent unit name.
- Fixed bug where a couple reference was created to a regular record type.
- Changed 'unnamed' in type text to 'record' or 'enum'. Removed extra blanks between tokens in type text.
- Added new kind 'unresoved include file'. This fixes bug where entities declared in include files could not accessed by right clicking in the editor or in generated html files.
- Added new kinds for array and record types.
- Made change to keep type text in given case.
- Added new kinds for array and record types.
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.
- Show Enumerators field in Information Browser for enum type.
- Changed so prompt on new projects with empty standard when saving and prompt on standard paths when left empty
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
- Made Delphi (not Pascal) the default project type.
- Changed "undpas" and "reppas" to "unddelphi" and "repdelphi"
- Added Assign as a delphi predeclared routine.
- Fixed crash from infinite recursion on creating a couple relation from an include file.
- Fixed bug where Delphi/Pascal projects with standard directories defined would have had those files show in general project file lists
Understand
- Menu changes: menu bar item Project->Graphical views added, Right click menu items "Reports" renamed Interactive Reports
- Added warning if standard Delphi files can't be found when a project is created.
- Added Help menu sample Delphi project.
- Added support for colorization of C++ style comments.
1.4 (Build b328) - 22 Oct 2005
Parsing
- Added predeclared Delphi functions and constants.
- Added dotref references to each namespace name in a use statement.
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.
- Delphi projects standard directory list now default to last user set directory list
- Made change to not add default standard libraries when -standard is specified with -create on the undpas command line.
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
Parsing
- Changed database version. Existing projects will be re-parsed automatically.
- Added a namespace entity for all parts of a namespace name. Added dotrefs to all namespaces used in a full name reference.
- Added dotref references to namespace references.
- For Delphi, made change to automatically add the Delphi standard source directory to standard directory list. The Delphi bin directory is located in the PATH environment variable and the source directory is located relative to the bin.
Understand
- Added reppas (the command line report generator for Pascal) command line options -rep_namespace [on/off] and -rep_namespacetree [on/off] to control generation of the namespace reports.
- Added a namespace cross reference report to text reports.
- Made the dotrefby relation work for entity lookup on right click.
1.4 (Build b326) - 12 Oct 2005
Understand
- 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).
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.
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
- Added Class Metrics and Class OO Metrics to html reports
Perl/C APIs
- Added udbEntityParameters() to UDB api. This returns true if an entity may have parameters (ie, a function). The text that is returned is temporary and must be copied immediately and must not be freed by the user.
1.4 (Build b323) - 23 September 2005
Parsing
- Fixed bug where no max nesting level metric was generated for 'program' compilation unit.
- Added ‘uses/inherits tree’ report to show ‘Uses’ hierarchy in delphi and ‘Inherits’ hierarchy in Compaq pascal.
- For Delphi, fixed bug in declarative statement count where field declarations were not counted and method declarations were counted twice.
- Added new 'unknown class' kind and new 'unknown interface' kind.
- Fixed syntax error when 'final' is used as a variable name.
- For Delphi, made change to allow real literals of form 1. with no addition numerals.
- Made change to error recovery processing for syntax errors within expressions.
Understand
- Added automated install when opening a STI script file *.upl. These are scripts that plug into various parts of the Understand GUI.
- Fixed bug where adding files to a project allowed adding a relative directory and also relative to cwd, which was not intended, adding absolute directory\sources intended only, could have lead to side effects, especially on MS Wiindows
- Changed Pascal database version. Existing projects will be re-parsed automatically.
- Added class metrics and class oo metric reports to text format.
- Added new kinds for classmethods and classvars.
- Added Uses/Inherits Tree Report
- Fixed bug where start comment character inside a string literal was counted as a comment line.
- Added 'class extends tree' report.
- Added command line options to turn on/off the use/inherits tree and the simple use/inherit tree. Options are -rep_inhtree [on/off], -rep_usetree [on/off], -rep_simple_inhtree [on/off] and -rep_simple_usetree [on/off].
- For Compaq Pascal and Delphi, changed name displayed in the gui for the 'Inherit' report to 'Simple Uses/Inherits Tree'
License Manager
- Fixed logging on service startup in Windows versions.
1.4 (Build b322) - 9 September 2005
General (all products)
- Fixed all apps, which were not running, on windows 95 and windows NT.
Parsing
- API: fixed udbEntityLibraryStandard() to work with Delphi.
- Fixed Delphi project metrics to exclude files from Standard.
- For Delphi, fixed a bug in the line count metric. Also, fixed problems with field lookups where type or parent type is a rename of another class.
- For Delphi, added CPU386 as a predefined macro to avoid syntax errors in the delphi2005 standard library.
Understand
- Fixed bug where user may have been unable to undock a window if its default size was larger than current mdi window
- Fix the background to be white for graphs generated from upl scripts and copied to the clipboard.
- Fixed bug (MS Windows MDI mode only) where left clicking on a windows caption title could have moved the window.
- Fixed bug where when undocking docking windows, the dock verses reposition action draw was not always correct.
Perl/C APIs
- Fixed udbEntityLibraryStandard() to work with Delphi.
1.4 (Build b321) - 2 September 2005
Parsing
- Fixed bug where Delphi or Compaq Pascal language projects were not highlighting language specific keywords.
- For Delphi, added handling of namespaces to order parse.
- For Delphi, removed CLASS and INTERFACE from type text for classes and interfaces.
- Also for delphi, removed namespace entity with null name from database.
Understand
- Fixed bug with repeated menus on the Interactive reports menu.
- Fixed bug where trying to dock or undock search results while in middle of a search could lead to a crash.
- Restored Sync Information Browser behaviour on locator window left click action.
- Changed so that no matter what the setting for [] Save windows position and size, always save the main window position run to run
- Fixed bug where saving user tool configurations could have lead to crashes after a project close
- Removed delphi standard entities from Filter lists.
- Fixed problem with Delphi line count metrics.
- Changed Delphi short kind for 'inherit useunit' to 'use'.
- Added more Delphi 2005 keywords to syntax highlighting.
- Fixed some parser memory leaks.
1.4 (Build b320) - 26 Aug 2005
Parsing
- New configure option namespaces
- For Delphi
- Fixed bug where first refresh after a rebuild always triggered a full rebuild when a standard library was specified.
- Added multiple unit error message to command line parse output.
- Fixed problem where record types generating an 'implicit' type even when not part of a more complicated type declaration.
- Improved handling missing units.
- Added standard directories to include path search.
- Fixed bug where when a standard library directory was specified, a 'refresh' resulted in a 'rebuild'.
Understand
- Added docking of Information Browser and Filter Windows (MS Windows).
- Added configure option namespaces
- Added Information Browser fields 'Helper For' and 'Helper Classes'.
- Added 'Namespaces' and 'Namespaces Tree' filters for Delphi.
- Added Contains Information Browser field for namespace entities.
1.4 (Build b319) - 19 Aug 2005
General (all products)
- Added optional event logging to aid in debugging of crashes
Parsing
- Changed pascal database version number. Existing projects will be re-parsed automatically.
- For delphi, added standard libarary processing.
- Added command line -standard option to specify directories to be used for locating standard units.
- Fixed bug where field entity references did not resolve and resulted in 'unresolved' entities.
Understand
- Fixed bug where undocking the command results window would have preappended last log into window.
- Fixed bug where X-Windows text selection with auto-copy on was broken in some instances.
- Filtered standard entities from the reports.
Perl/C APIs
- Added C API function udbEntityValue() to return the value for C/C++ enumerators, macros, and variables that have been initialized.
- No longer allows a script to close a database when the script is run from within the GUI.
- Added default double click action (visit declaration) to entities presented in Interactive Reports
- Fixed bug where Project level interactive reports and MS Windows pop up interative report items would not launch their respective reports.
1.4 (Build b318) - 12 Aug 2005
Understand
All languages
- Fixed bug (Builds 316/317) where a hover over search result in some cased could have caused a crash
- Fixed bug where the "entitygv" shortcuts commands and -gv commandline options where using the old pre b301 graphic generation
- For delphi, fixed bug where 'final' used as a variable name caused a syntax error.
1.4 (Build b317) - 05 Aug 2005
Understand
- Fixed bug where after re-sizing any of the dock enabled windows, clicking the title/caption of the window may have inadventently resized window
- Added .ini file entry for turning of graphic smooth fonts; Field GRAPHICAL_SETTINGS setting: smoothfonts This provides an option for those who have reported that our font smoothing sometimes makes the fonts look blurry on their monitor.
- General speedup of underlying database lookups.
- Fixed several crashes relating to memory corruption.
Perl/C APIs
- Speed up (approximately 20%) all UDB reference lookups
1.4 (Build b316) - 29 July 2005
Understand
- Added a auto sync feature to main filter list. This option permits you to click and update graphics, scripts and information windows that are already up by simply clicking on an entity in the filter list.
- Filters sync action: keyboard 'Enter' now does a sync action like left click selection.
- The HP-UX port is available again.
- Graphics zoom now has user specified zoom option. The user specified zoom can also be added to the zoom menu.
- Fixed bug where closing the GUI with hidden graphic windows could possible caused a crash
Scripts
- Interactive scripts now can build multi-level menus in Understand's GUI.
- Added ability for scripts to create hover text (over entities in interactive reports)
- Added Perl 5.8.7 compile of perl api to the API download kit. Presently for Windows only (bin/pc-win95/Perl/STI/5.8.7/Api.dll). This can be used with a customer's personal 5.8 version of perl to access the Understand db. The Understand GUI and UPerl continue to be based on perl 5.6.0.
To get this you must download the API kit from our website. It is important, if you do use this kit, to keep it at the same version as your Understand kit.
1.4 (Build b315) - 22 July 2005
General (all products)
- Fixed crashlog emailer for installations with spaces in the pathname.
Parsing
- Changed database version. Existing projects will be re-parsed automatically.
- For Delphi 2005, added sealed classes, nested types, and class properties.
- Added kinds for nested member types and sealed classes
Understand
- Changed graphics zooming so that if "[x] reuse" is on for the window, new graphic retains the cuurent shown graphics zoom
- Fixed bug where graphic history zoom levels reset to 100% after reparse, now past zoom levels are retained
- Fixed bug where shown graphics were reset to zoom level 100% on reparse.
1.4 (Build b314) - 15 July 2005
General (all products)
- Added crash log e-mailing (MS Windows platforms only). For a long time all STI tools on Windows platforms have dumped crash logs containing stack trace information if they crashed. In b314 we have added optional automatic e-mailing of these logs to STI support.
The information e-mailed contains only stack and version information, nothing personal. Senders won't be added to mail lists. They will be e-mailed when we fix the crash and possibly with queries about the crash.
Parsing
- Changed pascal database version number. Existing projects will be re-built automatically.
- For Delphi
- Removed 'global' and 'local' from all class field and member kinds.
- Added new kinds for 'strict private' and 'strict protected' visibility.
- Allowing member declarations in record types. (Delphi 2005)
- Allowing implemented classes in record types. (Delphi 2005)
- Allowing namespaces in parent class names. (Delphi 2005)
- Added parsing of helper classes. (Delphi 2005)
- Added helperfor and typedbyhelper relations to handle helper classes. (Delphi 2005)
Understand
- Fixed minor bugs with new docking of windows. (MS Windows only)
1.4 (Build b313) - 11 July 2005
Parsing
- Made change to handle namespaces in compilation order.
- Added command line option '-namespace' to add default namespaces to search when an explicit namespace isn't given in a 'uses' statement.
- Made changes to parse custom attribute syntax.
Understand
- Fixed crash on all X-11/Unix ports.
- Fixed possible crash in graphic views when a selected node is later hidden with a graphic filter.
1.4 (Build b312) - 8 July 2005
Parsing
- Changed database version. Projects will be re-built automatically.
- For Delphi 2005, made change to handle namespaces in entity referrences.
- For Dephi 2005, added namespaces support.
- For Dephi 2005, fixed various parsing problems from the Delphi 2005 win32 standard library.
- Made change to handle 'library' unit declarations.
- Added support for 'elseif' directive
- Fixed bug where a negative value for 'dispid' caused a syntax error.
- Added support for 'readonly', 'writeonly', and 'inline' specifiers.
- Fixed bug where parameters on procedure/function types were associated with the enclosing unit instead of with the type.
- Fixed warning message for missing delphi unit to say 'unit' instead of 'environment'.
Understand
- Fixed bug properly repainting new docked search results.
- Added new syntax color 'Find highlight'. This is used on the Find in Files results pages.
- Fixed bug where printing a poster while zoom was not set at 100% may have resulted in incorrect results or empty pages
- Improved docking of windows... The bottom dock panel now handles multiple bottom dock splits.
- Added new Unix/X-windows command line option "-xwarnings" which enables printing of X11 warnings for debugging purposes
- Added SVG file creation in the graphics File->Save As (and in scripts).
Scripts
- highcomplexity.pl - added "-use" option which permits specifying Cyclomatic, CyclomaticModified or CyclomaticStrict to be used for threshold test.
License Manager
- Added build number to top of license manager log file
1.4 (Build b311) - 17 Jun 2005
Parsing
- Changed pascal database version number. Projects will be re-built automatically.
- Fixed bug where includes were processed even in inactive sections.
- Removed missing include file error message from pass 1.
- Changed constructor type from 'constructor function' to 'constructor procedure'.
- Fixed bug where parameters from interface section were not merging with parameters in implementation section.
- Fixed bug where extended class showed up also as inherited.
- Fixed bug where inherited calls to virtual routines showed up as dispatch calls.
- Fixed bug where type casted calls to virtual routines showed up as dispatch calls.
- Changed context on method implementation to class instead of unit.
Understand
- Further improvements to results and search windows docking.
1.4 (Build b310) - 10 June 2005
Parsing
- Changed database version number. Existing projects will be updated automatically.
- Changed kind text on methods to have 'method' instead of 'routine'.
- Made unit kind text be just 'unit' instead of 'unit module'.
- For Delphi, added 'inherit useunit implicit' kind for the implicit uses of system and sysinit.
- For Delphi, added 'inherit useunit implicit' kind for the implicit uses of system and sysinit.
- Changed short kind text for virtual entities to include 'virtual' and removed 'type' from the short name for classes.
- Changed kind of overriding method to include 'virtual'.
- Made change to handle parsing of array type def as a function return type and to allow 'array of file' and 'array of const' as array type defs.
Understand
- Changed Find in Files output to display number of files the string was found in.
- Crash Fix: If, in a graphical view, the viewed entity was parsed out of database a crash could have occured.
- Removed inadvertant debug message.
- Added Local/Global IB fields for units.
- Added macro panel for Project configurations
- Added new Pascal variant configure option, for new project force a selection at creation time.
- Added Extends, Extended By, Implements and Implemented By graphs for Delphi.
- Added class Declaration graph for Delphi.
- Added Compaq and Delphi only keywords coloring.
- Added colorization for Delphi // style comments.
- Added Overrides and OverriddenBy Information Browser fields (for Delphi)
- Display virtual call/callby in the Information Browser (for Delphi).
- Added Extends, Extended By, Implements and Implemented By Information Browser fields (for Delphi).
- Added Members Information Browser field (for Delphi).
- When a project has Delphi code in it, do not show the Information Browser fields 'inherits' or 'inherited by', but do show the new Information Browser fields 'uses' and 'used by'. Also:
- Removed 'Modules' filter and replace with 'Units'.
- Removed classes and interfaces from the 'Global Types' filter.
- Added 'Global classes' filter
1.4 (Build b309) - 3 June 2005
Parsing
- Added menus, imglist, and comctrls units.
- Added AcntList classes and missing types from graphics and stdctrls.
Understand
- The "Add a Graphics Filter" dialog now always centers on window that invoked it.
- Changed so that in graphics, when changing filtered entities, preserve the state of closed nodes instead of resetting all nodes to be open.
- Fixed possible crash when using graphics history states after a re-parse.
- Changed search results so that double click anywhere on a folder line will open that folders tree (formerly you had to click on the folder itself).
- Made the Bookmarks window dockable (MS Windows only)
1.4 (Build b308) - 27 May 2005
Parsing
- Added Delphi vcl units.
- Added Delphi RTL units common to both clx and vcl.
Understand
- Bug Fix: B307 had a bug in which save all routine would mistakenly prompt user to over-write existing file
1.4 (Build b307) - 20 May 2005
Parsing Changed database version - projects will be re-parsed automatically.
- Added abstract method kinds.
Understand
- Added improved prompting for overwriting files when saving new files.
- Fixed various centerings of windows in MS Windows MDI mode.
- Fixed init and default settings for checkboxes in Interactive Reports.
- Fixed translation of tabsg in Interactive Reports.
1.4 (Build b306) - 27 May 2005
Parsing
- Changed database version - projects will be re-parsed automatically.
- Added lots of new kinds for delphi to identify class/interface components as private/public/protected/published.
- Added (Delphi) handling overloaded methods such that each entity remains separate and does not merge with other overloads.
- Added 'declared(x)' to macro expansion.
- Fixed various lookup problems.
Understand
- Fixed bug where the "-db " command line parameter wouldn't match open database if not specified absolute.
- Bug Fix (Builds 301-305), Graphical setting dialog - View Options; changes were not not properly saved or applied.
- Fixed bugs preventing some users from using Understand command line options for existing instances of Understand
- Improved Help->Command Line documentation.
- Fixed crash (X11): when using multiple graphics menus, doing a right click could have caused a crash.
- Fixed cancel in graphics window during OpenAllNodes operation.
- Fixed crash (X11 only) where canceling a loading graphic could have led to a crash.
- Fixed bug in the graphical settings dialog graphical view selection
Perl/C APIs
- Added Undertand::Gui::script() to identify the name of the script file currently being run, if any, from within Understand.
1.4 (Build b305) - 7 May 2005
Parsing
- Fixed (Delphi) various problems with entity lookup.
Understand
- Fixed bug where when in the MDI maximum size window mode creating certain kinds of windows (Information Reports, Bookmarks, Graphics) would end the MDI maximum mode.
- Added new keyboard shortcuts: WindowPrevious: Ctrl-Shft-Tab, WindowZoomGraphicDown : Number Pad+: , WindowZoomGraphicUp : NumberPad -
- Changed Scope list pulldown for files list in alphabetic case insensitive order
- Fixed possible crash when a graphics window was closed while a graph was being built.
- Fixed bug where Graphic windows in MDI mode now have the Interactive reports menu on the menu bar
- Fixed bug where bringing up an empty command results window, then trying a Find or Find in Files could lead to a crash
- Fixed bug where graphics zooming actual state and menu state would be out of sync.
- Changed default size of Project Configuration window to be bigger.
- Fixed 'unaligned access' warning messages on Alpha workstations.
- Fixed crash on Alpha workstations.
Perl/C APIs
- Fixed bug introduced in b296 that prevented the use of $ent->draw() from a uperl command line script.
1.4 (Build b304) - 30 Apr 2005
Parsing
- Fixed (Delphi) various entity lookup problems.
Understand
- Changed (X-Windows only) so that message notification boxes are always centered over their parent window.
- Fixed (rare) crash that could occur when an outside process modified a database, forcing an application close, when a source file was the top window.
- Fixed bug when some relative paths with multiple points of relativevity ../../ were not properly translated
- Fixes for various X-Windows window positioning issues.
- Fixed bug where double clicking in the Command Results window would not always jumpt to line: N if a class member ended the results line with :
- Improved window positioning of new windows for multiple monitor usage.
1.4 (Build b303) - 22 Apr 2005
Parsing
Changed database version. Projects will be re-parsed automatically.
- Added parsing of Delphi resourcestring sections. Fixed various parsing and lookup problems.
- Added Delphi auto 'use' of system and sysinit to each unit.
- Fixed various entity lookup problems.
- Fixed problems parsing type denoters.
- Made default predeclared file 'predeclareddelphi.txt'. (Delphi)
Understand
- Fixed bug in new graphics engine where the drawing of an ellipse was partially obscured.
1.4 (Build b302) - 15 Apr 2005
Parsing
- Changed database version. Projects will be updated automatically.
- Added handling of Delphi integer literals beginning with $.
- Added 'absolute' clause for variable declarations.
- Fixed various parsing problems.
- Added command line '-define ...' for definition of constants for conditional compilation.
- Fixed various Delphi parsing bugs.
- Made some changes in parser error recovery.
- Added defines property for Delphi.
- Added support for Delphi conditional compilation compiler directives.
Understand
- Fixed bug in new graphics engine where it may have crashed if an entity was deleted during re-parsing.
- Added feedback gauge when exporting large graphs to Visio.
1.4 (Build b301) - 8 Apr 2005
Parsing
- Changed database version. Projects will be updated/re-parsed automatically.
- Added parsing of Delphi 'threadvar' sections.
- Added Delphi 'threadvar variable' kind.
- Added 'implements' relation.
- Added parsing of Delphi raise statement.
- Added parsing of Delphi method resolution clauses.
- For VAX Pascal, fixed bug where double and quadruple float constants caused syntax errors.
Understand
- New Graphics Engine... Much of the engineering effort in past weeks/months has gone to a complete re-write of our underlying graphics engine. In Build 301 this new engine goes live as a total replacement for the old. Graphics will appear virtually identical to you. But, importantly, this new engine permits more flexible types of graphs (for instance multiple tree roots, multiple kinds of layouts) all of which sets us up to add a variety of new types of graphics (which we are working on and should introduce in the near future).
Recognizing this is new code, there is a way to go back to the old engine. If problems appear in graphics you need, contact STI support for instructions on reverting.
- Added new commandline options -ir and -irnew for launching interactive reports. These permit the launching of new (and still experimental) interactive PERL scripts that create Information Browser type windows/views to be launched by external applications and displayed in Understand.
- Added new syntax highlighting and automatic file filters for lanuages TCL, XML and Batch (ms window batch files)
1.4 (Build b300) - 31 Mar 2005
Parsing
- Changed database version number. Old projects will be updated automatically.
- Added kinds for class-reference entities and classof relations.
For delphi, added 'is' and 'as' operators and 'message' directive.
- For delphi, added parsing of class-reference types.
- For delphi, handling special syntax in array and record constant values.
- For delphi, added try-except-else.
- Added #n strig literals.
- For delphi, added initialization and finalization sections. Added parsing of try-finally-end blocks.
Understand
- Fixed bug where the File-> recent project list and CurProjectName could have been a non-absolute name
- Added new options Preferences[File] Nmaed Override tabbed size, which when set for the open project, overrides the default setting. This makes tab spacings, optionally, a project dependent variable.
Scripts
- function_tree.pl - brought into conformity with recent change to lexer api
Perl/C APIs
- PERL API... Changed $db->language() to support new upcoming multi-language databases. In an array context, this call will now return an array of languages that are represented in a database. In a scalar context, it will return a space-separated list of languages.
1.4 (Build b299) - 24 Mar 2005
Parsing
- Changed pascal database version. New projects will be updated automatically.
- Added Delphi interface type.
For delphi, allow constant for guid in an interface type denoter, allow =... for default values in parameter declarations, allow dynamic array type declaration syntax, allow directives on subroutine type declarations.
- For delphi, made change to allow giving enumeration literals specific values, made change to allow unit_name.type_name where type names are expected, added shr and shl operators.
- For delphi, added parsing of interface types. Also, handling // as delphi comment.
License Manager
- Added features to support easy site licensing.
1.4 (Build b298) - 21 Mar 2005
Parsing
- Changed database version. Projects will be re-parsed automatically.
- Added class property entity kind
- Added (for Delphi) parsing of various directives on methods and subroutines.
- Changed default value on allowing nested comments to 0. This makes default behavior work correctly for Compaq Pascal.
- Added (for Delphi) handling of class method 'override' directive.
- Added handling of property overrides.
- Added properties to reports.
- Fixed bug where uses of predefined types in different contexts were showing up as separate entities.
- Added parsing of delphi class properties.
Understand
- Fixed bug where the keyboard shortcut FileSaveAs was mapped incorrectly to FileSave
Perl/C APIs
- Improved speed of PERL API method db->lookup(). Optimized for non array contexts; roughly 40% improvement, on average.
1.4 (Build b297) - 16 Mar 2005
Parsing
- Changed database version. Projects will be re-parsed automatically.
- Added Delphi class parsing.
Understand
- Improved 'open all nodes' graph feature for giant graphs.
- Fixed bug where Project close was inactive when graphic window forward in MDI mode
1.4 (Build b296) - 9 Mar 2005
Parsing
- Changed database version. Projects will be updated automatically.
- Added parsing of Delphi 'out' and 'const' parameters.
- Added "Delphi" as a language option from the command line parser.
Understand
- Fixed bug where the parameter macro NDate was giving yyyymmdddd verses intended yyyymmdd format
- Fixed bug possibly causing occasionally reported crash on a CTRL-F action (X-Windows only)
- Improved efficiency of crossing graph generation.
Perl/C APIs
- Changed lexer creation api's (C & perl) to require a valid project file entity. Previously they would attempt to determine an appropriate file to use if a non-file entity was passed.
1.4 (Build b295) - 25 Feb 2005
Understand
- Fixed bug where the default directory for open/save not always expected location when new untitled files were opened
- Changed default directory for saving of Command results to be the last directory used for the application invoked.
- Fixed bug the ' symbol in comments was not handled right by GUI syntax highlighting
1.4 (Build b294) - 18 Feb 2005
Understand
- New macro for backup use $CurFileFlatStr amd help button on backup panel. Use this in conjuction with date macros to have a running backup of each version of files you edit and save.
- Fixed bug (MS Windows XP) where when drawing text in multiple words, a word may have clipped a previous word by a pixel or 2 when using the Windows XP fade effect font on LCD displays
Perl/C APIs
- Added project metrics CountDeclFileCode and CountDeclFileHeader, available via the c++/perl api only.
- Changed reference 'c use macrodefine' to be from the defining macro to the entity used in the definition. Previously it was from the file to the entity used. (C/C++ only)
1.4 (Build b293) - 11 Feb 2005
General (all products)
- Fixed crash on Alpha 64 bit machines with 32 bit displays.
Understand
- Fixed typo in graphics "Close Entire Tree" menu.
- Added ` as a token seperator in text files which also applies to command output
- Fixed bug with multiple monitors under MS Windows. Setups with monitors to the left of the primary may have had sizing issues with dialog items in the non-primary monitor.
- Fixed bug when defaults for graphics were only temporarily stored.
Scripts
- caj_maint_index_halstead.pl - Changed halstead volume formula from N ln n to N log2 n
Perl/C APIs
- Added support for case insensitive name match for filenames in c/c++ #include statements in the C++/Perl lexer.
- Fixed "uperl" on Solaris (broken in B292)
1.4 (Build b291) - 4 Feb 2005
Parsing
- Fixed bug where include files sometimes showed up as unresolved entities.
- Added (for turbo/borland pascal) parsing of 'inherited' statements.
Scripts
- Changed halstead.pl volume formula for H from N * ln n to N * log2 n
1.4 (Build b290) - 28 Jan 2005
Parsing
Changed database version. Projects will be updated automatically.
- Fixed bug where references to the same unknown entity in different contexts caused the creation of different unknown entities in the database.
- Fixed bug (for turbo pascal) where second and subsequent constant declarations in a const section had incorrect names declared.
- Fixed bug (for turbo pascal) where a component from a parent type was not being found when referenced in a method for a child type.
- Added dispatch call information to the invocation tree report.
- Added pascal override relation to link methods in child objects to cooresponding methods in parent objects.
- Added pascal virtual procedure and function kinds and virtual call relation kind.
- Added (for turbo pascal) handling use of 'self' to access fields of enclosing object.
- Added (for turbo pascal) derive/derivefrom relations to link parent/child object types.
Understand
- Fixed bug where the Bookmark window had bookmarks listed after database was closed.
- Added new "Entity List" right click menu option to the Filters area. This permits copy/print/saving of the current filters list of entities.
- Changed File tree filter so that a left click over the directory name now opens the next level of the file tree
- Fixed bug where Bookmarks->List Bookmarks wasn't always an active menu when it should have been.
- Added New Last Project State: when in the MDI mode (MS Windows only), if the last project window state was maximized, when the next project open, source files will begin maximized when loaded
- Source visiting history is now stored with a project and available on re-loading of that project.
- Fixed bug ( b287-289) where Understand may not have launched help files on the scitools web site
- Added a new command line parameter -commandfile <file> where file is a text file of a list of understand command lines.
Scripts
- Fixed 'calltree.pl' - the script worked but the way it assigned output to STDOUT didn't work any in the Understand GUI any longer.
1.4 (Build b289) - 21 Jan 2005
Parsing
Note - Changed database version. Projects will be updated automatically.
- Fixed bug (For turbo/borland pascal) where context for references was incorrect following the implementation part of an object method.
- Added relations for pascal include/includeby.
- Added (for turbo/borland pascal) 'index' as a redefinable keyword.
- Added (for turbo/borland pascal) parsing of 'absolute' for specifying variable locations.
- Made changes (for turbo/borland pascal) to allow @ (address operator) to be used on array component.
- Fixed problem (for turbo/borland pascal) where entities with same name in the interface parts of different units were being merged.
- Fixed bug where turbo/borland nested comments were not being picked up correctly.
- Added constructor/destructor procedure kinds.
- Added (for turbo/borland pascal) parsing of constructor and destructor functions for objects
- Added (for turbo/borland pascal) support for access to object components via pointers to an object type.
Understand
- Improved speed of Locater Window Locator via a caching scheme.
- Changed Locator Window to remember chosen Sort column
1.4 (Build b288) - 15 Jan 2005
Parsing
- Fixed random crash when processing empty include files. Also, fixed problem in status bar where bar would go to 100% before all files were processed (this was a bug introduced with two pass parsing for turbo pascal, build 287).
- Fixed bug where a VALUE section immediately following a VAR section resulted in a syntax error (this was a bug introduced in build 287).
- Added, for Turbo/borland pascal, some 'object' type parsing.
1.4 (Build b287) - 7 Jan 2005
General (all products)
- Fixed bug so Understand and SourcePublisher can launch html files in the Firefox web browser.
Parsing
- Added Turbo/Borland procedure types.
- Fixed potential crash in parsing Turbo/Borland unit declarations.
- Fixed bug where redefinable keywords were not being allowed as variable or parameter names.
- Added parsing of Turbo/Borland library modules.
- Made unit parsing two pass so that units can be circularly dependent in the implementation sections (for Turbo/Borland Pascal).
Understand
- Added html report output options "single vs alpha" and "allow scripts" initialization for new projects with values they were last set.
- Fixed bug (in builds b284-b286) where there were no right click menus in Find in File search results tree and the Bookmarks tree.
1.4 (Build b286/b285) - 23 Dec 2004
General (all products)
- Fixed incompatibility with windows ME/98/95 introduced in Build 284.
Parsing
- Changed database version. Projects will be updated automatically.
- Added CountLineCodeDecl and CountLineCodeExe metrics to the database and metrics reports.
Understand
- Added new shortcut WindowMain, brings main window forward and the main entity list into focus
- Added Shortcuts WindowLastIB, WindowLastGraphic, WindowLastLocator, WindowLastReport, and WindowLastSource which will brong forward the last active window for that window type
- Added new shortcut: WindowStayOnTopToggle; currently this only applies to MS Windows SDI Info Browser windows
- Fixed bug where the Selector window, if relative names were optionally chosen as the file window name, the Selector may not have worked properly
- Changed so that new projects will be initialized to the last saved graphic settings.
- Fixed bug where opening a project in Understand may have used previous projects graphical settings
- Added import others user tools and export your own for sharing, available via Options->Tools
- Added import of user tools via "-import_tools <filename>" to the command line. The file is a file generated by Understand's Options->Tools menu.
1.4 (Build b284) - 3 Dec 2004
General (all products)
- Added hostname to the almhostid information output in the Help->Licensing Dialog
Understand
- Fixed bug where the "Choose report" list for Understand reports may have been off screen on systems with big fonts. Now the list scrolls.
- Changed viewing of text reports so they now open in Understand's editor if no alternative text browser is specified
- Fixed (X-windows only) bug where the Alt key event not registering for key events
- Fixed bug where Invoking ApplicationPopUpMenu on a new file, or in some cases at end of a line, could have led to a crash
License Manager
- Changed almfree app to also work when run by root on unix systems, and to also work when run by a user belonging to the Administrators group on Windows.
1.4 (Build b283) - 19 Nov 2004
Understand
- Fixed crash in Find in Files search of unexpected formated files, such as binary, which could have lead to a crash
1.4 (Build b282) - 12 Nov 2004
Understand
- Fixed bug where Find in files in an open file may have altered tabs to spaces in some cases
- Improved Search->Browse Entities first load time.
- Fixed bug where closing the Locator Window while loading could have lead to a crash
- Fixed bug (X-Windows version) where bringing up the File Selector when opening/saving files could have left areas in windows below unpainted.
- Fixed bug (X-Windows version) where pull down menus from the menbar lead to missed re-paints.
- Fixed bug (X-Windows version) where File->Open and selecting a directory could have hung the application.
Perl/C APIs
- PERL API - Added $ent->simplename().
- Added reference kind 'c declaration using' used in using-declaration statements.
1.4 (Build b281) - 5 Nov 2004
General (all products)
- Fixed bug in applying MSVC project settings that could have led to a crash
Parsing
- Fixed bug in essential complexity metric. A loop structure with an exit at both the top and bottom node was being treated as a primitive structure and reduced when it should not have been.
- Fixed bug where path count that reached the maximum count of 999999999 was sometimes given a lower path count value.
Understand
- Reverted B280 changes that help paints on main menubar selection. These changes were not critical but were implicated in a couple crash reports.
- Fixed bug in the X-Windows version: when printing files using a xlsfont the file would not be properly printed
- Fixed crash ( B279/B280) when closing the Search window during a search would have led to application crash. Now close cancels the current search
- Fixed bug where if the print font chosen differed in point size from the screen font, the file may have printed in correctly.
- Fixed bug (X-Windows) where if a non-default font was chosen for the screen font then the print font may not have been saved properly.
- Improved Find-In-Files GUI feedback. The Title now indicates searching status and on completion the status text now reflects correct completion status.
1.4 (Build b280) - 29 Oct 2004
Understand
- Fixed repainting error under Unix/X-Windows where choosing an item from a pulldown menu from menu bar may have erased a part of window and that area was not repainted.
- Fixed problem in reduction algorithm for calculating Essential Complexity that caused extremly slow processing or apparent hang on deeply nested control structures.
- Added new printout banner print option with variables such as $date and $time.
- Added keyboard shortcut, WindowLastCommandLog (Window Menu item)
- Changed so that all menus invocations of the command results now follow the command results [x] reuse state
- New Command Logging Option... Run a command and Run a script now by default only show actual output in the command results window; Optionally, command line and status return can be added to results window by turning those options on.
- Added new icons (shown when a window is iconized) for various windows Understand creates.
1.4 (Build b279) - 22 Oct 2004
Understand
- Fixed bug where shortcut commands were not being recieved by the Search Results window (copy ctrl-c for example)
- Fixed bug in User Tools, when configuring user tools to use the Understand application itself; such as "Command: understand_c Parameters: -shortcut, the current instance of understand is now always used"
- Changed Attention feedback noise on MS Windows versions of Understand to use the SystemAsterisk sound by default
- Vast improvement in Project Configure and Save actions for very large projects (on order of 80 seconds to 2 seconds in some tests)
- Made Find-In-Files faster (approximately twice as fast in some situations). The user can also cancel out on all stages.
- Avoided bug where in the SDI mode a "goto line" action could been followed by bad paint state
Perl/C APIs
- Added 'c cast use' and 'c cast useby' reference kinds for C/C++ source code.
- Automatically lock lexers while any lexemes are being used, to avoid situations where the lexer is deleted out from under the lexeme, like:
my $lexeme = $file->lexer()->first();
Perl/C APIs
- Added 'c cast use' and 'c cast useby' reference kinds for C/C++ source code.
- Automatically lock lexers while any lexemes are being used, to avoid situations where the lexer is deleted out from under the lexeme, like:
my $lexeme = $file->lexer()->first();
1.4 (Build b278) - 15 Oct 2004
Understand
- Fixed bug where the Information View right click option copy as HTML would have been truncated for large Information Browser views.
- Added: Information View, right click whitespace menu, new item 'Save as HTML...
- Fixed bug where "Options->Run an Understand script" output capture sometimes had extra newlines inserted, most common in long running/processing scripts
- Fixed Bug... only in builds B274-276 new projects where invoking Find in Files could have had a bogus init directory or caused an application crash
1.4 (Build b277) - 8 Oct 2004
Understand
- Minor bug fix: in SDI mode the bookmarks window previously had the main window as its parent
- Added support for relative project files to Bookmarks.
- Fixed bug where in the SDI mode, the open/edit file action when reusing a file window, would not reposition the scro