Add a section of advanced rules. These rules add functionality not existing with rules using the domain-specific language. These rules require knowledge of the actual code behind EDViz and are therefore really mainly meant for developers to use.
0.3.0
Various bugfixes.
Font changes are applied to browser-specific windows as well. The font-style of the main drawing area can also be specified in the settings dialog.
Rule editors are automatically updated when changes are made, for example by adding a blacklist element with a right-click action.
Arrays are now always ordered naturally by default. This ordering may be overridden with an ordering constraint for specific arrays.
Some default rules for binary trees can be given in the settings, allowing for example to always treat a left pointer to belong to a binary tree and order it to the left of a right pointer. These default orderings can always be overridden with an ordering constraint for specific types.
Can specify names of fields which typically need to inverted in the settings, e.g. previous pointers for a doubly linked list or parent pointers for a tree structure.
Can right-click values to evaluate expressions on them. These expressions may either be evaluating certain methods for a value, or visualizing a set of fields for a value. These expressions are updated any time that the main graph is updated.
0.2.9
Various bugfixes.
Regrouped some right-click operations, adding default ordering constraints which can be added directly now.
Improved the automated code correction (beta) tool. Now accepts partial edits which may be performed, without having to change the graph on screen entirely.
Simplified installation, and added an action to load a new configuration from file.
0.2.8
Simplified approach to reload the view. In the settings dialog, whenever a setting is changed which requires the view to be reloaded, it is automatically reloaded upon apply. The load configuration action also offers to reload the view.
0.2.7
Changed the name of the plug-in to EDViz. Apparently, that required a new release.
0.2.6
Editors for the ordering constraints, string formats, abstraction rules and blacklist rules now give better feedback. Any query accepted by them is guaranteed to be syntactically valid. Together with this, the domain-specific language changed slightly, particularly now brackets are needed for the different parts of an ordering constraint.
Installation is now far easier. No separate folder needs to be maintained, and installation directly from the website is possible.
Change of configuration file can be specified directly in the tool. Allows to switch between different configuration files much easier.
No double scrollbars for most browser-based elements. Only the manual may still contain a double scrollbar.
Added some nice symbols for some actions.
0.2.5
Add a new Settings dialog replacing the previous dialog to change the language. The settings dialog covers a much larger spectrum of configuration options.
Right-click settings are now organized in groups. This allows adding more settings while at the same time making it easier to look at.
Added various rule adding options to the right-click menu, which can add often-used rules. Furthermore, right-click options to prepopulate a new rule with are added, making it often much easier to add new ordering constraints, string formats or blacklist rules.
Add usage data gathering. Some small amount of usage data is gathered by default. This may be turned off in the settings. The gathered data is fully anonymous. Currently, the mode of usage (interactive mode, whether static variables are analyzed), standard data for graph layout (how many nodes, edges, how long it took) and how many rules are configured (but not their contents) are gathered. The files are stored locally and not sent to a server yet.
0.2.4
The heap analysis can now be cancelled. Attempts to analyze large heaps are therefore now safe, as even if the analysis is very long-running, it can be cancelled.
Editing constraints, string formats, blacklist and abstraction and pressing the Apply button now applies the changes immediately, without the necessity to restart debugging the program or to continue to the next step.
Improved graph drawing area performance while moving nodes. Moving nodes over the border of the area now animates the growing area more smoothly. Furthermore, node moving efficiency is drastically improved, allowing medium sized graphs to be moved entirely with reasonable performance.
The blacklist is now partially applied while analyzing the heap. The most common case of blacklisting certain fields of a given type is now already handled during heap analysis for objects with many fields. Therefore, large heaps which are blacklisted for the most part can now be efficiently analyzed, without needing to resort to interactive mode.
Expansion level in the interactive mode is stored. This means that expanding a node to a certain level once will keep expanding that node in later iterations, allowing to keep the same view over multiple iterations without additional necessity for expansion.
Expansion can be removed from nodes. This allows to only temporarily expand nodes and hide them again afterwards. Removing expansion from a node is stored and can be overwritten forcefully by expanding that specific node or fully expanding a node above it in the hierarchy.
Language selection can be closed by clicking the Change Language button once again. Therefore language selection now is never displayed more than once.
0.2.3
Add interactive mode. Interactive mode allows to specify the nodes to expand manually, while only the variables are shown at the beginning. This brings performance improvements for large heaps, as not the entire heap needs to be analyzed. Interactive mode can be activated at any time. Whether the tool starts up in interactive mode can be defined in the configuration.
The layout algorithm can now be cancelled. This allows to analyze large heaps without the risk of Eclipse being unresponsive for a large amount of time.
Eclipse stays responsive even during long-running operations such as heap analysis or the graph layout algorithm.
Certain operations opening within a browser are now toggled, instead of generating a separate button to close the windows.
0.2.2
The graph drawing area automatically resizes for large graphs, instead of drawing the large graph in the small area. This improves visualization capabilities for large data structures immensely.