Major OpenModelica Releases
"""""""""""""""""""""""""""

This Appendix lists the most important OpenModelica releases and a brief description of their contents.
Right now versions from 1.3.1 to v1.27.0 are described.

Release Notes for nightly
=========================

.. _release-notes-for-openmodelica-1270:

Release Notes for OpenModelica 1.27.0
=====================================

.. _2026-summer-release-of-openmodelica-version-1270:

2026 summer release of OpenModelica version 1.27.0.
===================================================

Main highlights:
----------------

-  Experimental MCP server in OMEdit for interaction with AI agents.
-  OMEdit now uses Qt6 instead of Qt5, better rendering on high-resolution monitors.
-  State machines are now supported by the new frontend.
-  Reverse model lookup.
-  The Modifiers tab in the parameter dialog now collects all the modifiers applied to a component instance that were not previously displayed in the Parameters dialog.
-  Improved formatting of parameter input dialogs.
-  More responsive editing of diagrams in OMEdit.
-  60 Hz framerate animations of Multibody systems.
-  Improved simulation of systems with implicit equations including if clauses.
-  Previously compiled models can be re-simulated in a new session.
-  Declarative equation-based debugger now handles models with more than 10.000 equations efficiently.
-  FMU memory leaks fixed.
-  Applying library conversion scripts preserves the original formatting.

OpenModelica Compiler (OMC)
---------------------------

Frontend
~~~~~~~~

The new front end has been further improved with `29 issues resolved <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20milestone%3A1.27.0%20label%3ACOMP%2FOMC%2FFrontend%20state%3Aclosed%20-reason%3Anot-planned%20-reason%3Aduplicate%20>`__.

State machines ar now supported by the new frontend, see #8162; since there are basically no open-source libraries using them for testing, the implementation may still be buggy or incomplete, testing by OpenModelica users is very welcome.

Base Modelica export was improved, including alias simplification of flow variables in stream connectors for efficient mixed-integer optimization of thermo-fluid system models, `-d=flowAliasElimination <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/omchelptext.html#omcflag-debug-flowaliaselimination>`__.

The use of equality among Reals outside functions, which is prohibited by the Modelica Language Specification for good numerical reasons, is now deprecated, see #14940. It will not be accepted by future versions of the compiler, unless specifically required by a ``--allowNonStandardModelica`` flag.

Backend and Code Generation
~~~~~~~~~~~~~~~~~~~~~~~~~~~

A bug in the resolveLoops module causing completely wrong results to be computed was fixed, see #13292. Overall, `8 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A1.27.0%20label%3A%22COMP%2FOMC%2FBackend%22%20-reason%3Anot-planned>`__ were fixed in the currently used backend.

The work on the development of the new backend continued, with substantial improvements and over 80 `pull requests <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Apr%20merged%3A2025-12-19..2026-06-06%20NB>`__. 41% of the Modelica Standard Library and 48% of the models of the Buildings library are now simulated successfully. `11 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A1.27.0%20label%3A%22COMP%2FOMC%2FNew%20Backend%22%20-reason%3Anot-planned%20-reason%3Aduplicate>`__ were closed.

Recall that the new backend, which is a lot more efficient than the currently used one, in particular when handling arrays, is still under development and experimentally available with the ```--newBackend`` <https://openmodelica.org/doc/OpenModelicaUersGuide/latest/omchelptext.html#omcflag-newbackend>`__ compiler flag.

The experimental ``initialSimplified()`` operator was introduced in the new backend, see #11272. Its use and rationale are described in a paper submitted to the 2026 Asian Modelica Conference.

`5 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A1.27.0%20-reason%3Anot-planned%20label%3ACOMP%2FOMC%2FCodegen>`__ regarding code generation were also fixed.

C runtime
~~~~~~~~~

`Several improvements <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Apr%20merged%3A2025-12-19..2026-06-20%20gbnls>`__ were added to the internal nonlinear solver of GBODE, further improving its efficiency, which now can exceed multi-step methods such as DASSL and IDA for systems with many events. This can be activated with flags ``-gbnls=internal``, ``-gberr=embedded``.

A bug in the implementation of nonlinear solvers for systems including if-equations was fixed, drastically improving the speed and robustness of the solution for such systems, in particular piecewise-linear electrical circuit models, see #15718 for more details.

Overall `12 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20milestone%3A1.27.0%20label%3ACOMP%2FSimRT%2FC%20state%3Aclosed%20-reason%3Anot-planned%20>`__ regarding the runtime were addressed.

Graphical Editor OMEdit
-----------------------

OMEdit 1.27.0 provides many new features and improvements:

-  Qt6 is used instead of Qt5, leading to improved graphical rendering on wide high-resolution displays.
-  Reverse model lookup: by right-clicking on a class in the Libraries Browser and selecting Find Usage, it is possible to get a list of all usages of that class in all the loaded model, see #12915.
-  The whole list of modifiers added to an instantiated model which are not already represented in the General and custom parameter tabs are now visible in the Modifiers tab, see #14372. This includes:

   -  binding equations for variables and input variables;
   -  min/max/nominal attribute modifiers;
   -  modifiers and redeclares applied to sub-components, possibly by the Show Element feature, which are now visible in the parameter dialog, tab Modifiers, of the top-level component.

-  The formatting of input and text fields of parameter input dialogs was further improved.
-  Many diagram editing operations that were previously very slow are now much faster, see #14804.
-  It is now possible to re-simulate a model that fails when simulating for the first time; previously, one had to recompile it, see #5472.
-  It is now possible to re-simulate a model that was compiled in a previous session, see #14111.
-  Multibody animations now run at 60 Hz framerate, see #14851.
-  The declarative equation-based debugger can now handle large models over 10,000 equations, see #9977.
-  Applying conversion scripts for newer versions of the used libraries preserves the original formatting, see #13447.

Many OMEdit bugs were also fixed in this release. Overall, `52 issues <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.27.0%20state%3Aclosed%20label%3ACOMP%2FGUI%2FOMEdit%20-reason%3Anot-planned%20is%3Aissue%20-reason%3Aduplicate>`__ were addressed.

FMI export
----------

Some bugs causing FMU memory leaks and eventually leading to out-of-memory errors were fixed, see #12225, #13488, and #14509. A bug causing failure when exporting FMUs with directional derivatives was also fixed, see #15537.

Overall, `12 issues <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.27.0%20label%3ACOMP%2FFMI%20state%3Aclosed%20-reason%3Anot-planned>`__ regarding FMI export were addressed.

Experimental MCP server in OMEdit for interaction with AI agents
----------------------------------------------------------------

An experimental MCP server was implemented in OMEdit to allow AI agents to interact with OMEdit by writing, modifying, and running models, and then by analyzing the plotted results. See #15385 and follow up #15854. This server is switched off by default and can be activated by following `these instructions <https://github.com/OpenModelica/OpenModelica/blob/master/OMEdit/OMEditLIB/MCP/README.md>`__. You are welcome to contribute to the discussion proposing ideas and requesting features in #15854.

.. _list-of-tickets-closed-in-1270:

List of tickets closed in 1.27.0
--------------------------------

List of `closed tickets <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.27.0%20is%3Aissue%20state%3Aclosed%20-reason%3Anot-planned%20-reason%3Aduplicate>`__ in the 1.27.0 release. Over 160 issues were addressed and resolved.

Next releases
-------------

The next release 1.28.0 is planned to be released at the end of 2026.

A major milestone in 1.28.0 will be FMI3 support. We are also planning to include much improved handling of conditional connectors and further improvements to the GUI such as a restructured Simulation Setup dialog, faster editing of large models in OMEdit, better plotting of clocked variables, support of the Figure annotation, etc.

We are also actively experimenting the option of running OMEdit in the browser, using local hardware resources through `Wasm <https://en.wikipedia.org/wiki/WebAssembly>`__ technology. A mature enough version should become available when 1.28.0 is released.

Download it from: `https://openmodelica.org <https://openmodelica.org>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.26.9...v1.27.0 <https://github.com/OpenModelica/OpenModelica/compare/v1.26.9...v1.27.0>`__

.. _release-notes-for-v1269:

Release Notes for v1.26.9
=========================

What's Changed
--------------

-  Fix for #15808 parameter value width by @adrpo in `https://github.com/OpenModelica/OpenModelica/pull/15828 <https://github.com/OpenModelica/OpenModelica/pull/15828>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.26.8...v1.26.9 <https://github.com/OpenModelica/OpenModelica/compare/v1.26.8...v1.26.9>`__

.. _release-notes-for-v1280-dev:

Release Notes for v1.28.0-dev
=============================

.. _release-notes-for-openmodelica-v1268:

Release Notes for OpenModelica v1.26.8
======================================

.. _whats-changed-1:

What's Changed
--------------

-  nothing changed, just fixing some github actions

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.26.7...v1.26.8 <https://github.com/OpenModelica/OpenModelica/compare/v1.26.7...v1.26.8>`__

.. _release-notes-for-openmodelica-v1267:

Release Notes for OpenModelica v1.26.7
======================================

.. _whats-changed-2:

What's Changed
--------------

-  nothing changed, just fixing some github actions
-  fix copy-paste error by @adrpo in `https://github.com/OpenModelica/OpenModelica/pull/15474 <https://github.com/OpenModelica/OpenModelica/pull/15474>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.26.6...v1.26.7 <https://github.com/OpenModelica/OpenModelica/compare/v1.26.6...v1.26.7>`__

.. _release-notes-for-openmodelica-1266:

Release Notes for OpenModelica 1.26.6
=====================================

.. _whats-changed-3:

What's Changed
--------------

Nothing has changed since v1.26.4. Release 1.26.5 and 1.26.6 are made just to tests our github actions.

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.26.5...v1.26.6 <https://github.com/OpenModelica/OpenModelica/compare/v1.26.5...v1.26.6>`__

.. _release-notes-for-openmodelica-1265:

Release Notes for OpenModelica 1.26.5
=====================================

.. _whats-changed-4:

What's Changed
--------------

-  add the workflows from master by @adrpo in `https://github.com/OpenModelica/OpenModelica/pull/15454 <https://github.com/OpenModelica/OpenModelica/pull/15454>`__
-  remove the wip workflow by @adrpo in `https://github.com/OpenModelica/OpenModelica/pull/15457 <https://github.com/OpenModelica/OpenModelica/pull/15457>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.26.4...v1.26.5 <https://github.com/OpenModelica/OpenModelica/compare/v1.26.4...v1.26.5>`__

.. _release-notes-for-openmodelica-1264:

Release Notes for OpenModelica 1.26.4
=====================================

.. _patch-release-for-1263:

Patch release for 1.26.3.
=========================

.. _whats-changed-5:

What's Changed
--------------

-  Check for Expression.isNull() (#15116) by @adeas31 in `https://github.com/OpenModelica/OpenModelica/pull/15138 <https://github.com/OpenModelica/OpenModelica/pull/15138>`__
-  update 3rdParty to build on resolute by @adrpo in `https://github.com/OpenModelica/OpenModelica/pull/15421 <https://github.com/OpenModelica/OpenModelica/pull/15421>`__
-  force qt6 on resolute by @adrpo in `https://github.com/OpenModelica/OpenModelica/pull/15422 <https://github.com/OpenModelica/OpenModelica/pull/15422>`__
-  Fix compilation on clang 21.1.8 by @adrpo in `https://github.com/OpenModelica/OpenModelica/pull/15426 <https://github.com/OpenModelica/OpenModelica/pull/15426>`__
-  fix for #15300 - filter on discrete variables (#15302) by @adrpo in `https://github.com/OpenModelica/OpenModelica/pull/15429 <https://github.com/OpenModelica/OpenModelica/pull/15429>`__

Here is the `complete list <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A1.26.4>`__ of closed issues.

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.26.3...v1.26.4 <https://github.com/OpenModelica/OpenModelica/compare/v1.26.3...v1.26.4>`__

.. _release-notes-for-openmodelica-1263:

Release Notes for OpenModelica 1.26.3
=====================================

.. _patch-release-for-1262:

Patch release for 1.26.2.
=========================

Fixes this bug: #15080 - Regression: start value not displayed

Here is the `complete list <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A1.26.3>`__ of closed issues.

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.26.2...v1.26.3 <https://github.com/OpenModelica/OpenModelica/compare/v1.26.2...v1.26.3>`__

.. _release-notes-for-openmodelica-1262:

Release Notes for OpenModelica 1.26.2
=====================================

.. _patch-release-for-1261:

Patch release for 1.26.1.
=========================

Fixes three bugs:

-  #14810 was fixed in 1.26.1 but introduced a regression in the C++ runtime. This is now fixed.
-  #14926 units were changed when the decimal dot was inserted in parameter editing fields. This is now fixed.
-  #14894 supporting the double y-axis introduced a regression on the size of new plot windows. This is now fixed.

Here is the `complete list <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A1.26.2>`__ of closed issues.

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.26.1...v1.26.2 <https://github.com/OpenModelica/OpenModelica/compare/v1.26.1...v1.26.2>`__

.. _release-notes-for-openmodelica-1261:

Release Notes for OpenModelica 1.26.1
=====================================

.. _patch-release-for-1260:

Patch release for 1.26.0.
=========================

Fixes two critical bugs introduced in 1.26.0.

-  #14848 was due to PR #14819, which resolved #10145. The bug caused OMEdit 1.26.0 to crash while typing non-trivial expressions in parameter input fields, if the currently displayed expression was invalid, e.g., when starting to type a string constant ``"`` or an array ``{``.
-  #14861 was due to PR #14774 which resolved #11721. The bug caused wrong redeclare clauses to be generated when using drop-down menus to redeclare replaceable classes, e.g. replaceable Medium models from Modelica.Media

Here is the `complete list <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A1.26.1>`__ of closed issues.

Windows beta releases available `here <https://build.openmodelica.org/omc/builds/windows/releases/1.26/maintenance/64bit/>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.26.0...v1.26.1 <https://github.com/OpenModelica/OpenModelica/compare/v1.26.0...v1.26.1>`__

.. _release-notes-for-openmodelica-1261-beta-2:

Release Notes for OpenModelica 1.26.1 Beta 2
============================================

.. _patch-release-for-1260-1:

Patch release for 1.26.0.
=========================

Fixes two critical bugs introduced in 1.26.0.

-  #14848 was due to PR #14819, which resolved #10145. The bug caused OMEdit 1.26.0 to crash while typing non-trivial expressions in parameter input fields, if the currently displayed expression was invalid, e.g., when starting to type a string constant ``"`` or an array ``{``.
-  #14861 was due to PR #14774 which resolved #11721. The bug caused wrong redeclare clauses to be generated when using drop-down menus to redeclare replaceable classes, e.g. replaceable Medium models from Modelica.Media

Here is the `complete list <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A1.26.1>`__ of closed issues.

Windows beta releases available `here <https://build.openmodelica.org/omc/builds/windows/releases/1.26/maintenance/64bit/>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.26.0...v1.26.1-dev.beta.2 <https://github.com/OpenModelica/OpenModelica/compare/v1.26.0...v1.26.1-dev.beta.2>`__

.. _release-notes-for-openmodelica-1260:

Release Notes for OpenModelica 1.26.0
=====================================

.. _2025-winter-release-of-openmodelica-version-1260:

2025 Winter release of OpenModelica version 1.26.0.
===================================================

.. _main-highlights-1:

Main highlights:
----------------

-  OMEdit now allows to **load and save** models and packages with **syntax errors**.
-  **Improved sizing of parameter editing dialogs** in OMEdit.
-  OpenModelica now allows to **use ``break`` to**\ `remove modifiers <https://specification.modelica.org/maint/3.6/inheritance-modification-and-redeclaration.html#removing-modifiers-break>`__\ **and for**\ `selective model extension <https://specification.modelica.org/maint/3.6/inheritance-modification-and-redeclaration.html#selective-model-extension>`__.
-  OpenModelica now implements **less restrictive rules for the use of conditional components**, as specified in the `draft of the next Modelica Language Specification <https://specification.modelica.org/master/class-predefined-types-and-declarations.html#conditional-component-declaration>`__.
-  **Improved operation of debugging features in OMEdit**: the generation of Equation Operations in the Equation-Based Debugger is now activated by default and it is also possible to activate profiling at runtime after running a model for the first time.
-  Improved handling of **large result files** in OMEdit.
-  Old **deprecated and poorly supported solvers were removed from the runtime** - `gbode <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/solving.html#gbode>`__ should be used instead.

.. _openmodelica-compiler-omc-1:

OpenModelica Compiler (OMC)
---------------------------

Selective model extension was introduced in #11381.

New, `less restrictive rules <https://github.com/modelica/ModelicaSpecification/pull/3556>`__ that are now defined for conditional components in the draft version of Modelica 3.7 were implemented in #12888; basically, it is now possible to refer to conditionally defined components outside of connect statements, as long as they are actually defined.

The new front end has been further improved with `25 issues resolved <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20milestone%3A1.26.0%20label%3ACOMP%2FOMC%2FFrontend%20state%3Aclosed%20-reason%3Anot-planned%20-reason%3Aduplicate%20>`__.

Regarding backend work, `12 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A1.26.0%20label%3A%22COMP%2FOMC%2FBackend%22%20-reason%3Anot-planned>`__ were fixed in the currently used backend.

The work on the development of the new backend continued, with `31 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A1.26.0%20label%3A%22COMP%2FOMC%2FNew%20Backend%22%20-reason%3Anot-planned%20-reason%3Aduplicate>`__ fixed. Recall that the new backend, which is a lot more efficient in particular when handling arrays, is still under development and experimentally available with the ```--newBackend`` <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/omchelptext.html#omcflag-newbackend>`__ compiler flag.

`13 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A1.26.0%20-reason%3Anot-planned%20label%3ACOMP%2FOMC%2FCodegen>`__ regarding code generation were also fixed.

Regarding the C runtime, a new solver strategy was implemented in GBODE, which drastically reduces the number of iterations of the nonlinear solver in the implicit integration methods at each stage, while preserving the same accuracy of the solution; see also the discussion in #14089, #14022. This can be activated with flags ``-gbnls=internal``, ``-gberr=embedded``; only works with single-rate at the moment, but will be extended to multi-rate integration in the next release.

Old poorly supported and deprecated solvers (see #9191) were finally removed from the runtime. They are replaced by better implemented algorithm available within the `GBODE <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/solving.html#gbode>`__ solver.

Overall `21 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20milestone%3A1.26.0%20label%3ACOMP%2FSimRT%2FC%20state%3Aclosed%20-reason%3Anot-planned%20>`__ regarding the runtime were addressed.

.. _graphical-editor-omedit-1:

Graphical Editor OMEdit
-----------------------

OMEdit 1.26.0 provides several new features:

-  It is now possible load and save models and packages with syntax errors. Until all errors are fixed, the code can be edited in text mode, with a direct mapping on the file system; then, it can be saved and re-loaded with the standard Modelica view, see #13663.
-  Much better sizing of parameter input dialogs. Lenghty comments in drop-down menus are now displayed in tooltips, avoiding the need of excessively wide parameter input windows, see #11721.
-  Improved operation of debugging features: the generation of Equation Operations in the Equation-Based Debugger is now activated by default and it is also possible to activate profiling at runtime after running a model for the first time.
-  Loading large result files in OMEdit is now much faster and more reliable.

Many OMEdit bugs were also fixed in this release. Overall, `39 issues <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.26.0%20state%3Aclosed%20label%3ACOMP%2FGUI%2FOMEdit%20-reason%3Anot-planned%20is%3Aissue%20-reason%3Aduplicate>`__ were addressed.

.. _fmi-export-1:

FMI export
----------

CMAKE FMU export is now the default option. A critical bug was resolved about changes in discrete input variables, which did not generate events in FMI ME, see #13822. Overall, `10 issues <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.26.0%20label%3ACOMP%2FFMI%20state%3Aclosed%20-reason%3Anot-planned>`__ regarding FMI export were addressed.

OMPython
--------

OMPython 4.0.0 was released on Oct 20, 2025. See the `release notes <https://github.com/OpenModelica/OMPython/releases/tag/v4.0.0>`__.

.. _list-of-tickets-closed-in-1260:

List of tickets closed in 1.26.0
--------------------------------

List of `closed tickets <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.26.0%20is%3Aissue%20state%3Aclosed%20-reason%3Anot-planned%20-reason%3Aduplicate>`__ in the 1.26.0 release. Overall, 170 issues were addressed and resolved.

.. _next-releases-1:

Next releases
-------------

The next release is planned to be released in spring 2026. It should include much improved handling of conditional connectors and further improvements to the GUI such as a restructured Simulation Setup dialog, faster editing of large models in OMEdit, better plotting of clocked variables, support of the Figure annotation, etc. Further improvements in FMI export are also planned.

Download it from: `https://openmodelica.org <https://openmodelica.org>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.25.7...v1.26.0 <https://github.com/OpenModelica/OpenModelica/compare/v1.25.7...v1.26.0>`__

.. _release-notes-for-openmodelica-1260-devbeta1:

Release Notes for OpenModelica 1.26.0-dev.beta.1
================================================

.. _2025-winter-release-of-openmodelica-1260-beta-1-version:

2025 winter release of OpenModelica 1.26.0 Beta 1 version.
----------------------------------------------------------

Main highlights:

-  OMEdit now allows to **load and save** models and packages with **syntax errors**.
-  **Improved sizing of parameter editing dialogs** in OMEdit.
-  OpenModelica now allows to **use ``break`` to**\ `remove modifiers <https://specification.modelica.org/maint/3.6/inheritance-modification-and-redeclaration.html#removing-modifiers-break>`__\ **and for**\ `selective model extension <https://specification.modelica.org/maint/3.6/inheritance-modification-and-redeclaration.html#selective-model-extension>`__.
-  OpenModelica now implements **less restrictive rules for the use of conditional components**, as specified in the `draft of the next Modelica Language Specification <https://specification.modelica.org/master/class-predefined-types-and-declarations.html#conditional-component-declaration>`__.
-  **Improved operation of debugging features in OMEdit**: the generation of Equation Operations in the Equation-Based Debugger is now activated by default and it is also possible to activate profiling at runtime after running a model for the first time.
-  Improved handling of **large result files** in OMEdit.
-  Old **deprecated and poorly supported solvers were removed from the runtime** - `gbode <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/solving.html#gbode>`__ should be used instead.

.. _openmodelica-compiler-omc-2:

OpenModelica Compiler (OMC)
---------------------------

Selective model extension was introduced in #11381.

New, `less restrictive rules <https://github.com/modelica/ModelicaSpecification/pull/3556>`__ that are now defined for conditional components in the draft version of Modelica 3.7 were implemented in #12888; basically, it is now possible to refer to conditionally defined components outside of connect statements, as long as they are actually defined.

The new front end has been further improved with `25 issues resolved <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20milestone%3A1.26.0%20label%3ACOMP%2FOMC%2FFrontend%20state%3Aclosed%20-reason%3Anot-planned%20-reason%3Aduplicate%20>`__.

Regarding backend work, `12 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A1.26.0%20label%3A%22COMP%2FOMC%2FBackend%22%20-reason%3Anot-planned>`__ were fixed in the currently used backend.

The work on the development of the new backend continued, with `29 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A1.26.0%20label%3A%22COMP%2FOMC%2FNew%20Backend%22%20-reason%3Anot-planned%20-reason%3Aduplicate>`__ fixed. Recall that the new backend, which is a lot more efficient in particular when handling arrays, is still under development and experimentally available with the ```--newBackend`` <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/omchelptext.html#omcflag-newbackend>`__ compiler flag.

`13 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A1.26.0%20-reason%3Anot-planned%20label%3ACOMP%2FOMC%2FCodegen>`__ regarding code generation were also fixed.

Regarding the C runtime, a new solver strategy was implemented in GBODE, which drastically reduces the number of iterations of the nonlinear solver in the implicit integration methods at each stage, while preserving the same accuracy of the solution; see also the discussion in #14089, #14022. This can be activated with flags ``-gbnls=internal``, ``-gberr=embedded``; only works with single-rate at the moment, but will be extended to multi-rate integration in the next release.

Old poorly supported and deprecated solvers (see #9191) were finally removed from the runtime. They are replaced by better implemented algorithm available within the `GBODE <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/solving.html#gbode>`__ solver.

Overall `20 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20milestone%3A1.26.0%20label%3ACOMP%2FSimRT%2FC%20state%3Aclosed%20-reason%3Anot-planned%20>`__ regarding the runtime were addressed.

.. _graphical-editor-omedit-2:

Graphical Editor OMEdit
-----------------------

OMEdit 1.26.0 provides several a few new features:

-  It is now possible load and save models and packages with syntax errors. Until all errors are fixed, the code can be edited in text mode, with a direct mapping on the file system; then, it can be saved and re-loaded with the standard Modelica view, see #13663.
-  Much better sizing of parameter input dialogs. Lenghty comments in drop-down menus are now displayed in tooltips, avoiding the need of excessively wide parameter input windows, see #11721.
-  Improved operation of debugging features: the generation of Equation Operations in the Equation-Based Debugger is now activated by default and it is also possible to activate profiling at runtime after running a model for the first time.
-  Loading large result files in OMEdit is now much faster and more reliable.

Many OMEdit bugs were also fixed in this release. Overall, `35+ issues <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.26.0%20state%3Aclosed%20label%3ACOMP%2FGUI%2FOMEdit%20-reason%3Anot-planned%20is%3Aissue%20-reason%3Aduplicate>`__ were addressed.

.. _fmi-export-2:

FMI export
----------

CMAKE FMU export is now the default option. A critical bug was resolved about changes in discrete input variables, which did not generate events in FMI ME, see #13822. Overall, `10 issues <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.26.0%20label%3ACOMP%2FFMI%20state%3Aclosed%20-reason%3Anot-planned>`__ regarding FMI export were addressed.

.. _ompython-1:

OMPython
--------

OMPython 4.0.0 was released on Oct 20, 2025. See the `release notes <https://github.com/OpenModelica/OMPython/releases/tag/v4.0.0>`__.

.. _list-of-tickets-closed-in-1260-1:

List of tickets closed in 1.26.0
--------------------------------

List of `closed tickets <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.26.0%20is%3Aissue%20state%3Aclosed%20-reason%3Anot-planned%20-reason%3Aduplicate>`__ in the 1.26.0 release. Over 160 issues were addressed and resolved.

.. _next-releases-2:

Next releases
-------------

The next release is planned to be released in spring 2026. It should include much improved handling of conditional connectors and further improvements to the GUI such as a restructured Simulation Setup dialog, faster editing of large models in OMEdit, better plotting of clocked variables, support of the Figure annotation, etc. Further improvements in FMI export are also planned.

Download it from: `https://openmodelica.org <https://openmodelica.org>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.25.7...v1.26.0-dev.beta.1 <https://github.com/OpenModelica/OpenModelica/compare/v1.25.7...v1.26.0-dev.beta.1>`__

.. _release-notes-for-openmodelica-1257:

Release Notes for OpenModelica 1.25.7
=====================================

Patch release of 1.25.6. Fixes a bug introduced in 1.25.6 that caused OMEdit to crash.

.. _release-notes-for-openmodelica-1256:

Release Notes for OpenModelica 1.25.6
=====================================

Patch release of 1.25.5.

Fixes `6 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20milestone%3A1.25.6%20-reason%3Anot-planned>`__ of the OMEdit GUI, regarding animations with CAD files, OMEdit crashes, hierarchical editing. Also fixes a regression that caused slow loading of large result files.

.. _release-notes-for-openmodelica-1255:

Release Notes for OpenModelica 1.25.5
=====================================

Patch release of 1.25.4. Fixes a couple of issues with FMI export, including a regression introduced in 1.25.4, as well as a couple of bugs in OMEdit.

Here is a `complete list <https://github.com/OpenModelica/OpenModelica/milestone/66?closed=1>`__ of the fixed issues.

.. _release-notes-for-openmodelica-1254:

Release Notes for OpenModelica 1.25.4
=====================================

.. _whats-changed-6:

What's Changed
--------------

-  Construct the qualified path of variable (#14341) by @adeas31 in `https://github.com/OpenModelica/OpenModelica/pull/14342 <https://github.com/OpenModelica/OpenModelica/pull/14342>`__
-  Clear the hash (#14344) by @adeas31 in `https://github.com/OpenModelica/OpenModelica/pull/14345 <https://github.com/OpenModelica/OpenModelica/pull/14345>`__

This is bug fix release that fixes a regression with the plotting in OMEdit introduced in v1.25.3.

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.25.3...v1.25.4 <https://github.com/OpenModelica/OpenModelica/compare/v1.25.3...v1.25.4>`__

.. _release-notes-for-openmodelica-1253:

Release Notes for OpenModelica 1.25.3
=====================================

Patch release of 1.25.2. Fixes `4 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A1.25.3>`__, concerning the GUI, inlining, and FMI export.

In particular, #14192 significantly improves the peformance and reliability of OMEdit when browsing simulation results of models of non-trivial size.

.. _release-notes-for-openmodelica-1252:

Release Notes for OpenModelica 1.25.2
=====================================

Patch release of 1.25.1. Fixes `4 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A1.25.2>`__ with the GUI that were found in 1.25.1.

Activates building using qt6 webengine by default on Linux Debian Trixie LTS, since qt6 webkit is no longer available.

.. _release-notes-for-openmodelica-1251:

Release Notes for OpenModelica 1.25.1
=====================================

Patch release of 1.25.0. Fixes `17 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A1.25.1>`__ that were found in 1.25.0, mostly involving the GUI.

Please use this version of OMC if you plan on installing the Modelica Standard Library version 4.1.0, as it contains a critical fix regarding version management in the class loader.

.. _release-notes-for-openmodelica-1250:

Release Notes for OpenModelica 1.25.0
=====================================

This is the final release of the regular early-spring release of OpenModelica, version 1.25.0.

Main highlights: OMEdit now supports **hierarchical parameter editing** in structured models, a **Reload package** feature, and an **Open Class in text view** feature.

.. _openmodelica-compiler-omc-3:

OpenModelica Compiler (OMC)
---------------------------

The new front end has been further improved with `20+ issues solved <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20milestone%3A1.25.0%20label%3ACOMP%2FOMC%2FFrontend%20state%3Aclosed%20-reason%3Anot-planned%20-reason%3Aduplicate%20>`__. `Three fixes <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aclosed%20is%3Aissue%20milestone%3A1.25.0%20label%3A%22COMP%2FBase%20Modelica%22%20>`__ regarding the new experimental `Base Modelica flat output <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/basemodelica.html#flattening-models-to-basemodelica>`__.

Regarding backend work, `9 issues <https://github.com/OpenModelica/OpenModelica/issues?q=state%3Aclosed%20milestone%3A1.25.0%20label%3A%22COMP%2FOMC%2FBackend%22%20-reason%3Anot-planned%20>`__ were fixed in the currently used backend. In particular, `#13187 <https://github.com/OpenModelica/OpenModelica/issues/13187>`__ fixed a long-standing issue that caused unexplicable divisions by zero in the Buildings library. Additionally, `18 issues <https://github.com/OpenModelica/OpenModelica/issues?q=state%3Aclosed%20milestone%3A1.25.0%20label%3A%22COMP%2FOMC%2FNew%20Backend%22%20-reason%3Anot-planned>`__ were address in the new backend, which is still under development and experimentally available with the ```--newBackend`` <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/omchelptext.html#omcflag-newbackend>`__ compiler flag.

Regarding the C runtime, `15 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue%20milestone%3A1.25.0%20label%3ACOMP%2FSimRT%2FC%20state%3Aclosed%20-reason%3Anot-planned%20>`__ were addressed. In particular, `#5709 <https://github.com/OpenModelica/OpenModelica/issues/5709>`__ fixed an old problem that caused equidistant time grid simulation result outputs to miss some time steps if the saving of results at events was disabled - this now allows to obtain fully periodic sampling times in simulation outputs with equidistant time grid in that case.

A new experimental feature, the Newton Diagnostics, was added to the C runtime. This feature can be activated by the simulation flag ```-lv=LOG_NEWTON_DIAGNOSTICS`` <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/simulationflags.html#simflag-lv>`__; this computes and displays a ranking of the most likely start attributes responsible for the failure of Newton-Raphson iterations on nonlinear implicit systems during initialization. As such, it can be an invaluable tool for troubleshooting initialization failures due to convergence issues caused by badly chosen start attributes. For more details see the `paper <https://doi.org/10.1016/j.amc.2021.125991>`__ by F. Casella and B. Bachmann on this topic (here is an open-access `preprint <https://arxiv.org/abs/1911.12433>`__ on ArXiv) and the `presentation <https://openmodelica.org/images/M_images/OpenModelicaWorkshop_2025/2025-02-03_Newton_Diagnostics.pdf>`__ at the 2025 OpenModelica Workshop for more details. The current implementation is still incomplete, as it doesn't work yet with symbolic jacobians and does not perform residual scaling, so it is not going to work well yet when applied to systems of equations that are badly scaled due to the use of SI units. A full implementation will be available in the next release.

.. _graphical-editor-omedit-3:

Graphical Editor OMEdit
-----------------------

OMEdit 1.25.0 provides several, long awaited-for features.

The first is hierarchical editing of model parameters #2891: you can now change parameters not only for top-level components, but also for its sub-components. This feature is available by right-clicking over component icons and selecting Show Element; this can be done recursively to set parameters of sub-sub-components, etc.. Replaceable components and classes can be handled in the same way. Previously, this was only possible by switching to the textual input mode and by manually adding the corresponding nested modifiers and redeclare clauses to the top-level component instances.

The Reload feature was implemented #5664: if you right-click on a top-level package, the whole package is unloaded from memory and reloaded from the file system, *while preserving the status of the already opened sub-packages in the Library browser*. Previously, you had to first select Unload, then re-open the package, and then navigate again through the sub-package hierarchy to reach the model(s) of your interest. This feature is very convenient when working with multiple Modelica tools in parallel, or when editing some parts of a library with textual editors, because it allows to update the loaded package to the updated version on the file system with a single mouse click.

When browsing the code of a class in the textual view, it is now possible to open any class mentioned in the source code by just right-clicking on it and selecting Open Class, or just by the ctrl-click shortcut #8854.

It is now possible to select a part of a model diagram by dragging a selection window, then copy and paste all the selected components either in the same model, or into a new model #12687.

OMEdit now automatically adds the ``each`` prefix when providing scalar parameter values to parameter arrays, avoiding the common error of forgetting to add it manually #13636.

The new instance-based infrastructure of OMEdit is now fully mature and far superior to the old graphical editing mode from all points of view. Hence, starting from version 1.25.0, support of the old graphical editing mode is dropped #13257.

Many OMEdit bugs were also fixed in this release. Overall, `40+ issues <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.25.0%20state%3Aclosed%20label%3ACOMP%2FGUI%2FOMEdit%20-reason%3Anot-planned%20is%3Aissue%20>`__ were addressed.

.. _fmi-export-3:

FMI export
----------

`Several issues <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.25.0%20label%3ACOMP%2FFMI%20state%3Aclosed%20-reason%3Anot-planned>`__ regarding FMI export were addressed.

A serious bug #13582 affecting co-simulation FMUs using the CVODE stiff solver was solved, allowing to use FMI-CS on stiff models.

API documentation
-----------------

The `online documentation <https://openmodelica.org/doc/OpenModelicaUsersGuide/1.25/scripting_api.html>`__ of the interactive environment API was significantly improved in terms of completeness and readability.

.. _list-of-tickets-closed-in-1250:

List of tickets closed in 1.25.0
--------------------------------

List of `closed tickets <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.25.0%20is%3Aissue%20state%3Aclosed%20-reason%3Anot-planned%20-reason%3Aduplicate>`__ in the 1.25.0 release. 140 issues were addressed and resolved.

.. _next-releases-3:

Next releases
-------------

The next release is planned to be released towards the end of 2025. It should include further improvements to the GUI such as a restructured Simulation Setup dialog, faster editing of large models in OMEdit, etc. Further improvements in FMI 2.0.x export are also planned.

Download it from: `https://openmodelica.org <https://openmodelica.org>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.24.5...v1.25.0 <https://github.com/OpenModelica/OpenModelica/compare/v1.24.5...v1.25.0>`__

.. _release-notes-for-openmodelica-1245:

Release Notes for OpenModelica 1.24.5
=====================================

Added flag to avoid non-strictly necessary compile-time evaluations, see #13570.

Required by RTE to compile Dynawo code on 1.24.x using C11 instead of C17.

.. _release-notes-for-openmodelica-1244:

Release Notes for OpenModelica 1.24.4
=====================================

Some more patches for the 1.24.x, see `list <https://github.com/OpenModelica/OpenModelica/milestone/58?closed=1>`__.

.. _release-notes-for-openmodelica-1243:

Release Notes for OpenModelica 1.24.3
=====================================

Patch release for 1.24.2

Fixes `6 issues <https://github.com/OpenModelica/OpenModelica/milestone/57?closed=1>`__, most importantly a regression involving start attributes for state variables not showing up in the parameter input dialog.

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.24.2...v1.24.3 <https://github.com/OpenModelica/OpenModelica/compare/v1.24.2...v1.24.3>`__

.. _release-notes-for-openmodelica-1242:

Release Notes for OpenModelica 1.24.2
=====================================

Patch release of 1.24.0, fixes issues with the OMEdit GUI. Replaces the previously planned 1.24.1 which was skipped.

A list of the fixed issues is available `here <https://github.com/OpenModelica/OpenModelica/milestone/56?closed=1>`__.

.. _whats-changed-7:

What's Changed
--------------

-  Hide the start and fixed attributes based on final modifier (#13007) by @adeas31 in `https://github.com/OpenModelica/OpenModelica/pull/13008 <https://github.com/OpenModelica/OpenModelica/pull/13008>`__
-  Add context to ``Inst.expand`` (#12962) by @perost in `https://github.com/OpenModelica/OpenModelica/pull/13023 <https://github.com/OpenModelica/OpenModelica/pull/13023>`__
-  OMEdit fixes by @adeas31 in `https://github.com/OpenModelica/OpenModelica/pull/13081 <https://github.com/OpenModelica/OpenModelica/pull/13081>`__
-  Fixes 1.24.1 by @adeas31 in `https://github.com/OpenModelica/OpenModelica/pull/13100 <https://github.com/OpenModelica/OpenModelica/pull/13100>`__
-  Cpp FMI: don't check clockSubactive in firstTick of simulation code by @rfranke in `https://github.com/OpenModelica/OpenModelica/pull/13120 <https://github.com/OpenModelica/OpenModelica/pull/13120>`__
-  Fix the icon display if the component does not have annotation by @adeas31 in `https://github.com/OpenModelica/OpenModelica/pull/13200 <https://github.com/OpenModelica/OpenModelica/pull/13200>`__
-  Draw a default grey box if the model doesn't have an icon by @adeas31 in `https://github.com/OpenModelica/OpenModelica/pull/13216 <https://github.com/OpenModelica/OpenModelica/pull/13216>`__
-  Cherry-pick instance API fixes by @perost in `https://github.com/OpenModelica/OpenModelica/pull/13218 <https://github.com/OpenModelica/OpenModelica/pull/13218>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.24.0...v1.24.2 <https://github.com/OpenModelica/OpenModelica/compare/v1.24.0...v1.24.2>`__

.. _release-notes-for-openmodelica-1240:

Release Notes for OpenModelica 1.24.0
=====================================

The release date of 1.24.0 was anticipated with respect to the traditional summer release and winter release date. The main motivation is that a major update of the OMEdit source code was made on the master branch to make it compatible with both Qt5 and Qt6. This makes it hard to back-port crucial fixes to the GUI in patch releases before the formerly scheduled release date of Jan-Feb 2025. The current development version on the master branch is quite stable and there are no major complaints, which allow us to anticipate the next official release to September 2024.

.. _openmodelica-compiler-omc-4:

OpenModelica Compiler (OMC)
---------------------------

The new front end has been further improved with about 25 issues solved, here is a `complete list <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+milestone%3A1.24.0+label%3ACOMP%2FOMC%2FFrontend+is%3Aclosed+>`__. `Nine of those issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aclosed+milestone%3A1.24.0+label%3A%22COMP%2FBase+Modelica%22+>`__ regarded fixes to the new experimental `Base Modelica flat output <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/basemodelica.html#flattening-models-to-basemodelica>`__.

A new compiler flag `--exposeLocalIOs <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/omchelptext.html#omcflag-exposelocalios>`__ was added to automatically add the outputs of a model components to the outputs of an FMU, instead of only adding the top-level outputs. This can easily provide monitoring information in an FMU without the need of painstakingly bring all those outputs to the top level in the original Modelica model.

Besides #12730, the work on the backend was mostly focused on developing the new backend, with `14 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aclosed+milestone%3A1.24.0+label%3A%22COMP%2FOMC%2FNew+Backend%22+>`__ being fixed.

One `small fix <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aclosed+milestone%3A1.24.0+label%3ACOMP%2FOMC%2FRuntime>`__ was made to the C runtime.

.. _graphical-editor-omedit-4:

Graphical Editor OMEdit
-----------------------

The OMEdit source code was adapted to use both Qt5 and Qt6, see pull request #12485.

The quality of the OMEdit GUI was further improved over the previous version 1.23.1, with about 15 issues fixed, see the `complete list <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.24.0+is%3Aclosed+label%3A%22COMP%2FGUI%2FInstBased+Interface%22%2CCOMP%2FGUI%2FOMEdit+>`__.

An important improvement regarding the usability of the GUI concerns the reaction time when editing diagrams, which used to be very slow when adding or removing components and connections in large models; these operations are now much faster, while changing parameters can still be quite slow. See #11920 for more details.

.. _fmi-export-4:

FMI export
----------

`A few issues <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.24.0+label%3ACOMP%2FFMI+is%3Aclosed+-is%3Ainvalid>`__ were addressed regarding FMI export.

.. _list-of-tickets-closed-in-1240:

List of tickets closed in 1.24.0
--------------------------------

List of `closed tickets in 1.24.0 <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+is%3Aclosed+milestone%3A1.24.0+-is%3Ainvalid>`__. Over 65 issues were addressed and resolved.

.. _next-releases-4:

Next releases
-------------

The next release 1.25.0 is planned to be released in January/February 2025, with a first beta release possibly before the end of the year. It should include further improvements to the GUI such as parameter editing in hierarchically structured model, restructured Simulation Setup dialog, Rename feature with refactoring, faster editing of large models in OMEdit, etc. Further improvements in FMI 2.0.x export are also planned.

Download it from: `https://openmodelica.org <https://openmodelica.org>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.23.1...v1.24.0 <https://github.com/OpenModelica/OpenModelica/compare/v1.23.1...v1.24.0>`__

.. _release-notes-for-openmodelica-1231:

Release Notes for OpenModelica 1.23.1
=====================================

This is a minor release with fixes to OMEdit and omc to avoid crashes.

Download it from: `https://openmodelica.org <https://openmodelica.org>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.23.0...v1.23.1 <https://github.com/OpenModelica/OpenModelica/compare/v1.23.0...v1.23.1>`__

.. _release-notes-for-openmodelica-1230:

Release Notes for OpenModelica 1.23.0
=====================================

Version 1.23.0 of OpenModelica was released on 6 June 2024. It has many improvements and bug fixes compared to 1.22.3 (1.22.4 for Linux), plus some new useful features, in particular regarding the OMEdit GUI and the FMI export feature.

Proper rounding of decimal numbers
----------------------------------

Real parameter values returned by the front-end when flattening models often had bad rounding, such as ``499.99999999999`` instead of ``500`` or ``1.00000000000012`` instead of ``1.0``. Also, bad rounding used to plague parameter values with unit conversions driven by ``displayUnit`` attributes in the OMEdit GUI. In some cases, very long decimal outputs such as ``1200000000.0`` were displayed, instead of the more easily understood ``1.2e9``.

This issue was tackled systematically and resolved thanks to rounding algorithms based on the `Ryu library <https://github.com/ulfjack/ryu>`__, see #8865 for a comprehensive list of all improvements. Now all Real values numbers that are expected to be represented as round decimal numbers are actually represented as such; additionally, decimal vs. scientific format is chosen according to heuristic rules, to ensure good readability by humans in all cases, without significant loss of precision.

.. _openmodelica-compiler-omc-5:

OpenModelica Compiler (OMC)
---------------------------

The new front end has been further improved with about 25 issues solved, here is a `complete list <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+milestone%3A1.23.0+label%3ACOMP%2FOMC%2FFrontend+is%3Aclosed+>`__.

The front end can now provide clean `BaseModelica <https://github.com/modelica/ModelicaSpecification/blob/MCP/0031/RationaleMCP/0031/ReadMe.md>`__ flat output from the command line; experimental array-preserving flat output can also be obtained. See the `User's Guide <https://openmodelica.org/doc/OpenModelicaUsersGuide/1.23/basemodelica.html>`__ for more information.

The draft `MLS 3.7 Sect. 7.1 <https://specification.modelica.org/master/inheritance-modification-and-redeclaration.html#inheritance-extends-clause>`__ now explicitly requires annotations at the end of a class to be carried over when extending model; this includes experiment annotations. This behaviour is now implemented in the frontend, so it is no longer necessary to re-add the experiment annotation when extending a class, see #10386.

Most of the work on the backend is still focused on developing the new backend; about `10 fixes <https://github.com/OpenModelica/OpenModelica/issues?q=label%3ACOMP%2FOMC%2FBackend+milestone%3A1.23.0+is%3Aclosed>`__ were made to the current backend. Two notable improvements are worth mentioning:

-  the non-standard ``annotation(tearingSelect)`` was deprecated and replaced by ``annotation(__OpenModelica_tearingSelect)``
-  according to the `Modelica Language Specification Sect. 8.6 <https://specification.modelica.org/maint/3.5/equations.html#initialization-initial-equation-and-initial-algorithm>`__ parameters with no binding and no explicitly set value now cause the compilation to fail, see #10386. This may cause some old models to fail during compilation, but it is the required behaviour by the specification, to guard against parameters that are accidentally left without a meaningful value. The fix is to provide the modifier for the parameters without bindings, or to add an explicit ``start = 0`` modifier in the library model.

About 10 `bug fixes <https://github.com/OpenModelica/OpenModelica/issues?q=label%3ACOMP%2FOMC%2FRuntime%2CCOMP%2FSimRT%2FC+milestone%3A1.23.0+is%3Aclosed+>`__ were made to the C runtime.

.. _graphical-editor-omedit-5:

Graphical Editor OMEdit
-----------------------

The quality of the OMEdit GUI was further improved over the previous version 1.22.3, with about 55 issues fixed, see the `complete list <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.23.0+is%3Aclosed+label%3A%22COMP%2FGUI%2FInstBased+Interface%22%2CCOMP%2FGUI%2FOMEdit+>`__. Most of them are bug fixes, but there are also some new features:

-  Duplicate class feature now works correctly also when the class is duplicated in another scope #5346
-  Top-level model parameters can now be edited with the GUI #4408
-  Further optimization of the editor's response time when deleting components and adding/deleting connections #11920
-  All rounding issues in the GUI resolved #8865

.. _fmi-export-5:

FMI export
----------

`14 issues <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.23.0+label%3ACOMP%2FFMI+is%3Aclosed>`__ were addressed regarding FMI export, further improving the quality of that feature. We are currently testing over 80 libraries from the Package Manager collection by exporting FMI-CS FMUs with OMC and simulating them with CVODE using the `FMPy <https://github.com/CATIA-Systems/FMPy>`__ tool; test reports can be reached from `this page <https://libraries.openmodelica.org/branches/master-fmi-fmpy/>`__.

.. _list-of-tickets-closed-in-1230:

List of tickets closed in 1.23.0
--------------------------------

List of `closed tickets in 1.23.0 <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+is%3Aclosed+milestone%3A1.23.0+-is%3Ainvalid>`__. Over 140 issues were resolved.

.. _next-releases-5:

Next releases
-------------

The next release 1.24.0 is planned to be released in Q4 2024. It should include further improvements to the GUI such as parameter editing in hierarchically structured model, restructured Simulation Setup dialog, Rename feature with refactoring, faster editing of large models in OMEdit, etc. Further improvements in FMI 2.0.x export are also planned.

Download it from: `https://openmodelica.org <https://openmodelica.org>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.22.3...v1.23.0 <https://github.com/OpenModelica/OpenModelica/compare/v1.22.3...v1.23.0>`__

.. _release-notes-for-openmodelica-1223:

Release Notes for OpenModelica 1.22.3
=====================================

This patch release contains several fixes and improvements to the OMEdit GUI. See the full list of the closed issues `here <https://github.com/OpenModelica/OpenModelica/milestone/50?closed=1>`__.

.. _release-notes-for-openmodelica-1222:

Release Notes for OpenModelica 1.22.2
=====================================

This patch release contains several fixes and improvements, mostly to the OMEdit GUI

-  a critical bug when handling connections that causes OMEdit to crash when editing them was fixed
-  moving components around in diagrams in OMEdit is now much faster and responsive
-  several fixes to diagram visualization and parameter inputs in OMEdit
-  much faster FMU code export thanks to the clang compiler and parallel C source code compilation

A full list of closed issues can be found `here <https://github.com/OpenModelica/OpenModelica/milestone/49?closed=1>`__.

.. _release-notes-for-openmodelica-1221:

Release Notes for OpenModelica 1.22.1
=====================================

This patch release contains several improvements to the OMEdit GUI:

-  It is now possible to handle 'each' and 'final' prefixes in parameter input dialogs
-  It is possible to close the Message Browser window if one wants to maximize the real estate for result plots. Only the status bar is displayed also over multiple re-runs or re-compilations, unless warnings or errors pop up
-  Some fixes to visualization glitches and OMEdit unexpected crashes

For the full list of improvements, see `here <https://github.com/OpenModelica/OpenModelica/milestone/48?closed=1>`__.

.. _release-notes-for-openmodelica-1220:

Release Notes for OpenModelica 1.22.0
=====================================

The main highlight of the 1.22.0 release of OpenModelica is a significant improvement of the OMEdit GUI, made possible by the new instance-based architecture for the interaction between the OMEdit GUI and the underlying OMC compiler, which is now activated by default; see below for further details. Many bugs were also fixed, leading to a much improved user experience, compared to the previous 1.21.0 release.

.. _openmodelica-compiler-omc-6:

OpenModelica Compiler (OMC)
---------------------------

The new front end has been further improved with about 25 bug fixes, here is a `complete list <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+milestone%3A1.22.0+label%3ACOMP%2FOMC%2FFrontend+is%3Aclosed+>`__. The `conversion from Integer to Enumeration <https://specification.modelica.org/maint/3.6/class-predefined-types-and-declarations.html#conversion-of-integer-to-enumeration>`__, which was introduced in Modelica 3.4, is now supported by OMC.

Most of the work on the backend is currently focused on developing the new backend; a few `fixes <https://github.com/OpenModelica/OpenModelica/issues?q=label%3ACOMP%2FOMC%2FBackend+milestone%3A1.22.0+is%3Aclosed>`__ were made to the current backend. The ```--tearingMethod=noTearing`` <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/omchelptext.html#omcflag-tearingmethod>`__ was deprecated, because it breaks models with discrete variables involved in algebraic loops, ```--tearingMethod=minimalTearing`` <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/omchelptext.html#omcflag-tearingmethod>`__ should be used instead. A few `bug fixes <https://github.com/OpenModelica/OpenModelica/issues?q=label%3ACOMP%2FOMC%2FCodegen%2CCOMP%2FOMC%2FSimCode+milestone%3A1.22.0+is%3Aclosed>`__ were also made to the code generation process.

Several `bug fixes <https://github.com/OpenModelica/OpenModelica/issues?q=label%3ACOMP%2FOMC%2FRuntime%2CCOMP%2FSimRT%2FC+milestone%3A1.22.0+is%3Aclosed+>`__ and improvements were made to the C runtime. A new simulation flag ```-lv_system`` <https://openmodelica.org/doc/OpenModelicaUsersGuide/1.22/simulationflags.html#simflag-lv-system>`__ was added, to enable logging of solver behaviour for selected systems; together with ```-lv_time`` <https://openmodelica.org/doc/OpenModelicaUsersGuide/1.22/simulationflags.html#simflag-lv-time>`__, this allows to avoid huge log files when debugging solver issues taking place at some point in time with some specific system of equations.

Several improvements were made to the C++ runtime:

-  support for ExternalMedia library (fix record inputs of external functions and bindings of records to scalar variables)
-  support for ThermofluidStream library (fix array dimensions of created temporary variables)
-  preliminary support for DAE mode
-  fixed issue with start attributes for iteration variables of implicit nonlinear systems, which were previously lost

.. _graphical-editor-omedit-6:

Graphical Editor OMEdit
-----------------------

As mentioned above, the new instance-based infrastructure for model editing is now firmly in place and is activated by default. This supports long awaited-for features, namely conditional connectors and parameter input dialogs activated by boolean variables, replaceable classes and models with parameter editing. It also improves the support of the DynamicSelect annotation. In case of remaining issues, it is still possible to de-activate the new infrastructure and fall back to the old one, using the checkbox *Tools \| Options \| General \| Optional Features \| Disable new instance-based graphical editing of models*.

Connection handling and rendering is also much improved:

-  it is no longer possible to make connections between incompatible connectors (that previously only failed later on when trying to compile the model);
-  connection lines are drawn with a white background that allows to reveal bogus connections that were previously hidden by the component itself (e.g., inadvertently short-circuiting a resistor or capacitor). It also show clearly that two apparently crossing connection lines have no actual connection to each other;
-  connection lines spanning a connection set with more than one connector are now rendered with dot-like branching points, increasing readability.

Over `70 issues <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.22.0+is%3Aclosed+label%3A%22COMP%2FGUI%2FInstBased+Interface%22%2CCOMP%2FGUI%2FOMEdit+>`__ were successfully addressed in the OMEdit graphical editor. About `35 issues <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.22.0+is%3Aclosed+label%3A%22COMP%2FGUI%2FInstBased+Interface%22>`__ concerned the debugging and fine-tuning of the new instance-based infrastructure.

Scripting interfaces
--------------------

Improvement made to the OMMatlab concening the efficiency of the ``linearize()`` API function call were ported to OMPython and OMJulia. The updated implementation avoids recompiling the model from scratch every time when multiple calls to ``linearize()`` are made on the same model, resulting in dramatic performance improvement.

FMI support
-----------

Further development work was carried out to support source-code FMI export across all operating systems using CMAKE, see `closed tickets <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.22.0+label%3ACOMP%2FFMI+is%3Aclosed>`__, in addition to the old workflow that was based on GNU makefiles and only worked in POSIX environments. This functionality, documented `here <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/fmitlm.html#compilation-process>`__, is now mostly in place, though it requires more testing to become fully usable. To get the `latest developments <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.23.0+label%3ACOMP%2FFMI+is%3Aclosed+>`__ in FMI export support, consider trying the 1.23.0-dev nightly builds.

A new flag `--nonStandardExposeLocalIOs <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/omchelptext.html#omcflag-nonstdexposelocalios>`__ was introduced to export input/output connectors of sub-models, like sources, sinks and sensors. The default value 0 expose the top-level public inputs and outputs, the value 1 also exposes public inputs and outputs of components, the value 2 also exposes public inputs and outputs of components within components, and so on.

.. _list-of-tickets-closed-in-1220:

List of tickets closed in 1.22.0
--------------------------------

List of `closed tickets in 1.22.0 <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+is%3Aclosed+milestone%3A1.22.0+-is%3Ainvalid>`__. 140 issues were resolved.

.. _next-releases-6:

Next releases
-------------

The next release 1.23.0 is planned to be release in Q2 2024. It should include further improvements to the GUI such as parameter editing in hiearchically structured model, fully functional Duplicate feature, restructured Simulation Setup dialog, etc. Further improvements in FMI 2.0.x export are also planned.

Download it from: `https://openmodelica.org <https://openmodelica.org>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.21.0...v1.22.0 <https://github.com/OpenModelica/OpenModelica/compare/v1.21.0...v1.22.0>`__

.. _release-notes-for-openmodelica-1210:

Release Notes for OpenModelica 1.21.0
=====================================

The 1.21.0 release of OpenModelica doesn't contain any major new feature, but it contains many improvements and bugfixes that significantly improved the quality of the software with respect to the previous 1.20.0 release.

The new single-step `gbode <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/solving.html#gbode>`__ solver has been further developed and can now be used as a serious alternative to the more established `dassl <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/solving.html#dassl>`__, `ida <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/solving.html#ida>`__, and `cvode <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/solving.html#cvode>`__ solvers. A full-fledged GUI for its configuration is still not available and will be added in future versions. Currently, the method defaults to esdirk4, a general-purpose 4-th order implicit method. Other methods can be set with the `-gbm <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/simulationflags.html#simflag-gbm>`__ simulation flag, and each method now automatically selects the best advanced options. All solvers use variable step-size with error control by default, but they can be turned to fixed time step by adding the `-gbctrl=const <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/simulationflags.html#simflag-gbctrl>`__ simulation flag.

A completely overhauled architecture for the interaction between the OMEdit GUI and the underlying OMC compiler is now experimentally available in 1.21.0. It relies on the new frontend to instantiate the classes being edited, rather than trying to re-do it from scratch on the GUI side. This architecture provides faster user interaction and allowed to fix many shortcomings of the GUI, e.g. lack of proper support for replaceable classes with parameters, conditional connectors and parameter dialog activation depending on parameters, etc.

.. _openmodelica-compiler-omc-7:

OpenModelica Compiler (OMC)
---------------------------

The new front end has been further improved with about 20 bug fixes, here is a `complete list <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+milestone%3A1.21.0+label%3ACOMP%2FOMC%2FFrontend+is%3Aclosed+>`__. Major development work went into supporting the development and fine-tuning a new API for the the OMEdit GUI, see `tickets <https://github.com/OpenModelica/OpenModelica/issues?q=label%3A%22COMP%2FGUI%2FInstBased+Interface%22+is%3Aclosed+milestone%3A1.21.0>`__.

Several `fixes <https://github.com/OpenModelica/OpenModelica/issues?q=label%3ACOMP%2FOMC%2FBackend+milestone%3A1.21.0+is%3Aclosed>`__ were made to the current backend, although development work is now mostly focused on the new backend, which includes array-preserving code generation features. The new backend is still not capable of running most models from mainstream libraries. However, it is starting to show `interesting results <https://libraries.openmodelica.org/branches/heavy_tests/LargeTestSuite_NB/LargeTestSuite_NB.html>`__ on selected large-scale test models, with size up to a million equations. These models can now be handled with reasonable amounts of time required to build and compile the simulation code. The new backend can be activated with the ``--newBackend`` compiler flag.

Several `bug fixes <https://github.com/OpenModelica/OpenModelica/issues?q=label%3ACOMP%2FOMC%2FCodegen%2CCOMP%2FOMC%2FSimCode+milestone%3A1.21.0+is%3Aclosed>`__ were made to the code generation process. The new CMake-based build infrastructure has been further developed and is now nearly complete, including support for FMI generation.

Many `bug fixes <https://github.com/OpenModelica/OpenModelica/issues?q=label%3ACOMP%2FOMC%2FRuntime%2CCOMP%2FSimRT%2FC+milestone%3A1.21.0+is%3Aclosed+>`__ and improvements were made to the C runtime, mostly regarding the new gbode solver. This solver is fast reaching production quality and can now be used as a serious alternative to the mainstream dassl, ida, and cvode solvers; it also replaces deprecated obsolete solvers such as impeuler, trapezoid, imprungekutta, etc., that will be removed in future versions.

.. _graphical-editor-omedit-7:

Graphical Editor OMEdit
-----------------------

About `60 issues <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.21.0+is%3Aclosed+label%3A%22COMP%2FGUI%2FInstBased+Interface%22%2CCOMP%2FGUI%2FOMEdit+>`__ were successfully addressed in the OMEdit graphical editor. Most notably, the performance of the GUI support for replaceable classes has been improved dramatically; therefore that option, which is required to use Modelica.Media and Modelica.Fluid, is no longer optional but always active by default.

About `half of the addressed issues <https://github.com/OpenModelica/OpenModelica/issues?q=milestone%3A1.21.0+label%3A%22COMP%2FGUI%2FInstBased+Interface%22+is%3Aclosed>`__ concern the development and fine tuning of the new instance-based interface, that is going to be much faster than the existing one and to address long-standing issues such as supporting conditional connectors and replaceable classes with parameter modifiers.

This new interface can be activated with the *Tools \| Options \| General \| Enable instance API* option. It is mostly in place now, but it still requires further testing and debugging before it can replace the existing one for good. If you want to experiment with it, we suggest you to use the latest 1.22.0-dev nightly build version, that incorporates the latest developments and bug fixes. Please try that one before reporting issues on the `bug tracker <https://github.com/OpenModelica/OpenModelica/issues/new/choose>`__.

.. _scripting-interfaces-1:

Scripting interfaces
--------------------

The OMMatlab interface was significantly improved in this version, see `tickets <https://github.com/OpenModelica/OMMatlab/issues?q=is%3Aissue+is%3Aclosed+closed%3A%3E2022-11-08>`__. In particular, it is now possible to linearize a system in many different conditions without recompiling it each time, which is useful model-based control design.

.. _list-of-tickets-closed-in-1210:

List of tickets closed in 1.21.0
--------------------------------

List of `closed tickets in 1.21.0 <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+is%3Aclosed+milestone%3A1.21.0+-is%3Ainvalid>`__. Over 130 issues were resolved.

.. _next-releases-7:

Next releases
-------------

The next release 1.22.0 is planned to be release in Q4 2023. It will include the new instance-based editing in OMEdit, featuring support of conditional connectors, parameter-depending dialog annotation, hierarchical editing of models, and faster rendering of complex diagrams.

Download it from: `https://openmodelica.org <https://openmodelica.org>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.20.0...v1.21.0 <https://github.com/OpenModelica/OpenModelica/compare/v1.20.0...v1.21.0>`__

.. _release-notes-for-openmodelica-1200:

Release Notes for OpenModelica 1.20.0
=====================================

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.

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 the 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.

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.

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, using either fixed time step or variable time step with error control, handling 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, 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.

The 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 `Solving Modelica Models <https://openmodelica.org/doc/OpenModelicaUsersGuide/1.20/solving.html#gbode>`__ for further information.

.. _openmodelica-compiler-omc-8:

OpenModelica Compiler (OMC)
---------------------------

The new front end has been further improved, with over a dozen `bug fixes <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+milestone%3A1.20.0+label%3ACOMP%2FOMC%2FFrontend+is%3Aclosed>`__.

`Some issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+milestone%3A1.20.0+label%3ACOMP%2FOMC%2FBackend+is%3Aclosed+>`__ were fixed in the current backend, although most of the development 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.

Regarding code generation `several issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+milestone%3A1.20.0+label%3ACOMP%2FOMC%2FCodegen+is%3Aclosed+>`__ were fixed, including one that affected the ExternalMedia library, which is now fully supported by OpenModelica.

.. _c-runtime-1:

C Runtime
---------

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 `here <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+milestone%3A1.20.0+label%3ACOMP%2FOMC%2FRuntime+is%3Aclosed+>`__ for a full list of closed issues.

.. _graphical-editor-omedit-8:

Graphical Editor OMEdit
-----------------------

Besides improved support of the Modelica Standard Library with the package manager, over a dozen issues were fixed, see `the full list <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+milestone%3A1.20.0+label%3ACOMP%2FGUI%2FOMEdit+is%3Aclosed+>`__.

FMI
---

Main highlights: - 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 `User's Guide <https://openmodelica.org/doc/OpenModelicaUsersGuide/1.20/fmitlm.html#fmi-import>`__ 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. - Support of FMI code generation using CMake, see the documentation in the `User's Guide <https://openmodelica.org/doc/OpenModelicaUsersGuide/1.20/fmitlm.html#cmake-fmu-export>`__.

-  Bug fixes.

See `here <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+milestone%3A1.20.0+label%3ACOMP%2FFMI+is%3Aclosed+>`__ for a full list of closed FMI issues.

.. _list-of-tickets-closed-in-1200:

List of tickets closed in 1.20.0
--------------------------------

List of `closed tickets in 1.20.0 <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+is%3Aclosed+milestone%3A1.20.0+-is%3Ainvalid>`__. Over 80 issues were resolved.

.. _next-releases-8:

Next releases
-------------

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 2023, and released in March 2023; it 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.

Download it from: `https://openmodelica.org <https://openmodelica.org>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.19.0...v1.20.0 <https://github.com/OpenModelica/OpenModelica/compare/v1.19.0...v1.20.0>`__

.. _release-notes-for-openmodelica-1192:

Release Notes for OpenModelica 1.19.2
=====================================

Version 1.19.2 is a bugfix release, where some critical bugs that were present in 1.19.0 got fixed.

The most important one is `#8772 <https://github.com/OpenModelica/OpenModelica/issues/8772>`__: parameter dependencies were not handled correctly in some cases, leading to some parameters being wrongly evaluated to zero, which also impacted multibody system animations, see `#8938 <https://github.com/OpenModelica/OpenModelica/issues/8938>`__.

Some further remaining issues with directory names containing accented letters were fixed in `#8777 <https://github.com/OpenModelica/OpenModelica/issues/8777>`__. A problem with the delay operator was also fixed, see `#9116 <https://github.com/OpenModelica/OpenModelica/issues/9116>`__.

Here is the `complete list of bug fixes in release 1.19.2 <https://github.com/OpenModelica/OpenModelica/milestone/40?closed=1>`__.

Download it from: `https://www.openmodelica.org <https://www.openmodelica.org>`__

.. _release-notes-for-openmodelica-1190:

Release Notes for OpenModelica 1.19.0
=====================================

.. _openmodelica-compiler-omc-9:

OpenModelica Compiler (OMC)
---------------------------

The new front end has been further improved, with over 40 `bug fixes <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+is%3Aclosed+milestone%3A1.19.0+-is%3Ainvalid+label%3ACOMP%2FOMC%2FFrontEnd>`__.

Several issues were fixed in the backend, most notably problems affecting event generation and issues involving algorithms and arrays, which led to a wrong diagnosis of under-determined system of equations. Overall, over `15 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+is%3Aclosed+milestone%3A1.19.0+-is%3Ainvalid+label%3ACOMP%2FOMC%2FBackend+>`__ were addressed.

Regarding code generation `5 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+is%3Aclosed+milestone%3A1.19.0+-is%3Ainvalid+label%3ACOMP%2FOMC%2FCodeGen>`__ were fixed, mostly concerning corner cases that involved arrays, record, and slicing operators.

.. _c-runtime-2:

C Runtime
---------

Remaining issues concerning Clock variables were resolved; so, starting from this version, the synchronous features of the Modelica language, in particular the Modelica.Clocked library, are now fully supported. The configuration of runtime and external libraries on Windows was substantially improved. A bug was fixed in daeMode that prevented correct event handling in state-less models, which now run correctly. Overall about `20 issues <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+is%3Aclosed+milestone%3A1.19.0+-is%3Ainvalid+label%3ACOMP%2FSIMRT%2FC>`__ were fixed.

.. _graphical-editor-omedit-9:

Graphical Editor OMEdit
-----------------------

The most important new feature in 1.19.0 is the fully integrated package management and conversion script support in the GUI. We suggest you to read the `Package Management <https://openmodelica.org/doc/OpenModelicaUsersGuide/1.19/packagemanager.html>`__ section of the user's guide for an introduction to the basic concepts.

The package management functionality is now available under the File \| Manage Libraries menu. It is possible to install supported (or experimental) open-source libraries from the internet, and upgrade them when newer versions are released; all the required dependencies are installed automatically. The Windows installer by default also installs the basic versions of the Modelica standard library, as a fallback in case internet connection is not available, e.g. in corporate environments. All other libraries are no longer supplied with the installer and must be installed via the package manager. Off-line use of the package manager will be improved in future versions.

When right-clicking on a library in the libraries browser, a new context menu item "Convert to Newer versions of used libraries" is available. This allows you to convert your library to newer versions of its dependencies, once you have installed them. If the newer version of the used library is backwards compatible with the previous one, this just changes the uses annotation, otherwise, the conversion script is run automatically. The most common use of this feature is to upgrade models or libraries that you developed using the Modelica library 3.2.3 to use Modelica 4.0.0. We recommend that you use this functionality on your own libraries only; for libraries that you download from the internet, it is best to wait for the developers to perform the conversion and release new versions of their libraries, that you can then get through the package manager.

Support of the dynamicSelect annotation has been improved, although it is still not 100% functional in all cases.

The plotting of results has been significantly improved; appropriate prefixes are now automatically selected to avoid getting very large or very small numbers on the Y-axis.

Overall, `over 40 issues <https://github.com/OpenModelica/OpenModelica/issues?page=2&q=is%3Aissue+is%3Aclosed+milestone%3A1.19.0+-is%3Ainvalid+label%3ACOMP%2FGUI%2FOMEdit>`__ were fixed since the previous 1.18.1 release.

Work is on going to provide full support of parameter-depending conditional connectors, parameter-depending dialog annotations, and editing of parameter modifiers in redeclared classes. Implementing these features requires a fundamental re-design of the way OMEdit interacts with the OMC environment to get the required information. These features should become available, at least experimentally, in the future 1.20.0 release.

.. _fmi-export-6:

FMI Export
----------

- Introduced support for interpolation in CS-FMUs by setting "canInterpolateInputs=true" in modeldescription.xml - Introduced support for getting partial derivatives in ME-FMUs by setting "providesDirectionalDerivative=true" - Lots of improvements to OpenModelica FMU export configurations (black box as well as source code FMUs). - Added source-code nonlinear solver CMINPACK to source-code FMUs

-  Basic source-code FMU compilation with CMake; cross compilation with Docker now available on Windows.

About `10 issues fixed <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+is%3Aclosed+milestone%3A1.19.0+-is%3Ainvalid+label%3ACOMP%2FFMI>`__.

OMSimulator
-----------

- Support of importing and exporting Units and UnitDefinitions to SSP files. - Support for getting directional derivative in OMSimulator using both Symbolic Jacobians and numerical approximation using KINSOL solver.

.. _list-of-tickets-closed-in-1190:

List of tickets closed in 1.19.0
--------------------------------

List of `closed tickets in 1.19.0 <https://github.com/OpenModelica/OpenModelica/issues?q=is%3Aissue+is%3Aclosed+milestone%3A1.19.0+-is%3Ainvalid>`__. About 180 issues were resolved.

.. _next-releases-9:

Next releases
-------------

A 1.19.1 bugfix version may be released if critical bugs are identified and resolved before July 2022. The next release 1.20.0 is planned to be beta-released in July 2022, and release in September 2022. On-going work to further improve the level of support of the Buildings library should ensure a significant improvement in the level of support of most Modelica libraries in that upcoming release.

Download it from: `https://www.openmodelica.org <https://www.openmodelica.org>`__

.. _release-notes-for-openmodelica-1180:

Release Notes for OpenModelica 1.18.0
=====================================

.. _openmodelica-compiler-omc-10:

OpenModelica Compiler (OMC)
---------------------------

The development of the new front end continued further, after becoming the default in the previous version. The compiler can now successfully flatten 100% of the models of the Modelica Standard Library 3.2.3 and 4.0.0 that have an experiment annotation. It can also successfully flatten 100% of many other open-source Modelica libraries, such as Chemical, HelmholtzMedia, IBPSA, ModelicaTest, OpenIPSL, PNLib, PhotoVoltaics, PlanarMechanics, PowerGrids, PowerSysPro, PowerSystems, SystemDynamics, TAeZoSysPro, ThermofluidStream. The success ratio when flattening the models of the Buildings library is currently at 96%, on-going work aims at reaching 100% by the end of 2021. Overall, 20 front end issues were fixed since the last official release.

Regarding symbolic analysis and code generation, the handling of index reduction in non-trivial cases where the state constraints are spread among many equations has been improved by the introduction of the ASCC algorithm, coupled with the existing reshuffle loop algorithm; this had beneficial effects in particular on three-phase circuit models. Some bugs in the generation of symbolic jacobians for nonlinear systems were also fixed. Overall, 11 issues were resolved.

.. _c-runtime-3:

C Runtime
---------

Full support of the spatialDistribution() operator was introduced, including accurate handling of events. Several low-level issues were resolved, involving memory leaks and segmentation faults.

.. _c-runtime-4:

C++ Runtime
-----------

The C++ runtime was improved to handle more Modelica language features that are used by the new frontend. The previously release OMC 1.17 had worse coverage for the C++ runtime since it used the new frontend by default without supporting it in the C++ code generator. With these improvements, the coverage of libraries improved significantly, also compared to previous versions of OpenModelica with the old frontend, since the new frontend handles more models correctly than the old one, see the `regression report <https://libraries.openmodelica.org/branches/overview-c++.html>`__, column "Compilation".

.. _graphical-editor-omedit-10:

Graphical Editor OMEdit
-----------------------

Several new features were added to the plotting functionality of OMEdit, in particular: - a "Fit to Diagram" button was added close to the zoom buttons to automatically adjust the extent of a model diagram to its actual content; - the sign of plotted variables can now be toggled by means of the context menu on the variable legends, to compare directly variables that are opposite in sign; - appropriate multiples of SI units (e.g. mW, W, kW, MW, GW for power) are automatically selected for display based on the order of magnitude of the variable, to avoid very large or very small numbers on the plot axes; - the rendering of plots and parameter windows on large and/or high-resolution screens was further improved.

Several bugs were also fixed; in total, 27 issues were addressed.

FMI Support and OMSimulator
---------------------------

FMI 2.0 export was further improved. OMSimulator development continues, over 30 issues were fixed.

Data reconciliation
-------------------

The operation of power plants requires a good quality of the process data obtained through sensor measurements. Unfortunately, sensor measurements such as flow rates, temperatures, and pressures are subject to errors that lead to uncertainties in the assessment of the system's state. Operational margins are therefore set to take into account uncertainties on the system's state. Their effect is to decrease production because safety regulations put stringent limits on the thermal power of the plants. It is therefore important to compute the best estimates of the measurement uncertainties in order to increase power production by reducing operational margins as much as possible while still preserving system safety.

The best estimates can be obtained by combining data statistics with a knowledge a priori of the system in the form of a physical model. Data reconciliation is a technique that has been conceived in the process industry for that purpose. It is fully described in the VDI 2048 standard for the control and quality improvement of process data and their uncertainties by means of correction calculation for operation and acceptance tests".

An extension of Modelica to perform data reconciliation on Modelica models was developed together with EDF and is now fully implemented and integrated with the OMEdit GUI. The basic ideas are explained in `this presentation <https://conference.ep.liu.se/index.php/MODPROD/article/view/124/39>`__, and a section DataReconciliation was added to the User's Guide, explaing how to use it step-by-step.

.. _list-of-tickets-closed-in-1180:

List of tickets closed in 1.18.0
--------------------------------

We are currently transitioning from the old trac issue tracker to the GitHub issue tracker, which is fully integrated with the GitHub revision control and continuous integration framework that we use for the development of OpenModelica. Eventually, the old trac tickets will be migrated onto the GitHub issue tracker. For the time being, old tickets are still managed on trac, while new ones are on GitHub. Overall, about 80 issues were addressed successfully since the 1.17.0 release.

-  `older tickets <https://trac.openmodelica.org/OpenModelica/query?status=closed&resolution=fixed&milestone=1.18.0&group=component&col=id&col=summary&col=milestone&col=status&col=type&col=priority&col=component&order=priority>`__
-  `newer tickets <https://github.com/OpenModelica/OpenModelica/issues?page=1&q=is%3Aissue+is%3Aclosed+milestone%3A1.18.0+-is%3Ainvalid>`__

.. _next-releases-10:

Next releases
-------------

A 1.18.1 bugfix release is planned later this year with some critical bug fixes that have been identified and partially addressed, but need some more testing. The next release 1.19.0 is planned to be released in February 2022, close to the OpenModelica Workshop and Annual Meeting.

Version 1.19.0 is expected to contain a GUI integrated in OMEdit for library handling and conversions. It is also planned to successfully run 100% or close to 100% of the Buildings 7.0.1 library. This will be a major milestone, given the broad extent and complexity of that library.

Download it from: `https://www.openmodelica.org <https://www.openmodelica.org>`__

.. _release-notes-for-openmodelica-1170:

Release Notes for OpenModelica 1.17.0
=====================================

.. _openmodelica-compiler-omc-11:

OpenModelica Compiler (OMC)
---------------------------

The new frontend has been further improved, and is now the default choice for all the OpenModelica tools. The ``-d=newInst`` flag no longer needs to be set in scripts. The old frontend is no longer maintained and will progressively be replaced also for the API interface used by OMEdit. 21 `tickets <https://trac.openmodelica.org/OpenModelica/query?status=closed&component=New+Instantiation&resolution=fixed&milestone=1.17.0&group=resolution&col=id&col=summary&col=component&col=owner&col=type&col=priority&col=version&order=priority>`__ were fixed since the previous 1.16.5 release.

Some issues were fixed in the backend, in particular regarding ``homotopy`` during initialization. Some improvements to code generation, in particular enhancing the support of the HelmholtzMedia library.

The MSYS environment used on Windows was updated to a more recent version, with several benefits: - clang is now also available on Windows and used by default instead of gcc for the compilation of the generated C code, providing much faster C compile time on Windows; - dynamic linking is used instead of static linking, further reducing the overall compilation time on Windows; - a more recent version of the QT library is used, which solves some issues with the rendering of features in OMEdit.

The Sundials solvers and basic linear algebra library KLU were upgraded to the most recent available versions, with benefits in performance and roubustness at runtime.

Supported versions of Modelica Standard Library (MSL)
-----------------------------------------------------

OpenModelica now supports both currently maintained versions of the Modelica Standard Library, MSL 3.2.3 and MSL 4.0.0. This means that you can use Modelica libraries that use either version of the MSL, or create new ones that do so. Automatic conversion of existing libraries from MSL 3.2.3 to MSL 4.0.0 is currently not yet available, it is planned for version 1.18.0.

Please note that the synchronous features in MSL 4.0.0 are still not fully supported, so we suggest not to rely on them in this version of the tool. Better support is planned for version 1.18.0.

Graphic Editor OMEdit
---------------------

The user experience with OMEdit is significantly improved in version 1.17.0, in particular for the Windows version, where the compilation time was drastically reduced by using clang instead of gcc and by dynamic linking instead of static linking of the simulation executable.

Thanks to the upgrade of the employed QT graphics libraries, several issues that plagued the graphical user interface are now resolved.

Replaceable classes continue to have graphical support in OMEdit, even though parameters in redeclared classes cannot yet be modified from the GUI, thus requiring to switch to text mode to do so. The new front end can also be used for some of the API functions called by OMEdit to render the model diagrams, making the response of the GUI much faster. Please note that **both these features are currently optional and needs to be activated** by setting *Tools \| Options \| General \| Enable replaceable support* and *Enable new frontend use in the OMC API (faster GUI response)*. These settings are retained from the previous installation upon version upgrading.

Unsaved code was sometimes lost when switching among different windows in OMEdit, this is no longer happening in this release. Several issues that caused occasional crashes of the GUI were also fixed.

OMEdit now can use both currently maintained versions of the Modelica Standard Library, MSL 3.2.3 and MSL 4.0.0. Please note that the Modelica.Clocked package in MSL 4.0.0 is still not handled in a completely reliable way, while most other models work equally well in the two versions.

When starting the program for the first time after installation, one can choose among three options: load MSL 3.2.3 automatically, which however prevents using libraries that need MSL 4.0.0; load MSL 4.0.0 automatically, which prevents using libraries that need MSL 3.2.3; not loading any version of the library upon starting OMEdit, leaving it to the tool to load the right one when a model or library is opened, thanks to the uses() annotation. The latter option allow to handle different projects that use either version of the MSL without problems, of course one at a time. This choice can be later modified by going to the Tools \| Options \| Libraries menu and by adding or removing the Modelica library from the automatically loaded system libraries, and/or by modifying the specific version that gets loaded.

Proper support of the package manager from the GUI, including conversion scripts to upgrade existing libraries from MSL 3.2.3 to MSL 4.0.0, is planned for version 1.18.0.

16 `bug fixes <https://trac.openmodelica.org/OpenModelica/query?status=closed&component=OMEdit&resolution=fixed&milestone=1.17.0&group=resolution&col=id&col=summary&col=component&col=owner&col=type&col=priority&col=version&order=priority>`__ were made to OMEdit in version 1.17.0, to increase usability of the GUI.

.. _direct-support-of-macos-discontinued-from-1170:

Direct support of macOS discontinued from 1.17.0
------------------------------------------------

Until version 1.16.x, OpenModelica was built on Windows, Linux, and macOS. The core functionality of the tool is implemented in Linux, and is ported to Windows using the MinGW environment, and on macOS using the `macports <https://www.macports.org/>`__ environment.

Unfortunately, many libraries OpenModelica depends on are not regularly updated on macports, which caused the Mac build to break every other day. Given our limited resources, we can't take on the burden of the required macports maintenance, so we regret to inform you that we decided to stop providing builds of OpenModelica for macOS. It is still possible to run OpenModelica on the Mac by running a virtual machine with a Linux installation of OpenModelica, see the instructions on the `Mac download page <https://openmodelica.org/download/download-mac>`__. We are still trying to make it possible to build OpenModelica from sources on macOS, please check ticket `#6306 <https://trac.openmodelica.org/OpenModelica/ticket/6306>`__ for the latest updates and if you want to contribute to the effort. However, we do not guarantee this will be always possible in the future.

.. _fmi-support-1:

FMI Support
-----------

FMI 2.0 export and FMI simulation with OMSimulator was further improved.

Other things
------------

OMSimulator is now integrated into pypi and installed via pip.

A prototype Flat Modelica code export feature is now available, a result of the Emphysis project and eFMI on-going standardization effort. It can be activated with the compilation flag.

The `Modelica package manager <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/packagemanager.html>`__ is still only available from the command line in this release. We plan to integrate it the OMEdit GUI for the 1.18.0 release, together with conversion scripts.

Download it from: `https://www.openmodelica.org <https://www.openmodelica.org>`__

.. _release-notes-for-openmodelica-1165:

Release Notes for OpenModelica 1.16.5
=====================================

This hopefully the final bugfix release of 1.16.0, which addresses an issue that affected diagrams in OMEdit under certain conditions.

.. _whats-changed-8:

What's Changed
--------------

-  Keep the NFApi settings (#7215) by @adeas31 in `https://github.com/OpenModelica/OpenModelica/pull/7217 <https://github.com/OpenModelica/OpenModelica/pull/7217>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.16.4...v1.16.5 <https://github.com/OpenModelica/OpenModelica/compare/v1.16.4...v1.16.5>`__

.. _release-notes-for-openmodelica-1164:

Release Notes for OpenModelica 1.16.4
=====================================

This is a further bugfix release of 1.16.0, which addresses an issue that affected diagrams in OMEdit under certain conditions.

.. _whats-changed-9:

What's Changed
--------------

-  Move the nfAPI and nfAPINoise settings to general page (#7171) by @adeas31 in `https://github.com/OpenModelica/OpenModelica/pull/7175 <https://github.com/OpenModelica/OpenModelica/pull/7175>`__
-  Prepare for 1.16.4 by @adrpo in `https://github.com/OpenModelica/OpenModelica/pull/7186 <https://github.com/OpenModelica/OpenModelica/pull/7186>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.16.3...v1.16.4 <https://github.com/OpenModelica/OpenModelica/compare/v1.16.3...v1.16.4>`__

.. _release-notes-for-openmodelica-1162:

Release Notes for OpenModelica 1.16.2
=====================================

This is a bug fix release.

.. _whats-changed-10:

What's Changed
--------------

-  Omedit fixes by @adeas31 in `https://github.com/OpenModelica/OpenModelica/pull/6982 <https://github.com/OpenModelica/OpenModelica/pull/6982>`__
-  Fixes 1.16 by @adeas31 in `https://github.com/OpenModelica/OpenModelica/pull/7004 <https://github.com/OpenModelica/OpenModelica/pull/7004>`__
-  fix ticket #6300, use NF for getElementAnnotations if -d=nfAPI is on by @adrpo in `https://github.com/OpenModelica/OpenModelica/pull/7055 <https://github.com/OpenModelica/OpenModelica/pull/7055>`__
-  partial fix for #6287 and fix for #6288 by @adrpo in `https://github.com/OpenModelica/OpenModelica/pull/7056 <https://github.com/OpenModelica/OpenModelica/pull/7056>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.16.1...v1.16.2 <https://github.com/OpenModelica/OpenModelica/compare/v1.16.1...v1.16.2>`__

.. _release-notes-for-openmodelica-1161:

Release Notes for OpenModelica 1.16.1
=====================================

This is a further bugfix release of 1.16.0

.. _whats-changed-11:

What's Changed
--------------

-  fix #6167 allow partial handling in NF when -d=nfAPI is on by @adrpo in `https://github.com/OpenModelica/OpenModelica/pull/6898 <https://github.com/OpenModelica/OpenModelica/pull/6898>`__
-  Do not put libOMEdit.a in build/ by @sjoelund in `https://github.com/OpenModelica/OpenModelica/pull/6908 <https://github.com/OpenModelica/OpenModelica/pull/6908>`__
-  Copy OMEdit fixes from master to v1.16 by @adrpo in `https://github.com/OpenModelica/OpenModelica/pull/6911 <https://github.com/OpenModelica/OpenModelica/pull/6911>`__
-  Use assert instead of Q_ASSERT by @adeas31 in `https://github.com/OpenModelica/OpenModelica/pull/6929 <https://github.com/OpenModelica/OpenModelica/pull/6929>`__
-  Copy #6174 fixes to 1.16 by @adrpo in `https://github.com/OpenModelica/OpenModelica/pull/6939 <https://github.com/OpenModelica/OpenModelica/pull/6939>`__
-  Backport the new ZMQ flags to 1.16 by @sjoelund in `https://github.com/OpenModelica/OpenModelica/pull/6950 <https://github.com/OpenModelica/OpenModelica/pull/6950>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.16.0...v1.16.1 <https://github.com/OpenModelica/OpenModelica/compare/v1.16.0...v1.16.1>`__

.. _release-notes-for-openmodelica-1160:

Release Notes for OpenModelica 1.16.0
=====================================

.. _openmodelica-compiler-omc-12:

OpenModelica Compiler (OMC)
---------------------------

The new frontend has been further improved, with enhanced support of records and arrays. 33 tickets were fixed since the previous 1.14.0 release. The new front-end can now handle 100% of the Modelica Standard Library 3.2.3 models.

Improvements to the back-end:

-  new minimal tearing option ``--minimalTearing`` to disable tearing except for discrete variables
-  improved symbolic Jacobian evaluation option ``--simJacConstantSplit`` reuses constant part of the Jacobian
-  improvements to dynamic state selection and common subexpression elimination
-  new ASCC algorithm replaces and improves resolveLoops algorithm, allowing to detect high-index problems with indirect structural state constraints, e.g. in three-phase AC circuits
-  homotopy operator now used on first try by default
-  linearized model export also available in Matlab, Python, and Julia with option ``--linearizationDumpLanguage``

Improvements to code generation and runtime:

-  Better support for models with records
-  CVODE solver from SUNDIALS added;
-  2 methods available: BDF (stiff) and Adams-Moulton (non-stiff)

It is now possible to build a version of OMC with parallel Jacobian evaluation using OpenMP

-  On Windows build OMC with ``make -f Makefile.omdev.mingw omc -j4 USE_PARJAC=yes``
-  On Unix configure with ``--enable-parjac`` and build OMC.
-  Only DASSL and IDA can use parallelized symbolic Jacobians.
-  Simulate with ``-jacobianThreads=<numberOfThreads>`` or set environment variable ``OMP_NUM_THREADS=<numberOfThreads>`` to use a specific number of threads. Otherwise all available threads will be used.

.. _graphic-editor-omedit-1:

Graphic Editor OMEdit
---------------------

Replaceable classes now have graphical support in OMEdit. This feature was planned to be included in release 1.15.0, but it eventually turned out to be more convenient to merge it in the 1.16.0 release. Support for replaceable elements in OMEdit is currently limited to redeclare statements without parameter modifiers. This is enough to handle Modelica.Media medium models in Modelica.Fluid components. Please note that **this feature is currently optional and needs to be activated** by setting ToolsGeneral|Enable replaceable support in OMEdit.

Over 50 bug fixes were made to OMEdit to increase usability of the GUI.

OMSimulator GUI improved: text editing of SSP models, undo/redo, delete components, etc.

.. _fmi-support-2:

FMI Support
-----------

Many FMI export bug fixes and improvements to increase usability of OMC-generated FMUs.

FMI/CS 2.0 now includes CVODE solvers (previously only fixed-step forward Euler) and customization via simulation flags.

.. _other-things-1:

Other things
------------

Successful integration of Modelon's license manager for encrypted libraries. A special version of OMC available to Consortium members can now handle encrypted libraries, preventing source code browsing, and license management, via Modelon's license manager, embedded in the encrypted library.

Improved Modelica package management. The ``conversion(noneFromVersion)`` annotation is now fully supported, which means for example that OpenModelica will automatically use the Modelica Standard Library 3.2.3 even for libraries that have a uses annotation pointing to earlier MSL versions, e.g. 3.2.2 or 3.2.1, because the ``conversion(noneFromVersion)`` annotations in the MSL specify that 3.2.3 can be used instead of 3.2.2 or 3.2.1 without any conversion script, i.e., it is fully backwards compatible. A full-fledged `Modelica package manager <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/packagemanager.html>`__ is also included in OpenModelica 1.16.0, currently only with a command line interface; integration in the GUI is planned for the next 1.17.0 release, together with conversion scripts.

New Contributors
----------------

-  @mflehmig made their first contribution in `https://github.com/OpenModelica/OpenModelica/pull/302 <https://github.com/OpenModelica/OpenModelica/pull/302>`__
-  @stheid made their first contribution in `https://github.com/OpenModelica/OpenModelica/pull/752 <https://github.com/OpenModelica/OpenModelica/pull/752>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.15.0-dev...v1.16.0 <https://github.com/OpenModelica/OpenModelica/compare/v1.15.0-dev...v1.16.0>`__

.. _release-notes-for-openmodelica-1142:

Release Notes for OpenModelica 1.14.2
=====================================

A bug fix release for v1.14.1, fixing among other things compilation on Ubuntu 20.04.

.. _whats-changed-12:

What's Changed
--------------

-  Fixes ticket:5733 Don't use the qualified path by @adeas31 in `https://github.com/OpenModelica/OpenModelica/pull/647 <https://github.com/OpenModelica/OpenModelica/pull/647>`__
-  [NF] Fix some Expression.map*Opt functions. by @perost in `https://github.com/OpenModelica/OpenModelica/pull/656 <https://github.com/OpenModelica/OpenModelica/pull/656>`__
-  ticket:5778 Fixed users guide links by @adeas31 in `https://github.com/OpenModelica/OpenModelica/pull/666 <https://github.com/OpenModelica/OpenModelica/pull/666>`__

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.14.1...v1.14.2 <https://github.com/OpenModelica/OpenModelica/compare/v1.14.1...v1.14.2>`__

.. _release-notes-for-openmodelica-1140:

Release Notes for OpenModelica 1.14.0
=====================================

.. _openmodelica-compiler-omc-13:

OpenModelica Compiler (OMC)
---------------------------

The most dramatic enhancement of the OpenModelica Compiler is the New Frontend, which on the average gives a factor of 10-20 speed improvement in the flattening phase of compilation. The new frontend is default in this release, but a feature is implemented that allows the user to switch to the old frontend if problems appear for a specific model The speed of the OMEdit GUI has only slightly increased in this version, since it is still dependent mostly on the old frontend. Further GUI speed increases are available in the coming OpenModelica.1.15.0. About 200 issues have been fixed, including enhancements, compared to the previous 1.13.2 release. The bug fixes are on trac.

OpenModelica Compiler New Frontend news: • Implementation of expandable connectors completed, a rather large piece of work. • A number of smaller enhancements and fixes • The New Frontend (NF)gives slightly better simulation coverage on MSL 3.2.3 than the Old Frontend • The New Frontend is on the average about 20 times faster on flattening. • Remaining work is mainly on further bug fixing and testing the new frontend for all other libraries, as well as more work on modifiers of arrays in conjunction with non-expanded arrays. (The array modifiers have now been implemented in 1.16.0 but not yet it 1.14.0 in order to not delay the 1.14.0 release)

.. _graphic-editor-omedit-2:

Graphic Editor OMEdit
---------------------

• Drag and drop for the text layer. • Auto completion of class names, components and annotations. • GUI for data reconciliation – a method for increasing sensor data precision • Improved duplication functionality for copying classes. • Better handling of Compiler flags. • Partly completed: annotations for dynamic icon update. • Support for connectorSizing annotation • Several bug fixes. You can find the list here. • Docs: `https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/omedit.html <https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/omedit.html>`__. • Autocomplete annotations. • Support for Icon/Diagram map annotation • Copy paste functionality • Reset OMEdit settings/options. • Array plots update on re-simulation • Support for connectorSizing annotation. • Drag and drop class names to text layer in OMEdit • OMPlot: Improved plotting e.g., top and bottom margins for better view, snap to curve etc. • GUI support for replaceable libraries is being tested in a separate branch and will be made available in the coming 1.15.0 release.

OMC backend and run-time system
-------------------------------

-  A new more efficient and correct implementation of arrays and records.

• The FMI OMSimulator API calls are now also available in the OMC API functions, e.g. for use from OMNotebook, Jupyter notebooks.

Backend new features
~~~~~~~~~~~~~~~~~~~~

• Added possibility to generate analytic Jacobians for linear strong components • Use flag LSanalyticJacobian to enable analytical Jacobian for linear loops. Default false.

• Added output language options for linearization: matlab, python, julia. • Available with --linearizationDumpLanguage=modelica/matlab/python/julia. Default is modelica.

Backend enhancements
~~~~~~~~~~~~~~~~~~~~

• Unified Jacobian evaluation from DASSL and IDA integrators • Added result check for linear solvers Lis, Klu, Total Pivot and Umfpack if a residual function is available. • Improved debug dumping

| • -d=bltdump (Index reduction information) • -d=initialization
| • -d=dumpLoops

-  Improved warning for iteration variables:

• Only warn about non-linear iteration variables with default start attribute. • Other variables have no influence on simulation at all.

• Build instructions for OpenModelica on Windows Subsystem for Linux • Improved Jacobian evaluation with translation flag -d=symJacConstantSplit (requires --generateSymbolicJacobian). Generate Jacobians with separated constant part to split equations that are independent of the seed vector. These equations only need to be evaluated only once per Jacobian evaluation.

Backend bugfixes
~~~~~~~~~~~~~~~~

• Homotopy: Use simplified version only during initialization to avoid errors during matching and differentiation. • Logging for Homotopy path fixed so log can be loaded in OMEdit. • Support general function call differentiation for equations in residual form. • Equations in residual form don't fail during index reduction any more.

.. _fmi-support-3:

FMI Support
-----------

Bug fixes to FMI export, see below

**Full Changelog**: `https://github.com/OpenModelica/OpenModelica/compare/v1.14.0-dev...v1.14.0 <https://github.com/OpenModelica/OpenModelica/compare/v1.14.0-dev...v1.14.0>`__

.. include :: tracreleases.inc