Skip to content

v2.8.0

Compare
Choose a tag to compare
@EduPonz EduPonz released this 29 Sep 14:40

Fast DDS v2.8.0

This minor release includes several new features, performance improvements (especially in the case of topics with many instances), CI improvements (including the ability to run the CI in Android emulators or devices), and several bug fixes.

Mind that, even though this release is API compatible with previous v2.x versions, it is NOT ABI compatible with previous versions.
This means that applications upgrading Fast DDS to v2.8.0 will require recompilation, though not source code modification.

It is also advisable to regenerate the type support from the IDL files using Fast DDS-Gen v2.2.0.
Furthermore, if upgrading to v2.8.0, it is also recommended to upgrade Fast CDR to v1.0.25

New features

  1. Full Ownership and OwnershipStrength QoS support (#2856, #2967)
  2. External locators (#2996)
  3. UDPv6 support for fast-discovery-server tool and ROS_DISCOVERY_SERVER (#2948)
  4. XML configuration support for statistics DataWriters QoS (#2927, #2973)
  5. Advanced Configuration example (#2947)
  6. SNI support (#2950)
  7. Propagate PropertyQoS properties when explicitly set (#2943)
  8. Add API to createRTPSWriter with a custom pool (#2841)
  9. Add std::string::compare API to fixed_string (#2901)
  10. Get WAN address API in TCPv4 transport descriptors (#2877)
  11. Adding DomainParticipantFactory::get_shared_instance() API (#2894)

Improvements

  1. Performance improvements:
    1. Skip writer_removed processing for unaccounted instances (#2905)
    2. Improve GUID_t operator< performance (#2955)
  2. CI improvements:
    1. Add optional parameters to thread-sanitizer job (#2946)
    2. Enable Android testing on device (#2978)
  3. Examples:
    1. Update BasicConfigurationExample to allow set up TTL (#2937, #2951)
    2. Add Guid info to BasicConfiguration Example cout (#2912)
  4. Internal implementation improvements:
    1. Add script to generate idl files (#2900)
    2. Group set_qos_from_attributes free functions into a separate file (#2914)
    3. Update script for generating idl files (#2940)
    4. Set last_heartbeat_count_ private member of WriterProxy as atomic (#2888)
  5. Android Improvements (#2977)
  6. Upgrade Fast CDR submodule (#2994)

Fixes

  1. Synchronization fixes:
    1. Fix datarace using writer's locator selectors (#2885)
    2. Add lock guard at changing SHM port listener status members (#2883)
    3. Add atomic variable to prevent datarace in FlowController (#2887)
    4. Disable RTPSParticipantImpl after removing it from RTPSDomain participants list (#2892)
    5. Fixing datarace on listener callbacks (#2889)
    6. Protect access to reader listeners (#2898)
    7. Use thread-safe localtime function in unix distributions (#2897)
    8. Fixed usage of uninitialised ifreq (#2954)
    9. Adding protection to id_counter access (#2979)
  2. Repository fixes:
    1. Fix spelling mistake (#2896)
    2. Add python3 dependency to package.xml (#2960)
  3. Other:
    1. Fix null dereference on parseXMLBitsetDynamicType (#2893)
    2. Change internal include path of nlohmann/json header file (#2808)
    3. Instance allocation consistency (#2807)
    4. Fix complex member printing for DynamicDataHelper (#2957)
    5. Fix initialization order in mock (#2995)
    6. Upgraded internal type supports (#2993)

PRs in merged order:

#2997, #2978, #2994, #2894, #2950, #2967, #2943, #2912, #2979, #2951, #2955, #2947, #2960, #2977, #2973, #2957, #2948, #2946, #2856, #2927, #2940, #2954, #2914, #2937, #2900, #2807, #2877, #2905, #2808, #2901, #2897, #2898, #2889, #2896, #2841, #2893, #2892, #2888, #2887, #2883, #2885, #2890