Skip to content

Releases: INTO-CPS-Association/unifmu

0.0.8

08 Jul 21:16
Compare
Choose a tag to compare
0.0.8 Pre-release
Pre-release

Updated minor things:

  • fixed fmu zipping
  • issues with build
  • updated instructions for usage, build, and deployment

0.0.7

08 Feb 11:57
Compare
Choose a tag to compare

Add Java support

Implemented support for Java as a language for implementing FMUs.
The build system is based on Gradle

0.0.6

27 Jan 13:12
Compare
Choose a tag to compare

Removed automatic parsing of modelDescription.xml

Previously, the UniFMU binary would attempt to read and parse the modelDescription.xml file at runtime.
However, the specification does not guarantee that the file structure of a FMU is preserved or that the file is available in any capacity.
In these cases, the model's implementation would raise an exception.

0.0.5

20 Nov 09:49
23dcdfa
Compare
Choose a tag to compare
0.0.5 Pre-release
Pre-release

Added option to zip the FMU during generation #39

0.0.4

15 Aug 19:45
Compare
Choose a tag to compare
0.0.4 Pre-release
Pre-release

Rewrite CLI in Rust

The python CLI has been replaced with one written in Rust. Some of the benefits are:

  • No runtime dependencies.
  • All resources are embedded in the executable.
  • Generation speed.
  • Fewer languages in the codebase.
  • Easy to embed in other applications.

Cross-compile using Docker image

A unique challenge of building the tool is the fact that FMU is that the CLI must embed binaries for all target OSs.
Previously, GitHub Actions was used to build the binaries for each different OS and then commit the result.
This lead to a relatively complex build process where the binaries would have to be checked into the repo.

This has been replaced with a docker image that cross compiles the binary for all OSs which are in turn embedded into the CLI which is also cross-compiled.

Fewer communication backends

Previously, the serialization used to encode and decode messages between the binary and slave was based on those provided by the Rust Serde library.
To simplify the codebase this idea was abandoned in favor of using protobuf.