eProsima Fast DDS 2.6 Stable

Released on: Tuesday, 22 August 2023 02:00

2.6.7 Stable Release

  • Free and Open Source: Apache 2.0 License
  • Commercial Support Available.

Main Features

  • High performance. See the performance benchmarks in the product page.
  • Multi-Platform: Windows, Linux, Mac OS, iOS, Android, Raspbian.
  • Easy to use: Hello world video tutorial available in the product page.
  • Full DDS & RTPS compliance: OMG DDS1-4 & RTPS 2.2 Compliant. Best Effort and Reliable Communications in both Unicast and Multicast.
  • DDS Security Support.

What is new:

This release includes the following features:

  1. Support Autofill port (automatically set a port) for TCP Transport.

  2. Define a super client by environment variable

  3. Support TCP Discovery server CLI and environment variable

  4. Define methods (environment variable, rtps layer, xml) to configure transport scenarios

  5. Secure discovery server

This release includes the following improvements:

  1. Log warning message upon receiver resource creation failure.

  2. Add tests for reconnection with same GUID

  3. Use foonathan memory manager for reducing allocations in SharedMemManager.hpp

  4. Simplify code in CDRMessage.

  5. Rerun failed tests with ctest option instead of colcon’s.

  6. Several improvements on CI jobs.

  7. Upgrade CMake minimum requirement to 3.16.3

  8. Update PR checklist template. Backports and Description

This release includes the following bugfixes:

  1. Fix DomainParticipant::register_remote_type return when negotiating type.

  2. Fix RemoteBuiltinEndpointHonoring blackbox test.

  3. Allow participant profiles with no rtps tag.

  4. Fix bad-free when receiving malformed DATA submessage.

  5. Fix clang warnings

  6. Use STL implementation of Timed/RecursiveTimedMutex when MSVC >= 19.36.

  7. Fix encapsulation format in WLP.

  8. Fix the clang build for clang 14.

  9. Notify data-sharing listener at the end of a successful matching in intraprocess.

  10. Updatable disable_positive_acks period.

  11. Fix Data Race when updating liveliness changed in WLP.

  12. Fix TCP sender resources creation.

  13. Fix flow controllers unit tests compilation when using Fast CDR from thirdparty.

  14. Add XML parser bit_bound bounds check.

  15. Use FASTRTPS_NO_LIB on unittest root folder.

  16. Use SO_EXCLUSIVEADDRUSE for Win32 unicast listening sockets.

  17. Fix mac address overflow on windows.

  18. Fix PubSubAsReliable test.

  19. Fix FileWatchTest.

  20. Add missing thread include.

  21. Fix missing mandatory attribute check in XML parser struct type.

  22. Better handling of trigger events in docs CI.

  23. Fix memory problem when ciphering payload

  24. Select correct .repos file on push events

  25. Update TLS unit test certificates

  26. Fix bad-free when receiving malformed DATA_FRAG submessage

  27. Fix data race on writer destruction while sending heartbeat

  28. Fix DiscoveryServer list access deadlock

  29. Fix c++11 support for fast discovery server tool

  30. Fix CVE-2023-50257

  31. Fix std::move warning

  32. Fix Github Windows CI

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.

See the full release notes for more details.

Prior versions:

2.6.6:

 This release includes the following improvements:

  • Improve validation on PID_PROPERTY_LIST deserialization.
  • Improved CPU usage of timed events thread.
  • Improved performance on intraprocess + data-sharing.
  • Explicitly register type object in ContentFilteredTopicExample.
  • Improve installer generation with documentation version fallback.
  • Improve content filter expression parameters checks and verbosity.

This release includes the following bugfixes:

  • Fixed long-standing reconnection issues on SHM transport.
  • Correctly resolve alias in DDSQLFilter.
  • Fixed partition copy in QoS.
  • Added length checks to prevent nullptr memcpy calls.
  • Fixed XMLParser null-dereference when parsing log configuration.
  • Fixed SHM in 32-bit architectures.
  • Added missing cstdint include.
  • Avoid double definition of FASTDDS_ENFORCE_LOG_INFO.
  • Fixed statistics data_count with data-sharing.

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

This release includes the following bugfixes:

  • 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

2.6.0:

  • Allow modifying remote server locators at runtime
  • Add statistics physical information to DATA[p] using properties
  • Content filter discovery information RTPS API
  • Endpoint discovery RTPS API
  • on_sample_lost RTPS API
  • Transport layer API extension
  • XML support for Fast DDS CLI
  • New exchange format to reduce bandwidth in Static Discovery
  • Support lowercase keywords on SQL filter
  • Separate initialization and enabling of BuiltinProtocols
  • Support for octet vectors on XML parser
  • Update README and roadmap
  • Fix recommended statistics DataReaderQos to enable backwards compatibility
  • Fixes for supporting Python bindings in Windows platforms
  • Fix publishing physical data on statistics topic
  • etc.

2.5.1:

  • ContentFilterTopic filtering at the DataReader side
  • Release lifecycle
  • XML parser fixes
  • Discovery Server fixes
  • Fix DataSharing sample validation

2.5.0:

2.4.1:

  • 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

2.4.0:

2.3.4:

  • Support of googletest using colcon
  • Network latency reports source participant
  • Update Fast DDS Gen to v2.0.2

2.3.3:

  • 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

2.3.2:

  • Statistics Module
  • 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

2.3.1:

  • 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

2.3.0:

  • Unique network flows
  • Discovery super-client
  • Statistics module API
  • New flow controller API
  • Static discovery configuration from raw string
  • Added reception timestamp to SampleInfo
  • Exposing get_unread_count on DataReader
  • 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

 2.2.0

  • 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

2.1.0

  • 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
  • Internal refactor for intra-process performance boost
  • Allow usage of foonathan/memory library built without debug tool
  • Large data support on performance tests

2.0.2

  • 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

2.0.1

  • Fixed sending GAPs to late joiners
  • Fixed asserting liveliness on data reception
  • Avoid calling OpenSSL_add_all_algorithms() when not required

2.0.0

  • 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

1.10.0:

  • New built-in Shared memory Transport (SHM)
  • 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

1.9.3:

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

1.9.2:

  • Multiple initial PDP announcements.
  • Flag to avoid builtin multicast.

1.9.1:

  • Fast-RTPS-Gen is now an independent project.
  • Header eClock.h is now marked as deprecated.

1.9.0:

1.8.1:

1.8.0:

1.7.2:

  • Bug fixing

1.7.1:

  • Bug fixing
  • Support for QNX

1.7.0:

  • TCP Transport: Fast RTPS on WAN.
  • Dynamic Topic Types: Define your topic data type at runtime.
  • DDS Security 1.1 compliance: Latest DDS security specification.

1.6.0:

  • Persistence: Saves your sent messages in a database for late use.
  • Better Security: Finer Access Control.
  • Performance improvements: Even better latency and jitter.

1.5.0:

  • Easier Configuration of Fast RTPS entities through XML profiles.
  • Improved Reliability protocol: Added piggybacked heartbeat support.

1.4.0:

  • Security: Authentication and encryption support. DDS Security Specification compliant. 
  • Cpp 11 Support.
  • Removed Boost Libraries Dependencies.
  • Android Support
  • Improved performance for large data.

1.3.1:

  • New examples that illustrate how to tweak Fast RTPS towards different applications.
  • Improved support for embedded Linux.
  • Bug fixing.

1.3.0

  • 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.

 

 

Docker Fast DDS 2.6 with Fast DDS Monitor, DDS Router & Shapes Demo

Downloaded 229 times
File size 325.22 Mb
MD5 Signature cabffc69a761385ca4764a76073e8d00
SHA1 Signature 23ef3dcb5f7cc97c03675ca7655e02ba02de5991
SHA-256 Signature 16fe80c9263b4254aa0f0e8d85a38072eeac285b8d480f911465c397b4d22da6
SHA-384 Signature 356449d49c0ccfcd02cc820e123338790c8cca7c0a6e9771294e3cd0060768527844b9d4395ead430466dd58b65a4f82
SHA-512 Signature 656c5db8b3f1da30b98d5d20854e3016d5b1e73138f75b8e713a51c94a754c533a66c0b10a6fdd7a5175de706662239fb0a3dd616ed5db9d417ef3298ca68ef9

Ubuntu Docker - Fast DDS 3.2.0 with Python bindings, Fast DDS Monitor, DDS Router & Shapes Demo

Instructions on how to use the Fast DDS Docker with Python bindings, Fast DDS Monitor, DDS Router & Shapes Demo can be found here.

Docker Fast DDS 2.6

Downloaded 594 times
File size 36.02 Mb
MD5 Signature eee311cceae5cb337fb8400ca372504a
SHA1 Signature c3a37010a3e850ad720cda13e415b829e2fdad72
SHA-256 Signature d94c369e0a23b6907dd39567dadd0bf9b3c3ddf87278ac40b37c02dd7cffa7b9
SHA-384 Signature d7dd7827cf020b1338426f5921b0cbf86127bc6b27127328909eb812774bccb4bd99a50f16f50e5234d35ec4e009fe76
SHA-512 Signature c583d7aac949634b35be7c8262d32f8cf4ecff0eb698719e7dd31423fd99d2f7048be5edf441f9468591b6933f8db955122ae4067e4042c148eaa59153f7d02c

Ubuntu Docker - Fast DDS 2.6.8

eProsima Fast DDS 2.6 - Linux (32 & 64)

Downloaded 510 times
File size 36.47 Mb
MD5 Signature a7d0ac181543ac2f08112f6707ea113c
SHA1 Signature d65071ca076e752b0bbe03130725eeee693ce76c
SHA-256 Signature a921a74ea7a385da03c148c2bf16b9ccec1c340c2bd5f3d1e1f209a6295f0f2a
SHA-384 Signature ca48a554b528a57d060eb1b472185632e3c7e89be4728c59fd82fbca2c9722d23cee0714391d9f42dc298806900acc7d
SHA-512 Signature 301720c0a9a96dc746a7d87a300126a0a23c9ebeff82ebf703072bddceadb008b0391c944574078c82f52cd07e2b414f758311e8fb3547604e2479fcfc0de428

General Linux Files.- eProsima Fast DDS in your Linux system.

Instructions on how to install Fast DDS on Linux can be found here.

eProsima Fast DDS 2.6 - Win (32 & 64)

Downloaded 917 times
File size 117.95 Mb
MD5 Signature 6a579e363a7c16b543b10c90d4bb3e0e
SHA1 Signature 98d2a5824da3587d017300598765ff38ca8bf622
SHA-256 Signature df68e15d6d16bda28d304acfb6e6825c57f47754dbdf4940791f9cf139d81640
SHA-384 Signature 54cffbf387ea292318b9d75415745914e38dae07cee99e45f486c6346631991b11330f5ac3af275048a510fb9e7b43c4
SHA-512 Signature c917b5d153a0eb8bc62dccb388e5186c448e3860a7596e272fdb74253d86191ba1c405fc0467b9081525559421284e1c661dba893312319d7120b7d0602f3ac5

Windows Installer of eProsima Fast DDS 2.6 - Windows (32 & 64)

VS2015, VS2017, VS2019 Support

Instructions on how to install Fast DDS on Windows can be found here.