# Change log 
This file list all noticeable changes to StratiGraph. The keyword
CHANGED (for added and changed features), FIXED, and REMOVED are used.


## [4.0]
### CHANGED
#### Setups
- The internal design of setups is changed. A setup is now a core
  matrix representation (matrix, matrix pencil, system pencil, or
  matrix polynomial) and any special case is implemented as a
  constraint of a setup. A constraint can for example be a full normal
  rank matrix polynomial or only to consider the controllability pairs
  of a system pencil.
- Added stratification for generic matrix polynomials using Fiedler
  linearizations.
- Added stratification of state-space systems without feedforward
  (E,A,B,C). A constraint of the system pencil setup.
- The controllability pair and observability pair setups are now
  constraints of the system pencil setup.
- Added setup and canonical structure filters. Setup filters are
  common filters for a setup and a canonical structure filter is a
  customizable filter applied on the canonical structure. Nodes can be
  hidden, highlighted in an alternative color, or grayed out with
  filters. The filter panel is shown above the Graph settings panel.
- Jordan blocks with infinite eigenvalues are separated from finite
  eigenvalues for all setups. To hide nodes with infinite eigenvalues
  use filters.
- The user can now select how to display the eigenvalues in the graph.
  The options are: The eigenvalues (if specified), eigenvalues as
  mu with subindex, or as different Greek letters.

#### New graph dialog
- New graph dialog redesigned to follow the new setup design.
- The help texts for the setups are rewritten.

#### Graph window
- Nodes are now always shown on top of edges.
- Edges between an expanded (new) node and all existing nodes are added
  by default.
- If the new node does not have any connected nodes (above/below) the
  termination symbol is shown by default.
- Colors and thickness of borders and edges are adjusted for better
  visualization of the graph.
- Added expand symbol to visualize that an edge exists to a hidden
  node.
- Multiple nodes can be selected.
- Added menu options to select all nodes, all nodes above or below
  active node, and marked nodes by filter.
- Delete removes all selected nodes. Deleted nodes can be undeleted.
- All selected nodes can be moved simultaneously by holding down the
  ctrl key (or Command key on Mac).
- Added shortcuts and menu items to focus over active node, start
  node, or center of graph.

#### Generic
- Added a help dialog and popup help dialogs.
- The settings panel is revised and different settings are separated
  under different subpanels.
- Updated the menu and the toolbar.
- SGX files saved with 4.0 cannot be opened with previous versions of
  StratiGraph. SGX files created in 3.1 can be opened in 4.0.
  
### FIXED
- Expanding, selecting, and moving nodes and edges with the mouse are
  easier and more distinct.
- Smoother scrolling for large graphs.
- The settings panel can now be shown/hidden.
- The StratiGraph window is opened on the screen (if using multiple
  monitors) and location on screen as last time it was used.

### REMOVED
- The option font size is removed. Use graph zoom instead.
- Support for MCS Toolbox version 0.5.


## [3.1] - 2016-02-10
### CHANGED
- New full normal-rank matrix polynomials plug-in.
- New state-space systems plug-in.
- New controllable/observable stratas for matrix pairs (will be moved
  to constraints in next release).
- Updated the texts explaining the different setups and stratas.
- The Matlab plug-in now uses matlabcontrol 
  (http://code.google.com/p/matlabcontrol/) for the communication with Matlab.
- Added support for color printing and more printing options.
- The format of the sgx-file (graph file) has been changed and is not
  backward compatible with files saved in StratiGraph 3.0.
- New curved edges.
- Better support for "snap-node-to-grid".
- Move between nodes with the arrow keys.
- Added key shortcuts for the most common operations.
- The GUI is updated.
- Look-and-feel now same as the OS.
- Internal optimization of the stratification rules.
- Updated to Java 1.7.

### FIXED
- Not all cases were generated when expanding Jordan structures
  up-wards for bundles.
- The Matlab plug-in now works with StratiGraph 3.1 and MCS Toolbox 0.5.
- Support for multiple monitors.
- Better error handling, especially together with Matlab.
- Do not redraw graph when expanding or changing any options, e.g., when 
  notation is changed.
- Graph options (notation, layout, etc) are now local for each window.
- Major fixes in the plug-in manager.

### REMOVED
- Support for reading sgx-files saved with StratiGraph 3.0 or earlier.

## [3.0] - 2011-09-29
### CHANGED
- Partly new graphical user interface.
- Redesigned plug-in manager.
- New zoom feature.
- The Java implementation rewritten to run with Java 1.6.
- New file format for graphs (with file-ending .sgx). The graphs are
  now saved as XML documents.

### REMOVED
- Matlab plug-in not working anymore.
- Support for reading sgd-files (old graph files).

## [2.x]
### CHANGED
- Support for matrix pairs.
- Added the plug-in functionality.
- Added the Matlab plug-in.

## [1.0]
    - Original release
