Skip to content

Umple Release 1.33.0

Latest
Compare
Choose a tag to compare
@TimLethbridge TimLethbridge released this 10 Jan 17:22
· 256 commits to master since this release
2336fae

Umple release 1.33.0 contains all changes made from late December 2022 to January 10th 2024.

Changes in this release include the following. These were all worked on by either Masters or 4th year students at the University of Ottawa.

UmpleOnline improvements:

  • Issue #1898 and #1958 and PR #2035: Menus to allow GraphViz diagrams to be edited. In a class diagram: Right-clicking (control-clicking on a Mac) on a class allows renaming or deleting a class, adding an attribute, association or subclass, or changing the colour. In a state diagram, right-clicking on a state allows renaming or deleting the state, as well as adding a substate or transition.

  • Issue #1897: In a state diagram, clicking on a state will highlight its code in the text pane (this functionality previously existed only for class diagrams).

Generator improvements:

Python generation (transpiling) improvements: (Issuer #1994)

  • PR #2034: Implementing nested classes, timing and concurrency

  • PR #2072: Outputting comments from Umple to Python code

  • PRs #2074 and #2075: Fixing generation of tabs with Python code in UmpleOnline

  • PR #2077: Bringing python out of beta mode
    (more work on fine-tuning Python generation and allowing execution in UmpleOnline are planned for the coming year)

  • Issue #2015 and PR #2067: Ability to generate GraphViz diagrams of state machines and class diagrams that are more spread apart (or more dense). The new -s gvseparator takes an argument greater than or less than 1.

  • Issue #2052 and PR #2065: Certain errors when specifying requirements now generate a proper Umple warning, rather than printing to Standard Output (more work on Requirements modeling will be done for the next release)

  • Issue #511 and PR #2058: The colour of states in a state diagram can now be specified in the same manner as for classes and interfaces in a class diagram ising the displayColor (also displayColour) directive. Any html-compatible colour can be used, either words or hex.

  • PR #2050: State tables and event sequences can now be generated on the command line, and not just in UmpleOnline

  • PR #2030. Beta Lezer generator of the umple grammar.

Bug fixes:

  • PR #2073: Fixing an XSS security issue in UmpleOnline

  • Issue #1904 and PR #2068: Fixed Null pointer exception when generating SQL in certain situations

  • Issue #2023 and PRs #2057, #2049 and #2064.: Fixed the situation where extraneous brackets would terminate parsing, and result in all subsequent code being ignored. Warning 1016 will now be raised, and the parser will still process code following the extraneous bracket (curly bracket or regular parenthsis found at the top level of the model). This had been causing some model elements to silently 'disappear', unknown to the programmers.

  • Issue #2056 and PR #2060: Improved syntactic processing of the 'displayColour' directive to prevent inaccurate error messages.

  • Issue #2051 and PR #2065: Fixed crash when an implementedReq statement did not have a matching req statement

  • Issue #2046 and PR #2055: Fixed 'unique immutable' combination of attribute stereotypes.

  • Issue #2040 and PR #2042: Fixed a compiler analysis failure in a certain case

  • PR #2069: Dealing with countlog resets in UmpleOnline (it was getting reset to zero at random times)

  • PR #2022: Suppressing a deprecation warning (this means we are stuck at Java 17 for now).

Improvements for those developing Umple

  • Issue #2048 and PR #2061: Created Dev Tools for Windows users of Umple (in dev-tools-windows ... there were already tools for Mac and Linux in the dev-tools directory)

  • PR #2041: New dev tools for generating diagrams on the command line.

Other

  • PR #2062. Adding contributors to the license, and updating web links to use the pattern umple.org/option rather than option.umple.org (this was for security reasons). Key URLs https://try.umple.org and https://manual.umple.org can still be used, however. Some preliminary work is released in PR #2043.

  • Dependency adjustments for the the code execution feature: #2057, #2038, #2039, #2036, #2033

  • PR #2030 Server ping capability ... prevents counting a command in logs when the internal server is simply pinged to see if it is alive.

Preparation work for collaboration feature:

  • PR #2019 Updated Codemirror from version 2 to version 5.

  • Issue: #1963: UmpleOnline can be used collaboratively: Multiple people can edit at the same time. This is not being fully released yet since there are some glitches still. However it is available for beta testing in PR #2029 and branch 1963-add-codemirror6.

Automated Continuous Integration testing is performed on a combination of Appveyor (Windows) and Jenkins (jenkins.umple.org, for ubuntu Linux, which we self-host)

Each Umple release has a DOI associated with it to allow citations. A badge appears in the Github main page for Umple.

The umple-n.n.n-rrrr-hhhhhhhh,jar is the command line compiler

When Umple is built using ant, a symbolic link is made on Linux and Mac calling this umple.jar in the dist directory. The hhhhhhhh is the git commit, and the rrrr is an incrementing count of the number of commits to master.

A build can also be done in Gradle. This is the default in the Jenkins server.

The following are updated shortly after each release. The first four of these will subsequently update themselves as new Umple releases occur.

A plugin for VS-Code is available.

A Mac homebrew install of the command line compiler is available. It can be installed using 'brew install umple'

An installation of the command-line compiler for Windows is available using Chocolatey (choco install umple).

An installation for Ubuntu (and other Debian platforms) is available: The following command sequence installs the Umple repository, then installs Umple using apt. It will then be kept up to date automatically.
curl -fsSL https://cruise.umple.org/repos/umple.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/umple.gpg
echo -e "deb [signed-by=/usr/share/keyrings/umple.gpg] https://cruise.umple.org/repos/apt/debian any main" | sudo tee /etc/apt/sources.list.d/umple.list
sudo apt update
sudo apt install umple

There is a Docker image at https://hub.docker.com/r/umple/umpleonline/ containing a pre-built UmpleOnline environment you can run locally (Click on the Tags tab to see the available releases). This is released a little later than the main release

For the latest Eclipse Plugin see
https://github.com/umple/umple/wiki/InstallEclipsePlugin
(released a after each main release)

When you build Umple, you will also generate other jars including umpledocs.jar used to create the user manual; umplerun.jar a special tool for simulation, and umplesync.jar, the compiler version used internally by Umpleonline, that includes a compilation server and has diagram editing commands.

For further details on how to install Umple see https://cruise.umple.org/umpleonline/download_umple.shtml