Skip to content

Releases: GMLC-TDC/HELICS

HELICS 2.0 Beta.3

03 Jan 18:12
39ca977
Compare
Choose a tag to compare
HELICS 2.0 Beta.3 Pre-release
Pre-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.

HELICS 2.0 Beta.2

19 Dec 05:30
73957ed
Compare
Choose a tag to compare
HELICS 2.0 Beta.2 Pre-release
Pre-release

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.

HELICS 2.0 Beta.1

25 Nov 00:42
b635471
Compare
Choose a tag to compare
HELICS 2.0 Beta.1 Pre-release
Pre-release

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

v1.3.1

02 Oct 21:48
9f43602
Compare
Choose a tag to compare

Fixed

  • 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

Added

  • 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.

Changed

  • 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

2.0.0 alpha release 2

17 Sep 14:25
Compare
Choose a tag to compare
2.0.0 alpha release 2 Pre-release
Pre-release

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.

RFC for 2.0.0 api

30 Aug 15:41
Compare
Choose a tag to compare
RFC for 2.0.0 api Pre-release
Pre-release

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

v1.3.0

01 Aug 03:40
bc9d5d8
Compare
Choose a tag to compare

Changed

  • 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

Fixed

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

Added

  • 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

Changed

  • 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.

Removed

v1.2.1

30 Jun 05:07
b2fa5ce
Compare
Choose a tag to compare

Fixed

  • 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

Added

  • 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

Changed

  • 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

v1.2.0

18 Jun 03:00
0ee2c6d
Compare
Choose a tag to compare

Fixed

  • issue with various filter tyes and random drop filters
  • a few minor issues with C api (helicsFederateSetMaxIterations)
  • potential threading issues when updating the logger on an executing federate
  • federates will now propagate errors properly for duplicate publications and endpoints
  • federates will now error on missing required publications

Changed

  • implement use of fmt library instead of boost::format
  • improved python installation scripts
  • general threading and refactoring of the core
  • automatic name generation no longer uses random uuid's, but a shorter 20 character random string

Added

  • queryCoreExecute, queryBrokerExecute to the C api to allow queries to be executed directly on brokers and cores
  • C++ API changes to Brokers and Core's to allow queries directly
  • new queries (federate_map, and dependency_graph(partial))
  • additional filter tests and query tests
  • realtime mode for HELICS specified by activating the realtime flag, and specifying rt_lag and rt_lead the federate will then delay grant or force_grant based on computer clock to match wall time.

v1.1.1

26 May 16:41
fd9cf67
Compare
Choose a tag to compare

Added

  • BrokerApp as a slightly more convenient runner to Brokers
  • getXXSize functions directly in the Subscription object instead of a roundabout call in the C api
  • more complete error catching for the C library
  • added helics-config executable for getting paths and links and used flags

Changed

  • upgrade autobuild ZMQ version to 4.2.5 and change CMake scripts to use zmq target
  • updated HELICSConfig.cmake install file to link properly to external libraries and find them if necessary, also included some find functions. The find_package(HELICS) should work properly now
  • changed boost inclusion to use targets instead of files directly
  • changed MPI inclusion to work better on windows and use targets instead of direct links
  • update cereal library with latest bug fixes
  • update jsoncpp with latest version
  • update cppzmq with the latest version
  • moved helics_broker executable code to the apps repository
  • the CXX shared library can now be built alongside the C shared library and can be built on Windows.

Fixed

  • compilation issue with Xcode 8.0
  • inconsistent numerical conversion from vectors to doubles in subscriptions

Removed

  • installation of HELICSImport.cmake this is now redundant with updated HELICSConfig.cmake