v2.6.0
Bug fixes and major logging update
Changed
- The build flag function now returns correct debug or release flags depending on the build
- The debug postfix
d
is no longer added to the interface libraries - Spdlog is now being used for logging inside HELICS and the old logger has been removed this results in fewer thread being generated by HELICS.
- CMake will now error if the install directory is set to the build directory
- Some argument names in the C API have been changed for consistency
- Output a more descriptive error message for mismatched data sizes when converting types #1521
- Some C++98 API functions were added and changed for consistency, specifically endpoint get type no returns a
char *
instead of std::string, and agetCurrentTime
function was added toFederate
- logging level properties from a federateInfo structure will be inherited by a core for the first registered federate
Fixed
- String with negative numerical values were not acknowledging the negation Issue #1306
- Config file parsing was not acknowledging "unit" string #1512
- A performance issue with the tcpss and tcp cores in some cases has been resolved by setting the no_delay option
- Inconsistency in type returned by endpoint getType in C++98 API #1523
- a potential segmentation fault when calling some methods in the C shared library after calling helicsCloseLibrary
Added
- Flags for
dumplog
andforce_logging_flush
were added to the C API - Added missing C++98 call to
getCurrentTime
- Added
closeLibrary
function to the C++98 API - Added a Python benchmark file
- An option to install the benchmark executables has been added
- Data logging output for both send and receive of messages
- A GitHub Actions workflow to build packages for Linux with the benchmark executables
Removed
- The previous logger including logger.h has been replaced with spdlog