Releases: umple/umple
Umple Release 1.37.0
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
- #2436, #2444, #2446, #2447, #2450, #2460
- See also changes to the user manual below that reflect this
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.
- Improved AI explain #2365 (issue #2357)
- Scoping to active model #2325 (issue #2324)
- Improving AI output appearance #2328 (issue #2327)
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
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
- Minor manual corrections: #2418
- User manual pages for new Language Server Model tools #2398 (See LSP above)
- Enabling manual pages to be taken from pages elsewhere expressed in Markdown #2329
Setting up files to enable AI agents to use Umple
Docker image improvements
Umple main web page improvements
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
- From Dependabot #2322, #2332, #2339, #2346, #2349, #2361, #2362, #2363, #2404, #2405, #2406, #2407, #2408, #2409, #2410, #2413, #2425, #2434, #2452, #2459, #2461, #2463
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 ...
Umple Release 1.36.0
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
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
Ecore generation improvements
- Bug fix: Directed associations #2200
JSON generation of the model improvements
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
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
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
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
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
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
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
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
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)