| 1 | {{{#!div style="float: right; margin: 0 1em" |
| 2 | ← [../1.19.2] | [../1.21.0] → |
| 3 | }}} |
| 4 | |
| 5 | = Release Notes for OpenModelica [milestone:1.20.0] = |
| 6 | [[PageOutline(2-3)]] |
| 7 | |
| 8 | The first most notable feature of this release is the automatic installation of the Modelica Standard Library (MSL), which is now fully integrated with the Package Manager. Every time any tool of the OpenModelica suite (e.g. OMEdit, OMNotebook, OMShell, etc.) attempts to load a version of the MSL, it checks if it has already been installed in the user's set of system libraries, which is handled by the Package Manager and is located in the user's .openmodelica directory. If that directory is empty, either because of a fresh install, or because it has been deleted, then the MSL is automatically installed in the user's system libraries from cached zip files in the OpenModelica installation directory; in fact, both MSL 3.2.3 (which is backwards compatible with 3.2.2 and 3.2.1) and 4.0.0 are installed, so that any library created during the last ten years can run out of the box. |
| 9 | |
| 10 | This automatic installation does not require any Internet connection, so it also works behind corporate firewalls or in situations with limited available bandwidth. This solution uses the same package manager that is also used to install other system libraries, contrary to solution implemented in versions 1.18.0 and 1.19.x, which used two different directories in the MODELICAPATH, one for the package manager and one for the preinstalled MSL, leading to slightly confusing duplicate installations of MSL. |
| 11 | |
| 12 | OMEdit loads MSL 4.0.0 by default in the Libraries Browswer. However, if one then loads a package using MSL 3.2.3, it is possible to unload MSL 4.0.0 and load MSL 3.2.3 just with a click of a button. |
| 13 | |
| 14 | The second most notable feature is that a new general purpose ODE solver, named {{{gbode}}}, was introduced. This solver is a fully configurable single-step solver, supporting many different integration methods, both explicit and implicit, with either fixed time step or variable time step with error control, event detection, and dense output for accurate resampling over a regular time grid. Implemented methods include Euler, Heun, Dormand-Prince, Gauss, Radau, Lobatto, Adams-Moulton, Fehlberg, DIRK, SDIRK, ESDIRK, etc. Adaptive multi-rate algorithms are also available within this solver, although this feature is still experimental. This solver replaces previously available solvers like {{{euler}}}, {{{impeuler}}}, {{{trapezoid}}}, etc., which are now deprecated and will be removed in future versions of the tool. |
| 15 | |
| 16 | The {{{gbode}}} solver is currently only available via simulation flags, which can be set in OMEdit under Simulation Setup | Simulation Flags | Additional Simulation Flags (optional). It will be supported via drop-down menus in future releases. See the User's Guide under [https://openmodelica.org/doc/OpenModelicaUsersGuide/1.20/solving.html#gbode Solving Modelica Models] for further information. |
| 17 | |
| 18 | == OpenModelica Compiler (OMC) == |
| 19 | |
| 20 | The new front end has been further improved, with over a dozen https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+milestone%3A1.20.0+label%3ACOMP%2FOMC%2FFrontend+is%3Aclosed bug fixes]. |
| 21 | |
| 22 | [https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+milestone%3A1.20.0+label%3ACOMP%2FOMC%2FBackend+is%3Aclosed+ Some issues] were fixed in the current backend, although most of the developing work is now focused on the new backend, which can be optionally activated with the {{{--newBackend}}} compiler flag, and will become the default choice in a future release. |
| 23 | |
| 24 | Regarding code generation [https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+milestone%3A1.20.0+label%3ACOMP%2FOMC%2FCodegen+is%3Aclosed+ several issues] were fixed, including one that affected the ExternalMedia library, which is now fully supported by OpenModelica. |
| 25 | |
| 26 | |
| 27 | == C Runtime == |
| 28 | |
| 29 | Besides introducing the new {{{gbode}}} solver, some other issues were fixed. The support for external input from CSV files was improved and better documented. See [https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+milestone%3A1.20.0+label%3ACOMP%2FOMC%2FRuntime+is%3Aclosed+ here] for a full list of closed issues. |
| 30 | |
| 31 | |
| 32 | == Graphical Editor OMEdit == |
| 33 | |
| 34 | Besides improved support of the Modelica Standard Library with the package manager, over a dozen issues were fixed, see [https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+milestone%3A1.20.0+label%3ACOMP%2FGUI%2FOMEdit+is%3Aclosed+ here] for a full list. |
| 35 | |
| 36 | == FMI == |
| 37 | |
| 38 | Main highlights: |
| 39 | - The FMI import feature allows to import an FMU as a block in a Modelica model. This feature was broken in versions 1.18.0 and 1.19.0, it is now functional again, with some limitations, see the [https://openmodelica.org/doc/OpenModelicaUsersGuide/1.20/fmitlm.html#fmi-import User's Guide] for further information. Support for this feature must be explicitly activated with the Enable FMU Import checkbox in the Tools | Options | Simulation | Translation Flags tab of OMEdit. |
| 40 | - Support of FMI code generation using CMake, see the documentation in the [https://openmodelica.org/doc/OpenModelicaUsersGuide/1.20/fmitlm.html#cmake-fmu-export User's Guide]. |
| 41 | - Bug fixes. |
| 42 | |
| 43 | See [https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+milestone%3A1.20.0+label%3ACOMP%2FFMI+is%3Aclosed+ here] for a full list of closed FMI issues. |
| 44 | |
| 45 | == List of tickets closed in 1.20.0 == |
| 46 | |
| 47 | List of [https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+is%3Aclosed+milestone%3A1.20.0+-is%3Ainvalid closed tickets in 1.20.0]. Over 80 issues were resolved. |
| 48 | |
| 49 | == Next releases == |
| 50 | |
| 51 | A 1.20.1 bugfix version may be released if critical bugs are identified and resolved before January 2023. The next release 1.21.0 is planned to be beta-released in February 2022, and release in March 2022, and should include a completely restructured handling of model editing in OMEdit, including long awaited-for features like support of conditional connectors, parameter-depending dialog annotation, and faster rendering of complex diagrams. |
| 52 | |
| 53 | {{{#!comment |
| 54 | === Wiki === |
| 55 | |
| 56 | === Ticket System === |
| 57 | |
| 58 | ==== Roadmap and Milestone ==== |
| 59 | |
| 60 | ==== Custom Queries ==== |
| 61 | |
| 62 | ==== Reports ==== |
| 63 | |
| 64 | === Repository Browser === |
| 65 | |
| 66 | === User Preferences === |
| 67 | |
| 68 | === Timeline === |
| 69 | |
| 70 | === Admin === |
| 71 | |
| 72 | === Others === |
| 73 | }}} |