@phlptp phlptp released this Jan 19, 2019 · 82 commits to master since this release

The 2.0 API is stable and should not change.
Some documentation updates are expected and if there are any bugs they will be fixed but the final 2.0 is expected soon.

Assets 5

@phlptp phlptp released this Jan 3, 2019 · 101 commits to develop since this release

Final beta release. The API's should be stable. Remaining changes will be bug fixes and documentation updates.
Changes from beta.2 include a second zmq core type for high federate count systems,. Modified function calls to get and set the default destination for endpoints and incorporation of upsteam changes from third party libraries,. As well as numerous bug fixes and tests.

Assets 2

@phlptp phlptp released this Dec 19, 2018

Second Beta release for 2.0.0

options for interfaces
Several bug fixes and some performance improvements.
Some flags have changed
There is an info field that can be set for each interface object
The finalize call is now blocking

Interfaces can now be closed during a simulation

Global values can be created and queried

Several new test cases to test new features and capabilities.

Assets 2
Dec 1, 2018
update the readme with additional information and recommendations on … (

* update the readme with additional information and recommendations on the 2.0 branch

* make recommended changes

@phlptp phlptp released this Nov 25, 2018

This is a beta release of the HELICS 2.0 API. There are numerous changes to the API based on feedback from the alpha releases and 1.X releases.

The major changes between the Alpha and Beta release are:

  • registerXXX functions in the application API now return object references instead of id codes.
  • Also several functions were then removed from the federate API since they are available in the object API's
  • The #define's in the API were also removed in favor of enumerations.
  • An octave interface is now available
  • a preliminary C# interface is available
  • Java, Matlab, and Python interfaces are fully operational and tested
  • a single socket TCP core is now available
  • all interfaces have an info field that can be used to store a string for user purposes
  • Brokers and cores can accept a file to make connections
Assets 5

@kdheepak kdheepak released this Oct 2, 2018 · 624 commits to master since this release


  • some race conditions in a few test cases and in user disconnection calls for brokers
  • certain types of federates would occasionally hang during off nominal shutdown call sequences. Fixing this led to a substantial rewrite of the tcp comms


  • federate, broker, and core destroy functions to the C api
  • tcp cores have a --reuse-address flag to allow multiple brokers on the same port, mostly useful for the test suite to prevent spurious failures due to the OS not releasing tcp ports in a timely manner.


  • wait for Broker now uses a condition variable instead of sleep and checking repeatedly
  • changed the logging levels to be error, warning, summary, connections, interfaces, timing, data, and trace to better match debugging levels used in development and make the purpose of each level clearer
  • comm objects now can use the same logging system as the rest of HELICS
Assets 6

@phlptp phlptp released this Sep 17, 2018

This is the second alpha release for HELICS 2.0. All C/C++ based tests are passing. So for those operations it has equivalent capabilities as the 1.X releases. The language bindings are not operational yet, with the MATLAB interface being farthest along. The target for the beta.1 release will be making sure all the language bindings work and compile. This release also includes several updates to the API's as learned from the previous release.

The target date for the beta.1 release is October 1.
Development work throughout the Beta release process will be to verify operations of the novel capabilities in HELICS 2.0 and add the remaining new planned capabilities.

Assets 2

@phlptp phlptp released this Aug 30, 2018

This release is for comment on the updated API's for the 2.0.0 release. Specifically on the C and C++ code.
Not all tests are passing, and none of the language API's are updated.
No binaries are provided for this release as it is not operationally ready.

Current schedule plan is to make sure most tests are passing, and address any comments for an alpha.2 release in a couple week.
Beta.1 Sept 30
Beta.X Mid-October
2.0.0 final late October

Assets 2

@kdheepak kdheepak released this Aug 1, 2018 · 653 commits to master since this release


  • some CMake options have been removed (BUILD_BROKER)
  • major changes to the build of the CTest testing Framework
  • moved most examples to new HELICS-Examples Repo


  • potential segmentation fault in C shared library when calling free with invalid object.
  • autobuild recognizes build configuration


  • working octave interface for Linux
  • some additional tests for the shared library
  • TOML readers for interface description in Federates
  • interactive command line for helics_broker
  • a few new queries on brokers see Queries
  • CPACK can now build a dmg files
  • Players can have multiline comments in input file and omit the tag for repeated messages
  • marker option on player, recorder, tracer to print time advancement message


  • added better code for allowing static runtime builds
  • use the cmake version numbers instead of independent variables
  • Environment variables are recognized in CMAKE find options
  • split API tests from system wide tests
  • added options on MSVC to build with embedded system libraries and embedded debug info.


Assets 7

@kdheepak kdheepak released this Jun 30, 2018 · 689 commits to master since this release


  • bug in the conversion of named points from strings
  • matlab helicsSubscriptionGetVector function was producing a seg fault, now this is fixed
  • performance issue in the delay buffers of federateState
  • findMPI for MPI libraries with multiple libraries
  • federates will now error on missing required publications


  • first cut of matlab interface tests
  • some additional Java test cases
  • Python test cases for named point and bool tests
  • Matlab helper scripts for loading the libary
  • String length function for subscriptions


  • conversion of doubles into the internal time base now rounds to the nearest ns instead of truncating
  • unify cmake scripts to use lower case commands
Assets 6