Version 3.0.0

Agent 3.0.0 | Client 3.0.0 | Micro-CDR 2.0.1 | Gen 2.0.2

  • Agent 3.0.0:
    • This release includes the following major changes:
      • Bump Fast DDS to v3.1.0

  • Client 3.0.0:
    • This is a convenience release to match Agent major version bump.

  • Micro-CDR 2.0.1:
    • This release is not modified

  • Gen 2.0.2:
    • This release is not modified

Version 2.4.3

Agent 2.4.3 | Client 2.4.3 | Micro-CDR 2.0.1 | Gen 2.0.2

  • Agent 2.4.3:
    • This release includes the following minor changes:
      • Bump Fast DDS to v2.14.x.

      • Bump Fast CDR to v2.2.x.

  • Client 2.4.3:
    • This release includes the following minor changes:
      • Add BigHelloWorld example (#379)

    • This release includes the following bugfixes:
      • Fixed removal of z_impl_clock_gettime in zephyr 3.5.99 (#378)

  • Micro-CDR 2.0.1:
    • This release is not modified

  • Gen 2.0.2:
    • This release is not modified

Version 2.4.2

Agent 2.4.2 | Client 2.4.2 | Micro-CDR 2.0.1 | Gen 2.0.2

  • Agent 2.4.2:
    • This release includes the following minor changes:
      • Enable termios baudrate configuration for macOS (#342).

      • Enable Domain Override on Reference and XML Participant (#351).

      • Bump internal Micro XRCE-DDS Client to v2.4.2

      • Bump Fast DDS to v2.12.1.

      • Bump Fast CDR to v1.1.1.

    • This release includes the following bugfixes:
      • Fix deserialization endianness (#336).

  • Client 2.4.2:
    • This release includes the following bugfixes:
      • Rename UXR_CONFIG_CAN_TRANSPORT_MTU (#372)

  • Micro-CDR 2.0.1:
    • This release is not modified

  • Gen 2.0.2:
    • This release includes the following bugfixes:
      • Force 4 Bytes to enum types (#69)

Version 2.4.1

Agent 2.4.1 | Client 2.4.1 | Micro-CDR 2.0.1 | Gen 2.0.1

  • Agent 2.4.1:
    • This release includes the following minor changes:
      • Allow overriding the client’s domain ID through reference (#331).

      • Override domain_id with ROS_DOMAIN_ID provided by the agent (#333).

      • Bump internal Micro XRCE-DDS Client to v2.4.1

      • Bump Fast DDS to v2.11.0.

      • Bump Fast CDR to v1.1.0.

  • Client 2.4.1:
    • This release includes the following bugfixes:
      • Fix freeaddrinfo call on UDP transport (#359)

      • Fix fragmentation check on uxr_prepare_reliable_buffer_to_write (#360)

  • Micro-CDR 2.0.1:
    • This release is not modified

  • Gen 2.0.1:
    • This release includes the following minor changes:
      • Use size_t in for loops to fix integer comparisons (#64)

      • Update IDL-Parser submodule to latest v1.6.0 version.

Version 2.4.0

Agent 2.4.0 | Client 2.4.0 | Micro-CDR 2.0.1 | Gen 2.0.0

  • Agent 2.4.0:
    • This release includes the following minor changes:
      • Bump internal Micro XRCE-DDS Client to v2.4.0

      • Bump Fast DDS to v2.10.0

      • Bump Fast CDR to v1.0.27

  • Client 2.4.0:
    • This release includes the following bugfixes:
      • Fix build for macOS (#346)

      • Fix newline-eof compiler warning (#347)

      • Fix doxygen warning (#352)

      • Add missing doxygen parameter (#353)

      • Fix domain id argument in create_participant API (#348)

    • This release includes the following minor changes:
      • Add CMAKE configuration for C standard version (#340)

  • Micro-CDR 2.0.1:
    • This release is not modified

  • Gen 2.0.0:
    • Adapted generation to Micro XRCE-DDS Client v2.4.0 API.

    • This release includes the following minor changes:
      • Update gradlew scrip to use Gradle 7 and fix compatibility with Client 2.3.0 (#47)

      • Enumerations support (#43)

      • Update IDL-Parser dependency to latest master (#59)

      • Add case sensitive argument -cs (#61)

      • Support of include directories argument -I (#60)

      • Add support for modules in examples (#48)

    • This release includes the following bugfixes:
      • Avoid typedefs from IDL source files (#58)

      • Fix C namespaced module includes (#53)

      • Consume the bool return type and propagate it outward (#46, #49)

Version 2.3.0

Agent 2.3.0 | Client 2.3.0 | Micro-CDR 2.0.1

  • Agent 2.3.0:
    • This release includes the following bugfixes:
      • Fix requester and replier reuse behavior (#318)

      • Increase cmake minimum required according to fastdds (#323)

    • This release includes the following minor changes:
      • Bump internal Micro XRCE-DDS Client to v2.3.0

      • Bump Fast DDS to v2.9.0

      • Bump Fast CDR to v1.0.26

  • Client 2.3.0:
    • This release includes the following bugfixes:
      • Increase cmake minimum required (#335)

    • This release includes the following minor changes:
      • Bump Micro CDR to v2.0.1

  • Micro-CDR 2.0.1:
    • This release includes the following bugfixes:
      • Remove COMPILE_LANGUAGE:CXX from set_common_compile_options (#71)

      • Increase cmake minimum required (#72)

Version 2.2.1

Agent 2.2.1 | Client 2.2.1 | Micro-CDR 2.0.0

  • Agent 2.2.1:
    • This release includes the following bugfixes:
      • Fix exception on Heartbeat filter (#314)

      • Fix default QoS in Requester and Replier (#313)

    • This release includes the following minor changes:
      • Bump Fast DDS to v2.8 and Fast CDR to v1.0.24 (#315)

  • Client 2.2.1:
    • This release includes the following bugfixes:
      • Check setsockopt return (#325)

  • Micro-CDR 2.0.0:
    • This release is not modified

Version 2.2.0

Agent 2.2.0 | Client 2.2.0 | Micro-CDR 2.0.0

  • Agent 2.2.0:
    • This release includes the following bugfixes:
      • Fix select timeout format (#311)

      • Default services to preallocated with realloc (#310)

    • This release includes the following minor changes:
      • Implement hard liveliness check (#308)

  • Client 2.2.0:
    • This release includes the following bugfixes:
      • SuperBuild.cmake: pass C, CXX and LINKER flags too (#315)

      • Add a nopoll version of the POSIX TCP transport profile (#318)

      • Fix wait_session_status listen timeout (#322)

    • This release includes the following minor changes:
      • Implement hard liveliness check (#316)

  • Micro-CDR 2.0.0:
    • This release is not modified

Version 2.1.1

Agent 2.1.1 | Client 2.1.1 | Micro-CDR 2.0.0

  • Agent 2.1.1:
    • This release includes the following bugfixes:
      • Fix write destination id (#292)

      • Add sub entities destruction on FastDDS entities (#295)

      • Add reuse socket to TCP agent (#301)

      • Fix linux compile (#297)

    • This release includes the following minor changes:
      • Add CAN payload len on first frame byte (#293)

      • Add CAN transport flag to cmake / Upgrade splog version (#296)

      • Add Twitter and Readthedocs shields (backport #298) (#299)

      • Add use system spdlog flag (#303)

      • Implement GET_STATUS implementation result (#304)

  • Client 2.1.1:
    • This release includes the following bugfixes:
      • Fix fragment capacity overflow (#296)

      • Fix fragmentation header alignment (#300)

      • Fix run session timeouts (#299)

      • Fix code scanning alert (#302)

      • Fix exit run session condition (#305)

      • Fix multithread interlock (#303)

      • Reset stream on created session (#304)

      • Fix subscriber example (#309)

      • Fix Req Res example (#314)

    • This release includes the following minor changes:
      • RTEMS Serial Transport support (#297)

      • Add payload lenght on CAN messages (#298)

      • Add Twitter and Readthedocs shields (#307)

      • Implement GET_STATUS implementation result (#312)

  • Micro-CDR 2.0.0:
    • This release is not modified

Version 2.1.0

Agent 2.1.0 | Client 2.1.0 | Micro-CDR 2.0.0

  • Agent 2.1.0:
    • This release includes the following bugfixes:
      • Style corrections (#238)

      • Fix packaging test (#241)

      • Fix serial error detection (#251)

      • Server: Add wait for error_handle (#252)

      • Fix use FastDDS profiles (#260)

      • Fix session key log (#265)

      • Fix custom transport bug (#259)

      • Add missing define if logger is disabled (#267)

      • Fix warning when CED disabled (#272)

      • FramingIO optimizations (#278)

      • Fix stream type on entities creation/destruction (#284)

    • This release includes the following minor changes:
      • Add wait for a serial port connection (#246)

      • Set runtime check for discovery and p2p protocols (#254)

      • Add flag for using system Fast-CDR (#255, #256)

      • Add LOG_INFO traces when entities are created (#257)

      • Add stop functionality (#268)

    • This release includes the following major changes:
      • Client shared memory support (#236)

      • Binary entity creation mode (#239, #245, #248, #250, #273)

      • Off-standard 64 kB write limit tweak (#249)

      • Multiserial agent functionality (#253, #262)

      • Build agent with Android NDK (#280, #282, #283)

      • Incoming heartbeats filter (#277)

      • Support for CAN/FD (#285)

      • Updated Fast-DDS to v2.4.1 and Fast-CDR to v1.0.22

  • Client 2.1.0:
    • This release includes the following bugfixes:
      • Minor fixes in FreeRTOS (#236, #239, #270)

      • Style corrections (#222, #223, #231, #237, #247, #248)

      • Fix missing declarations of inet_to family for POSIX_NOPOLL (#272)

      • Modified heartbeat calculations (#251)

      • FramingIO performance improvements (#259, #267)

      • Fix conditional compilation Shapes Demo Windows (#262)

      • Fix uxr_run_session_until_all_status (#279)

      • Add check to stream type on fragmented output (#293)

    • This release includes the following minor changes:
      • Doxygen updates (#226, #229, #292)

      • XRCE-DDS sessions runs at least once when timeout is 0 ms (#212)

      • Add argument to continuous fragment mode callback (#260)

      • Add flag to force micro-CDR build (#264)

      • Support building for Android with NDK. (#269)

      • Allow for pinging once and and return (#282)

      • Allow wait session with no timeout (#280)

    • This release includes the following major changes:
  • Micro-CDR 2.0.0:
    • This release includes the following bugfixes:
      • Fixed buffer handling in fragmentation for compatibility with FastDDS (#69).

    • This release includes the following minor changes:
      • Only add -wsign-conversion if supported (#68)

      • Avoid enabling CXX language (#67)

      • Fix memcmp in tests (#66)

      • Only add -wdouble-promotion if supported (#65)

      • Update ABI Stability section (#64)

Version 2.0.0

Agent 2.0.0 | Client 2.0.0 | Micro-CDR 1.2.1

This version includes the following changes in both Agent and Client:

  • Agent 2.0.0:
    • Add
    • Fix / Modify
      • Simplified CLI and removed dependency with CLI11 library.

      • Optional disable of executable build.

      • CLI help console output.

      • Removed platform handling in user API.

  • Client 2.0.0:
    • Add
      • POSIX transport with based on timeout instad of polling.

      • Client to Agent ping feature without a session

      • Continuos fragment mode

      • FreeRTOS+TCP transport support

      • Zephyr RTOS time functions support

      • Custom transports API

      • DDS-XRCE best effort examples

      • uxr_run_session_until_data functionality

      • uxr_create_session_retries functionality

      • uxr_buffer_topic functionality

    • Fix / Modify
      • Update session creating timing to linear approach

      • Modified uxr_prepare_output_stream API return code

      • Removed client.config file in favor of CMake arguments.

      • Removed platform handling in user API.

      • Bugfix #156 request/reply lenght management.

      • Bugfix #167 reliable fragment slots management.

      • Bugfix #175 reliable fragment size management.

      • Bugfix #176 discovery message deserialization.

  • Micro-CDR 1.2.1:
    • Fix / Modify

Version 1.3.0

Agent 1.4.0 | Client 1.2.3

This version includes the following changes in both Agent and Client:

  • Agent 1.4.0:
    • Add
      • FastDDS middleware (compatible with ROS 2 Foxy).

    • Fix
      • TermiosAgent’s baudrate setting.

  • Client 1.2.3:
    • Modify
      • Examples installation.

    • Fix
      • Minor Windows visibility function fixes.

Previous Versions

Version 1.2.0

Agent 1.3.0 | Client 1.2.1

This version includes the following changes in both Agent and Client:

  • Agent 1.3.0
    • Add
      • IPv6 support.

      • Requester/Replier support.

      • Packaging compatibility with colcon.

      • Isolated installation option.

      • Raspberry Pi support.

    • Change
      • Serial transport.

  • Client 1.2.1
    • Add
      • IPv6 support.

      • Requester/Replier support.

      • Packaging compatibility with colcon.

      • Isolated installation option.

Version 1.1.0

Agent 1.1.0 | Client 1.1.1

This version includes the following changes in both Agent and Client:

  • Agent 1.1.0:
    • Add
      • Message fragmentation.

      • P2P communication.

      • API.

      • Time synchronization.

      • Windows discovery support.

      • New unitary tests.

      • API documentation.

      • Logger.

      • Command Line Interface.

      • Centralized middleware.

      • Remove Asio dependency.

    • Change
      • CMake approach.

      • Server’s thread pattern.

      • Fast RTPS version upgraded to 1.8.0.

    • Fix
      • Serial transport.

  • Client 1.1.1:
    • Add
      • Message fragmentation.

      • Time synchronization.

      • Windows discovery support.

      • New unitary tests.

      • API documentation.

      • Raspberry Pi support.

    • Change
      • Memory usage improvement.

      • CMake approach.

      • Discovery API.

      • Examples usage.

    • Fix
      • Acknack reading.

      • User data bad alignment.

Version 1.0.3

Agent 1.0.3 | Client 1.0.2

This version includes the following changes in both Agent and Client:

  • Agent 1.0.3:
    • Fast RTPS version upgraded to 1.7.2.

    • Baud rate support improvements.

    • Bugfixes.

  • Client 1.0.2:
    • Uses new Fast RTPS 1.7.2 XML format.

    • Add Raspberry Pi toolchain.

    • Fix bugs.

Version 1.0.2

Agent 1.0.2 | Client 1.0.1

This version includes the following changes in the Agent:

  • Agent 1.0.2:
    • Fast RTPS version upgraded to 1.7.0.

    • Added dockerfile.

    • Documentation fixes.

Version 1.0.1

Agent 1.0.1 | Client 1.0.1

This release includes the following changes in both Agent and Client:

  • Agent 1.0.1:
    • Fixed Windows installation.

    • Fast CDR version upgraded.

    • Simplified CMake code.

    • Bug fixes.

  • Client 1.0.1:
    • Fixed Windows configuration.

    • MicroCDR version upgraded.

    • Cleaned unused code.

    • Fixed documentation.

    • Bug fixes.

Version 1.0.0

This release includes the following features:

  • Extended C topic code generation tool (strings, sequences, and n-dimensional arrays).

  • Discovery profile.

  • Native write access profile (without using eProsima Micro XRCE-DDS Gen)

  • Creation and configuration by XML.

  • Creation by reference.

  • Added REUSE flag at entities creation.

  • Added prefix to functions.

  • Transport stack modification.

  • More tests.

  • Reorganized project.

  • Bug fixes.

  • API changes.

Version 1.0.0Beta2

This release includes the following features:

  • Reliability.

  • Stream concept (best-effort, reliable).

  • Multiples streams of the same type.

  • Configurable data delivery control.

  • C Topic example code generation tool.