Skip to content

v2.12.0

Compare
Choose a tag to compare
@JLBuenoLopez JLBuenoLopez released this 29 Sep 09:56

Fast DDS v2.12.0

This minor release includes several new features, improvements and bugfixes.

IMPORTANT This release upgrades the following Fast DDS dependencies:

Please, read also the release notes of Fast DDS-Gen v3.0.0 to be aware of every possible break in the application code.

Mind that, there is a minor API break with previous v2.x versions: MEMBER_INVALID identifier was declared using #define. In order to prevent polluting the user workspace, it has been transformed into a constexpr within eprosima::fastrtps::types namespace.
Also, as Fast DDS dependencies have been upgraded to new major releases, depending on the types defined in the IDL files, it might be required to modify the user application source code besides recompiling it (more information can be found in the corresponding release notes). Finally, the type support must be regenerated from the IDL files using Fast DDS-Gen v3.0.0.

New features

  1. New participant property to configure SHM transport metatraffic behavior (#3753)
  2. Exposed custom payload pool on DDS endpoints declaration (#3755)
    • Feature example (#3598)
  3. Processing environment variables in XML text (#3841)
  4. Dependencies
    1. Upgrade internal type supports using latest Fast DDS-Gen release v3.0.0 (#3828, #3893)
    2. Upgrade Fast CDR submodule to v2.0.0 introducing XCDR encoding version 2 (#3828)

Improvements

  1. Fast DDS improvements
    1. fixed_string comparison operators (#3623)
    2. Remove mutex from TimedEventImpl (#3745, #3760)
    3. Performance improvements on intraprocess and datasharing (#3743)
    4. Improve Shared Memory resilience to crashing participants (#3759)
    5. Improve scripts shebang portability (#3732)
    6. Use foonathan_memory to reduce allocations in SharedMemManager (#3833)

Fixes

  1. Fast DDS bugfixes
    1. Fixed XMLParser null-dereference when parsing log configuration (#3769)
    2. Allow participant XML profiles with no <rtps> tag (#3771)
    3. Fix encapsulation format in Writer Liveliness Protocol (#3784)
    4. Fix DomainParticipant::register_remote_type return when negotiating type (#3786)
    5. Fix strict real-time feature when using Flow Controller feature (#3735)
    6. Fix ParameterPropertyList increment operators (#3739)
    7. Fix bad-free when receiving malformed DATA submessage (#3824)
    8. Fix asymmetric whitelist matching (#3733)
    9. Fix heap-use-after-free on XMLElementParser (#3866)
    10. Fix History remove change return statement (#3858)
  2. CI fixes
    1. Fix RemoteBuiltinEndpointHonoring blackbox test (#3787)
    2. Improve repository workflows (#3831, #3837, #3838, #3503)
    3. Use FASTRTPS_NO_LIB on unittest root folder (#3856)
    4. Fix Windows workflow (#3876, #3887)
  3. Tools
    1. Remove C++11 check in fast-discovery-server CLI tool (#3891)
  4. Examples
    1. Fix HelloWorldDataSharing data type (#3714)
  5. Documentation
    1. Doxygen typos (#3744)
  6. Repository
    1. Remove 2.9.x as active branch (#3720)
  7. Non Tier 1 support
    1. Fixed SHM in 32-bit architectures (#3752)
    2. Fix warning on Win32 architecture (#3741)

PRs in merged order:
#3720, #3623, #3744, #3745, #3743, #3760, #3759, #3752, #3769, #3753, #3771, #3755, #3784, #3787, #3786, #3831, #3837, #3838, #3735, #3741, #3503, #3739, #3732, #3841, #3824, #3856, #3733, #3866, #3858, #3828, #3876, #3598, #3714, #3833, #3891, #3887, #3893, #3881