v2.8.0
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
- Full Ownership and OwnershipStrength QoS support (#2856, #2967)
- External locators (#2996)
- UDPv6 support for fast-discovery-server tool and ROS_DISCOVERY_SERVER (#2948)
- XML configuration support for statistics DataWriters QoS (#2927, #2973)
- Advanced Configuration example (#2947)
- SNI support (#2950)
- Propagate PropertyQoS properties when explicitly set (#2943)
- Add API to createRTPSWriter with a custom pool (#2841)
- Add std::string::compare API to fixed_string (#2901)
- Get WAN address API in TCPv4 transport descriptors (#2877)
- Adding DomainParticipantFactory::get_shared_instance() API (#2894)
Improvements
- Performance improvements:
- CI improvements:
- Examples:
- Internal implementation improvements:
- Android Improvements (#2977)
- Upgrade Fast CDR submodule (#2994)
Fixes
- Synchronization fixes:
- Fix datarace using writer's locator selectors (#2885)
- Add lock guard at changing SHM port listener status members (#2883)
- Add atomic variable to prevent datarace in FlowController (#2887)
- Disable RTPSParticipantImpl after removing it from RTPSDomain participants list (#2892)
- Fixing datarace on listener callbacks (#2889)
- Protect access to reader listeners (#2898)
- Use thread-safe localtime function in unix distributions (#2897)
- Fixed usage of uninitialised ifreq (#2954)
- Adding protection to id_counter access (#2979)
- Repository fixes:
- Other:
- Fix null dereference on parseXMLBitsetDynamicType (#2893)
- Change internal include path of nlohmann/json header file (#2808)
- Instance allocation consistency (#2807)
- Fix complex member printing for DynamicDataHelper (#2957)
- Fix initialization order in mock (#2995)
- 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