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