Information about the release lifecycle can be found here.
Version 2.10.1¶
This release includes the following feature in an ABI compatible way:
ignore_participant()
implementation
This release includes the following bugfixes:
Fix repeated matched event notification.
Fix regression introduced by #3396.
Initial acknack backoff.
Fix regular expression in XML schema.
Correctly assign multicast port to multicast initial peers.
This release includes the following CI improvements:
Update runner and GCC version for Thread Sanitizer job.
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Previous versions¶
Version 2.10.0¶
This minor release includes several new features, improvements and bugfixes.
Note
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.10.0 will require recompilation, though not source code modification.
Note
It is also advisable to regenerate the type support from the IDL files using Fast DDS-Gen v2.4.0. Furthermore, if upgrading to v2.10.0, it is also recommended to upgrade Fast CDR to v1.0.27.
This release includes the following features:
New on_unacknowledged_sample_removed callback in
DataWriterListener
.DomainParticipant ignore empty API.
RTPS
ReaderListener::on_incompatible_type
andWriterListener::on_incompatible_type
empty API.
This release includes the following improvements:
- Fast DDS improvements
Improve behavior when
STRICT_REALTIME
CMake option is not enabled.Using functors for
for_matched_readers
parameter.Improve auto GAPs in Data Sharing.
Use standard value for
PID_RELATED_SAMPLE_IDENTITY
.
- Contributions and repository quality
Update Pull Request template.
Update foonathan_memory quality declaration.
Update XSD schema.
Make network headers private avoiding exposing non-public API.
Improve Doxygen documentation for
ResourceLimitsQosPolicy
.
- Examples
- CI improvements
New workflow to check documentation build.
ASAN workflow updated to use Ubuntu 22.04.
- Dependencies
Upgrade internal type supports using latest Fast DDS-Gen release v2.4.0.
Upgrade Fast CDR submodule to v1.0.27.
- Fast DDS CLI
Handle
SIGTERM
signal.
- Community supported platforms
This release includes the following fixes:
- Security vulnerability
Fix chain of trust issues with a single CA certificate.
- Bugfixes
Fix RTPS StatelessWriter ACK check.
ASAN (Address Sanitizer) fixes.
UBSan (Undefined Behavior Sanitizer) fixes.
Export public API correctly in Windows.
Correctly handle builtin endpoints mask.
Fix backwards compatibility using SHM communication.
Protect against uncaught exception in SHM segment creation.
Fix build for GCC 5.
Validity check for first sequence number.
Fix crash when enabling DisablePositiveACKsQoSPolicy with remote best-effort readers.
- Synchronization fixes
Take mutex when removing local reader in WLP.
Fix data races in SecurityManager authentication process.
- CI fixes
Fix test building when using
GTEST_INDIVIDUAL
CMake option.Fix overflow in received samples in performance tests.
- Example fixes
Avoid creating entities within callbacks in DynamicHelloWorldExample.
Remove Asio dependency from DeadlineQoSExample.
- Repository fixes
Remove 2.7.x as active branch.
- Community supported platforms
Include right header when building for iOS.
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.9.1¶
This release includes the following bugfixes:
- Synchronization fixes:
Fix deadlock in Writer Liveliness Protocol (WLP) using intraprocess.
Fix data race in
DomainParticipant::set_listener()
.Fix deadlock on TLS closure.
- Other fixes:
Fix notification lost.
Fix
total_read_
to be consistent with Reader’s History afterDataReader::get_first_untaken_info()
.Use shared pointers for internal singletons.
Support CCache on Windows.
Avoid null dereference on fuzzer.
Other minor fixes and improvements.
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.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.
Note
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.
Note
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.
This release includes the following features:
New log macros
EPROSIMA_LOG_INFO
,EPROSIMA_LOG_WARNING
andEPROSIMA_LOG_ERROR
.Add
ENABLE_OLD_LOG_MACROS
CMake option to support disabling the compilation of previous log macros.
This release includes the following behavior changes:
Default memory management policy set to
PREALLOCATED_WITH_REALLOC_MEMORY_MODE
.Statistics metrics are only calculated/accumulated when their corresponding DataWriter is enabled in Fast DDS Statistics Module.
Enable
FASTDDS_STATISTICS
CMake option by default.
This release includes the following improvements:
- CI improvements:
Add address sanitizer job for Fast DDS library.
Add address sanitizer job for Discovery Server test suite.
Upgrade Fast CDR submodule.
This release includes the following bugfixes:
- Synchronization fixes:
Fix deadlock when removing remote DomainParticipants by expired liveliness when using Security.
Protect
DomainParticipant::set_listener()
avoiding null reference.Fix data race on
WriterProxy::stop
while TimedEvent is being triggered.Protect creation/destruction of Boost’s
named_mutex
.
- CI fixes:
Fix Statistics Module test suite.
Fix recurring data races in test suite.
Fix thread sanitizer job keeping Ubuntu 20.04.
- Other:
Fix Topic creation when registering a type name different from the internal TypeSupport name.
Fix communication with asymmetric Ignore Participant flags.
Several dependencies fixes upgrading to Ubuntu 22.04.
Disable error logged when DomainParticipant profile is not found.
Fix CMake for Fast DDS use as submodule.
Upgrade internal type supports generated with Fast DDS-Gen v2.3.0.
Other minor fixes.
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.8.1¶
This release includes the following bugfixes:
- Statistics module fixes:
Increase statistics DataWriter history.
Fix Statistics module CI.
Install Statistics IDL file.
Fix for building in old compilers.
Fix core dumped in
delete_contained_entities()
.
- Address sanitizer fixes:
Add ASAN CI job and
SANITIZE
CMake option.Fixes reported by address sanitizer.
- Synchronization fixes:
Fix data races when creating DataWriters.
Ensure
shared_mutex
implementation is consistent throughout supported platforms.
- Other fixes:
Include missing ReadCondition header.
Fix selection of output locators.
Fix null-dereference on
parseXMLEnumDynamicType
.Include
2.8.x
branch release support.Send GAPs correctly when using separate sending.
Fixes for building in old compilers.
Fix
DataReader::read_next_instance()
andDataReader::take_next_instance()
implementation.
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.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.
Note
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.
Note
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.
This release includes the following features:
Full Ownership and OwnershipStrength QoS support
UDPv6 support for fast-discovery-server tool and ROS_DISCOVERY_SERVER
Add API to createRTPSWriter with a custom pool
Add
std::string::compare
API tofixed_string
Get WAN address API in TCPv4 transport descriptors
Adding
DomainParticipantFactory::get_shared_instance()
API
This release includes the following improvements:
- Performance improvements:
Skip writer_removed processing for unaccounted instances
Improve GUID_t operator< performance
- CI improvements:
Add optional parameters to thread-sanitizer job
Enable Android testing on device
- Examples:
Update BasicConfigurationExample to allow set up TTL
Add Guid info to BasicConfiguration Example
cout
- Internal implementation improvements:
Add script to generate idl files
Group set_qos_from_attributes free functions into a separate file
Update script for generating idl files
Set
last_heartbeat_count_
private member of WriterProxy as atomic
Android Improvements
Upgrade Fast CDR submodule
This release includes the following bugfixes:
- Synchronization fixes:
Fix datarace using writer’s locator selectors
Add lock guard at changing SHM port listener status members
Add atomic variable to prevent datarace in FlowController
Disable RTPSParticipantImpl after removing it from RTPSDomain participants list
Fixing datarace on listener callbacks
Protect access to reader listeners
Use thread-safe localtime function in unix distributions
Fixed usage of uninitialised ifreq
Adding protection to id_counter access
- Repository fixes:
Fix spelling mistake
Add python3 dependency to package.xml
- Other:
Fix null dereference on parseXMLBitsetDynamicType
Change internal include path of nlohmann/json header file
Instance allocation consistency
Fix complex member printing for DynamicDataHelper
Fix initialization order in mock
Upgraded internal type supports
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.7.2 (EOL)¶
This release includes the following improvements:
Skip
writer_removed
processing for unaccounted instances.Improve
GUID_t
operator<
performance.
This release also includes the following bugfixes:
Fix complex member printing for DynamicDataHelper.
Add python3 dependency.
Fix selection of output locators.
Fix data races when creating DataWriters.
Fix null dereferences on XML parser.
Send GAPs correctly when using separate sending.
Install Statistics IDL file.
Fixes for building in old compilers.
Fix several deadlocks.
Fix communication with asymmetric Ignore Participant flags.
Fix notification lost.
Fix StatelessWriter ACK check.
Fix
total_read_
to be consistent with Reader’s History afterDataReader::get_first_untaken_info()
.Fix doxygen documentation adding deprecated to
ThroughputControllerDescriptor
.Several dependencies fixes upgrading to Ubuntu 22.04.
Ensure
shared_mutex
implementation is consistent throughout supported platforms.Fix StatisticsSubmessageData unaligned access.
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.7.1 (EOL)¶
This release includes the following features in an ABI compatible way:
Checking STATIC EDP XML Files by means of
DomainParticipantFactory::check_xml_static_discovery()
.ReadCondition implementation.
This release includes the following improvements:
Thread sanitizer CI.
Overload
get_unread_count()
.Improve read/take performance when using topic with a great number of keys.
Improve rediscovery on lossy environments.
New CMake option USE_THIRDPARTY_SHARED_MUTEX.
Notify changes in bulk in RTPS readers.
This release includes the following bugfixes:
Fix Fast CDR submodule update to v1.0.24.
Fix access to some pointers.
Fixed validation on
ParameterPropertyList_t
.Fixed acknowledgement in DataSharing.
Fixed wrong usage of
std::remove_if
.Suppress OpenSSL 3.0 warnings.
Fixed race condition in Logging module.
Other minor fixes and improvements.
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.7.0 (EOL)¶
This release includes the following improvements:
Support for DDS SampleRejectedStatus API
Support for DDS DataWriter methods:
Support for DDS
find_topic()
Support for GCC 12
Upgrade CMake minimum requirement to 3.16.3
Add Windows DLL support to Dynamic Types API
Some bugfixes are also included:
Deadlocks and data races
Move deprecated OpenSSL cleanup function to match the right version
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.6.4¶
This release includes the following bugfixes:
Fix communication with asymmetric Ignore Participant flags.
Fix deadlock in Writer Liveliness Protocol when using intraprocess.
Fix notification lost.
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.6.3¶
This release includes the following improvements:
Upgrade CMake minimum requirement to 3.13.
Improve
Guid_t
operator<
performance.
This release includes the following bugfixes:
Add python3 dependency to package.xml.
Fix complex member printing for DynamicDataHelper.
Fix selection of output locators.
Fix null references on XML parser.
Fix data races when creating DataWriters.
Send GAPs correctly when using separate sending.
Install Statistics IDL file.
Fixes for building in older compilers.
Fix deadlock when removing DomainParticipant when using SECURITY.
Ensure
shared_mutex
implementation is consistent throughout supported platforms.Other minor fixes and improvements.
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.6.2¶
This release includes the following improvements:
Support for GCC 12.
Overload
DataReader::get_unread_count()
.Improve read/take performance when using topic with a great number of keys.
Improve rediscovery on lossy environments.
This release includes the following bugfixes:
Fixed several deadlocks and data races.
Fixed validation on
ParameterPropertyList_t
.Fixed wrong usage of
std::remove_if
.Fixed acknowledgement in DataSharing.
Other minor fixes.
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.6.1¶
This release includes the following improvements:
Support for writer side content filtering
Support hexadecimal values on SQL filter
Support for
DataWriter::get_key_value()
Support for
DataReader::lookup_instance()
Support for SampleLostStatus on DataReader
Improved doxygen documentation
Some bugfixes are also included:
Fixed several lock order inversion issues
Fixed data race when closing UDP channels
Fixed empty partition validation checks
Fixed corner case with reliable writers and samples with a huge number of fragments
Other minor fixes and improvements
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.6.0¶
This minor release is API compatible with the previous minor release, but introduces ABI breaks on two of the three public APIs:
Methods and attributes have been added on several classes of the DDS-PIM high-level API, so indexes of symbols on dynamic libraries may have changed. Some API is also being deprecated.
Methods and attributes have been added on several classes of the RTPS low-level API, so indexes of symbols on dynamic libraries may have changed.
Old Fast-RTPS high-level API remains ABI compatible.
This minor release includes the following features:
Add statistics physical information to DATA[p] using properties
Endpoint discovery RTPS API
on_sample_lost
RTPS APITransport layer API extension
It also includes the following improvements:
Support lowercase keywords on SQL filter
Separate initialization and enabling of BuiltinProtocols
Add
disable_positive_acks
to Static Discovery XMLSeveral updates in the DDS-PIM API
Support for octet vectors on XML parser
Update README and roadmap
Update Fast-CDR submodule to v1.0.24
Add new CMake option
APPEND_PROJECT_NAME_TO_INCLUDEDIR
Some bugfixes are also included:
Fix MatchedStatus
last_*_handle
Fix recommended statistics DataReaderQos to enable backwards compatibility
Fixes for supporting Python bindings in Windows platforms
Fix publishing physical data on statistics topic
Other minor fixes and improvements
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.5.2 (EOL)¶
This release includes the following improvements:
Support lowercase keywords and hexadecimal values on SQL filter.
Support for GCC 12.
This release includes the following bugfixes:
Fix MatchedStatus last_*_handle.
Fix recommended statistics DataReaderQos to enable backwards compatibility.
Fix deadlocks and data races.
Fix empty partition validation checks.
Fix corner case with reliable writers and samples with a huge number of fragments.
Other minor fixes and improvements.
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.5.1 (EOL)¶
This release includes the following improvements:
Release lifecycle.
This release includes the following bugfixes:
XML parser fixes.
Discovery Server fixes.
Fix DataSharing sample validation.
PKCS#11 support fixes.
Test fixes.
Doxygen documentation fixes.
GAP message fix.
Enable memory protection on DataSharing readers.
TCP reconnection issues.
Fix dynamic network interfaces feature.
Several Security module fixes.
STRICT_REALTIME fix.
Suppress OpenSSL 3.0 warnings.
Move optionparser to thirdparty.
Thread-safe access to endpoints collections.
MemberDescriptor fully qualified name.
Setting QoS fix.
Other minor fixes and improvements.
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.5.0 (EOL)¶
This minor release is API compatible with the previous minor release, but introduces ABI breaks on two of the three public APIs:
Methods and attributes have been added on several classes of the DDS-PIM high-level API, so indexes of symbols on dynamic libraries may have changed.
Methods and attributes have been added on several classes of the RTPS low-level API, so indexes of symbols on dynamic libraries may have changed.
Old Fast-RTPS high-level API remains ABI compatible.
This minor release includes the following features:
Support for PKCS#11 format URIs for private keys
Added interfaces for content filter APIs
New API on DataWriter to wait for a specific instance to be acknowledged
Added interfaces for concatenation of transports
Allow disabling piggyback heartbeat on XML and DataWriter QoS
New basic configuration example
It also includes the following improvements:
Working implementation of instance_state and view_state
Allow zero-valued keys
Made some type aliases public to ease python bindings integration
Improved performance by avoiding unnecessary payload copies for samples that are going to be rejected
Removed unnecessary headers from Log module public headers
Add support for Key annotation in TypeObjectFactory
Only export public symbols on non-windows platforms
Some documentation improvements
Some important bugfixes are also included:
Fixed payload pool handling on EDPSimple destructor
Fixed null dereference on XML parser
Correctly export XTypes related methods on Windows
Ensure correct boost singleton destruction order
Avoid warning when environment file filename is empty
Correctly set GUID of DataWriter and DataReader upon creation
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.4.2 (EOL)¶
This release includes the following improvements:
Enable memory protection on DataSharing readers
Add const overload of
DataReader::guid()
Set recommended statistics DataReaderQos to
PREALLOCATED_WITH_REALLOC
Allow fully qualified name on MemberDescriptor
This release includes the following bugfixes:
Fix and refactor EDPSimple destructor
Fix several build warnings on certain platforms
Fix OSS fuzz issues
Fix TCP synchronization issues
Correct reporting of MatchedStatus
last_*_handle
Ensure correct boost singleton destruction order
Fix inserting minimum CacheChange_t in GAP message
Note: If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen.
Version 2.4.1 (EOL)¶
This release includes the following improvements:
Fixed several flaky tests
Improved bandwidth usage of GAPs and HEARTBEATs
Correctly implement delete_contained_entities
Use native inter-process on Windows
Improved performance of unregister_instance
Improved OSS-fuzz integration
Support for partitions on DataWriterQoS and DataReaderQoS
Some documentation improvements
Removed unused macro to avoid naming clashes
This release includes the following bugfixes:
Avoid bad_node_size exception when cross building
Fixed build on old compilers
Fixed buffers exhaustion when compiled with statistics
Fixed runtime addition of Discovery Servers
Fixed dangling sample references with big data
Fixed history record issues with persistence
Correctly disable DataReader on destruction
Fixed alignment issues on XTypes QoS policies serialization
Fixed reconnection to Discovery Server
Correctly use builtin publisher for statistics DataWriters
Fixed various GCC-11 warnings
Use only public APIs from foonathan::memory
Fixed installation directories for DDS examples
Fixed read after free on security code
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.4.0 (EOL)¶
This minor release is API compatible with the previous minor release, but introduces ABI breaks on two of the three public APIs:
Methods and attributes have been added on several classes of the DDS-PIM high-level API, so indexes of symbols on dynamic libraries may have changed.
Methods and attributes have been added on several classes of the RTPS low-level API, so indexes of symbols on dynamic libraries may have changed.
Old Fast-RTPS high-level API remains ABI compatible.
This minor release includes the following features:
Conditions and Wait-sets implementation.
It also includes the following improvements:
Allow setting custom folder for data-sharing files.
Allow setting persistence guid with static discovery.
Check for NDEBUG in logInfo.
Removed old unused CMake code.
Fixed TLS behavior on TCP example.
Prepare API for easy integration of python bindings.
Improved statistics performance.
Some important bugfixes are also included:
Fixed order of returned samples on topics with keys.
Allow updating partitions to an empty set.
Correctly propagate DomainParticipantQos updates.
Avoid a volatile data-sharing reader to block a writer.
Correctly give priority to intra-process over data-sharing.
Fixed reallocation issue on LivelinessManager.
Fixed deadline issue on volatile DataWriter
Fixed STRICT_REALTIME silently not active with Unix POSIX systems.
Fixed build errors with OpenSSL 3.0
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.3.6 (EOL)¶
This release includes the following improvements:
Improve rediscovery on lossy environments.
Upgrade CMake minimum requirement to 3.13.
Improve
Guid_t
operator < performance.
This release includes the following bugfixes:
Fixed validation on
ParameterPropertyList_t
.Add python3 dependency to package.xml.
Fix null references and uncaught exceptions on XML parser.
Install Statistics IDL file.
Fix data races when creating DataWriters.
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.3.5 (EOL)¶
This release includes the following improvements:
Fixed several flaky tests.
Use native inter-process on Windows.
Support for partitions on DataWriterQoS and DataReaderQoS.
Support for GCC 12.
Correctly implement delete_contained_entities.
This release also includes the following bugfixes:
Fixed deadline issue on volatile DataWriter.
Allow updating partitions to an empty set.
Fixed order of returned samples on topics with keys.
Fixed issues in LivelinessManager.
Correctly give priority to intra-process over data-sharing.
Avoid bad_node_size exception when cross-building.
Fixed build errors with OpenSSL 3.0.
Avoid a volatile data-sharing reader to block a writer.
Fixed history record issues with persistence.
Correctly disable DataReader on destruction.
Fixed various GCC 11 warnings.
Fixed payload pool handling on EDPSimple destructor.
Fixed read after free on security code.
Fixed null dereference on XML parser.
Ensure correct boost singleton destruction order.
Enable memory protection on DataSharing readers.
TCP reconnection issues.
MemberDescriptor fully qualified name.
Fix recommended statistics DataReaderQos to enable backwards compatibility.
Fixed dangling sample references with big data.
Fixed deadlocks and data races.
Fixed reconnection to Discovery Server.
Other minor fixes.
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.3.4 (EOL)¶
This release includes the following improvements:
Support of googletest using colcon
Network latency reports source participant
Update Fast DDS Gen to v2.0.2
This release includes the following bugfixes:
Fix mutex lock count on
PDPListener
Limit
SequenceNumberSet
number of bits on deserializationFix segmentation fault on discovery server
Fix deadlock with security and timers
Fix bug using not protected code in a test
Fix deadlock with
LivelinessManager
Fix interval loop on events
Fix run event when was cancelled
Validate sequence range on
CDRMessage::readSequenceNumberSet
Fix subscription throughput data generation
Allow examples to build on QNX
Fix code on SHM clean
Accept Statistics DataWriters in Discovery Server
Fix read/take behavior when a future change is found
Correctly handle deserialization errors on
read_next_sample()
/take_next_sample()
Fixing
SequenceNumberSet_t
deserializationProper history clean up when a reader unmatches a writer
Unprotected code loaning samples
Fix publication throughput statistic on volatile writers
Fix Fast DDS CLI server name
Several fixes in examples and tests
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.3.3 (EOL)¶
This release includes the following improvements:
Added more durability kinds in Static Discovery xml parser
Explicitly enable/disable data-sharing on performance tests
Allow fully qualified name in TypeDescriptor
Added missing DynamicData::get_union_id() method
Change log severity in DiscoveryServer first announcement
Several corrections to README
This release includes the following bugfixes:
Fixed warnings and segfaults on 32-bit platforms
Fixed UDPv6 behavior
Fixed persistence guid issue on statistics writers
Fixed static linking with open SSL
Fixed statistics header file inclusion
Fixed build on RedHat systems
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.3.2 (EOL)¶
This release includes the following feature:
Statistics Module
It also includes the following improvements:
Update Asio submodule and avoid exporting Asio API
Improve Windows installers
Ease Google Fuzz integration
Improve Doxygen documentation on lifetime of pointers created with
RTPSDomain
Update Fast CDR to v1.0.21
This release includes the following bugfixes:
Add a correct multicast address for UDPv6
Recover from out-of-sync TCP datagrams
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.3.1 (EOL)¶
This release includes several bugfixes and improvements:
Added Fast DDS Statistics Module implementation
Fixed alignment issues on generated code calculation of maximum serialized size
Fixed calculation of data-sharing domain id
Fixed issues on data-sharing with volatile writers
Fixed build issues on old compilers
Fixed some tests when the library is built without security
Fixed and exposed pull mode on writers
Fixed handling of –data_sharing on latency test
Fixed calculation of memory pools sizes on debug builds
Correctly update memory policy on writers and readers
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.3.0 (EOL)¶
This minor release is API compatible with the previous minor release, but introduces ABI breaks on two of the three public APIs:
Methods and attributes have been added on several classes of the DDS-PIM high-level API, so indexes of symbols on dynamic libraries may have changed.
Methods and attributes have been added on several classes of the RTPS low-level API, so indexes of symbols on dynamic libraries may have changed.
Old Fast-RTPS high-level API remains ABI compatible.
This release adds the following features:
It also includes the following improvements:
Data-sharing delivery internal refactor
Additional metadata on persistence databases
Refactor on ReturnCode_t to make it switch friendly
Performance tests refactored to use DDS-PIM high-level API
Receive const pointers on delete_xxx methods
Discovery server improvements
Made SOVERSION follow major.minor
Some important bugfixes are also included:
Fixed shared memory usage on QNX
Fixed reference counting on internal pools
Fixed singleton destruction order
Fixed interoperability issues with x-types information
Fixed recovery of shared memory buffers
Lifespan support in persistent writers
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.2.1 (EOL)¶
This release includes the following improvements:
Data-sharing delivery internal refactor.
Performance tests refactored to use DDS-PIM high-level API.
Discovery server improvements.
This release includes the following bugfixes:
Fixed reference counting on internal pools.
Fixed singleton destruction order.
Fixed default multicast locators.
Fixed interoperability issues with x-types information.
Fixed Reader history issues.
Fixed data races issues.
Fixed shared memory issues.
Fixed heartbeat and ACK issues.
Fixed LivelinessManager issues.
Fixed TCP reception synchronization.
Fixed build issues on old compilers.
Allow modifying Partition QoS in enabled entities.
Other minor fixes and improvements.
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.2.0 (EOL)¶
This minor release is API compatible with the previous minor release, but introduces ABI breaks on two of the three public APIs:
Methods and attributes have been added on several classes of the DDS-PIM high-level API, so indexes of symbols on dynamic libraries may have changed.
Methods and attributes have been added on several classes of the RTPS low-level API, so indexes of symbols on dynamic libraries may have changed.
Old Fast-RTPS high-level API remains ABI compatible.
This release adds the following features:
Data Sharing delivery (avoids transport encapsulation for localhost communications)
Complete DDS-PIM high-level API declarations
Extension APIs allowing zero-copy delivery (both intra-process and inter-process)
Upgrade to Quality Level 1
It also includes the following improvements:
Code coverage policy
Added several tests to increase coverage
Increased GUID uniqueness
Allow logInfo messages to be compiled on build types other than debug
Some important bugfixes are also included:
Fixed timed events manager race condition
Fixed payload protection issues with SHM transport
Writers correctly handle infinite resource limits on keyed topics
Fixed unsafe code on AESGCMGMAC plugin
Several fixes for IPv6 (whitelists, address parser)
Fixes on liveliness timing handling
Fixed warnings building on C++20
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from any older version, regenerating the code is highly recommended.
Version 2.1.3¶
This release includes the following improvements:
Improve rediscovery on lossy environments.
This release includes the following bugfixes:
Fixed validation on
ParameterPropertyList_t
.Fixed
SequenceNumberSet_t
deserialization.Add python3 dependency to package.xml.
Fix data races when creating DataWriters.
Fix deadlock when removing remote DomainParticipants by expired liveliness when using Security.
Fix communication with asymmetric Ignore Participant flags.
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from a version older than 1.10.0, regenerating the code is recommended.
Version 2.1.2¶
This release includes the following improvements:
Allow fully qualified name in TypeDescriptor.
Use native inter-process on Windows.
Support for GCC 12.
Support of googletest using colcon.
This release also includes the following bugfixes:
Fixed recovery of shared memory buffers.
Fixed issues in LivelinessManager.
Fixed default multicast locators.
Fixed TCP issues.
Fixed deadlocks and data races.
Fixed deadline issue on volatile DataWriter.
Avoid bad_node_size exception when cross-building.
Fixed order of returned samples on topics with keys.
Allow updating partitions to an empty set.
Suppress OpenSSL 3.0 warnings.
MemberDescriptor fully qualified name.
Fixed history record issues with persistence.
Fixed reconnection to Discovery Server.
Other minor fixes.
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from a version older than 1.10.0, regenerating the code is recommended.
Version 2.1.1¶
This release includes the following bugfixes:
Fixed race condition on security handshake
Fixed SHM data corruption when using both payload and sub-message protection
Fixed some interoperability issues
Fixed race condition on timed-events thread
Fixed usage of SHM on QNX systems
It also includes the following improvements:
Increased uniqueness of GUID prefix
Discovery server improvements
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from a version older than 1.10.0, regenerating the code is recommended.
Version 2.1.0¶
This minor release is API compatible with the previous minor release, but introduces ABI breaks on two of the three public APIs:
Methods and attributes have been added on several classes of the DDS-PIM high-level API, so indexes of symbols on dynamic libraries may have changed.
Methods and attributes have been added on several classes of the RTPS low-level API, so indexes of symbols on dynamic libraries may have changed.
Old Fast-RTPS high-level API remains ABI compatible.
Users of the RTPS low-level API should also be aware of the following API deprecations:
History::reserve_Cache has been deprecated
Methods RTPSWriter::new_change or RTPSReader::reserveCache should be used instead
History::release_Cache has been deprecated
Methods RTPSWriter::release_change or RTPSReader::releaseCache should be used instead
This release adds the following features:
Support persistence for large data
Added support for on_requested_incompatible_qos and on_offered_incompatible_qos
SKIP_DEFAULT_XML environment variable
Added FORCE value to THIRDPARTY cmake options
New log consumer (StdOutErrConsumer)
Added methods to get qos defined in XML Profile
Support for persistence on TRANSIENT_LOCAL
It also includes the following improvements:
Internal refactor for intra-process performance boost
Allow usage of foonathan/memory library built without debug tool
Large data support on performance tests
Reduced flakiness of several tests
Some important bugfixes are also included:
Fixed behavior of several DDS API methods
Fixed interoperability issues with RTI connext
Fixed DLL export of some methods
Avoid redefinition of compiler defined macros
Fixed some intra-process related segmentation faults and deadlocks
Fixed large data payload protection issues on intra-process
Fixed C++17 and VS 2019 warnings
Fixed linker problems on some platforms
Fixed transient local retransmission after participant drop
Fixed assertion failure on persistent writers
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from a version older than 1.10.0, regenerating the code is recommended.
Version 2.0.3 (EOL)¶
It also includes the following improvements:
Increased uniqueness of GUID prefix (#1648)
Upgrade Fast CDR to v1.0.20 (#1793)
This release includes the following bugfixes:
Fixed some race conditions (#1540, #2023)
Fixed SHM issues (#1644, #1895, #2266)
Fixed some interoperability issues (#1624, #1752, #1849)
Fixed Discovery Server 2.0 issues (#1639, #1651, #1761, #1796)
Fixed several issues on QNX systems (#1744, #1773, #1776)
Fix singleton destruction order (#1758)
Fix heartbeat and ACK issues (#1865)
Fix issues in LivelinessManager (#1872, #2147)
Fix multicast issues (#1966, #1905)
Fix TCP reception synchronization (#1981)
XTypes standard compliance and fixes (#2006, #2278)
Other minor fixes (#1558, #1734, #1814, #1935, #1978, #2121)
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from a version older than 1.10.0, regenerating the code is recommended.
Version 2.0.2 (EOL)¶
This release includes the following improvements:
Improve QNX support
Security improvements
Fast DDS Quality Declaration (QL 2)
Large traffic reduction when using Discovery Server (up to 85-90% for large deployments)
Configuration of Clients of Discovery Server using an environment variable
A CLI for Fast DDS:
This can be used to launch a discovery server
Clean SHM directories with one command
Shared memory transport enabled by default
Solved edge-case interoperability issue with CycloneDDS
Add package.xml
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from a version older than 1.10.0, regenerating the code is recommended.
Version 2.0.1 (EOL)¶
This release includes the following bug fixes:
Fixed sending GAPs to late joiners
Fixed asserting liveliness on data reception
Avoid calling
OpenSSL_add_all_algorithms()
when not required
Other improvements:
Fixing warnings
PRs in merge order: #1295, #1300, #1304, #1290, #1307.
Note
If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from a version older than 1.10.0, regenerating the code is recommended.
Version 2.0.0 (EOL)¶
This release has the following API breaks:
eClock API, which was deprecated on v1.9.1, has been removed
eprosima::fastrtps::rtps::RTPSDomain::createParticipant methods now have an additional first argument domain_id
Data member domainId has been removed from eprosima::fastrtps::rtps::RTPSParticipantAttributes and added to eprosima::fastrtps::ParticipantAttributes
Users should also be aware of the following deprecation announcement:
All classes inside the namespace eprosima::fastrtps should be considered deprecated. Equivalent functionality is offered through namespace eprosima::fastdds.
Namespaces beneath eprosima::fastrtps are not included in this deprecation, i.e. eprosima::fastrtps::rtps can still be used)
This release adds the following features:
Added support for register/unregister/dispose instance
Added DDS compliant API. This new API exposes all the functionality of the Publisher-Subscriber Fast RTPS API adhering to the Data Distribution Service (DDS) version 1.4 specification
Added Security Logging Plugin (contributed by Cannonical Ltd.)
Bump to FastCDR v1.0.14
It also includes the following bug fixes and improvements:
Support for OpenSSL 1.1.1d and higher
Support for latest versions of gtest
Support for FreeBSD
Fault tolerance improvements to Shared Memory transport
Fixed segfault when no network interfaces are detected
Correctly ignoring length of PID_SENTINEL on parameter list
Improved traffic on PDP simple mode
Reduced CPU and memory usage
Version 1.10.1 (EOL)¶
This release includes the following improvements:
Add new CMake option: SHM_TRANSPORT_DEFAULT. Shared Memory (SHM) Transport disabled by default.
Comply with the RTPS standard concerning PID_SENTINEL.
Support for OpenSSL 1.1.1d.
This release includes the following bugfixes:
Fix crash when there are no network interfaces.
Several Shared Memory Transport fixes.
Other minor fixes.
Note: If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from a version older than 1.10.0, regenerating the code is recommended.
Version 1.10.0 (EOL)¶
This release adds the following features:
New built-in Shared Memory Transport
Transport API refactored to support locator iterators
Added subscriber API to retrieve info of first non-taken sample
Added parameters to fully avoid dynamic allocations
History of built-in endpoints can be configured
Bump to FastCDR v1.0.13.
Bump to Fast-RTPS-Gen v1.0.4.
Require CMake 3.5 but use policies from 3.13
It also includes the following bug fixes and improvements:
Fixed alignment on parameter lists
Fixed error sending more than 256 fragments.
Fix handling of STRICT_REALTIME.
Fixed submessage_size calculation on last data_frag.
Solved an issue when recreating a publishing participant with the same GUID.
Solved an issue where a publisher could block on write for a long time when a new subscriber (late joiner) is matched, if the publisher had already sent a large number of messages.
Correctly handling the case where lifespan expires at the same time on several samples.
Solved some issues regarding liveliness on writers with no readers.
Correctly removing changes from histories on keyed topics.
Not reusing cache change when sample does not fit.
Fixed custom wait_until methods when time is in the past.
Several data races and ABBA locks fixed.
Reduced CPU and memory usage.
Reduced flakiness of liveliness tests.
Allow for more use cases on performance tests.
Several bug fixes on discovery server:
Fixed local host communications.
Correctly trimming server history.
Fixed backup server operation.
Fixed timing issues.
Note: If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen. If you are upgrading from a version older than 1.10.0, regenerating the code is recommended.
Version 1.9.5 (EOL)¶
This release includes the following improvements:
Propagate serialization error when reading samples from Subscriber History.
Improvements in test suite.
Improvements to reduce memory consumption.
Update CMake (3.5) using newer policies.
Improve PDP StatefulWriter announcement.
Performance improvements.
Message receiver improvements.
QoS Policies improvements.
This release includes the following bugfixes:
Fix compiler warnings in Windows when building the test suite.
Fix several data races.
Fix History issues.
Fix errors when sending data fragments.
Fix strict real-time behavior.
Fix in Discovery Server.
Fix CMake option.
Fix interoperability issues.
Note: If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen.
Version 1.9.4 (EOL)¶
This release adds the following features:
Intra-process delivery mechanism is now active by default.
Synchronous writers are now allowed to send fragments.
New memory mode DYNAMIC_RESERVE on history pool.
Performance tests can now be run on Windows and Mac.
XML profiles for requester and replier.
It also includes the following bug fixes and improvements:
Bump to FastCDR v1.0.12.
Bump to Fast-RTPS-Gen v1.0.3.
Fixed deadlock between PDP and StatefulReader.
Improved CPU usage and allocations on timed events management.
Performance improvements on reliable writers.
Fixing bugs when Intra-process delivery is activated.
Reducing dynamic allocations and memory footprint.
Improvements and fixes on performance tests.
Other minor bug fixes and improvements.
Note: If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen.
Version 1.9.3 (EOL)¶
This release adds the following features:
Participant discovery filtering flags.
Intra-process delivery mechanism opt-in.
It also includes the following bug fixes and improvements:
Bump to Fast-RTPS-Gen v1.0.2.
Bring back compatibility with XTypes 1.1 on PID_TYPE_CONSISTENCY.
Ensure correct alignment when reading a parameter list.
Add CHECK_DOCUMENTATION cmake option.
EntityId_t and GuidPrefix_t have now their own header files.
Fix potential race conditions and deadlocks.
Improve the case where check_acked_status is called between reader matching process and its acknack reception.
RTPSMessageGroup_t instances now use the thread-local storage.
FragmentedChangePitStop manager removed.
Remove the data fragments vector on CacheChange_t.
Only call find_package for TinyXML2 if third-party options are off
Allow XMLProfileManager methods to not show error log messages if a profile is not found.
Note: If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen.
Version 1.9.2 (EOL)¶
This release includes the following feature:
Multiple initial PDP announcements.
Flag to avoid builtin multicast.
It also adds the following bug fixes and improvements:
Bump to Fast-RTPS-Gen v1.0.1.
Bump to IDL-Parser v1.0.1.
Note: If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen.
Version 1.9.1 (EOL)¶
This release includes the following features:
Fast-RTPS-Gen is now an independent project.
Header eClock.h is now marked as deprecated.
It also adds the following bug fixes and improvements:
Bump to FastCDR v1.0.11.
Installation from sources documentation fixed.
Fixed assertion on WriterProxy.
Fixed potential fall through while parsing Parameters.
Removed deprecated guards causing compilation errors in some 32 bits platforms.
addTOCDRMessage method is now exported in the DLL, fixing issues related with Parameters’ constructors.
Improve windows performance by avoiding usage of _Cnd_timedwait method.
Fixed reported communication issues by sending multicast through localhost too.
Fixed potential race conditions and deadlocks.
Eliminating use of acceptMsgDirectTo.
Discovery Server framework reconnect/recreate strategy.
Removed unused folders.
Restored subscriber API.
SequenceNumber_t improvements.
Added STRICT_REALTIME cmake option.
SubscriberHistory improvements.
Assertion of participant liveliness by receiving RTPS messages from the remote participant.
Fixed error while setting next deadline event in create_new_change_with_params.
Note: If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen.
Version 1.9.0 (EOL)¶
This release includes the following features:
Partial implementation of allocation QoS.
Implementation of Discovery Server.
Implementation of non-blocking calls.
It also adds the following bug fixes and improvements:
Added sliding window to BitmapRange.
Modified default behavior for unknown writers.
A Flush() method was added to the logger to ensure all info is logged.
A test for loading Duration_t from XML was added.
Optimized WLP when removing local writers.
Some liveliness tests were updated so that they are more stable on Windows.
A fix was added to CMakeLists.txt for installing static libraries.
A fix was added to performance tests so that they can run on the RT kernel.
Fix for race condition on built-in protocols creation.
Fix for setting nullptr in a fixed_string.
Fix for v1.8.1 not building with -DBUILD_JAVA=ON.
Fix for GAP messages not being sent in some cases.
Fix for coverity report.
Several memory issues fixes.
fastrtps.repos file was updated.
Documentation for building with Colcon was added.
Change CMake configuration directory if INSTALLER_PLATFORM is set.
IDL sub-module updated to current version.
Note: If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen.
Version 1.8.5 (EOL)¶
This release includes the following bugfixes:
Fix Subscriber History to correctly notify late-joiners in case of KEEP_LAST, RELIABLE, and TRANSIENT_LOCAL.
Fix Writer History behavior when there are no matched readers.
Fix heartbeat and ACK issues.
Note: If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen.
Version 1.8.4 (EOL)¶
This release adds the following feature:
XML profiles for requester and replier
It also has the following important bug fixes:
Solved an issue when recreating a publishing participant with the same GUID (either on purpose or by chance)
Solved an issue where a publisher could block on write for a long time when, after a large number of samples have been sent, a new subscriber is matched.
Note: If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen
Version 1.8.3 (EOL)¶
This release adds the following bug fixes and improvements:
Fix serialization of TypeConsistencyEnforcementQosPolicy.
Bump to Fast-RTPS-Gen v1.0.2.
Bump to IDL-Parser v1.0.1.
Note: If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen
Version 1.8.2 (EOL)¶
This release includes the following features:
Modified unknown writers default behavior.
Multiple initial PDP announcements.
Flag to avoid builtin multicast.
STRICT_REALTIME compilation flag.
It also adds the following bug fixes and improvements:
Fix for setting nullptr in a fixed string.
Fix for not sending GAP in several cases.
Solve Coverity report issues.
Fix issue of fastddsgen failing to open IDL.g4 file.
Fix unnamed lock in AESGCMGMAC_KeyFactory.cpp.
Improve XMLProfiles example.
Multicast is now sent through localhost too.
BitmapRange now implements sliding window.
Improve SequenceNumber_t struct.
Participant’s liveliness is now asserted when receiving any RTPS message.
Fix leak on RemoteParticipantLeaseDuration.
Modified default values to improve behavior in Wi-Fi scenarios.
SubscriberHistory improvements.
Removed use of acceptMsgDirectTo.
WLP improvements.
Note: If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen
Version 1.8.1 (EOL)¶
This release includes the following features:
Implementation of LivelinessQosPolicy QoS.
It also adds the following bug fixes and improvements:
Fix for get_change on history, which was causing issues during discovery.
Fix for announcement of participant state, which was sending ParticipantBuiltinData twice.
Fix for closing multicast UDP channel.
Fix for race conditions in SubscriberHistory, UDPTransportInterface and StatefulReader.
Fix for lroundl error on Windows in Time_t.
CDR & IDL submodules update.
Use of java 1.8 or greater for fastddsgen.jar generation.
Note: If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen.
Version 1.8.0 (EOL)¶
This release included the following features:
Implementation of IDL 4.2.
Implementation of DeadlineQosPolicy QoS.
Implementation of LifespanQosPolicy QoS.
Implementation of DisablePositiveACKsQosPolicy QoS.
Secure sockets on TCP transport (TLS over TCP).
It also adds the following improvements and bug fixes:
Real-time improvements: non-blocking write calls for best-effort writers, addition of fixed size strings, fixed size bitmaps, resource limited vectors, etc.
Duration parameters now use nanoseconds.
Configuration of participant mutation tries.
Automatic calculation of the port when a value of 0 is received on the endpoint custom locators.
Non-local addresses are now filtered from whitelists.
Optimization of check for acked status for stateful writers.
Linked libs are now not exposed when the target is a shared lib.
Limitation on the domain ID has been added.
UDP non-blocking send is now optional and configurable via XML.
Fix for non-deterministic tests.
Fix for ReaderProxy history being reloaded incorrectly in some cases.
Fix for RTPS domain hostid being potentially not unique.
Fix for participants with different lease expiration times failing to reconnect.
Known issues
When using TPC transport, sometimes callbacks are not invoked when removing a participant due to a bug in ASIO.
Note: If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen.
Version 1.7.3 (EOL)¶
This release includes the following bugfixes:
Remove inline specifier from public method not defined in header file.
Fix FastRTPS-Gen version generation
Note: If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen.
Version 1.7.2 (EOL)¶
This release fixes an important bug:
Allocation limits on subscribers with a KEEP_LAST QoS was taken from resource limits configuration and didn’t take history depth into account.
It also has the following improvements:
Vendor FindThreads.cmake from CMake 3.14 release candidate to help with sanitizers.
Fixed format of gradle file.
Some other minor bugs and performance improvements.
Note: If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen.
Version 1.7.1 (EOL)¶
This release included the following features:
LogFileConsumer added to the logging system.
Handle FASTRTPS_DEFAULT_PROFILES_FILE environment variable indicating the default profiles XML file.
XML parser made more restrictive and with better error messages.
It also fixes some important bugs: * Fixed discovery issues related to the selected network interfaces on Windows. * Improved discovery times. * Workaround ASIO issue with multicast on QNX systems. * Improved TCP transport performance. * Improved handling of key-only data submessages.
Some other minor bugs and performance improvements.
KNOWN ISSUES
Allocation limits on subscribers with a KEEP_LAST QoS is taken from resource limits configuration and doesn’t take history depth into account.
Note: If you are upgrading from a version older than 1.7.0, it is required to regenerate generated source from IDL files using fastddsgen.
Version 1.7.0 (EOL)¶
This release included the following features:
Security 1.1 compliance.
Also bug fixing, allocation and performance improvements.
Note: If you are upgrading from an older version, it is required to regenerate generated source from IDL files using fastddsgen.
Version 1.6.0 (EOL)¶
This release included the following features:
Persistence.
Security access control plugin API and builtin Access control plugin: DDS:Access:Permissions plugin.
Also bug fixing.
Note: If you are upgrading from an older version than 1.4.0, it is advisable to regenerate generated source from IDL files using fastddsgen.
Version 1.5.0 (EOL)¶
This release included the following features:
Configuration of Fast RTPS entities through XML profiles.
Added heartbeat piggyback support.
Also bug fixing.
Note: If you are upgrading from an older version than 1.4.0, it is advisable to regenerate generated source from IDL files using fastddsgen.
Version 1.4.0 (EOL)¶
This release included the following:
Added secure communications.
Removed all Boost dependencies. Fast RTPS is not using Boost libraries anymore.
Added compatibility with Android.
Bug fixing.
Note: After upgrading to this release, it is advisable to regenerate generated source from IDL files using fastddsgen.
Version 1.3.1 (EOL)¶
This release included the following:
New examples that illustrate how to tweak Fast RTPS towards different applications.
Improved support for embedded Linux.
Bug fixing.
Version 1.3.0 (EOL)¶
This release introduced several new features:
Unbound Arrays support: Now you can send variable size data arrays.
Extended Fragmentation Configuration: It allows you to setup a Message/Fragment max size different to the standard 64Kb limit.
Improved logging system: Get even more introspection about the status of your communications system.
Static Discovery: Use XML to map your network and keep discovery traffic to a minimum.
Stability and performance improvements: A new iteration of our built-in performance tests will make benchmarking easier for you.
ReadTheDocs Support: We improved our documentation format and now our installation and user manuals are available online on ReadTheDocs.
Version 1.2.0 (EOL)¶
This release introduced two important new features:
Flow Controllers: A mechanism to control how you use the available bandwidth avoiding data bursts. The controllers allow you to specify the maximum amount of data to be sent in a specific period of time. This is very useful when you are sending large messages requiring fragmentation.
Discovery Listeners: Now the user can subscribe to the discovery information to know the entities present in the network (Topics, Publishers & Subscribers) dynamically without prior knowledge of the system. This enables the creation of generic tools to inspect your system.
But there is more:
Full ROS 2 Support: Fast RTPS is used by ROS 2, the upcoming release of the Robot Operating System (ROS).
Better documentation: More content and examples.
Improved performance.
Bug fixing.