v3.3.1
Patch release to fix some issues with using HELICS as a subproject, and fix a few bugs related to time barriers, and a few other timing issues.
Fixed
- Fixed an issue where broker based time barriers were not propagating to new federates.
- Fix the code coverage build system.
- Fixed a potential race condition with callback federates if the callback operations are modified during cosimulation.
- Fixed timing synchronization issue with global time coordinator.
Changed
- Cleaned up usage of HELICS in external subprojects and adding some cleanup features, also cleanup the CMake usage to divide some operations into included files to simplify the main CMakeLists.txt
- Changed the default behavior for profiler output files to create a new file instead of appending. Use
--profiler_append=<file>
to maintain the old behavior.
Added
- Added single thread federate support which includes a federate optimized for use in a single thread.(Corresponding single thread core will come in next release).
- Added support for initialization iteration to allow federates to specify ready and then return to the created mode to do additional initialization potentially with information from other federates.
- Added flag to disable remote termination commands.
- Added C API function calls for alias operations.
- Added read only property HELICS_PROPERTY_INT_ITERATION_COUNT to get the current iteration count for a federate.
Removed
- Removed an unused and unexposed method in the Core API to retrieve the current iteration count, use HELICS_PROPERTY_INT_ITERATION_COUNT with
getProperty
to retrieve the same data.