JetUML Versions Save

A desktop application for fast UML diagramming.

v3.7

3 months ago

This release adds a notification system with live reporting of semantic errors when diagramming.

User-Facing Changes

  • New notification system (#508, #519, #520). Confirmations and errors now get reported as toast notifications at the bottom left of the application window. Use the menu View | Notification Duration to change the notification time. A notification time of zero disables the notifications.

Bug and Other Issues

  • Fixed Files with newlines cannot be opened (#515);
  • Fixed Point node does not get deleted when corresponding edge is cascade-deleted (#522).

Installation on MacOS

Pre-built binaries of the self-contained application are not (yet) available on MacOS due to packaging constraints for this platform. We plan to support this in the near future. In the meantime the application can be launched as a thin jar.

Integrity

You can verify the integrity of your JetUML download by computing its SHA256 hash or by verifying the corresponding PGP signatures. The files are signed by Martin Robillard (public key).

File SHA256
JetUML-3.7.jar 5eb0cd73f084eca83a191020143d60ec00f44b4f5823eaf34d33186d4e416d01
JetUML-3.7-win.exe 9b333b4eef668e6188e03e459e636a757f6a0217a8f6ca6d3ae3ab620f8f2a79
JetUML-3.7-amd64.deb 20308dd39e3276d3b91e1278afb0d2a3dbf735b6b6ead5968df75bc0982c5ffa

v3.6

8 months ago

Release 3.6 provides a major redesign of the diagram persistence and validation logic, intended to facilitate integration with other tools.

User-Facing Changes

  • The format of JetUML files is now formally specified and documented (#488).
  • The stacking order of nodes is now preserved when saving and loading files (#503), which solves the problem of notes disappearing behind other nodes.
  • Improved the placement of middle labels for segmented edges (#504)
  • Automatic file version migration between 2.x and 3.x has been decommissioned (#468).
  • The error reporting for invalid files has been improved (#499, #500)
  • Fixed Small visual glitch with aggregation line in class diagram (#474).
  • Fixed Package node loses position when last child node unlinked (#505)

Design Changes

The JSON de/serialization code has been entirely re-written (#486). Formerly relying on the legacy org.json library, the JSON parsing code is now simpler and more robust, and tailored exactly to the needs of JetUML. The code to validate UML diagrams has also been completely redesigned to unify the validation done following user gestures with the validation done when loading files.

Installation on MacOS

There remains an unresolved problem packaging the application binaries for recent versions of MacOS. We plan to implement a solution in the near future. In the meantime the application works when properly launched as a thin jar.

Integrity

You can verify the integrity of your JetUML download by computing its SHA256 hash or by verifying the corresponding PGP signatures. The files are signed by Martin Robillard (public key).

File SHA256
JetUML-3.6.jar 684007e2a4d285b6f4a0e3530ceab0c2552f8b127e3aefa8150cdbdbc8d651af
JetUML-3.6-win.exe ca06480d2039d8016adb559d5cd7abbf4b7cf1f470bfcaeb7fc6d19d6fb2fb11

v3.5

1 year ago

Design Changes

This is a maintenance release that incorporates a major redesign and simplification of the diagram rendering functionality (#462, #465, #466, #467, #470, #471, #473, #478, #483, #484 ). A description of the new design is available as part of the architecture documentation.

User-Facing Changes

  • Pasting into sequence diagrams is now explicitly disabled (#482)
  • Fixed Edges don't connect to package node boundaries when connecting north (#469)
  • Fixed Endless loop when drawing class diagrams with interleaved control-flow (#463)

Installation on MacOS

There is an unresolved problem packaging the application binaries for MacOS Ventura. As soon as we find the fix we will post the binaries here. In the meantime the application is reported to work when properly launched as a thin jar.

Integrity

You can verify the integrity of your JetUML download by computing its SHA256 hash or by verifying the corresponding PGP signatures. The files are signed by Martin Robillard (public key).

File SHA256
JetUML-3.5.jar 3b34ab745012d858424152f2670abed0d668a66193188688c006c6cf175d6de3
JetUML-3.5-win.exe e973de6dc7bb84ce19177172247561b2ceacaae467674e953e110b7e8f197fd1

v3.4

1 year ago

New and Improved Features

  • This release features new layout algorithms for the class diagram (#375). The algorithms leverage a number of heuristics to keep diagrams clear by avoiding overlap and edge crossings, while selecting intuitive-looking paths and more effective label placement (#446).
  • In sequence diagrams, we no longer delete the implicit parameter when a constructor call is deleted (#437);

Bug Fixes

  • Cannot select overlapped implicit parameters in sequence diagram (#438);
  • Drag package content to bottom of viewport. Subsequence dragging misbehaves (#445)

Code Refactorings

  • Refactor the PersistenceTests (#439)
  • Update Checkstyle style file to 8.44 (#440)
  • Code Modernization and Cleanup (#456). JetUML now runs on Java 17.

v3.3

2 years ago

New Features and Improvements

See the User Guide for details.

  • It is now possible to change the size of the text in diagrams (#426)
  • Using the shortcut key combination Ctrl-Q inserts UML stereotype delimiters (#434)
  • Field nodes in object diagrams have a tighter visual layout (#428)

Refactorings

  • Node position is no longer stored as a property (#427)
  • Enums are now used to define property values (#429)

v3.2

3 years ago

Usability Improvements

  • The middle labels of edges in class diagrams are now centered properly (#409)
  • Fixed a bug that made labels shift when changing the selection (#402)
  • The intersection between edges and rounded rectangles (state diagrams) and ellipses (use case diagrams) are computed precisely (#401)
  • The labels of actor nodes are now centered in use case diagrams (#419)
  • The webpage for the user guide is static and loads faster (#398)

Code Improvements

  • General cleanup of the geometry code (#396)
  • The constraint checking code for edge creation has been improved for run-time performance (#416)
  • The design of the code that renders strings in diagrams has been improved (#413, #422)

v3.1

3 years ago

This release integrates three features:

  • End-user documentation available as an optional "Tip of the Day" or as a whole through a web page #332, #386, #394;
  • The ability to open files passed as argument, which enables the "open with" feature available on most operating systems #382;
  • The ability to zoom in and out in diagrams #328;

v3.0.2

3 years ago

This release fixes a few leftover problems from 3.0.

Usability Improvements

  • Fixed bug causing the selection of fields in Object diagrams to changes their relative order (#377)
  • Fixed insufficient name padding for some class diagram and use case diagram elements (#379)
  • Fixed bug causing version migration between compatible versions.

Code Improvement

  • Removed unnecessary parameter in edge segmentation code (#378)

v3.0.1

3 years ago

This release fixes a bug that prevented the creation of field nodes in object diagrams (#376).

v3.0

3 years ago

With Release 3.0 JetUML is deployable as a self-contained application. The release also includes new features to help users learn UML as they go and avoid diagramming errors.

New Deployment Model

  • The application was modularized (#352) so that it can be made available as a self-contained application (#372)

New Features

  • Verbose tool-tips: It is now possible to optionally see verbose tooltips that provide an extended definition of the different UML elements in the toolbar (#356)
  • Auto-activate the Selection Tool: Selecting a diagram element will automatically activate the selection tool, even if a different tools was (usually mistakenly) selected (#363);

Updated Diagram Structure

  • Usage modes (text vs. elements) of package node mutually exclusive (#320)
  • Simplified dependencies in Class Diagrams (#301)
  • Interface stereotype as part of the element view, not data (#359)
  • Removed labels on generalization edges in class diagrams (#360)
  • Association edges are not implicitly directed (#362)
  • Additional checking of edges constaints (#361)
  • Automatic migration for these changes (#302)

Bug Fixes and Refactorings

  • Fix: Reposition the package when its child node is deleted (#350)
  • Fix: Reposition the package node (#351)
  • Update Checkstyle Style sheet (#354)
  • Potential resource leaks in the JSON library (#355)
  • Call Node Mispositioned in the Sequence Diagram (#357)
  • Refactor the handling of the tool prototypes (#364)
  • Fix: Constructor Call Constraints (#369)
  • Sequence Diagram deletion does not preserve control-flow constraints (#353)