Skip to content

Releases: eProsima/Fast-DDS

v2.1.1

24 Mar 14:49
0db1599
Compare
Choose a tag to compare

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

PRs in merge order:
#1564, #1571, #1574, #1643, #1645, #1723, #1729, #1726, #1736, #1756, #1760, #1752, #1773, #1776, #1792, #1797, #1798, #1813, #1848

v2.2.0

29 Jan 16:17
70e2ad0
Compare
Choose a tag to compare

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

v2.1.0

17 Nov 06:29
30c143f
Compare
Choose a tag to compare

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 follwing 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

v2.0.2

06 Nov 21:18
969bdfa
Compare
Choose a tag to compare

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

PRs in merge order:

#1320 #1317 #1329 #1325 #1330 #1326 #1367 #1331 #1267 #1382 #1386 #1384 #1398 #1456 #1444 #1466 #1463 #1469 #1490 #1475 #1514 #1513 #1515 #1520 #1516 #1526 #1549 #1554 #1557 #1555 #1551

v2.0.1

24 Jul 05:15
40568fa
Compare
Choose a tag to compare

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

v2.0.0

01 Jun 06:31
b710b1f
Compare
Choose a tag to compare

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

v1.8.4

06 Apr 10:30
155087f
Compare
Choose a tag to compare

This release adds the following feature:

  • XML profiles for requester and replier

It also have the following important bug fixes:

  • Solved an issue when recreating a publishing participant with the same GUID (either on purpose or by chance)
  • Solved issue #1042, 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.

v1.10.0

06 Apr 10:30
a87af8e
Compare
Choose a tag to compare

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.

Several bug fixes on discovery server:

  • Fixed local host communications.
  • Correctly trimming server history.
  • Fixed backup server operation.
  • Fixed timing issues.

v1.9.4

22 Jan 10:41
f3863b6
Compare
Choose a tag to compare

This release includes 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.

It also adds 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.

v1.9.3

14 Nov 10:40
b5ae9e9
Compare
Choose a tag to compare

This release includes the following features:

  • Participant discovery filtering flags.
  • Intra-process delivery mechanism opt-in.

It also adds 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 thirdparty options are off
  • Allow XMLProfileManager methods to not show logError messages if a profile is not found.