The release notes are typically a highlighting subset of all changes made. For full history, see resolved issues and commits.
Note that version 2.1 is the first version with release notes. Please see the commit history for older versions.
- Added missing fmi3 import functions for CAPI calls:
fmi3_import_get_shift_decimal
forfmi3GetShiftDecimal
.fmi3_import_get_shift_fraction
forfmi3GetShiftFraction
.fmi3_import_set_shift_decimal
forfmiSetShiftDecimal
.fmi3_import_set_shift_fraction
forfmiSetShiftFraction
.
- [BREAKING] Removed unused
instanceEnvironment
andlogMessage
inputs fromfmi3_import_instantiate_*
functions.- The corresponding CAPI calls use
instanceEnvironment
andlogMessage
fromfmi3_import_create_dllfmu
.
- The corresponding CAPI calls use
- Fixed an issue where enum variables min/max attributes were incorrectly handled as
int32
, instead ofint64
.- [BREAKING] Changed return types of
fmi3_import_get_enum_variable_min
andfmi3_import_get_enum_variable_max
fromint
tofmi3_int64_t
.
- [BREAKING] Changed return types of
- For FMI3, added a missing trailing file separator to
resourcePath
. - For FMI3, removed
file
URI prefix forresourcePath
.
- Fixed crash when calling
fmi3_import_collect_model_counts
and the model contained Binary or Clock variables.
- Added include of
GNUInstallDirs
.
- The CMAKE variable
CMAKE_INSTALL_PREFIX
is now utilized instead ofFMILIB_INSTALL_PREFIX
. - Removed the build configuration for CentOS.
- Fixed an issue with parsing very large valueReferences.
- Fixed an incorrect error check that required a start attribute for variables with causality='independent'.
- Improved error handling.
- Attribute buffers are now properly cleared if an element fails to parse.
- Disabled jm_locale_test if locale testing is disabled.
- Resolved reported vulnerability issues:
- Updated to expat 2.5.0 (from version 2.4.8).
- Updated to zlib 1.2.13 (from version 1.2.6).
- The following functions have been renamed:
fmi3_xml_get_default_experiment_step
tofmi3_xml_get_default_experiment_step_size
fmi3_import_get_default_experiment_has_step
tofmi3_import_get_default_experiment_has_step_size
- Minor improvements to build system, documentation and clean-up of obsolete code for FMI 3.0. In general this release contains no significant new user-related improvements compared to 3.0a1.
- Resolved an issue with missing headers in the FMIL installation, see issue #66.
- Renamed several API methods for consistency between the different FMI versions. Primarily this concerns functions of names
fmi3_import_get_*
for retrieving variable properties, these are now namedfmi3_import_get_variable_*
, some examples are:fmi3_import_get_variability
has been changed tofmi3_import_get_variable_variability
.fmi3_import_get_causality
has been changed tofmi3_import_get_variable_causality
.
- In a similar manner as above, variable related functions of names
fmi3_xml_get_*
now are named according tofmi3_xml_get_variable_*
.
- Added initial support for FMI 3.0. Limitations:
- XML elements
Annotations
,TerminalsAndIcons
, andBuildConfiguration
are not yet supported. - Many error checks are missing.
- XML elements
fmi_construct_dll_dir_name
andfmi_construct_dll_file_name
have been removed.fmi_import_get_dll_path
has been removed. Instead usefmi<FMI_VERSION>_import_get_dll_path
.
- Updated to use Expat 2.4.8.
- The required CMake version to build FMI Library is now 3.1.3 or later.
- Added new functions
fmi[1/2]_import_get_options
for retrieving an options object. - Added new function
fmi_import_set_option_loadlibrary_flag
to allow customization of platform-dependent flags passed todlopen
/LoadLibraryEx
when loading the FMU binary.
- Fixed memory leak from parsing Enums.
- Fixed memory leaks in tests.
- Updated
fmi_import_get_fmi_version
to also work on unpacked FMUs. - Bug fix: Fix compilation issue on OSX related to locale.
- Bug fix: Fix segfault during parsing of FMI1
- Bug fix: Fix build issues introduced in 2.2.1 for non-MSVC/Linux
- Bug fix: Correctly parse doubles when locale is not using decimal point, now also for FMI1
- Bug fix: Correctly parse doubles when locale is not using decimal point
- Check
variability != continuous
for non-Real variables
- Added missing getters for attributes defined on a variable:
- Real: quantity, relativeQuantity, unbound
- Integer: quantity
- Enumeration: quantity
fmi2_import_get_type_quantity
now returns NULL for all types if 'quantity' is not specified (API documentation previously stated that an empty string would be returned for Real, Integer and Enumeration, but NULL was incorrectly returned - this means that only the API documentation is affected by this change)
- Added functions to API for determining if DefaultExperiment values are defined in the XML (typically used to check if a default value will be returned by the getters for DefaultExperiment attributes)
- Clarified that license is 3-Clause BSD
- FMI Library moved to GitHub