Changelog
- 
Version 1.4.10
-  The typing in the text area can be undone and redone. 
-  Messages can consist of several lines separated by a literal
              "\n". 
-  Atomic actions can be modelled, these are actions that take
              place inside a method, apart from invokations of other methods. 
 
- 
Version 1.5.0
-  Dynamic loading of plugins. 
-  SVG plugin available (see download page). 
-  Due to a bug, it may have been possible in former versions to
              declare messages being sent by objects that are not active. This
              is prohibited now. 
 Patches:
- 
1.5.0.1 - A bug was fixed that made it impossible
              for actors to send a message when there was a synchronous activity
              going on. 
- 
1.5.0.2 - As suggested by Konrad Anton, the name
              of an sd file to be loaded can be passed as a single argument to
              the application. Also, it is again possible to convert sd files
              into png files on the command line. 
- 
1.5.0.3 - A bug was fixed that caused comments on
              messages that were sent from a sub lifeline to be laid out wrong. 
 
- 
Version 2.0
 Instead of allocating an image and incrementally drawing the
          whole of the diagram on it, this version first creates a collection of
          diagram elements, calculates their positions and draws only the
          elements that are located within certain bounds, as requested by the
          AWT. This minimizes memory usage and speeds up the drawing process.
 Bugfix releases:
- 
2.0.1 - The diagram is large enough to include
              all comment boxes in their full dimensions. Invisible objects
              remain entirely invisible when no new message occurs. Arrows of
              self answers are dashed, not dotted. Some examples are included.
              Messages without answers can be properly commented. The set of
              active levels of an object is described correctly when a level
              that is too high is specified. 
 
- 
Version 2.1
 Diagrams can be edited in parallel thanks to tabs. Message
          arrows can be clicked, then the cursor will move to the line in the
          text area where the message to which the arrow corresponds is
          specified.
 Bugfix releases:
- 
2.1.1
-  When there is an error message and the label it is in is
                  clicked, the cursor will move to the line where the error
                  occurs. 
- A bug was fixed that implied that at least two key strokes
                  were necessary in order to make the tab-close-button turn red. 
-  A bug was fixed that made it possible for an update thread
                  to be started even though the text area was empty. This could
                  lead to a state where the association between diagram elements
                  and their source code line was lost. 
-  A bug was fixed that caused the "upper margin" value to
                  only affect the positions of the lifeline heads but not of the
                  lines underneath. 
 
 
- 
Version 2.2
 Multithreading support
          added.
- 
Version 2.3
 Some changes about comments. They look different and they
          enclose blocks of messages.
- 
Version 2.4
 The program can be started with a diagram server running. There
          is a small Perl script (
sd-client.pl
 in the sd-client package) that can connect to the server by means
          of a TCP socket and that can be used as a reasonably fast command line
          tool. It is capable of saving images in SVG format, if the plugin is
          installed.
 Bugfix releases:
- 
Version 2.5
 
-  Menu mnemonics and accelerator keys added. 
-  Lifeline mnemonics added (allow to identify a lifeline without
              specifying a thread or level number). 
-  For objects that are used by a single thread only no thread
              number needs to be specified. 
- 
Notes on
                asynchronous messages (including an example) added. 
-  Example illustrating the use of level numbers and mnemonics
              added. 
 Bugfix releases:
- 
2.5.1
 Some layout bugs fixed, including the 
                obscured arrow head bug.
- 
2.5.2
 Active objects introduced. A bug was fixed that made it
              impossible to associate a mnemonic to a lifeline if a new thread
              was spawned and the corresponding object was already active.
- 
2.5.3
 A bug was fixed that made two threads be spawned when a
              message was sent from an actor to an active object.
- 
2.5.4
 A bug was fixed that could make a lifeline overlap its
              caller lifeline, if the former was activated by a spawning
              self-message. Primitive messages can be empty, which is useful for
              creating space between messages.
- 
2.5.5
 There are no longer answers to spawning self-messages. Empty
              answers from objects to actors can be disabled.
- 
2.5.6
 A bug was fixed that producted endless but harmless
              NullPointerExceptions when a diagram text was entered from
              scratch.
- 
2.5.7
 Fullscreen mode. Layout 
                slightly improved.
 
- 
Version 2.6
 
- FreeHEP instead of Batik is used for exporting diagrams, so
              there are more output formats available (pdf, ps, swf, gif, ...).
- Processes aka secondary actors introduced.
- Lifeline labels introduced.
- Diagrams can be scaled.
- (Parts of) the diagram source text can be piped through a filter.
- When multithreading is enabled, messages can return instantly
              (otherwise the callee stays active as long as the thread is idle).
              An instantly returning message is suffixed by an
              "&". 
 Bugfix releases:
- 
2.6.1
 "Real-time"
                diagram server added.
- 
2.6.2 - 2.6.5
 After discovering a minor bug related to thread creation and
              numbering, I decided to rewrite an elementary class
              (MessageProcessor). Unfortunately, from version 2.6.2 to
              2.6.4, this class featured new bugs. 2.6.4 was even mistakenly
              built from the not yet stable HEAD sources. It was quickly
              replaced by 2.6.5.
 
- 
Version 2.7
 
-  Fonts and encoding configuration added. 
-  List of recent files added. 
-  On-diagram notes added. 
 Bugfix releases:
- 
Version 2.8
 
-  Statically spawned threads: objects start with their own thread
              when they are declared with the t flag set. 
-  Nicer fragments with sections. 
-  Colons and periods can be escaped. 
-  Associations between notes and answers. For instance, (1,2)
              foo:answer=bar.message associates the
              "message" message with note 1 and the
              "answer" answer with note 2. 
-  The next free note number appears in the status bar. 
-  A message text is always placed between two lifelines (it
              cannot overlap any lifeline). 
 
- 
Version 2.9
 
- 
Javadoc taglet
              implementation. 
-  Constructors with a multiline message do no longer break the
              layout. 
-  All font sizes are configurable. 
-  Note links (allow to switch to another tab on clicking a note). 
 Bugfix releases:
- 
2.9.1
 A bug was fixed that prevented sub-lifelines from vanishing
              in some situations (when the sub-lifeline belonged to another
              thread than both its neighbours)
 
- 
Version 2.10
 
-  Printing through an external program. 
-  Diagram title and description. 
-  Automatic destruction of objects (with 'x' flag set). 
 Bugfix releases:
- 
2.10.1
 A bug was fixed that caused a fatal NullPointerException
              when multithreading was disabled and the first message was sent by
              an actor.