Skip to content

Releases: umple/umple

Umple Release 1.37.0

18 Apr 21:13
55a30ef

Choose a tag to compare

Umple release 1.37.0 contains all changes made from January 11th, 2026 to April 18th, 2026

Changes in this release are those listed below. These were almost exclusively worked on by students at the University of Ottawa. The names of students are listed in the License file.

Umple's development has progressed over the last three months at an exceptionally fast rate, with 3 masters students, and 8 4th year capstone students working on it ... and with the help of AI! This release encompasses 461 new commits.

Major improvement to instance diagram generation and CRUD UI capabilities

This feature allows the user to create instances of their class model using a form. It helps users explore the possibilities of their model and potentially detect weaknesses. Random instance models can be generated. The models can be viewed using a form or a UML instance diagram. A beta version was created for the last release, but the feature is now mature as of this release. The PRs applied in this release are:

  • Improvements to instance diagram and dealing with inherited attributes #2464
  • Improving validation and association labelling #2443
  • Data persistence: As a model is edited in small ways, existing instance models are modified #2437
  • Live view (can appear on right in place of class diagram) #2415
  • Fix loading issue #2403
  • Load instance diagram #2399
  • Generate random instance data, and store and load JSON #2366
  • Earlier improvements #2330, #2320

Major improvements to the requirements feature (beta)

This feature allows the user to specify requirements in Umple, either as plain requirements (arbitrary text) or user stories, or use cases (with quality requirements under development). Once generated the requirements can be used by AI to generate Umple code. Furthermore the Umple code can be annotated anywhere to indicate what aspects implement each requirement ... and an AI would be expected to do this annotation as it generates code. The PRs merged for this feature are:

  • Adding use cases #2435, #2440, #2442, #2462 (Issue #2378)
  • Adding user stories #2390, #2411, #2426, #2427, #2432 (issue #2377)
  • Ensuring implementsReq can tag top level features #2438 (Issue #2098)
  • Ensuring implementsReq can tag state machine internals #2424
  • Improving requirements generation formatting #2423 (issue #2054)
  • Tests for associations in requirements document #2430
  • Making requirements specified as URLs to an external requirements source clickable in the requirements document output ##2353 (issue #2147)
  • More random words in instance diagrams, and positive integers only #2364

Embedding of the language server protocol (LSP) capability within UmpleOnline

This allows UmpleOnline to provide better syntax-directed editing, searching for references to a symbol, searching for definition of a symbol and so on. There is a whole new repository implementing the LSP https://github.com/umple/umple-lsp Umple editing with the LSP is now available in various IDEs such as BBedit, Zed and VSCode. The following PRs have been merged to make it available in UmpleOnline

Improvements to the AI Capability in UmpleOnline

The core feature was added in the last release. The following are the PRS to improve it in this release.

Compiler improvements

  • Point to the line of brace mismatches #2400 (Issue #2167)
  • Validating role names syntactically as proper identifiers so correct code can be generated #2367 (issue #2341)
  • Generate Mermaid code #2343 (issue #2137)
  • Some of the issues below in UmpleOnline also required compiler improvements to the diagram generation

UmpleOnline Improvements

  • Organize generation options into logical groups in menus #2414 (issue #2290)
  • Drawing in GraphViz class diagrams: #2382, #2428 (issue #2224)
  • Adding Live views on right hand side (instance diagram, event sequence, state table) #2335, #2359, #2381 (issue #2290) ... see also CRUD above
  • Ensuring when an error appears in UmpleOnline that originates in a different tab, the tab (file) name is included in the message, and the link will jump to it #2360 (issue #2301)
  • Fixing a hang when renaming tabls #2382 (issue #2326)
  • Displaying user comments in state diagram tooltips #2375 (issue #2374)
  • Adding change color option in state diagrams #2342 (issue #1958)
  • Adding natural langauge description to state diagrams #2370 (issue 1867)
  • Allowing zooming in SVG, and fixing pinch to zoom #2371
  • Ensure UmpleOnline did not show stale generated code #2351 (issue #2350)
  • Ensure loading an example does not rename the main tab #2348
  • Fixing double redraw #2338 (issue #2273)
  • Note that a new UmpleOnline (pre-alpha) is available for experimentation. Its repo is https://github.com/umple/umpleonline/ and a live version can be tried out at https://umple.org/uol2 ... however we anticipate keeping the existing UmpleOnline live for at least a year so we can experiment with the two versions in parallel. The existing UmpleOnline should be the only one used in production for now.

Improvements to UmpleOnline examples

  • Adding Symboleo example to UmpleOnline #2453
  • Fixing spelling in AccessCOntrol2 #2441

Build, technical debt and devops improvements:

  • Fix longstanding flaky concurrent modification test #2397 (issue #2331)
  • Cache jopt-simple to prevent build failures when it could not be accessed #2422 (Issue #2421)
  • Solve very-longstanding flaky doActivity test #2417 (issue #831)
  • Remove leftover file from build #2402
  • Update Gradle build to more completely match ant build when creating jar files #2391 (issue #2317)\
  • Improvements to Gradle build #2368
  • Fix fbumple (first build) script #2351
  • Removing unused Dropbox Javascript loading #2323

Updates to user manual

Setting up files to enable AI agents to use Umple

Docker image improvements

  • Ensure examples load #2412
  • Ensure main UmpleOnline page loads #2384 (issue #2383)

Umple main web page improvements

  • Adjustments to bring up to date with topics such as AI #2380 (issue #2355)

Other bug fixes:

  • Dealing with inconsistent JSON output: #2445
  • State popup menu fixed in state diagrams #2433
  • Fix bad JSON for UmpleSync error messages #2393 (Issue #2310)
  • Fix situation where the wrong line number could be returned from the parser #2340 (issue #2279)

Security PRs

General Umple release notes for those who build it themselves

Automated Continuous Integration testing is performed on a combination of Appveyor (Windows) and Jenkins (https://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

(n.n.n are the release levels. The first n will not change from 1 unless Umple fundamentally changes in an incompatible way. The second n means a major release. The third n is for a minor relerase. The rrrr is the commit count that monotonically increases and the hhhhhhhh is the git short hash for quick reference)

When Umple is built using ant, a symbolic link is made on Linux and Mac calling this umple.jar in the dist directory. A build can also be done in Gradle. This is the default in the Jenkins server (although currently still using Gradle 7)

Instructions for doing a new Umple release are here: https://github.com/umple/umple/wiki/Releasing

Support on various platforms

A Mac/Linux homebrew install of the command line compiler is available. It can be installed using 'brew install umple'. This is always up to date with the latest Github release.

See the above notes for user manual pages reflecting LSP availability and user manual pages for many other IDEs.

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 less frequently.

An Eclipse plugin is no longer supported, since other IDEs now are more widely used. An older Eclipse plugin is still available.

When you build Umple, you will also generate other ...

Read more

Umple Release 1.36.0

12 Feb 18:02
03bcab5

Choose a tag to compare

Umple release 1.36.0 contains all changes made from October 12th 2024 to January 11th 2026.

Changes in this release include the following. These were almost exclusively worked on by students at the University of Ottawa. The names of students are listed in the License file.

Work is rapidly progressing, so the following notes also give hints about what should be coming in the next few months.

AI Capabilities in UmpleOnline

AI generation capability has been introduced directly into UmpleOnline. Users can now click on 'AI' in the main menu, select an LLM of their choice (they need to provide their own API key that will remain strictly within their browser and not stored on Umple servers), and then request that Umple model code (state machines or class diagrams so far) be generated automatically. The AI technology will also help make suggestions when the user receives warning or error messages in UmpleOnline.

Issues and PRs related to AI Generation:

  • Top level issue #2235 (work will continue on this)
  • Initial beta release PR: #2281
  • Documenting API keys in the user manual #2311 PR: #2312
  • Additional requirements example (agent loop): PR: #2315
  • Improving hitting of prompt token cache #2316 PR: #2318

These features work with Umple's built-in requirements feature (req keyword). The AI will generate implementsReq into generated Umple model code to allow for tracability. Further on the requirements management capability is underway.

Work on AI capabilities is progressing rapidly. We will also very soon release skills to allow AI agents to work with the command line interface to Umple available soon.

CRUD User interface Generation (Forms as an alternative way to view data models)

Although attempted twice before, as of this release we have a robust tool to generate a CRUD (Create, Read, Update, Delete) form-based UX from any class diagram. This allows people to better understand the consequence of their model.

Work on this will continue in 2026: We plan to allow saving and loading of data, and connection to the automatic instance generation feature (see below).

Instance diagram generation

The user can now generate randomized instance diagrams from any class diagram. These respect the multiplicities. Each re-generation will create a different diagram. The idea is that users can assess their class models for correctness.

It is intended in a coming release to connect this with the CRUD UI feature above, so random instance sets can be loaded into that UI, or vice-versa.

UmpleOnline: Graphviz automatic layout is now the default for class diagrams.

Umple's main class diagram mode is now 'Graphviz' (G-mode, selected with a 'G' at the top left'. The older 'E' mode is still available. G-mode lays out diagrams automatically and now allows editing through menus.

UmpleOnline: A large number of new examples are available

Many examples were imported from the AtlanZoo (where they were specified in Ecore format) https://github.com/atlanmod/atlantic-zoo/

These examples were curated and the better quality ones now appear in the Extra Class Diagrams menu of UmpleOnline

  • Issue #223
  • The examples were added as part of large PR: #2198

UmpleOnline: More layout options

Until this release, the GraphViz 'dot' algorithm was used with default settings. Users can now select other GrapViz algorithms (such as circo) in the central menu to try different automatic layouts. They can also change class separation in class diagrams. Classes are also shown in larger boxes if they have many associations, to reduce overlap of association ends. Arcs can also be made orthogonal.

  • General issue #2081
  • Orthogonal arcs #2146
  • The layout improvements were made as part of large PR: #2198

UmpleOnline: Filtering of the classes used when drawing diagrams

  • General issue #549
  • Filtering options were added as part of large PR: #2198
  • Improve focus logic Issue #2277 PR #2292

UmpleOnline: Dark mode

There is now a menu at the top-right of UmpleOnline that allows selecting from light mode, dark mode, or adopting the operating system default.

Python generation improvements

  • Bug fix: Behaviour of numberOf methods #2249
  • Bug Fix: Nested class tyes #2233 PR: #2244
  • Bug Fix: Import clauses and namespaces: #2234 PR: #2245
  • Bug Fix: Unique attributes: #2231 PR: #2237

C++ generation improvements

  • Bug Fix: std:: filesystem on some platforms #2238 PR: #2239

Ecore generation improvements

  • Bug fix: Directed associations #2200

JSON generation of the model improvements

  • Ensuring JSON representation of model includes enums #2284 PR: #2306

Generator improvements affecting multiple generation targets

  • Bug fix when generating comments in multi-language code injections (Ghost markers) #2263 PR: #2313
  • Ensuring the third component of the version is updated after every merge to master #2307 PR: #2309

Parsing, analysis and error message improvements

  • Improving an error message that appears if an association is specified incorrectly #2194
  • Better error message when there are multiplicity issues related to association specialization #2220 PR #2222
  • Bug Fix: Solving a problem when there are capitalization differences with duplicate association role names: #2210 PR: #2213
  • Typo in warning 1513 #2199 PR: #2207
  • Conflict with class name and role name: Improving warning 19: #1662 PR: #2211
  • Avoiding excessive copies of warning 33 #2195 PR: #2197
  • Improvements to informativeness of error messages 130 and 140 #2193 PR: #2196

UmpleOnline improvements (beyond the features described above)

  • Solving a php deprecation situation #2215
  • UX improvements to the copying of code in UmpleOnline #1956
  • Fixing and robustifying the collaborative editing feature (was down for a few weeks in Jan 2026): #2298 pr: 2319

Build System:

  • Modernized minification to use esbuild: PR: #2305

Security:

  • XSS Security issue 4038334 PR: #2223

Other:

  • Updating license file PR: #2305
  • Updating top level markdown files (Governance, contributing): PR: 2314
  • Meta tags in Umple home page: PR: #2204

Upcoming plans

Rapid development is ongoing with 8 undergraduate and 3 masters students. Core work from Feb-Mar 2026 will include:

  • Improvements to the AI, requirements and CRUD (forms) features (above)
  • Language Server Protocol implementations to allow Umple to work better in VS-Code, and also in many other IDEs and code editors
  • Improvements to many aspects of the user experience

General Umple release notes for those who build it themselves

Automated Continuous Integration testing is performed on a combination of Appveyor (Windows) and Jenkins (https://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

(n.n.n are the release levels. The first n will not change from 1 unless Umple fundamentally changes in an incompatible way. The second n means a major release. The third n is for a minor relerase. The rrrr is the commit count that monotonically increases and the hhhhhhhh is the git short hash for quick reference)

When Umple is built using ant, a symbolic link is made on Linux and Mac calling this umple.jar in the dist directory.
A build can also be done in Gradle. This is the default in the Jenkins server.

Instructions for doing a new Umple release are here: https://github.com/umple/umple/wiki/Releasing

Support on various platforms

A Mac/Linux homebrew install of the command line compiler is available. It can be installed using 'brew install umple'. This is always up to date with the latest Github release.

The following are updated after each release.

A plugin for VS-Code is available. In the coming weeks we expect to release plugins for many other IDEs.

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 less frequently.

For the latest Eclipse Plugin see
https://github.com/umple/umple/wiki/InstallEclipsePlugin
(released less frequently)

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

For further details on how to download install Umple see https://umple.org/dl

Umple Release 1.35.0

11 Oct 15:17
eb0fc3d

Choose a tag to compare

Umple release 1.35.0 contains all changes made from June 6th 2024 to October 11th 2024.

Changes in this release include the following. These were mostly worked on by students from High School to Masters levels.

Major replacement of the technology used to display and edit code in UmpleOnline. Moving from CodeMirror5 to CodeMirror6 https://codemirror.net. This sets the scene for collaborative editing which will be released hopefully later in 2024. Changes include colouring of umple elements , better highlighting, etc. Issue #1963 PR #2029

Improvements to the requirements feature, which allows people to embed requirements as plain text anywhere at the top level of an Umple system using the req keyword, and then refer to these using the implementsReq keyword in various umple elements such as classes, attributes, associations and state machines. This feature remains beta since not all Umple elements can be tagged yet. Issues #1857 #1865 PRs #2103, #2166 (sorting), #2168 #2169 (examples in the user manual), #2170,

Minor UX updates:

  • Improved hover text for E and G mode: Issue #2174 PR #2176
  • Improving appearance of grammar as generated in user manual #2157

Adding Auction example #2158, and Negotiation example #2044 to UmpleOnline

Security updates #2159 #2161 #2171 #2172

Minor issues

  • Loading files that were resulting in Javascript 404 errors. #2164
  • Updating license file; ensuring all files loaded with https, fixing some links, and a 404 issue in jquery #2163
  • Fix to maintain compatibiloity with php7 (avoiding use of a php8 exclusive feature) #2162
  • Removing unnecessary test files from git tracking #2160

Automated Continuous Integration testing is performed on a combination of Appveyor (Windows) and Jenkins (https://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

(n.n.n are the release levels. The first n will not change from 1 unless Umple fundamentally changes in an incompatible way. The second n means a major release. The third n is for a minor relerase. The rrrr is the commit count that monotonically increases and the hhhhhhhh is the git short hash for quick reference)

When Umple is built using ant, a symbolic link is made on Linux and Mac calling this umple.jar in the dist directory.
A build can also be done in Gradle. This is the default in the Jenkins server.

A Mac/Linux homebrew install of the command line compiler is available. It can be installed using 'brew install umple'. This is always up to date with the latest Github release.

The following are updated after each release.

A plugin for VS-Code is available. https://marketplace.visualstudio.com/items?itemName=digized.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 less frequently.

For the latest Eclipse Plugin see
https://github.com/umple/umple/wiki/InstallEclipsePlugin
(released less frequently)

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

For further details on how to download install Umple see https://umple.org/downloads

Umple Release 1.34.1

11 Oct 12:35
9b7acb4

Choose a tag to compare

This is a checkpoint release before 1.35.0 so that it is possible to easily revert if needed. See the notes in 1.35.0 when released

Umple Release 1.34.0

06 Jun 20:54
75afae5

Choose a tag to compare

Umple release 1.34.0 contains all changes made from late January 10th 2024 to June 6th 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.

Ability to edit GraphViz diagrams in UmpleOnline: Main Issue #2081

State machines can now be edited by right-clicking or double-clicking to bring up a menu; menu items allow various kinds of edits: PR: #2117
Double-click event handling in class and state diagrams: PR #2088
Allowing deleting or editing an attribute in a GraphViz class diagram: PR #2095
Editing of associations: PR #2117

Major improvements to C++:

Fixing duplicate methods: PR #2126
Manual examples: Issue #1797 PRs #2119 #2129
Automated testing on every build of the compiler to harden quality:
Compilation by gcc user manual examples to check for syntax errors PR #2138
Compilation and execution of testbed cases to verify they work: PR #2141
Ensuring CI works properly for this on Windows: #2140
Ensuring all C++ code is downloaded in UmpleOnline #2134

Python execution in UmpleOnline. Tag blocks of code Python to enable this (and tag blocks Java to enable Java execution). Issue #2093 PRs #2097 #2135

Json Persistence: Ability to generate code in any class so instances can export a JSON representation of that object and the entire network of connected objects, and also to deserialize too. This enables one form of persistence. It works better than GSON and similar solutions since it solve problems with circularity of references, which are inherent in Umple-generated code. The Umple user needs to specify --suboption genJson - Issue #1067 PRs #2109 #2128 #2142

Steady work on embedding requirements in Umple code (still beta):

Requirements with the same name are combined, allowing use of mixins to add detail to a requirement. Issue #2053. PR #2084

Enabling UmpleOnline server to run on Windows better. Issues #2089 and #2091. PRs #2090 and #2092

Bug fixes:

Fixed bugs in Ecore generation: Issue #2101 PR #2116 (Enums) and Issue #2120 PR #2127 (compositions)

Fixed hangs when a compilation generates an excessive number of error messages (due to buffer overflow) PR #2114

Fixed build issue after dependency SimpleTest was moved: PR #2102

Fixed glitch in UmpleOnline where the usage counter would reset to zero: PR #2115

Fixed disappearing images: PRs #2118 #2121

Umple web page improvements

Downloading an SVG file in UmpleOnline targets a new tab so the UmpleOnline page is not overwritten. Issue #1906 PR #2087

New funding page: PR #2124

New LinkedIn page link and other updates to social media links on web page PR #2154

Acknowledging sponsors NSERC and Digital Research Alliance of Canada on webpages: PR #2111

Pointer to the privacy policy is always visible in UmpleOnline: PR #2115

Other documentation improvements

Documented the standalone-transition feature of state machines: PR #2153

Improved a comment in an example: #2122

Other minor changes mostly for those developing Umple:

Tag PhP so dynamic properties are not flagged as deprecated. Issue #2079 PR #2080

Added --debug option to command line (for developers of Umple to enable printing logs while parsing and generating): PR #2153

New dev-tools option for compiler developers restorecompiler to reset to the baseline release if they have created a bad compiler: PR #2096

Bumping Php to 8.3 in CI: #2105

Cleanup of leftover git files: #2110

Security fixes: PR #2086 #2099 #2100 #2104 #2108 #2113 #2123

Automated Continuous Integration testing is performed on a combination of Appveyor (Windows) and Jenkins (https://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.

A Mac/Linux homebrew install of the command line compiler is available. It can be installed using 'brew install umple'. This is always up to date with the latest Github release.

The following are updated after each release.

A plugin for VS-Code is available. https://marketplace.visualstudio.com/items?itemName=digized.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 less frequently.

For the latest Eclipse Plugin see
https://github.com/umple/umple/wiki/InstallEclipsePlugin
(released less frequently)

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

For further details on how to download install Umple see https://umple.org/downloads

Umple Release 1.33.0

10 Jan 17:22
2336fae

Choose a tag to compare

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

Umple Release 1.32.1

23 Dec 02:41
1b7060a

Choose a tag to compare

Umple release 1.32.1 contains all changes from November 28th 2022 to December 22, 2022..

Changes in this release include:

Beta 4 of generation of Python (transpiling generated Java using TXL). PRs #2006, #2008, #2009 This should now be usable for the vast majority of Umple code. Code involving concurrency or delays (do activities, after keyword, etc.) do not yet work.

Updated to latest JQuery (including dealing with some security issues): #2012

User manual examples that display traits now show trait diagrams.

Additional user manual entries for various patterns and for key generators. Prs: #2020 #2011

Enabling Umple code that does parsing to be used by Umple applications: #2003 and #2005

Allowing mixsets to be not included if the reference to the mixset is preceded by an exclamation point. This can be useful when one wants to replace some functionality by functionality that is different.

When a file is not found in a use statement it is now a warning, not an error. There are use cases where this is useful.

Ensuring main Umple web page only has https links: #2013

Fixing a bug in the lib:AbstrationOccurrence.ump file: #2002

Making Choco see Java 11 as the lowest version of Java that will work.

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)

For the latest Eclipse Plugin see
https://github.com/umple/umple/wiki/InstallEclipsePlugin
(released a shortly 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

Umple Release 1.32.0

28 Nov 01:13
45d643b

Choose a tag to compare

Umple release 1.32.0 contains all changes from August 19th 2021 to November 27th 2022.

Additional minor releases are expected in coming weeks.

Changes in this release include:

Execution of generated code in UmpleOnline: Issue #1622. Also added more executable examples, and flagged executable examples in UmpleOnline using an asterisk. Masters work of Lovepreet Singh

Support of Umple for command-line installation/use and as a dependency of other products using Chocolatey (Windows issue #1977, PR #1980, #1982, #1999, #1997); deb and rpm (#1973, #1974). See the end of this release note for details of command-line installation of Umple. Masters work of Luwei Cai.

Beta generation of Python (transpiling generated Java using TXL). Issue #1384. Available on the command line as of this release. Available in UmpleOnline by first typing the code av into the line number field. PRs: #1935, #1983, #1987, #1989, #1991, #1993, #1998. Ongoing 4th year project work. Use of this requires installing TXL from Queen's University https://www.txl.ca and Python 3, although these are optional dependencies of Umple overall.

Various User Experience improvements: #1862, #1755, #1749, #1996

Completion of feature diagramming capabilities. Issues #1657, #1881, #1874, #1877)

Concurrent state machines in state table generation: Issue #569

Alpha support for embedding requirements in Umple code. Issue #379

Ability to embed certain reusable Umple code that is always available (issue #80). The initial set of such files includes AbstractionOccurrence.ump (issue #1393), PlayerRole.ump and TransportationPatternA.ump. These are found in umpleonline/umplibrary/reusable and can be included by prefixing the name with lib:, such as using use lib:TransportationPatternA.ump;

Ability to apply the use statement to an umple file that exists at an https URL, rather than in the local file system. PR #1962

Ability to prompt users of UmpleOnline, such as to undertake a survey.

Improvements to the command-line interface: #1858, #1979, #1995

Fixes to Papyrus generation: PR #1948.

Some bug fixes: #1805, #1905, #1803, #1907, #1917, #1964.

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 http://docker.umple.org containing a pre-built UmpleOnline environment you can run locally (Click on the Tags tab to see the available releases)

For the latest Eclipse Plugin see
https://github.com/umple/umple/wiki/InstallEclipsePlugin
(released a shortly 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 http://dl.umple.org

Umple Release 1.31.1

18 Aug 18:54
917327f

Choose a tag to compare

Umple release 1.31.1 contains all changes from July 9th 2021 to August 18th 2021

This is the mid-summer release; one more release is expected in September with additional summer work.

Changes include:

Adding automated UI tests to UmpleOnline that can be run through jenkins.umple.org; this should help prevent regressions in the UX. Tests are run in headless Chrome. #1836 for issue #363 (this had been worked on since 2016)

Adding a generator to refactor annotative to compositional mixsets #1815

Adding a user manual page documenting all Umple keywords #1799 and #1809 for issue #166

Generating proper SQL code for generalizations #1800 for issue #1728

Improvements to the command line compiler

  • A generator called 'Nothing' that can be used after the -g option to create no output, but allow Umple models to be analyzed (linted) for errors and warnings #1808

  • An option -u to allow Umple code to be specified on the command line directly (rather than in a file). This can be useful to quickly test a very small model, or to quickly create a standalone diagram. #1804

  • The ability to generate svg files directly if graphviz (dot) is installed using the -c - option from any generator starting Gv #1844

Improving full build by having it emit fewer messages and warnings, and fail correctly in Gradle. #1795 #1802 #1806 #1807

Improving accessibility by making elements of UmpleOnline focusable using the keyboard #1837

Adding testbed tests for Compositions and Association Specializations #1796 for issue #1254

Various bug fixes and UX improvements

  • Fixing an infinite loop in structure diagram svg generation #1838

  • Fixing a situation where the diagram would not update when it was completely replaced or certain parts of the text were deleted # 1841 for issues #1835 and #1757

  • Fixing state machine diagram scaling problems #1834 and #1833 for issues #1619 #1754 and #1753

  • Fixing a bug in feature diagram generation #1832 for issue #1827

  • Other minor glitches: #1830 for issue #1826; #1831 for issue #1823

  • Certain Grapviz generators now respect the --path option (specifying where output is to be placed) when they ignored it before. #1844

Several other internal cleanups. #1840 #1842 #1843

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

Each Umple release now 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 you do a build in 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.

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

A Mac homebrew install of the command line compiler is also available shortly after each release using 'brew install umple'

A plugin for VS-Code is also available.

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

For details on how to install see http://dl.umple.org

See also http://docker.umple.org for pre-built UmpleOnline environments you can run locally (Click on the Tags tab to see the available releases)

Umple Release 1.31.0

09 Jul 19:38
d54f1ea

Choose a tag to compare

Umple release 1.31.0 contains all changes from April 9th 2021 to July 9th 2021

This is one of the most significant Umple releases in a couple of years. The changes include important improvements to end-user experience (of those developing with Umple) and the experience of those developing Umple itself.

Changes include:

Major refactoring of the source code structure of the Umple compiler (its .ump files in cruise.umple/src) to improve understandability, enable product-line creation and variants using mixsets, and simplifying some files. PRs involved in this include #1678, #1679, #1680, #1681, #1682, #1685, #1686, #1687, #1688. #1694, #1706, #1711, #1714, #1718, #1730, #1736, #1738, #1748, #1761, #1763. This work is by PhD student Abdulaziz Algablan @gublan24

Natural language descriptions of associations now appears in the GraphViz class diagrams in UmpleOnline. Hover over either end of an association to see the information pop up. PR #1683. This helps users better understand models.

Improvements to tooltips in various places in UmpleOnline to help users understand the interface #1689, #1708, #1731, #1768, #1772, #1779, #1782

A new 'Tip of the day' feature added to provide users with some insights into things they can do with Umple. A message appears at the top of UmpleOnline if there is not urgent message from the system. PRs #1696, #1707 for issue #1636 More tips will be added in the future.

Improvements to tasks, such as being able to cancel the task creation process. PR #1715 for issue #1697

The 'generate' menu in UmpleOnline now keeps the same target (e.g. Java, PhP, State Table), when loading a new example. This allows easier comparing of outputs from the examples. PR #1729

Introduction of a capability to survey random users about their experience with UmpleOnline PRs #1735 and #1774 for issue #1695. This will help us gather information to further improve Umple. Surveys will only be discretely prompted after a user has worked with Umple for a while and done a non-trivial amount of editing, and if the user accepts to answer the short survey, it will appear in a separate tab so as not to disrupt work. UOttawa ethics approval was obtained to enable this.

Small changes to colours in UmpleOnline to improve user experience and readability PR #1737

Opening Yuml in a separate tab PR #1739

Improvements to JSON generation to make it more readable PR #1740

The latest version of JQuery has been incorporated. PRs #1771 and #1778

Bug fixes, including

  • improvements to loading tasks #1713
  • removal of invalid show/hide button in some cases #1732
  • proper counting of edits in UmpleOnline #1766 for issue #1747
  • fixing glitches when resizing the UmpleOnline window #1777 for issue #1663
  • removing an inactive copy-to-clipboard icon #1781
  • ensuring the URL for a displayed example doesn't disappear too soon #1785
  • Fixes to joint.js that had caused a hang PRS #1787 and #1789 for issue #1786
  • fixing a stack overflow crash in SQL generation PR #1788 for issue #1767

The VML jar (an old alternative compiler) and its webpage have been removed since the features have been subsumed into the Mixsets capability of Umple. #1746

There have been many improvements to the Umple command line compiler options (run the umple.jar with --help to see full details). Improvements include

  • allowing a sequence of compilations to be done at once, as specified in a file that lists sets of Umple files and/or mixsets one per line
  • internal compilation of Java when the -c option is used (to speed up compilation, although this increases the size of the compiler jar). #1780.
    The above are used internally in the manual and example tests to speed up the build considerably PR #1784.

Improvements to the build process, including better building and testing with Gradle (issue #1609), PRs #1716, #1762, #1773. The Gradle build is now the default build in the new Jenkins CI server, although the ant build is still available and is used in Appveyor

Automated user interface tests, which had been previously developed have now been further polished. PR #1783 for issue #363 Further work on these will be ongoing. To run these tests from the build directory:-

  • gem install rspec capybara cuprite selenium-webdriver
  • ant -f build.websitetests.xml "-DhostName=http://cruise.local/umpleonline/" doWebsiteTests
    (where the hostname is your own host)

Various updates to the umple website including #1776

Each Umple release now 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 you do a build in 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.

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

Plugins for VS-Code and homebrew are also available.

When you build Umple, you will also generate other jars including umpledocs, to create the user manual; umplerun, a special tool for simulation, and umplesync, an extended compiler used by Umpleonline.

For details on how to install see http://dl.umple.org

See also http://docker.umple.org for pre-built UmpleOnline environments you can run locally (Click on the Tags tab to see the available releases)