Skip to content

v3.0.0

Compare
Choose a tag to compare
@jamoralp jamoralp released this 21 May 11:07
· 32 commits to main since this release
a32c7b1

This is the 3.0.0 major release for the eProsima Integration Service product suite.

It comprises this repository's release, plus all of the officially available System Handles:

Regarding this repository, these are the most important changes, bugfixes and improvements:

  • Completed migration from SOSS to Integration Service. This, code wise, included changing the C++ namespace convention of the whole project, from soss::core to eprosima::is::core and from soss::<SH_NAME> to eprosima::is::sh::<SH_NAME>.

  • Used eProsima xTypes as the common language for the Core to speak to each System Handle.

  • Created unique pool for SubscriptionCallback and RequestCallback lambda functions. Prior to this version, they were being copied multiple among the Core and involved System Handles, leading to unnecessary copies and entities destruction problems.

  • Added new Logger class, with different logging levels: DEBUG, INFO, WARN, ERROR.

  • Debug logging traces are automatically enabled if the project is compiled in debug mode.

  • Add much more traces and unify the logging style.

  • Full API reference documentation using Doxygen.

  • Migrated whole test suite from Catch to Google Test.

  • Applied uncrustify rules.

  • Added brand new README section for each repository, with detailed information about the project status and features.

  • Added global compilation flags for building tests,
    examples, libraries and the API reference.

  • Add an optional YAML configuration file types section,
    with an idl subsection. This allows users to introduce their own data type definitions
    at runtime, following the IDL specification.

  • Inclusion of a types-from option in the YAML configuration file,
    to allow type inheritance among System Handles.

  • Created a Core GitHub action automated task for unitary and integration tests.

  • Skip blank services names.

  • JSON conversion library (applies to FIWARE-SH and WebSocket-SH):

    • Handle special double/float values (Inf, NaN...).
    • Boolean type support.
    • Sequences and arrays.
  • Moved all example configuration files into a common folder.

  • Created utility packages and applications for testing all the examples tutorials available in the documentation.

  • Fix non-resizable containers for conversion to/from ROS 1 and ROS 2 static types definitions.