Releases: eProsima/Fast-DDS
v2.9.1
This release includes the following bugfixes:
- Synchronization fixes:
- Other fixes:
- Fix notification lost (#3194)
- Fix
total_read_
to be consistent with Reader's History afterget_first_untaken_info
(#3223) - Use shared pointers for internal singletons (#3185)
- Support CCache on Windows (#3159)
- Avoid null dereference on fuzzer (#3220)
- Other minor fixes and improvements (#3197, #3206, #3214)
PRs in merge order:
#3115, #3159, #3087, #3193, #3194, #3197, #3206, #3185, #3203, #3214, #3221, #3165, #3220, #3177, #3223, #3229, #3232
v2.6.4
v2.9.0
Fast DDS v2.9.0
This minor release includes several new features (new log macros to avoid conflicts with external libraries), behavior change (default memory management policy is no longer PREALLOCATED_MEMORY_MODE
, enable by default Fast DDS Statistics module but only taking statistics metrics if the corresponding Statistics DataWriter is enabled), performance improvements, CI improvements (including address sanitizer jobs), 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.9.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.3.0.
Furthermore, if upgrading to v2.9.0, it is also recommended to upgrade Fast CDR to v1.0.26
New features
- New log macros
EPROSIMA_LOG_INFO
,EPROSIMA_LOG_WARNING
andEPROSIMA_LOG_ERROR
(#3107) - Add
ENABLE_OLD_LOG_MACROS
CMake option to support disabling the compilation of previous log macros (#3107)
Behavior changes
- Default memory management policy set to
PREALLOCATED_WITH_REALLOC_MEMORY_MODE
(#3108) - Statistics metrics are only calculated/accumulated when their corresponding DataWriter is enabled in Fast DDS Statistics Module (#3109, #3146)
- Enable
FASTDDS_STATISTICS
CMake option by default (#3135)
Improvements
- CI improvements
- Upgrade Fast CDR submodule (#3143)
Fixes
- Synchronization fixes:
- Fix deadlock when removing remote DomainParticipants by expired liveliness when using Security (#3102)
- Protect
DomainParticipant::set_listener
avoiding null reference (#3089) - Fix data race on
WriterProxy::stop
while TimedEvent is being triggered (#3031) - Protect creation/destruction of Boost's
named_mutex
(#3104)
- CI fixes:
- Other:
- Fix Topic creation when registering a type name different from the internal TypeSupport name (#3096)
- Fix communication with asymmetric
ignoreParticipantFlags
(#3105, #3114) - Several dependencies fixes upgrading to Ubuntu 22.04 (#3078)
- Disable error logged when DomainParticipant profile is not found (#3120)
- Fix CMake for Fast DDS use as submodule (#3136, #3148)
- Upgrade internal type supports generated with Fast DDS-Gen v2.3.0 (#3140, #3147)
- Other minor fixes (#3125, #1781)
PRs in merge order:
#3084, #3099, #3096, #3094, #3105, #3114, #3102, #3110, #3101, #3108, #3109, #3107, #3122, #3103, #3078, #3120, #3136, #3125, #3135, #1781, #3143, #3140, #3145, #3146, #3147, #3089, #3097, #3070, #3104, #3148, #3149
v2.6.3
This release includes the following improvements:
This release includes the following bugfixes:
- Add python3 dependency to package.xml (#2982)
- Fix complex member printing for DynamicDataHelper (#2965)
- Fix selection of output locators (#3011)
- Fix nullreferences on XML parser (#3028, #3024)
- Fix dataraces when creating DataWriters (#3014)
- Send GAPs correctly when using separate sending (#3036)
- Install Statistics IDL file (#3042)
- Fixes for building in older compilers (#3064, #3068)
- Fix deadlock when removing DomainParticipant when using SECURITY (#3117)
- Ensure
shared_mutex
implementation is consistent throughout supported platforms (#3091) - Other minor fixes and improvements (#2942)
PRs in merge order:
#2907, #2942, #2982, #2965, #2986, #3011, #3028, #3024, #3014, #3036, #3042, #3064, #3068, #3117, #3091, #3074
v2.3.6
IMPORTANT: This is the last patch release that will be made to Fast DDS v2.3, as it has arrived EOL.
This release includes the following improvements:
- Improve rediscovery on lossy environments (#2874)
- Upgrade CMake minimum requirement to 3.13 (#2907)
- Improve
GUID_t
operator<
performance (#2987)
This release includes the following bugfixes:
- Fixed validation on
ParameterPropertyList_t
(#2862) - Add python3 dependency to package.xml (#2981)
- Fix nullreferences and uncaught exceptions on XML parser (#2656, #3030, #3025, #3031, #3033)
- Install Statistics IDL file (#3043)
- Fix dataraces when creating DataWriters (#3015)
PRs in merge order:
#2862, #2874, #2916, #2656, #2981, #2987, #3030, #3025, #3031, #3033, #3043, #3015, #3106
v2.8.1
This release includes the following bugfixes:
-
Statistics module fixes:
-
Address sanitizer fixes:
-
Synchronization fixes:
-
Other fixes:
- Include missing ReadCondition header (#3001)
- Fix selection of output locators (#3003, #3079)
- Fix null-dereference on
parseXMLEnumDynamicType
(#3022) - Include
2.8.x
branch release support (#3029) - Send GAPs correctly when using separate sending (#3012)
- Fixes for building in old compilers (#3034, #3066)
- Fix
read_next_instance
andtake_next_instance
implementation (#3044)
PRs in merge order:
#2998, #3001, #3005, #2929, #3003, #3008, #3022, #3029, #3012, #3038, #3052, #3045, #3048, #3017, #3018, #3050, #3060, #3034, #3066, #3019, #3044, #3046, #3077, #3083, #3079, #2976, #3076, #3084
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
v2.7.1
This release includes the following features in an ABI compatible way:
DomainParticipantFactory::check_xml_static_discovery
implementation (#2817)- ReadCondition implementation (#2872)
This release includes the following improvements:
- Thread sanitizer CI (#2796, #2820, #2826)
- Overload
DataReader::get_unread_count
(#2825) - Improve read/take performance when using topic with a great number of keys (#2875, #2851)
- Improve rediscovery on lossy environments (#2838)
- New CMake option
USE_THIRDPARTY_SHARED_MUTEX
(#2846) - Notify changes in bulk in RTPS readers (#2842)
This release includes the following bugfixes:
- Fix Fast CDR submodule update to v1.0.24 (#2821)
- Fix access to some pointers (#2828, #2868)
- Fixed validation on
ParameterPropertyList_t
(#2837) - Fixed acknowledgement in DataSharing (#2845, #2871)
- Fixed wrong usage of
std::remove_if
(#2853) - Suppress OpenSSL 3.0 warnings (#2866)
- Fixed race condition in Logging module (#2833)
- Other minor fixes and improvements (#2810, #2830, #2782, #2857, #2880, #2824, #2879, #2882)
PRs in merge order:
#2810, #2796, #2820, #2821, #2826, #2830, #2782, #2828, #2825, #2785, #2851, #2837, #2838, #2857, #2845, #2853, #2846, #2868, #2866, #2833, #2817, #2880, #2842, #2824, #2879, #2878, #2882, #2871, #2872
v2.6.2
This release includes the following improvements:
- Support for GCC 12 (#2756)
- Overload
DataReader::get_unread_count
(#2843) - Improve read/take performance when using topic with a great number of keys (#2848, #2854)
- Improve rediscovery on lossy environments (#2858)
This release includes the following bugfixes:
- Fixed several deadlocks and dataraces (#2771, #2818, #2791, #2774, #2840)
- Fixed validation on
ParameterPropertyList_t
(#2855) - Fixed wrong usage of
std::remove_if
(#2861) - Fixed acknowledgement in DataSharing (#2860)
- Other minor fixes (#2749, #2812, #2834, #2881)
PRs in merge order:
#2747, #2749, #2756, #2771, #2818, #2812, #2791, #2834, #2843, #2774, #2848, #2840, #2854, #2855, #2858, #2861, #2860, #2873, #2881
v2.3.5
This release includes the following improvements:
- Fixed several flaky tests (#2228)
- Use native inter-process on Windows (#2259)
- Support for partitions on DataWriterQoS and DataReaderQoS (#2294)
- Support for GCC 12 (#2758)
- Correctly implement delete_contained_entities (#2322)
This release also includes the following bugfixes:
1.Fixed deadline issue on volatile DataWriter (#2112)
- Allow updating partitions to an empty set (#2127, #2670)
- Fixed order of returned samples on topics with keys (#2187)
- Fixed issues in LivelinessManager (#2150)
- Correctly give priority to intra-process over data-sharing (#2202)
- Avoid bad_node_size exception when cross-building (#2230)
- Fixed build errors with OpenSSL 3.0 (#2204, #2502)
- Avoid a volatile data-sharing reader to block a writer (#2191)
- Fixed history record issues with persistence (#2301)
- Correctly disable DataReader on destruction (#2315)
- Fixed various GCC 11 warnings (#2321)
- Fixed payload pool handling on EDPSimple destructor (#2338)
- Fixed read after free on security code (#2342)
- Fixed null dereference on XML parser (#2341)
- Ensure correct boost singleton destruction order (#2358)
- Enable memory protection on DataSharing readers (#2475)
- TCP reconnection issues (#2479)
- MemberDescriptor fully qualified name (#2523)
- Fix recommended statistics DataReaderQos to enable backwards compatibility (#2556)
- Fixed dangling sample references with big data (#2296)
- Fixed deadlocks and data races (#2652, #2788)
- Fixed reconnection to Discovery Server (#2594)
- Other minor fixes (#2144, #2399, #2520, #2606, #2630, #2618, #2640, #2519, #2813, #2719, #2512, #2835)
PRs in merge order:
#2112, #2127, #2187, #2144, #2150, #2202, #2228, #2230, #2204, #2191, #2259, #2294, #2301, #2315, #2321, #2338, #2342, #2341, #2399, #2358, #2475, #2502, #2479, #2520, #2523, #2556, #2296, #2606, #2630, #2618, #2640, #2652, #2670, #2519, #2758, #2813, #2719, #2322, #2512, #2594, #2788, #2835, #2867