Releases: modelica/fmi-standard
v2.0.4-rc.1
FMI 2.0.4 backports the following FMI 3.0 features to FMI 2.0:
- Terminals and Icons, p. 69f.
- Build Configuration, p. 70f.
(These optional new features are "orthogonal" to the other FMI 2.0 features)
FMI 2.0.4 introduces the following clarifications and fixes compared to 2.0.3:
- Fix Comments in ME pseudocode #1629, p.91
- Fix typo in CS Calling sequence figure #1630, p. 108
- Correct
+INF
toINF
#1784, p.30 - Use FMI 3.0 platform tuples #1772 , p. 70f.
- Back-port
FMI3_ACTUAL_FUNCTION_PREFIX
to FMI 2.0 #1777, p. 15 - Forbidding symlinks #1664, p. 69
- Clarification of allowed calling of fmi2GetXXX in initialization mode #1581, p. 24, p. 90, p. 110
v3.0
New features in FMI 3.0
-
Array variables:
Allow FMUs to communicate multi-dimensional variables and change their sizes using structural parameters. -
Clocks and Co-Simulation with events:
Introduce clocks for synchronization of variable changes across FMUs and event mode in co-simulation. -
Binary Data Type:
Adds an opaque binary data type to FMU variables to allow, for instance, efficiently exchanging of complex sensor data. -
Intermediate Variable Access:
Allow access to intermediate input and output values between communication time points from the FMU to disclose relevant subsystem behavior for analysis or advanced co-simulation master algorithms for enhanced numerical stability. -
Source code FMUs:
Provide a build description file to improve automatic import of source code FMUs. -
Numeric Variable Types:
Adds 8, 16, 32 and 64-bit signed and unsigned integer and single precision floating point variable types to improve efficiency and type safety when importing / exporting models from the embedded, control and automotive domains. -
Extra directory:
Adding a new folder in the ZIP Archive representing an FMU, providing additional data to travel with the FMU which can be modified by different tools, allowing for layered standards. -
Ports and Icons:
Help the user to build consistent systems from FMUs and render the systems more intuitively with better representation of structured ports (for instance busses and physical connectors) in the modelDescription.xml.
v3.0-rc.2
What's Changed
- Discourage static linking by @t-sommer in #1735
- Add full description for CS version of fmi3EnterEventMode by @pmai in #1736
- Fix typo in 2.3.1: Setable -> Settable by @GallLeo in #1740
- Fix some typos by @GallLeo in #1748
- Fix some typos by @beutlich in #1752
- Reduce non-normative section on preemption due to IG by @pmai in #1747
- Remove reference to deleted non-normative SE example by @pmai in #1753
- Add |spdx to zip structure description by @andreas-junghanns in #1751
- Spell out that it's the FMU that should add a hysteresis by @otronarp in #1743
- Remove parameters from fmi3EnterEventMode() by @t-sommer in #1744
- Remove model structure examples due to move to IG by @pmai in #1746
- Contributors by @chrbertsch in #1742
- Modify sentence of when time event should be handled by @KarlWernersson in #1756
- Added funding thanks to contributors by @KarlWernersson in #1755
- clarify domain usage by @chrbertsch in #1759
- Fix contrib by @chrbertsch in #1757
- Remove XCP layered standard by @t-sommer in #1761
- Bump version to 3.0-rc.2 by @t-sommer in #1760
New Contributors
Full Changelog: v3.0-rc.1...v3.0-rc.2
v3.0-rc.1
What's Changed
- Rewriting 2.5 and 2.6 by @andreas-junghanns in #1710
- Add link to FMI Implementer's Guide by @andreas-junghanns in #1715
- Fix language from 4.2 to 4.4 by @andreas-junghanns in #1714
- Discrete changes by @andreas-junghanns in #1718
- Undo bold math for t and k by @andreas-junghanns in #1716
- Improve text for dependency by @KarlWernersson in #1706
- Add override functionality for FMI3_FUNCTION_PREFIX by @pmai in #1712
- Update Reference FMUs submodule by @t-sommer in #1720
- Intermediate Update/ clock Update in table overview of features per interface type by @MBlesken in #1722
- Revert changes to function names from unbold session by @andreas-junghanns in #1726
- Clarify
dependencies
w.r.t. clocks by @andreas-junghanns in #1728 - Fix type mappings in table 10 by @t-sommer in #1724
- add dependencies in SE xml by @MBlesken in #1727
- SE rewrite by @andreas-junghanns in #1729
- Add local clocks to clocks table and definitions by @andreas-junghanns in #1730
- Remove most changes in 1706, change some parts by @KarlWernersson in #1731
- Fix typo by @beutlich in #1734
- Bump version to 3.0-rc.1 by @t-sommer in #1733
Full Changelog: v3.0-beta.5...v3.0-rc.1
v3.0-beta.5
What's Changed
- Fix missing computed attribute in clock schema figures. by @clagms in #1684
- Declare fmi3SetShift{Decimal|Fraction} by @t-sommer in #1689
- Add supportsFraction and intervalDecimal to SE example by @andreas-junghanns in #1691
- Remove computed from Clock by @andreas-junghanns in #1692
- Remove redundant specification about variability/causality and initial by @andreas-junghanns in #1690
- Remove supportsFraction from SE example by @MBlesken in #1694
- Fix capitalization in "fmi3Deserialize" by @t-sommer in #1695
- Clarify priority in mixed interface FMUs by @andreas-junghanns in #1696
- Clarify priority only allowed for input clocks in SE by @andreas-junghanns in #1700
- Remove redundant "shifts" and "intervals" prefixes by @t-sommer in #1701
- Text improvements to 2.4 and 2.5 by @andreas-junghanns in #1702
- Remove confusing sentence about providesDirectionalDerivatives by @andreas-junghanns in #1704
- Add additional example on how to handle prefix for DLL building by @andreas-junghanns in #1705
- Bump version to 3.0-beta.5 by @t-sommer in #1709
Full Changelog: v3.0-beta.4...v3.0-beta.5
v3.0-beta.4
What's Changed
- Normalize line endings and add .gitattributes by @t-sommer in #1623
- Update copyright year by @t-sommer in #1627
- Remove variable order requirements for XML by @andreas-junghanns in #1626
- Clarify clock dependencies requirements by @clagms in #1624
- Delete CHANGELOG.adoc by @chrbertsch in #1628
- Move modelIdentifier to common attributes by @andreas-junghanns in #1634
- Do not change global settings which affect other processes/threads on preemptive systems by @MBlesken in #1646
- Move previous and intermediateUpdate to non-clock types by @pmai in #1650
- Explicitly allow additional entrypoints by @pmai in #1649
- Use elements for the start values of binary variables by @pmai in #1648
- VDMCheck3 on SE xml by @MBlesken in #1641
- Update Reference FMUs submodule by @t-sommer in #1653
- Forbit links in FMU/ZIP by @andreas-junghanns in #1662
- Add design rational for get/set of enums by @andreas-junghanns in #1661
- Improve language for entire text by @andreas-junghanns in #1614
- Change variability to causality for canHandleMultipleSetPerTimeInstant by @andreas-junghanns in #1670
- Explain uniqueness of
name
by @andreas-junghanns in #1671 - Add 3rd use case for fmi3CompletedIntegratorStep by @andreas-junghanns in #1672
- Make xsd capability flags extensible by @pmai in #1659
- Change == to = in text and insert spaces around = by @andreas-junghanns in #1673
- Explicitly set machine image in CI by @t-sommer in #1677
- Allow multiple BuildConfigurations for the same platform by @t-sommer in #1678
- Add computed attribute by @t-sommer in #1679
- Improve example use case for fmi3CompletedIntegratorStep by @andreas-junghanns in #1680
- Specify no reason for fmi3EnterEventMode by @andreas-junghanns in #1681
- Switch position of fmi3EventTrue and fmi3EventFalse by @t-sommer in #1683
- Bump version to 3.0-beta.4 by @t-sommer in #1682
Full Changelog: v3.0-beta.3...v3.0-beta.4
v3.0-beta.3
This Beta.3 will very likely be RC.1 (unless major flaws in API or XSD are uncovered).
This means the C-API and the XSD files can be considered stable from now on.
What's Changed
- Allow callback function pointers to be NULL by @andreas-junghanns in #1497
- Clarify logging for non-fmi3OK status returned by @andreas-junghanns in #1496
- Clarify no callback in callback by @andreas-junghanns in #1493
- Fixed formulas and descriptions for f_disc and f_event by @andreas-junghanns in #1485
- Remove obsolete ban to change callback functions by @t-sommer in #1505
- Consolidate i386, i586, and i686 into x86 by @t-sommer in #1503
- Remove static linking details from platform tuple by @t-sommer in #1501
- Clarify value of the independent variable by @t-sommer in #1491
- State that the value of the independent variable is not defined for SE by @t-sommer in #1479
- Add previous constraint for Clocks #1444 by @andreas-junghanns in #1509
- Rename argument sizes to valueSizes by @andreas-junghanns in #1510
- Add min and max to EnumerationType by @andreas-junghanns in #1512
- Add restriction for clock attributes by @andreas-junghanns in #1517
- Allow GetShift and GetInterval for fixed clocks in Initialization Mode by @andreas-junghanns in #1518
- Explain qualifier values by @andreas-junghanns in #1515
- Clarify deactivation of Clocks by @andreas-junghanns in #1521
- Relax and clarify time-based clock activation by @andreas-junghanns in #1523
- Simplify language for time-based clock constraints by @andreas-junghanns in #1528
- Clarify clocked variable get/set by @andreas-junghanns in #1526
- Clarify hasEventMode for Clocks by @andreas-junghanns in #1535
- Remove clocked variables from StepMode math by @andreas-junghanns in #1537
- Declare undefined behavior by @andreas-junghanns in #1539
- Declare fmi3EnterEventMode before fmi3DoStep by @andreas-junghanns in #1538
- Require at least one call to fmi3UpdateDiscreteStates in Event Mode by @andreas-junghanns in #1552
- Turn fmi3SetXXXFraction into fmi3SetIntervalFraction by @andreas-junghanns in #1556
- Fixed sentence about list attribute name by @make-ing in #1551
- Clarify issue 1558 by @andreas-junghanns in #1559
- Remove argument "instanceName" from fmi3CallbackLogMessage by @t-sommer in #1562
- Improve glossary entry for event by @andreas-junghanns in #1567
- Add Early Return and Event Mode code examples by @t-sommer in #1570
- Link directly to PDF of "Automatic Differentiation in Machine Learning" by @t-sommer in #1572
- Add Intermediate Update code example by @t-sommer in #1574
- Clarify that headers are C99 by @t-sommer in #1575
- Add plots to Co-Simulation code examples by @t-sommer in #1577
- Clarify SE usage of fmi3OutputDerivatives by @andreas-junghanns in #1579
- Remarks about Scheduled Execution by @klausschuch in #1546
- Clarify countdown clock ticks by @PTaeuberDS in #1560
- Rename XML attribute interval of Clock variable to clockType by @andreas-junghanns in #1578
- Allow fmi3XXXDerivative in SE by @andreas-junghanns in #1583
- Add clarification on OS services usage by @andreas-junghanns in #1582
- Disallow clock arrays, realign API and doc accordingly by @pmai in #1580
- Split callbackIntermediateUpdate into CS and SE parts by @andreas-junghanns in #1585
- Add mightReturnEarlyFromDoStep flag by @andreas-junghanns in #1593
- Some changes regarding intervalQualifier and getInterval by @PTaeuberDS in #1592
- Rename XML attributes and function arguments by @andreas-junghanns in #1595
- Add no further clock restriction by @andreas-junghanns in #1600
- Fixed parentheses by @MBlesken in #1602
- Explicit fmi3 header not in FMU by @MBlesken in #1603
- Remove the term task by @MBlesken in #1605
- Align definitions for FMI types by @MBlesken in #1608
- Default needsCompletedIntegratorStep to false by @pmai in #1599
- Clarify possible status in log messages by @t-sommer in #1601
- Change name of icons folder to terminalsAndIcons by @andreas-junghanns in #1598
- Improve event handling description by @andreas-junghanns in #1597
- Add non-normative explanation for getting vars in Initialization Mode by @andreas-junghanns in #1611
- Change Table1 solver/scheduler use by @andreas-junghanns in #1610
- Remove/change word task, improve glossary by @andreas-junghanns in #1612
- Eradicate task from glossary and their references by @andreas-junghanns in #1613
- Change "Callback" prefix to suffix by @t-sommer in #1615
- Clarify formatting of RFC 2119 keywords by @t-sommer in #1616
- 3.0 beta.3 by @t-sommer in #1619
New Contributors
- @make-ing made their first contribution in #1551
- @PTaeuberDS made their first contribution in #1560
Full Changelog: v3.0-beta.2...v3.0-beta.3
FMI Specification 2.0.3
FMI 2.0.3 introduces the following clarifications and fixes compared to 2.0.2.
p. 22f
Fixed: Update logging documentation (#1435)p. 69
Clarification: on deflating zip file (#1307)p. 70f
Clarification: Relax requirement for including dependencies (#1488)p. 79
Mention event indicators in math description of initialization mode (#1318)p. 90
Allow getNominalsOfContinuousStates() in initialization mode (#1312)fmi2FunctionTypes.h
: Fixed: Add missing parameter name "serializedState" in fmi2SerializeFMUstate() (#1279)
v3.0-beta.2
FMI 3.0-beta.2 introduces the following changes compared to 3.0-beta.1.
Specification
- Relax requirement for including dependencies (#1478)
C-API & XML Schema
v3.0-beta.1
FMI 3.0-beta.1 introduces the following changes compared to 3.0-alpha.7
Specification
Several clarifications and smaller changes.
See the commit history for details.