Skip to content

Releases: eProsima/Fast-DDS

v2.9.1

19 Jan 06:50
Compare
Choose a tag to compare

This release includes the following bugfixes:

  1. Synchronization fixes:
    1. Fix deadlock in Writer Liveliness Protocol (WLP) using intraprocess (#3115)
    2. Fix data race in DomainParticipant::set_listener (#3188)
    3. Fix deadlock on TLS closure (#3177)
  2. Other fixes:
    1. Fix notification lost (#3194)
    2. Fix total_read_ to be consistent with Reader's History after get_first_untaken_info (#3223)
    3. Use shared pointers for internal singletons (#3185)
    4. Support CCache on Windows (#3159)
    5. Avoid null dereference on fuzzer (#3220)
    6. 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

17 Jan 14:54
Compare
Choose a tag to compare

This release includes the following bugfixes:

  1. Fix communication with asymmetric ignoreParticipantFlags (#3128)
  2. Fix deadlock in Writer Liveliness Protocol when using intraprocess (#3153)
  3. Fix notification lost (#3195)

PRs in merge order:
#3128, #3153, #3195, #3216

v2.9.0

13 Dec 15:08
Compare
Choose a tag to compare

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

  1. New log macros EPROSIMA_LOG_INFO, EPROSIMA_LOG_WARNING and EPROSIMA_LOG_ERROR (#3107)
  2. Add ENABLE_OLD_LOG_MACROS CMake option to support disabling the compilation of previous log macros (#3107)

Behavior changes

  1. Default memory management policy set to PREALLOCATED_WITH_REALLOC_MEMORY_MODE (#3108)
  2. Statistics metrics are only calculated/accumulated when their corresponding DataWriter is enabled in Fast DDS Statistics Module (#3109, #3146)
  3. Enable FASTDDS_STATISTICS CMake option by default (#3135)

Improvements

  1. CI improvements
    1. Add address sanitizer job for Fast DDS library (#3084)
    2. Add address sanitizer job for Discovery Server test suite (#3084, #3070)
  2. Upgrade Fast CDR submodule (#3143)

Fixes

  1. Synchronization fixes:
    1. Fix deadlock when removing remote DomainParticipants by expired liveliness when using Security (#3102)
    2. Protect DomainParticipant::set_listener avoiding null reference (#3089)
    3. Fix data race on WriterProxy::stop while TimedEvent is being triggered (#3031)
    4. Protect creation/destruction of Boost's named_mutex (#3104)
  2. CI fixes:
    1. Fix Statistics Module test suite (#3094, #3110, #3122)
    2. Fix recurring data races in test suite (#3103)
    3. Fix thread sanitizer job keeping Ubuntu 20.04 (#3145)
  3. Other:
    1. Fix Topic creation when registering a type name different from the internal TypeSupport name (#3096)
    2. Fix communication with asymmetric ignoreParticipantFlags (#3105, #3114)
    3. Several dependencies fixes upgrading to Ubuntu 22.04 (#3078)
    4. Disable error logged when DomainParticipant profile is not found (#3120)
    5. Fix CMake for Fast DDS use as submodule (#3136, #3148)
    6. Upgrade internal type supports generated with Fast DDS-Gen v2.3.0 (#3140, #3147)
    7. 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

01 Dec 09:12
Compare
Choose a tag to compare

This release includes the following improvements:

  1. Upgrade CMake minimum requirement to 3.13 (#2907)
  2. Improve GUID_t operator < performance (#2986)

This release includes the following bugfixes:

  1. Add python3 dependency to package.xml (#2982)
  2. Fix complex member printing for DynamicDataHelper (#2965)
  3. Fix selection of output locators (#3011)
  4. Fix nullreferences on XML parser (#3028, #3024)
  5. Fix dataraces when creating DataWriters (#3014)
  6. Send GAPs correctly when using separate sending (#3036)
  7. Install Statistics IDL file (#3042)
  8. Fixes for building in older compilers (#3064, #3068)
  9. Fix deadlock when removing DomainParticipant when using SECURITY (#3117)
  10. Ensure shared_mutex implementation is consistent throughout supported platforms (#3091)
  11. 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

24 Nov 08:45
Compare
Choose a tag to compare

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:

  1. Improve rediscovery on lossy environments (#2874)
  2. Upgrade CMake minimum requirement to 3.13 (#2907)
  3. Improve GUID_t operator < performance (#2987)

This release includes the following bugfixes:

  1. Fixed validation on ParameterPropertyList_t (#2862)
  2. Add python3 dependency to package.xml (#2981)
  3. Fix nullreferences and uncaught exceptions on XML parser (#2656, #3030, #3025, #3031, #3033)
  4. Install Statistics IDL file (#3043)
  5. 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

17 Nov 08:59
Compare
Choose a tag to compare

This release includes the following bugfixes:

  1. Statistics module fixes:

    1. Increase statistics DataWriter history (#2998)
    2. Fix Statistics module CI (#3005)
    3. Install Statistics IDL file (#3038)
    4. Fix for building in old compilers (#2929)
    5. Fix core dumped in delete_contained_entities (#3048)
  2. Address sanitizer fixes:

    1. Add ASAN CI job and SANITIZE CMake option (#3045, #3060, #3077, #3084)
    2. Fixes reported by address sanitizer (#3017, #3018, #3019, #3050, #3052)
  3. Synchronization fixes:

    1. Fix dataraces when creating DataWriters (#3008)
    2. Ensure shared_mutex implementation is consistent throughout supported platforms (#2976)
  4. Other fixes:

    1. Include missing ReadCondition header (#3001)
    2. Fix selection of output locators (#3003, #3079)
    3. Fix null-dereference on parseXMLEnumDynamicType (#3022)
    4. Include 2.8.x branch release support (#3029)
    5. Send GAPs correctly when using separate sending (#3012)
    6. Fixes for building in old compilers (#3034, #3066)
    7. Fix read_next_instance and take_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

29 Sep 14:40
Compare
Choose a tag to compare

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

v2.7.1

28 Jul 08:44
Compare
Choose a tag to compare

This release includes the following features in an ABI compatible way:

  1. DomainParticipantFactory::check_xml_static_discovery implementation (#2817)
  2. ReadCondition implementation (#2872)

This release includes the following improvements:

  1. Thread sanitizer CI (#2796, #2820, #2826)
  2. Overload DataReader::get_unread_count (#2825)
  3. Improve read/take performance when using topic with a great number of keys (#2875, #2851)
  4. Improve rediscovery on lossy environments (#2838)
  5. New CMake option USE_THIRDPARTY_SHARED_MUTEX (#2846)
  6. Notify changes in bulk in RTPS readers (#2842)

This release includes the following bugfixes:

  1. Fix Fast CDR submodule update to v1.0.24 (#2821)
  2. Fix access to some pointers (#2828, #2868)
  3. Fixed validation on ParameterPropertyList_t (#2837)
  4. Fixed acknowledgement in DataSharing (#2845, #2871)
  5. Fixed wrong usage of std::remove_if (#2853)
  6. Suppress OpenSSL 3.0 warnings (#2866)
  7. Fixed race condition in Logging module (#2833)
  8. 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

27 Jul 13:38
5076ebc
Compare
Choose a tag to compare

This release includes the following improvements:

  1. Support for GCC 12 (#2756)
  2. Overload DataReader::get_unread_count (#2843)
  3. Improve read/take performance when using topic with a great number of keys (#2848, #2854)
  4. Improve rediscovery on lossy environments (#2858)

This release includes the following bugfixes:

  1. Fixed several deadlocks and dataraces (#2771, #2818, #2791, #2774, #2840)
  2. Fixed validation on ParameterPropertyList_t (#2855)
  3. Fixed wrong usage of std::remove_if (#2861)
  4. Fixed acknowledgement in DataSharing (#2860)
  5. 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

22 Jul 10:01
dfec8a5
Compare
Choose a tag to compare

This release includes the following improvements:

  1. Fixed several flaky tests (#2228)
  2. Use native inter-process on Windows (#2259)
  3. Support for partitions on DataWriterQoS and DataReaderQoS (#2294)
  4. Support for GCC 12 (#2758)
  5. Correctly implement delete_contained_entities (#2322)

This release also includes the following bugfixes:

1.Fixed deadline issue on volatile DataWriter (#2112)

  1. Allow updating partitions to an empty set (#2127, #2670)
  2. Fixed order of returned samples on topics with keys (#2187)
  3. Fixed issues in LivelinessManager (#2150)
  4. Correctly give priority to intra-process over data-sharing (#2202)
  5. Avoid bad_node_size exception when cross-building (#2230)
  6. Fixed build errors with OpenSSL 3.0 (#2204, #2502)
  7. Avoid a volatile data-sharing reader to block a writer (#2191)
  8. Fixed history record issues with persistence (#2301)
  9. Correctly disable DataReader on destruction (#2315)
  10. Fixed various GCC 11 warnings (#2321)
  11. Fixed payload pool handling on EDPSimple destructor (#2338)
  12. Fixed read after free on security code (#2342)
  13. Fixed null dereference on XML parser (#2341)
  14. Ensure correct boost singleton destruction order (#2358)
  15. Enable memory protection on DataSharing readers (#2475)
  16. TCP reconnection issues (#2479)
  17. MemberDescriptor fully qualified name (#2523)
  18. Fix recommended statistics DataReaderQos to enable backwards compatibility (#2556)
  19. Fixed dangling sample references with big data (#2296)
  20. Fixed deadlocks and data races (#2652, #2788)
  21. Fixed reconnection to Discovery Server (#2594)
  22. 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