HELICS v2.5.0 Release Notes

Release Date: 2020-04-26 // almost 4 years ago
  • โšก๏ธ Some library reorganization, additional static analysis(CppLint and clang-tidy), multiBroker, updates to the webserver including some new capabilities for creating and destroying brokers.

    Note: the helics_broker has a bug when using the implicit default core type; as a temporary workaround either run it with the --coretype argument or use the helics_app broker subcommand.

    ๐Ÿ”„ Changed

    • Split the HELICS core library into a separate core and network library
    • โšก๏ธ Update FMT library to version 6.2.0
    • ๐Ÿ›  The core and broker Factories use a map instead of a fixed list which is a step toward allowing user defined cores
    • โšก๏ธ Updated CLI11 included code to customized version to allow configuration of cores and brokers through Json files
    • The ordering of the helics_error_types enum is in ascending order
    • ๐Ÿ”จ Refactored the Matlab and Java swig interface builds to enable standalone builds

    ๐Ÿ›  Fixed

    • โž• Added CPPlint and fixed a number of issues that check identified.

    โž• Added

    • helicsEndpointSendMessageObjectZeroCopy to allow transferring messages with minimal copying.
    • helics<Interface>IsValid functions to the C API
    • helicscpp::cleanHelicsLibrary to the C++98 API.
    • A Comm factory to the Core to enable constructing Comm interfaces directly from the type.
    • โšก๏ธ The REST API in the webserver was updated to include ability to create and destroy brokers.
    • A websocket server similar to the REST API but will respond to JSON queries.
    • โœ… A test suite for the HTTP and websocket servers.
    • A Multibroker that can allow multiple communication types to interact together.
    • ๐Ÿ— Support for HELICS_BUILD_CONFIGURATION cmake variable for building on unique platforms. The only supported one right now is "PI" for building on raspberry pi platforms.

    ๐Ÿ—„ Deprecated

    • ๐Ÿšš in the C shared library helicsFederateGetMessage, helicsEndpointGetMessage, and helicsEndpointSendMessage are deprecated in favor of the object version These will be removed in HELICS 3.0
    • ๐Ÿ—„ deprecated helicsEndpointClearMessage this function does nothing right now, all messages are on a federate level.
    • ๐Ÿ—„ Deprecated error functions in the C++ Federate API in favor of localError and globalError.