All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[nothing]
[nothing]
[nothing]
1.1.0 - 2021-05-25
This is a high-level summary of the changes introduced in 1.1.0.alpha.1-5.
- Documenter.jl extension for documenting Modelica models in HTML format including
- MathML rendering of all equations, grouped by model structure
- table of all variables and parameters
- HTML documentation in
annotation(Documentaion(info=...))
- Support for OpenModelica 1.16, 1.17 and 1.18
installAndLoad()
function to explicitly install Modelica librariesgetVersion()
function to switch behavior based on OpenModelica version
- uses custom release script instead of TagBot
- the override argument now behaves more intuitively (see v1.1.0-alpha.2)
- code is split into multiple files due to increased library size
- tests for error messages are less strict in order to better test for multiple OpenModelica versions
- Swtiched from Travis CI to GitHub actions
setupOMCSession
andwithOMC
now create the output directory if it does not already exist- Modelica Standard Library is no longer loaded automatically, but must be loaded explicitly with
installAndLoad
- documentation is deployed using
DOCUMENTER_KEY
- tries to minimize freezes due to ZMQ errors in OMJulia
- models created by directly sending a definition string to the OMC could not be tested using
testmodel
- the parameter
ismodel
ofloadModel
, since we now can check if a model was loaded successfully usinggetClassRestriction()
instead
Documenter
, since it MoST.jl now includes a Documenter extension for Modelica modelsPyCall
, since the Documenter.jl extension requires the use of a XSLT stylesheet which is processed using the python packagelxml
- Note: there is currently no XSLT-capable Julia package that I am are aware of
1.1.0-alpha.5 - 2021-05-12
- magic line
%libs
for installing library dependencies in Documenter.jl extension
installAndLoad
is now part of exported API- no longer installs MSL by default to avoid version conflicts
- deploys docs with
DOCUMENTER_KEY
- makes test for non-existent model less strict
1.1.0-alpha.4 - 05.03.2021
[nothing]
- Documenter.jl extension now rethrows all errors which are not
MoSTError
s - Class documentation starts with heading containing the class name
- Switched order of label and value columns in variable tables for better readability
- Switched from Travis CI to GitHub actions
- Made some unit tests less strict to avoid failing tests due to small changes between OpenModelica versions
testFailing.sh
now uses--project
parameter instead of local import- added alternative expected results for OpenModelica > 1.17.0
- the parameter
ismodel
ofloadModel
is deprecated, since we now can check if a model was loaded successfully usinggetClassRestriction()
instead.
BoundError
incommonprefix
when length of reference is exceededcommonprefix
stopped one character to earlyManifest.toml
now gives relative link forModelicaScriptingTools
uniquehierarchy
did not consider two distinct postfixes as unique if one was a postfix of the other on the string level- retries creating
OMCSession
up to 10 times if anZMQ.StateError
is encountered - models created by directly sending a definition string to the OMC could not be tested using
testmodel
1.1.0-alpha.3 - 19.11.2020
- Support for OpenModelica 1.16.0
- uses
--unitChecking
instead of--preOptModules+=unitChecking
- ignores strange new warning
Warning: function Unit.unitString failed for "MASTER()".
- adds
getVersion()
function to switch behavior based on OpenModelica version - small changes in expected test output due to unit checking changes
- calls
installPackage(Modelica)
if MSL is not already installed
- uses
[nothing]
[nothing]
1.1.0-alpha.2 - 30.10.2020
- test case for Documenter.jl extension
- list of equations in Documenter.jl extension is now grouped by common prefix
- equations in Documenter.jl extension now use "dot operator" instead of "invisible times"
- the
override
argument now behaves more intuitively- adjusts the
numberOfIntervals
when onlystartTime
and/orstopTime
are changed - allows additional key
interval
which also changesnumberOfIntervals
- adjusts the
- Travis CI script now uses OpenModelica 1.14.2, because MoST.jl is not compatible with OpenModelica 1.16 yet
[nothing]
- Experimental support for documenting Modelica models using Documenter.jl.
- New dependencies:
- PyCall (for XML handling using lxml)
- Documenter
- Markdown
- Split code into multiple files.
setupOMCSession
andwithOMC
now create the output directory if it does not already exist
[nothing]
- function
withOMC
that allows to setup aOMCSession
that can be used withdo
- unit tests for individual functions
- support for regression tests with
outputFormat="mat"
- documentation using Documenter.jl
- Travis CI script
- project structure changed to standard Julia package structure
- module name is now
ModelicaScriptingTools
instead ofMoST
getVariableFilter
andgetSimulationSettings
now throwMoSTError
s if the requested model does not exist- use
__MoST_experiment
instead of__ChrisS_testing
as vendor specific annotation refDir
parameter intestmodel
andregressionTest
now is relative to CWD instead of output dir- result of
getSimulationSettings
and parametersettings
insimulate
now contains unescaped values`
- only use
ZMQ.send
withoutZMQ.recv
for sendingquit()
to avoid freezing
regressionTest
accepts new optional argumentvariableFilter
- unit checking is enabled by default using the OMC flag
--preOptModules+=unitChecking
- unit checking can be disabled by calling
setupOMCSession(odir,mdir; checkunits=false)
testmodel
automatically setsvariableFilter
for regression testgetErrorString()
calls are not parsed anymore since the OMJulia lexer tends to choke on them
[nothing]
- Full suite of helper functions for unit and regression tests
[nothing]
[nothing]