Hierarchical Engine for Large-scale Infrastructure Co-Simulation (HELICS)
Patch release with fixes for certain compiler builds, a fix to the test core leading to some sporadic test failures, and fixing a discrepancy in the handing of config files with the helics_apps.
--error_on_unmatched
flag to the broker for it to error if there are any unmatched requested connectorsFull Changelog: https://github.com/GMLC-TDC/HELICS/compare/v3.5.1...v3.5.2
Patch release including beta version of reentrant federates and support for "potential_interfaces" section in config files and automatic handling of potential interface generation in the federate class for operation with the connector app.
Major release including connector app capability, a refresh of the of the dataBuffer interface, and other bug fixes
wait_for_current_time
flag when entering executing modeSubscription
in the name have been deprecated in favor of an equivalent version for Input
to reduce confusion of use of subscription objects (which are just Input objects); these are all 1:1 mappings
getSubscription(string target)
-> getInputByTarget(string target)
getSubscription(int index)
-> getInput(int index)
helicsSubscriptionGetTarget(inp)
-> helicsInputGetTarget(inp)
helicsFederateGetSubscription(fed, string target)
->helicsFederateGetInputByTarget(fed,string target)
Major release including full dynamic federation capability and wildcard based matching for interface connections.
-flto
optionwait_for_current_time
flag when entering executing mode"REGEX: <regex>"
this format of string can be used in any place interface names can be used. This will not work on targets linked after initialization mode at present though this is expected to be relaxed in the future. Also if both sides are specified as strings at least one of them must be an actual name.--dynamic
flag is set on the root broker. Dynamic publications and endpoints are enabled by default but can be disabled.Subscription
in the name have been deprecated in favor of an equivalent version for Input
to reduce confusion of use of subscription objects (which are just Input objects); these are all 1:1 mappings
getSubscription(string target)
-> getInputByTarget(string target)
getSubscription(int index)
-> getInput(int index)
helicsSubscriptionGetTarget(inp)
-> helicsInputGetTarget(inp)
helicsFederateGetSubscription(fed, string target)
->helicsFederateGetInputByTarget(fed,string target)
Patch release to fix some testing issues and add some network probing capabilities and remote terminal connections.
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.
--profiler_append=<file>
to maintain the old behavior.getProperty
to retrieve the same data.Minimum build requirements updated to CMake 3.11, Visual Studio 2019, XCode 11.0, GCC 8.1, Clang 7.0. The major new features include a callback federate, and aliases to allow interfaces to have multiple string names, and an asynchronous time coordinator. The release also includes several bug fixes related to timing and iteration, and updates to third party libraries.
std::string_view
in internal callbacks and network operationsThe Matlab interface to HELICS has been moved to matHELICS, the C++ interface now uses std::string_view
in nearly all places, the translator C API and the dataBuffer API to the C interface were fleshed out a bit more and will be finalized in the 3.3 release. Subsequent releases will change the minimum compiler requirements to build HELICS to Visual Studio 2019, GCC 8.0, Clang 7, Xcode 11.0, and CMake 3.11.
wait_for_current_time
flag in which a deadlock may occur if the flag were set and another federate was requesting iterations at time zero.HELICS_DEPRECATED
use.std::string_view
instead of const std::string &
this corresponds with updates in some third party libraries to better take advantage of the capabilities of std::string_view. The exception to this is strings which reference file names or file contents. These have been left as std::string to match up with iostreams and other file interfaces.helicsFederateProtect
method to all federates to be recovered by name if all references to the C HelicsFederate object was freed.HELICS_BUILD_MATLAB_INTERFACE
has been removed and all HELICS support for Matlab in the future will be through the matHELICS repository.Final release in the 2.X series of HELICS. This release updates dependencies and a few minor fixes, no further bug fixes are expected.
Major new features include beta release for Translators, global time coordinator and Data API and the addition of Support for encrypted communication through the TCP and TCP SS core types. Numerous bug fixes were included related to timing in unusual edge cases.