JetUML Versions Save

A desktop application for fast UML diagramming.

v2.6

4 years ago

This release includes a number of major new features, improvements to the graphical user interface, refactorings, and bug fixes.

New Features

  • Support for Constructor Calls in Sequence Diagrams (#269): It is now possible to include constructor calls in sequences diagrams by drawing a call edge to the top box of an implicit parameter node .

  • Attach/Detach Existing Nodes to/from Packages (#140): In a class diagram, nodes that are not children of a package node can be attached to this package node by tapping the Shift key. Conversely, if the selected node is the child of a package node, tapping the Shift key will detach it from its parent node. In the case of multiple-selection, the action only has an effect if it can apply to all selected nodes.

  • Duplicate Diagram Feature (#150): It is now possible to create a duplicate of a diagram into a new tab. See File | Duplicate.

  • UTF-8 Encoding of diagrams (#304): Diagrams are now encoded in UTF-8. Please see Issue #304 for a discussion of potential backward compatibility implications.

Improvements to the Graphical User Interface

  • Shortcut Keys for Diagram Tools (#321): The toolbar elements can now be accessed using the keys through 1-9, A... where each shortcut key corresponds to the tool's position in the toolbar.
  • New Icons (#330): We modernized the look with a new icon set.

Bug Fixes

  • Fixed the AssertionError when dragging past the fame boundaries (#318).
  • The package node now supports the drawing with multiple depths (#319).
  • Documented an unusual application crash due to JavaFX bug (#324).
  • Moving parent node through its child nodes is now bounded within the canvas (#327).
  • Removed extra diagram type suffix in the file name (#331).
  • Elements being moved as well as the created new node are now always on top of others (#142, #333).
  • Child nodes are now staggered when copy-pasted (#338).
  • Resolved the unusual behavior when moving a package node through its child nodes. The package node now wraps tightly around its child nodes (#340).

Code Refactoring

  • Changed the representation of the diagram types from inheritance to the statically scoped enum type (#326).
  • Refactored the node hierarchy to avoid unnecessary downcasting (#337).
  • Handled the geometric calculation issue in different systems (#346).

v2.5

4 years ago

This release comprises mostly internal improvements to simplify the design and improve the run-time performance of the diagram drawing operations. A major outcome of this refactoring is the complete decoupling of the logical diagram representation from the GUI framework.

User-visible changes include:

  • Adding installation instructions for Java versions above 8 (#310)
  • Fixing a bug which caused some labels in sequence diagrams to be clipped when exported (#316)

v2.4

4 years ago

This release features a number of minor improvements to the UI as well as refactorings.

Improvements to the User Interface

  • The Java version is no longer checked, which now allows users with previously-unrecognized versions to start the application.
  • It is now possible to open diagrams larger than the current canvas size: the canvas is automatically increased to fit the new diagram.
  • Added an "auto-edit" feature, activated through the View menu, which allows to automatically open the properties page for a node upon creation.
  • The layout is slightly improved, scrollbars don't show up when they should not.
  • The "dirty status" of a diagram, which controls whether a dialog asks for confirmation before closing, now takes into account the undo stack.
  • The Ok button in the properties dialog is now the default button, which can be activated by pressing the "Enter" key.
  • Bug fix: Exception when dragging after ctrl+click on selected node

Main Refactorings

  • The test suite was migrated to JUnit 5
  • The creation of tool icons was refactored
  • The JSON library was stripped, leading to an even smaller application footprint.

v2.3

5 years ago

Small bug fixes and improvements to the user interface.

  • Nodes automatically snap to the grid;
  • The last used directory is remembered between sessions;
  • The last used image format for the export feature is remembered between sessions;
  • The MacOS keybinding for Delete is fixed;
  • The drawing and pasting of edges in sequence diagrams has been fixed/improved: there is more space between call eges to allow the edge labels to show more clearly, and edges draw in the correct order.
  • Point nodes (used for note edges) can now be copied and pasted like any other node.
  • Pasting a partial diagram now positions the pasted element relative to the copied elements, and staggers respective pastes.
  • The look of object nodes in object diagram has been improved.

v2.2

5 years ago

Release 2.2 features a major redesign of the code to support model-view-controller separation of diagram-related concerns. User-visible changes made possible by this refactoring include:

  • Improved support for building Sequence diagrams
  • Fix of a bug causing misalignment of object node names in Object diagrams

v2.1

5 years ago

This release is a port to Java 10 that features many additional improvements to the graphical user interface that take advantage of the JavaFX capabilities.

Port to Java 10

JetUML 2.1 can now run on Java 10 while remaining backward-compatible to Java 8.

Changes to the file format

Due to rename refactorings that impact the encoding of diagrams in files, diagrams saved with prior versions of the application will not be compatible with JetUML 2.1 and subsequent releases.

Fixed sized diagrams

Diagrams now have a fixed size, i.e., not dependent on the window size. The diagram size can be set through the View | Diagram Size menu (this applies only to new diagrams). The diagram will become scrollable if the diagram tab is smaller than the diagram. The diagram will auto-scroll when user interactions involve invisible areas of the diagram.

Nicer diagrams

On most displays, the diagrams will look sharper, as the drawing code was modified to align element boundaries with pixels. Drop shadows are now rendered using JavaFX's API for a more seamless look.

New design for the Toolbar

The tool bar is now a proper toolbar graphical component. Resizing the application to a size smaller than the toolbar will automatically reveal a native expansion feature. The "tool hints" are now displayed directly on the button tools, if this option is enabled through the View menu.

Better management of View options

View options, accessed through the View menu, are available globally and automatically persisted for a user.

General improvements to the UI

The diagram canvas no longer shows a focus highlight. The license menu has been removed and replaced with a hyperlink in the Help | About dialog. The About dialog was modernized.

Allow selecting edges with the lasso selection tool

It is now possible to select edges using the lasso tool, even if their corresponding nodes are not selected.

Better support for dual monitors

Dialogs and context menus will now show up on the correct monitor.

Code redesign

The design of the code responsible for drawing diagrams and responding to user input on diagrams has been improved.

v2.0

6 years ago
  • Complete migration of the user interface to use the JavaFX library.
  • Complete redesign of the graph persistence feature. Diagrams are now saved in JSON format. The new diagram persistence feature is not backward-compatible with previous versions. Graphs saved with JetUML versions older than 2.0.alpha will not load in JetUML 2.0.alpha or later.
  • Slightly redesigned look for the Welcome Tab.
  • Small bug fixes.

Please note that this release will not run properly with Java 10. The migration to Java 10 will be available in Release 2.1.

v2.0.a

6 years ago

First intermediate release on the way to 2.0. This release includes:

  • A major rewrite of the code;
  • Persistence of diagrams in JSON format, to allow (among others) transfer of diagrams to/from other applications.
  • Suppression of the version check so that the tool can be run with Java 9

v1.2

6 years ago
  • Add support for up to two edges between states in state diagrams, including two self-edges per node.
  • Prevent edge label font to go below 9pt in state diagrams.
  • Fix regression bug preventing pasting graph elements from one diagram to another.

v1.1

6 years ago
  • Improvements to the layout of edges in state diagrams;
  • Bug fix: escaping greater and less-than symbols in edge labels
  • Bug fix: directory navigation disabled in export image
  • Bug fix: deletion undo reverses call order in Sequence Diagrams
  • Code refactoring and additional tests