Version v3.0.0

This release includes the following Features:

  • Add support for Fast DDS v3.

  • Remove publish-type tag from Monitor configuration.

  • Remove DiscoveryServerConnectionAdress.

This release includes the following Bugfixes:

  • Reset cache changes before returning them to the pool.

This release includes the following Configuration features:

This release includes the following CI improvements:

  • Upgrade to Ubuntu Noble (24.04).

  • Remove Ubuntu Focal (20.04) from the CI.

  • Limit permissions and include missing certificates in security tests.

  • Add stress tests.

  • Reduce the list of flaky Docker tests.

This release includes the following Dependencies Update:

Repository

Old Version

New Version

Foonathan Memory Vendor

eProsima/foonathan_memory_vendor

v1.3.1

v1.3.1

Fast CDR

eProsima/Fast-CDR

v2.2.0

v2.2.4

Fast DDS

eProsima/Fast-DDS

v2.14.0

v3.0.1

Dev Utils

eProsima/dev-utils

v0.6.0

v1.0.0

DDS Pipe

eProsima/DDS-Pipe

v0.4.0

v1.0.0

Previous Versions

Version v2.2.0

This release includes the following Features:

This release includes the following Configuration features:

  • New logging configuration option to configure the DDS Router internal logs.

This release includes the following Dependencies Update:

Repository

Old Version

New Version

Foonathan Memory Vendor

eProsima/foonathan_memory_vendor

v1.3.1

v1.3.1

Fast CDR

eProsima/Fast-CDR

v2.1.2

v2.2.0

Fast DDS

eProsima/Fast-DDS

v2.13.1

v2.14.0

Dev Utils

eProsima/dev-utils

v0.5.0

v0.6.0

DDS Pipe

eProsima/DDS-Pipe

v0.3.0

v0.4.0

Version v2.1.0

This release includes the following Features:

This release includes the following Bugfixes:

  • Save the instance handle data for keyed topics.

This release includes the following Dependencies Update:

Repository

Old Version

New Version

Foonathan Memory Vendor

eProsima/foonathan_memory_vendor

v1.3.1

v1.3.1

Fast CDR

eProsima/Fast-CDR

v1.1.0

v2.1.2

Fast DDS

eProsima/Fast-DDS

v2.11.0

v2.13.1

Dev Utils

eProsima/dev-utils

v0.4.0

v0.5.0

DDS Pipe

eProsima/DDS-Pipe

v0.2.0

v0.3.0

Version v2.0.0

This release adds new Requirements:

This release has the following Features:

This release includes the following Internal Implementation Features:

  • Support Interface Whitelisting.

  • Support Custom Transport Descriptors (UDP or Shared Memory only) for Simple Participants.

  • Support Ignore Participant Flags for Simple Participants.

  • Add tests for Dynamic Types to ROS 2.

  • New CommonParticipant class for a Fast DDS Participant wrapper.

  • New XmlParticipant class for a Fast DDS Participant in which the participant is created following a profile name loaded by XML configuration.

  • New CommonReader class for a Fast DDS Data Reader wrapper.

  • New SimpleReader class for a Fast DDS Data Reader that implements abstract CommonReader.

  • New SpecificQoSReader class for a Fast DDS Data Reader with specific QoS policies.

  • New CommonWriter class for a Fast DDS Data Writer wrapper.

  • New SimpleWriter class for a Fast DDS Data Writer that implements abstract CommonWriter.

  • New QoSSpecificWriter class for a Fast DDS Data Writer with specific QoS policies.

  • New MultiWriter class for a Fast DDS Data Writer collection that contains multiple QoSSpecificWriter.

This release includes the following Bugfixes:

  • Add TSAN fixes.

  • Include missing DLLs.

  • Resolve Windows warnings.

  • Restore default DomainParticipantQoS after creating and enabling DynTypesParticipant.

This release includes the following Dependencies Update:

Repository

Old Version

New Version

Foonathan Memory Vendor

eProsima/foonathan_memory_vendor

v1.3.0

v1.3.1

Fast CDR

eProsima/Fast-CDR

v1.0.27

v1.1.0

Fast DDS

eProsima/Fast-DDS

v2.10.1

v2.11.0

Dev Utils

eProsima/dev-utils

v0.3.0

v0.4.0

DDS Pipe

eProsima/DDS-Pipe

v0.1.0

v0.2.0

Version v1.2.0

This release includes the following CI improvements:

  • Add blackbox tests for repeater in WAN case.

  • Upgrade deprecated actions.

Version v1.1.0

This release includes the following features:

This release includes the following CI improvements:

  • Add Address Sanitizer check to all tests.

  • Add Thread Sanitizer check to all tests.

  • Compile with -Wall flag all CI jobs.

Version v1.0.0

This is the first stable release of eProsima DDS Router.

This release includes the following major features:

  • New QoS Transparency Module.

This release includes the following features:

  • New Repeater behaviour, a new configuration to create TURN servers.

  • Add RPC support (compatibility with ROS 2 services).

  • Timeout argument --timeout to close the application after the time set has passed. Check section Timeout Argument for more information.

  • Add TLS-SNI support.

  • Add external port support so internal and external port in network router configuration could be different.

This release includes the following DDS features:

  • New Initial Peers Participant that allows to create a fast WAN communication avoiding the Discovery Server configuration.

  • Participants names are set from ParticipantIds.

This release includes the following configuration changes:

  • New Configuration Version v3.0 that allow Repeater and initial peers configuration.

  • Yaml Validator only validates v3.0 configurations.

  • Address supports an external-port value to set this in a listening address.

This release includes the following major changes:

  • wan Participant Kind uses now Initial Peers Discovery Protocol, while Discovery Server requires a new Participant Kind wan-discovery-server.

  • Internal packages for utils as ddsrouter_cmake and ddsrouter_utils have been moved to an external repository.

This release includes the following performance improvements:

  • No locking in the Track hot-path.

Version v0.4.0

This release includes the following features:

  • New YAML Validator, a simple tool to assert the correctness of DDS Router configuration files.

  • New Version Argument to show the current version of DDS Router.

This release includes the following improvementes:

  • New FastPayloalPool class that will allow unblocking access to shared payloads stored by FastDDS and DDS Router. This slightly improves the performance of the router.

  • New ThreadPool class for handling parallel processing. Limit the number of threads spawned by the DDS Router, improving the performance of the application. The user can set-up this parameter on the YAML configuration Number of Threads.

This release includes the following major changes:

  • New auxiliary package cmake_utils to implement general CMake functions and tools.

  • The internal package ddsrouter_event is joint within the internal package cpp_utils.

This release includes the following minor changes:

  • Refactor all enum to enum class.

This release includes the following Continuous-Integration features:

  • New CI workflow to build dependencies nightly. This allows to run the CI faster, as the build is only done for the ddsrouter packages and not the whole fastdds.

  • Add ubuntu 22.04 to platforms in CI.

  • Add windows 19 to platforms in CI.

This release fixes the following minor bugs:

  • Fix race condition occurred when handling signals (due to concurrent access to SignalManager singleton).

  • Bug in TLS Configuration initialization when setting server configuration files.

  • Set FastDDS DomainParticipants and Readers listeners after creation to avoid race conditions in entities creation.

Version v0.3.0

This release includes the following major changes:

  • New DDS Router library that provides the DDS Router features through a C++ API.

  • Division of DDS Router application into several packages.

    • ddsrouter_event: C++ library which implements System Operating (SO)-dependent signal handlers.

    • cpp_utils: C++ library which implements various utility functions.

    • ddsrouter_core: C++ library which implements the DDS Router operation and exports the DDS Router C++ API.

    • ddsrouter_yaml: C++ library to parse the DDS Router yaml configuration files.

    • ddsrouter_tool: DDS Router end-user application.

  • New dynamic topic discovery feature to automatically discover DDS Topics in a DDS network.

  • Allow using wildcard characters to define topics in allowlist and blocklist.

  • Build internal topic tracks via the builtin-topics configuration.

This release includes the following Routing features:

  • Apply DDS Topic filtering rules using the allowlist and blocklist lists.

This release includes the following User Interface features:

  • Upgrade the yaml configuration file to version 2.0 which breaks compatibility with version 1.0.

  • Support for both version 1.0 and version 2.0 of the yaml configuration file, maintaining version 1.0 by default.

  • Improve reporting of errors resulting from parsing a malformed yaml configuration file.

This release includes the following Continuous-Integration features:

  • Add tests for the yaml parsing library (ddsrouter_yaml).

  • Specific testing GitHub actions for each DDS Router package for both Windows and Linux platforms.

This release fixes the following major bugs:

  • Fix deadlock between Track and Fast DDS Reader mutex.

  • Support any size for in and out messages.

This release fixes the following minor bugs:

  • Fix parsing of reload-time executable argument.

  • Handle signals in dedicated threads to prevent hangs when terminating execution.

  • Fix rare deadlock in EventHandler when destroying and callback called.

This release includes the following Documentation features:

  • DDS Router execution from a provided Docker image.

  • Update all examples of yaml configuration files to be consistent with the new yaml configuration version.

  • High-level repository structure description and developer contribution guidelines.

  • Improved and extended Topic Filtering section according to the new dynamic topic discovery functionality.

Version v0.2.0

This release includes the following Configuration features:

  • Support TLS over TCP configuration and communication.

  • Support IPv6 communication via UDP, TCP and TLS over TCP.

  • Support DNS by given Domain Name in configuration instead of an IP address.

  • Support keyed topics.

This release includes the following Routing features:

  • Zero-Copy data transmission between internal Participants.

This release includes the following User Interface features:

  • Shutdown the DDS Router application gracefully sending SIGTERM (kill) or SIGINT (^C) signals.

This release includes the following Continuous-Integration features:

  • Add communication tests for UDP, TCP and TLS over TCP WAN cases.

  • Extend tool test with more complex configurations.

  • Remove Flaky tests from CI required passing tests.

  • Implement a new class to check that no warning or error logs are produced during test executions.

  • Add gMock to test libraries.

This release fixes the following major bugs:

  • Fix GUID creation when explicit guid is provided.

  • Show error when participant ids are duplicated.

This release fixes the following minor bugs:

  • Change YAML example configurations to YAML format (instead of JSON) fixing an issue when blank lines were missing at the end of the file.

  • Normalize the error and process exit when failure.

  • Fix documentation typos.

Version v0.1.0

This is the first release of eProsima DDS Router.

This release includes several features regarding the routing of DDS data, the DDS Router configuration, the user interaction with the DDS Router, and the different DDS configurations that the application is able to reproduce.

This release includes the following User Interface features:

  • Application executable.

  • Application executable arguments.

  • Signal handler to close the application.

  • FileWatcher thread to watch and reload the configuration file.

  • Periodic timer to force reload configuration.

  • Application run-time user logs.

  • Application run-time debug logs.

  • Error handling:

    • Error log and exit program when reading configuration fails.

    • Error log and exit program when initializing Participants fails.

    • Error log and continuing execution when execution error occurs.

This release includes the following Configuration features:

  • Allow to execute the application with a YAML configuration file.

  • Support for initial topics in allowlist.

  • Support for block topic filters.

  • Different Participant configurations:

    • Domain Id.

    • Discovery Server GuidPrefix.

    • Listening addresses.

    • Connection addresses.

This release includes the following Routing features:

  • Support for routing Topics specified in allowlist regarding Topic name and Topic Type name.

  • Support for connecting to new Topics in run-time (by reloading configuration).

  • Support for disabling a Topic in run-time.

  • Support for enabling a Topic that has been disabled in run-time.

  • Route messages of each Participant to all the other Participants.

  • Agnostic to topic data types.

This release includes the following DDS features:

  • Allow UDP, TCP and SHM transport communication.

  • Allow dynamic discovery of new entities.

  • Using eProsima Fast DDS RTPS layer for discovery, publication and subscription.

This release includes the following Participant features:

  • Echo Participant.

  • Simple Participant, able to connect to a Simple Discovery UDP DDS network.

  • Local Discovery Server Participant, able to connect to a local Discovery Server as Client or Server.

  • WAN Participant, able to connect to a WAN Discovery Server network as Client or Server.

This release includes the following Examples:

  • Echo Example, to monitor a local simple network.

  • Domain Change Example, to connect two different domains.

  • ROS 2 Discovery Server Example, to connect a regular DDS network with a Discovery Server network using ROS 2 configuration.

  • WAN Example, to connect two DDS networks in different LANs.

This release includes the following Documentation features:

  • This same documentation.