HELICS v2.2.0 Release Notes

Release Date: 2019-08-26 // over 4 years ago
  • ๐Ÿš€ Minor release with some updates to the networking portion of HELICS and some API additions.

    ๐Ÿ”„ Changed

    • โšก๏ธ Submodule updates for filesystem, libfmt, and google test
    • A utilities lib containing many string processing and small functions is now used instead of directly including it.

    ๐Ÿ›  Fixed

    • โฑ A error response to a core registration will immediately generate an error on federates waiting for registration instead of waiting for a timeout
    • ๐Ÿ HELICS can now compile with standalone mingw and cygwin 32 bit on Windows. ASIO is not compatible with Cygwin 64 bit so no support for that is expected in the near future. Tests in travis exercise the MinGW build.
    • ๐Ÿ— Some issues with the ZMQ core generating an error on close due to incorrect builds of ZMQ in some installations.
    • Some changes to the network interface selection process that cause issues on certain platforms.

    โž• Added

    • The ability to specify a broker key for brokers and cores to limit linking to those cores with the appropriate key
    • A units library into HELICS, mismatched units are checked and units published as a double with units on the publication and subscription converted internally
    • ๐Ÿš€ A new API for messages in the C interface. The old interface has difficulties when working with binary data in the message structure. So a message object API was created with appropriate methods to access the data. The previous message API will be deprecated in release 2.3 and removed in 3.0.
    • ๐Ÿ‘ฏ A clone app for cloning an existing federate including all publications and subscriptions and all data that is being sent out. It is accessible through the helics_app clone subcommand
    • ๐Ÿณ CI tests using docker for clang memory sanitizer and the octave interface.
    • ๐Ÿš€ Scripts for generating a single zip file with all the code including submodules. This will be generated for each new release.
    • ๐Ÿ‘ A broker server that generate multiple brokers on a single system and handles the port allocation intelligently. (Only ZMQ currently supported, this is not backwards compatible, though regular 2.2 brokers should work with 2.1 federates if needed.)
    • ๐Ÿš€ A Docker image containing the HELICS apps (available on Docker Hub for tagged releases and the latest develop branch at https://hub.docker.com/r/helics/helics)

    โœ‚ Removed

    • ๐Ÿ— ENABLE_SWIG option in CMake as always ON. This option will only appear for interfaces that have existing build files. For swig generated interfaces that do not have prebuilt files (octave, python2, and C#) this option will no longer appear as swig is required.