eProsima Fast DDS 2.6 Stable
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:
-
Support
Autofill port(automatically set a port) for TCP Transport. -
Define a super client by environment variable
-
Support TCP Discovery server CLI and environment variable
-
Define methods (environment variable, rtps layer, xml) to configure transport scenarios
This release includes the following improvements:
-
Log warning message upon receiver resource creation failure.
-
Add tests for reconnection with same GUID
-
Use foonathan memory manager for reducing allocations in
SharedMemManager.hpp -
Simplify code in
CDRMessage. -
Rerun failed tests with ctest option instead of colcon’s.
-
Several improvements on CI jobs.
-
Upgrade CMake minimum requirement to 3.16.3
-
Update PR checklist template. Backports and Description
This release includes the following bugfixes:
-
Fix
DomainParticipant::register_remote_typereturn when negotiating type. -
Fix
RemoteBuiltinEndpointHonoringblackbox test. -
Allow participant profiles with no rtps tag.
-
Fix bad-free when receiving malformed DATA submessage.
-
Fix clang warnings
-
Use STL implementation of
Timed/RecursiveTimedMutexwhenMSVC >= 19.36. -
Fix encapsulation format in WLP.
-
Fix the clang build for clang 14.
-
Notify data-sharing listener at the end of a successful matching in intraprocess.
-
Updatable disable_positive_acks period.
-
Fix Data Race when updating liveliness changed in WLP.
-
Fix TCP sender resources creation.
-
Fix flow controllers unit tests compilation when using Fast CDR from thirdparty.
-
Add XML parser bit_bound bounds check.
-
Use
FASTRTPS_NO_LIBon unittest root folder. -
Use
SO_EXCLUSIVEADDRUSEfor Win32 unicast listening sockets. -
Fix mac address overflow on windows.
-
Fix
PubSubAsReliabletest. -
Fix
FileWatchTest. -
Add missing thread include.
-
Fix missing mandatory attribute check in XML parser struct type.
-
Better handling of trigger events in docs CI.
-
Fix memory problem when ciphering payload
-
Select correct .repos file on push events
-
Update TLS unit test certificates
-
Fix bad-free when receiving malformed DATA_FRAG submessage
-
Fix data race on writer destruction while sending heartbeat
-
Fix DiscoveryServer list access deadlock
-
Fix c++11 support for fast discovery server tool
-
Fix CVE-2023-50257
-
Fix std::move warning
-
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:
- Support for PKCS#11 format URIs for private keys
- Added interfaces for content filter APIs
- Allow new network interfaces to be detected at runtime
- New API on DataWriter to wait for a specific instance to be acknowledged
- Added interfaces for concatenation of transports
- Allow XML profiles to be loaded from a string
- Allow disabling piggyback heartbeat on XML and DataWriter QoS
- New basic configuration example
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:
- Conditions and Wait-sets implementation.
- Flow controllers.
- Configure Discovery Server locators using names.
- Modifying remote servers list at run time.
- Environment file override.
- 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.
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:
- Partial implementation of allocation QoS
- Implementation of Discovery Server
1.8.1:
- Implementation of Liveliness QoS
1.8.0:
- Implementation of IDL 4.2
- Implementation of Deadline QoS
- Implementation of Lifespan QoS
- Implementation of Disable positive acks QoS
- Secure sockets on TCP transport (TLS over TCP)
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.

