Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 31 million developers.Sign up
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.
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.
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.
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
- 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
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.
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
2.0.0 final late October
- 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.
- Most examples are now located in HELICS-Examples
- 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