HELICS v2.5.1 Release Notes
Release Date: 2020-06-05 // almost 4 years ago-
๐ Changed
- All ZeroMQ related files are now located in the network library and under a single namespace
- ๐ Use Python 3.8 instead of 3.6 for any release build installers that include a copy of the Python interface (
pip
oranaconda
are the recommended ways to install the Python interface) - โก๏ธ Update units library to include some typical natural gas units and conversions
- ๐ Use a separate action for automated pr generation
- โก๏ธ Update the CLI11 library
- The setOption/getOption functions now take an int32_t as a value instead of a boolean. This does not change the API since in the C library the
helics_bool
was already an int. - In the case of multiple sources,
getInjectionType
, andgetInjectionUnits
now will return a json string vector. - ๐ The CMake build generation now uses a central location for all build artifacts instead of individual directories.
- โก๏ธ Updated the ASIO library to 1-16
- โก๏ธ Minor updates to the clang-format to allow better alignment and comment reflow
- ๐จ Numerous code refactorings to simplify and clean up code
- ๐ Move all ZMQ related items to the network library
- โก๏ธ Updated Python packages DLL load failed error to suggest installing the latest Visual C++ Runtime
๐ Fixed
- โ Sporadic failures in the Webserver and websocket tests
- ๐ A bug in the translation of vectors to complex vectors
- A bug in the copying of vectors into the C shared library
- Numerous clang-tidy identified issues mostly for code readability
- Some issues with the exists query not working in certain circumstances and for cores and brokers
- โ
The nonlings test would fail if the branch name had
error
in it. A check was put into eliminate this false negative test failure. - โ A few sporadic failure cases in the http and websocket tests
- ๐ A build generation issue with disabling the ZMQ core
- ๐ง An error from the config interpreter where some flags were not getting correctly propagated to the Federate configuration.
โ Added
- A helics::zmq target was added for linking with zeromq if using HELICS as a subproject
- A
HELICS_BENCHMARK_SHIFT_FACTOR
CMake option was added to allow the benchmarks to scale depending on computational resources - "version" and "version_all" queries to get the local version string and the version strings of all the cores/brokers in the federation
- โ
A few missing operations to the C++98 interface for Message objects, add
helicsMessageClone
andhelicsEndpointCreateMessage
functions in the C interface. Add a test case for some of the C++98 message operations. helicsQuerySetTarget
andhelicsQuerySetQueryString
operations to modify an existing query in the C interface- A set of reduction operations for multi-input handling on inputs, options for setting input source priority and the number of expected connections
- A Watts-Strogatz like benchmark
- ๐ A few more parameters that can be handled in the Webserver and support for use of uuid instead of name
- A few missing message operators to the C++98 API, such as
data
,append
,setFlag
,checkFlag
,sendMessageZeroCopy
- Made the Message class return a self Reference for the setters
- ๐ท A test to run the helics-broker executable as part of the CI tests
- 0๏ธโฃ A bug in the helics_broker that no longer ran correct defaults
- A "version_all" query, to retrieve the version of HELICS in use for all cores/brokers, and a "version" query to retrieve the version of a specific target.
- โก๏ธ A series of checks for markdown, spelling, shellcheck, python formatting, cpplint, end-of-line and automated generation of PR scripts for the formatting updates.
- Some level of automated scaling for benchmarks for small systems
- ๐ API functions for retrieving the build flags used to generate the library
- Some additional message interpreters to aid in debugging
- โ
A test using the standalone
helics_broker
to run an example