Previous end-of-life versions¶
Version 3.5 (EOL)¶
Version 3.5.0 (EOL)¶
This release includes the following improvements:
Update Qt version to 6.8.3 in CI
Verify Safe DDS signature
Open
RTPSParticipantImplfor extensionUse new sample rejection value
Make
DomainParticipant::get_instance_handlereturn by valueDiscovery Server clients always behave as super clients
Enhance filtering logic for virtual and external endpoints
Refactor Secure Discovery Server
Update
foonathan.netlinksApply
uncrustifyto all source filesRemove unused
keep_alivelogicRPC refactor
Bump version to 3.5.0
Extend
DomainParticipantAPI to include return codesRegenerate types with Fast DDS Gen 4.3.0
Update CMake minimum required and Tier1
This release includes the following fixes:
Fix compilation on PDPTests
Force history QoS consistency and change resource limits default values
Fix wrong update of default locators
Fix ABI compliance
This release includes the following CI improvements:
Branchout 3.5.x
Updates after v3.3.1 EOL
Run
xtypestest cases in parallel
Version 3.3 (EOL)¶
Version 3.3.1 (EOL)¶
This patch release includes the following critical fixes:
Fix CVE-2025-62599
Fix CVE-2025-62600
Fix CVE-2025-62601
Fix CVE-2025-62602
Fix CVE-2025-62603
Fix CVE-2025-64098
Fix CVE-2025-62799
Fix CVE-2025-64438
Fix CVE-2025-65016
Fix CVE-2026-22590
This patch release includes the following improvements:
Update
3.3.xto be a supported branchAvoid setting thread affinity of 0 in Mac
Update Fast CDR version
Improve signal handling in RPC example
Change
non_blocking_sendthreshold tosendBufferSizeAvoid sending duplicated
ACKsinDataSharingUse binary search in
find_change_ntsGuard
gnu::optimizewithdefined(__GNUC__)Apply
uncrustifyDo not export discovery server as
cmaketargetSend
heartbeatwhenwait_for_all_ackedis calledUpdate
RELEASE_SUPPORTwith release3.2.3Protect
DataReaderInstancealive_writers attributeAvoid casting
GUID_tintoInstanceHandle_tSupport aliases in Content Filtered Topic
Allow empty partition list to match against
*Release change while authentication fails
Improve latency tests
Improvements in message receiver
Improvements on
compute_keygenerated codeProtect
PDPStatelessWriterattributesVerify Safe DDS signature
Improve Open SSL includes
Regenerate types with Fast DDS Gen
v4.1.1Allow to send empty payloads in dispose/unregister operations
Reset irrelevant sequence numbers interval in proxy readers
This patch release includes the following fixes:
Fix socket buffer size handling
Fix latency & throughput tests names
Return sample notifying changes on instance state
Fix doxygen documentation for
iHandle2GUIDSet different content filter signatures for each requester
Fix doxygen to avoid errors in python bindings
Fix topic argument in Discovery Server example
Add missing field to
xsdFix duplicated transport when using specific XML with CLI
Remote writers considered volatile by default
Solve TCP disconnect while incomplete read deadlock
Remove residual generated files
Handle maximum deadline misses case
Improve some tests
Replace
logWarningwithEPROSIMA_LOG_WARNINGinRTCPHeader.hAvoid
PROJECT_SOURCE_DIRandmake_uniquewhen building blackbox testsFix
GAPmessages are not sent when there is no Reader requesting theDATAFix usage of invalid iterator in
DynamicDataImpl::deserialize()Fix build in
GCC 15
This patch release includes the following ci management updates:
Add
--quietto git submodule invocationsUpdate fallback branches to use environment variables
Split Mac CI build and testing phases
Add missing IDL to code generator script
Remove residual generated files
Allow CI to run tests with manual dispatch
Free disk space in CI runners
Upgrade to
macOS SequoiaSingle line for
ctest_argsin Mac CIUpgrade Linters CI runner image to
ubuntu-24.04
Important
When upgrading to version 3.3.1 it is highly recommended to regenerate generated source from IDL files
using at least Fast DDS-Gen v4.1.1.
But it is advisable to regenerate them using the latest patch version of Fast DDS-Gen v4.1.x.
Version 3.3.0 (EOL)¶
This minor release includes the following features:
RPC related:
Add generic interfaces for servers
Enhanced discovery feature
Add RPC over DDS example
Add methods for
TypeObjectregistration of RPC types
QoS Policies added to
EDPmessages. New property to sendeProsimaExtensions QoSAllow
ResourceLimitsQosserialization method compatibilityAdd
WireProtocolConfigQosto optional QoS serialization and makeMonitor Servicealways serialize themDataWritersample prefilterSupport modules in IDL Parser
New version of EDP static discovery
Process
key-onlypayloadsAdd
has_more_repliestoWriteParamsandSampleInfoJSONtoDynamicDatadeserializer
This minor release includes the following improvements:
Improvements on RPC entities
Add regression test checking
type_informationis always copied inProxyDatacopiesAdd references to documentation
Update
ROSinimage links inREADMEUpdate reception timestamp when it is added to the instance
Updates due to
EOLversionsAllow creation of built-in content filters with different type name
Add localhost capability only to
UDPandTCPtransportsAdd
ParticipantBuiltinTopicDataheader inStatisticsDomainParticipantFix DS initialization on
"any"if no interfaces are availableMake
DomainParticipantcreation fail ifMaxMessageSizeis lower thanPDPpackage sizeAvoid calling
setIPv4inTCPTransportInterfaceBump
asioto1.34.2Update types for Fast DDS Gen v4.1.0 Release
This minor release includes the following fixes:
Solve Discovery Server race conditions
Address some compilation warnings with
GCClatestProperly delete secure endpoints if registration fails
Add condition for
string_buildernullptronXMLDynamicParserin case bound is zeroAdd multicast locator to correct locator list in
ReaderProxydataAvoid Data Race in
Reader LocatorFix
ParticipantGenericMessageserializationFix build on
QNXFix custom feature IDL files
Pass
Uncrustifyto allippfilesFix
null-dereferenceerror on Ubuntu
This minor release includes the following ci management updates:
Move
SimpleCommunicationandsystem testsin Windows nightlySplit Windows workflow in different test suites
Add compilation with
GCClatest tofastdds_alternative_buildsUbuntu CIAdd
uncrustifyto Github CIIncrease the warning level for Ubuntu CI compilation
Include all example tests in Windows CI
Add
VS143 toolsetto Windows CIInstall Fix
OpenSSLversion in windows example testingSet
Windows 10asTier 1
Important
When upgrading to version 3.3.0 it is highly recommended to regenerate generated source from IDL files
using at least Fast DDS-Gen v4.1.0.
But it is advisable to regenerate them using the latest patch version of Fast DDS-Gen v4.1.x.
Version 3.1 (EOL)¶
Version 3.1.3 (EOL)¶
This release includes the following improvements:
Support compiler
MSYS2-MinGWImprove
max_allocationscalculation on SHM transportFilter interested readers on
PDP writerUpdate types with
Fast DDS Gen v4.0.4Refactor builtin writers and readers creation
Add modules support to
idl_serializeImprove DS routines
This release includes the following fixes:
Fix error handling logic in
try_setting_buffer_sizeAvoid redefinition warning for
OPENSSL_API_COMPATSolve fuzz
XMLParser Null-dereferenceRemove repeated header include and Fix log
Fix Security tag in
DS CLIFix assertion on
OutputTrafficManagerFix cleanup race condition with exclusive and shared lock files
Remove
SHMoption from discovery server exampleFix
several_writers_on_unack_sample_removedflaky testAvoid sending statistics msg with big messages and no fragmentation
Fix windows example tests in Debug and mitigate
rtpsexample flakinessAddress some compilation warnings with GCC latest
Solve Discovery Server race conditions
Fix
oss-fuzzregressionsAvoid Data Race in Reader Locator
This release includes the following ci improvements:
Get correct Fast CDR related branch in CI
Force Asio
Thirdpartyin MacOS CI
Important
When upgrading to version 3.1.3 it is highly recommended to regenerate generated source from IDL files
using at least Fast DDS-Gen v4.0.3.
But it is advisable to regenerate them using the latest patch version of Fast DDS-Gen v4.0.x.
Version 3.1.2 (EOL)¶
This release includes the following fixes:
Arithmetic overflow in fragment size calculations
Fix EDP reliability timings
Address
parseXMLMemberDynamicTyperegressionsFix double-locking issue in
DataSharingListenerFix Discovery CLI Tool in Windows (No privileges)
Fix log category name macro collision in
MacOSHandle socket buffer size setting when system’s maximum exceeded
Decouple transport receivers creation using unique network flows
Fix dropped samples on reliable writers
System Log error: infinite loop when setting thread affinity fails
This release includes the following improvements:
Benchmark example updated
Update sqlite from 3.36.0 to 3.47.2
Update submodules when cloning Fast DDS on CI
Improve PDPClients initialization
Log any errors before
cancel_init()Add
replacetag topackage.xml
Important
When upgrading to version 3.1.2 it is highly recommended to regenerate generated source from IDL files
using at least Fast DDS-Gen v4.0.3.
But it is advisable to regenerate them using the latest patch version of Fast DDS-Gen v4.0.x.
Version 3.1.1 (EOL)¶
This patch release includes the following features in an ABI compatible manner:
New property to select preferred key agreement algorithm
This release includes the following fixes:
Fix reach of maximum buffers in
asio::send_toFix TCP discovery server locators translation
Fix unique network flows with TCP transports
Address OSS-Fuzz` regressions in XML parsers
Fix
DataReaderHistoryregressionFix destruction data-race on participant removal in intra-process
Several fixes in security plugins and
SecurityManagerFix
cmakegenerator evaluationFix build with
-Werror=template-id-cdtorFix potential deadlock between
StatefulWriterandFlowController
This release includes the following improvements:
Update commercial support section in README
Rename
RTPSParticipantImpl.htoRTPSParticipantImpl.hppCheck if
SHMtransport is disabled inLARGE_DATAmodesImprove Blackbox TCP tests suite
Test examples on Windows CI
Regenerate types with Fast DDS Gen 4.0.3
Important
When upgrading to version 3.1.1 it is highly recommended to regenerate generated source from IDL files
using at least Fast DDS-Gen v4.0.3.
But it is advisable to regenerate them using the latest patch version of Fast DDS-Gen v4.0.x.
Version 3.1.0 (EOL)¶
This minor release includes the following features in an ABI compatible manner:
Allow running CI on external contributions
Allow for all durability configurations
Complete support for
Dynamic Network Interfaces
This release includes the following improvements:
Be less strict with parameter lengths
Modify help command of
XML CLI toolRegister and propagate
MonitorServicestatus type objectAdd tests for
TypeLookup serviceConvert
Fast DDS v2tov3Migration Changes into a Step-by-Step User GuideUpdate
asioversion from1.18.1to1.31.0Update
nlohmann/jsonthirdparty version from3.9.1to3.11.3Regenerate types with latest
Fast DDS-Gen v4.0.2Update
fastcdrsubmodule with latest releaseUpdate
roadmap,release supportandversionsforv3.1.0release
This release includes the following fixes:
Update request reply example
READMEFix
xtypes examplesegfault if XML environment var is not setRemove unused
validMatchingmethods inEDPAdd Regression test for
Fast DDS-GenUse differenttypenamefor collections ofTK_UINT8andTK_BYTEUpdate latest
2.10.xto2.10.5Discard changes with big
key-onlypayload and no key hashAdd test for support of enumeration literal
@valueannotationFix memory leak deleting
TypeLookupManagerFix
DynamicDataunion deserialization when no member is selectedSplit nightly jobs to one per workflow
Add references to new nightly jobs per supported branch in
READMEChange
xsdfiles installation directory toshare/fastddsand remove icons onwindows uninstallFix
flow_controllerscomparison inDomainParticipantQosequality operatorFix
CreateTopicWithDifferentTypeName_negativeflaky testWarn instead of fail when
dds.communication.dynamic_interfacescannot be builtFix wrong Data type referred in
flow controlexampleREADME
Important
When upgrading to version 3.1.0 it is required to regenerate generated source from IDL files
using at least Fast DDS-Gen v4.0.2.
But it is advisable to regenerate them using the latest patch version of Fast DDS-Gen v4.0.x.
Version 3.0 (EOL)¶
Version 3.0.2 (EOL)¶
This release includes the following improvements:
Add support for
DLLexport on WindowsModify help command of XML CLI tool
Register and propagate
MonitorServicestatus type objectAdd tests for
TypeLookupserviceDiscard changes with big
key-onlypayload and nokey hashImprove on Step-by-Step User Guide from the Migration Guide
Add test for support of enumeration literal
Update new nightly jobs on
READMEChange
xsdfiles installation directory toshare/fastddsand remove icons on Windows uninstallUpdate commercial support section in
READMERename
RTPSParticipantImpl.htoRTPSParticipantImpl.hppAdd new property to select preferred key agreement algorithm
Improve
OpenSSLlifecycle handlingImprove Blackbox TCP tests suite
Improve
PDPClientspinitializationUpdate
sqlitefrom 3.36.0 to 3.47.2Improve debugging process by adding logs before running
SecurityManager::cancel_init()Update Benchmark example
Add
replacetag topackage.xmlDecouple transport receivers creation using unique network flows
Support compiler MSYS2-MinGW
Avoid redefinition warning for
OPENSSL_API_COMPAT
Github CI management:
Allow running CI on external contributions
Add Windows CI example testing
Update submodules when cloning Fast DDS on CI
Add
flow_control,rtps,custom_payload_poolandcontent_filterto Windows example CI testing
This release includes the following fixes:
Fix CVE-2025-24807
Update request reply refactored example
READMEFix
xtypesexample issue if XML environment variable was not setFix length checks in the builtin decoder
Remove unused
validMatchingmethods inEDPRegression test for
Fast DDS-GenFix memory leak issue deleting
TypeLookupManagerFix issues in Dynamic Network Interfaces
Fix wrong Data type referred in flow control example
Address
oss fuzzXMLParserregressionFix destruction
data-raceon participant removal inintra-processFix
DataReaderHistoryregressionFix
FASTDDS_SHM_TRANSPORT_DISABLEDforLARGE_DATAmodesAddress
XMLDynamicParserregressionFix
SecurityManagerassertion inSecure DSFix issue on
participant_statelessFix comparison in
is_update_allowedFix
-Werror=template-id-cdtorFix TCP discovery server locators translation
Fix
cmakegenerator evaluationFix
TSANpotential deadlock by lock inversionFix issue on
NetworkBuffersFix unique network flows with TCP transports
Fix algorithm strings on
PermissionsTokenandIdentityTokenArithmetic overflow in fragment size calculations
Address
parseXMLMemberDynamicTyperegressionFix
EDPreliability timingsFix null-dereference in
parseXMLMemberDynamicTypeFix double-locking issue in
DataSharingListenerFix Discovery CLI Tool in Windows (No privileges)
Fix socket buffer size configuration mechanism
Fix issue on
reliablevolatilewhen all history ackedFix log category name macro collision in
MacOSFix issue of infinite loop when setting thread affinity fails
Fix error handling logic in
try_setting_buffer_sizeFix call to
on_unacknowledged_sample_removedwhen keep all history is used
Important
When upgrading to version 3.0.2 it is required to regenerate generated source from IDL files
using at least Fast DDS-Gen v4.0.0.
But it is advisable to regenerate them using the latest patch version of Fast DDS-Gen v4.0.x.
Version 3.0.1 (EOL)¶
This patch release includes the following improvements:
Set string arguments as
constreferencesImprove resilience against clock adjustments
Make Fast DDS build compatible with
GCC 9Use eProsima-CI action to install
QtUpdate Fast CDR submodule to
v2.2.4Regenerate types with
Fast DDS Gen v4.0.1
This release includes the following fixes:
Secure simple participants with
initialpeersover TCP matchRegister also the minimal created from the received complete
TypeObjectin theTypeLookupServiceFix issue with exclusive ownership and unordered samples
Fix compilation error in
Ubuntu 24.04Correct iterator increment after erasing elements in
connected_servers_listFix request reply example isolated build
Important
When upgrading to version 3.0.1 it is required to regenerate generated source from IDL files
using at least Fast DDS-Gen v4.0.0.
But it is advisable to regenerate them using the latest patch version of Fast DDS-Gen v4.0.x.
Version 3.0.0 (EOL)¶
Fast DDS v3.0.0 is a mayor release that entails some API breaks and new features. This version is not backwards compatible with previous versions. Refer to the migration guide for hints moving to Fast DDS v3.0.0.
This release includes the following API breaks:
Fastrtps package name migration to fastdds.
API and namespace migration from RTPS to DDS.
Make private previously public API.
Make all public headers .hpp.
XTypes refactor.
IPayloadPool refactor.
Participant discovery structures refactor.
GUIDLess Discovery Server.
Gather-send implementation.
constqualify all data related inputs in DataWriter APIs.Refactor RTPS reader APIs.
Refactor RTPS writer APIs.
Refactor RTPS
WriterHistory.Refactor
TopicDataType.Make
StdoutErrConsumerdefaultLogConsumer.All
DataWriter::writeoverloads returnReturnCode_ttype.Add XML configuration for
FlowControllerDescriptorand removeThroughputController.Move
DataReader::TypeConsistencyEnforcementandDataReader::DataRepresentationfromTypeConsistencytoDataReaderQos.Migrate
BuiltinEndpointsdefines to variables.Remove
string_convertheader and source.Examples refactor.
Update Fast DDS docs QoS examples.
Link SHM locator kind with Fast DDS major version.
Discard local SHM locators that cannot be opened.
This release includes the following new features:
Type Propagation policy.
Create Participant with default profile (use environment XML configuration).
Create DomainParticipantExtendedQos class.
Add product version on Participant Discovery information.
Automatically unmatch remote participants on participant deletion.
Refactor Statistics module IDL.
Change PDP discovery database backup restore order.
Create
InitialConnectionfor TCP initial peers.New Maximum Message Size property to limit output datagrams size.
Use
PID_DOMAIN_IDduring PDP.Ubuntu example testing automation infrastructure.
Update versions in fastdds.repos file.
This release includes the following improvements:
Make
DataReader::return_loanreturnRETCODE_OKon loanable sequences without loans.Use absolute paths when loading XML files.
Remove
FASTCDR_VERSION_MAJOR == 1related code.Setting
vendor_idon receivedCacheChange_t.Builtin data related improvements.
GitHub repository management.
Update fastcdr thirdparty.
Documentation updates due to major version change.
This release includes the following fixes:
Handle errors when setting socket buffer sizes.
Do not require
PYTHON_VERSIONto be defined in .bat files.Use
%*instead ofloopin .bat scripts.Set DataSharing in
WriterProxyDataandReaderProxyData.Minor fix in
DDSBlackboxTestsBasic.cpp.Fix PDP and EDP unittest compilation.
Fix
AllocTestcompilation.Correct liveliness state in a multiple reader and one writer scenario.
Only apply content filter to ALIVE changes.
Fix compilation when building static library.
Properly delete builtin statistics writers upon
delete_contained_entities().Correctly initialize
MatchingFailureMaskconstants to be used with thestd::bitsetAPI.Change monitor service writer entity id.
Fix EDP build warning without security.
Fix compilation warning.
Fix discovery server not connecting due to ports logic.
Fix assertion in
TopicPayloadPool::release_history.Fix topic interference on
liveliness_changedstatus.Fix typo in CMakeLists.txt.
Solve
SecurityManagermemory issue.Fuzzer regressions and fix build issues.
Address build issues for documentation and different platforms.
Add unsigned specification to literals.
Important
When upgrading to version 3.0.0 it is required to regenerate generated source from IDL files using Fast DDS-Gen v4.0.0.
Version 2.13 (EOL)¶
Version 2.13.6 (EOL)¶
This release includes the following improvements:
Create InitialConnection for TCP initial peers
Only apply content filter to ALIVE changes
Update version support documentation
Add XML configuration for
FlowControllerDescriptorGithub CI improvements
This release includes the following fixes:
Fix DS servers not connecting due to ports logic
Correctly initialize
MatchingFailureMaskconstants to be used with thestd::bitsetAPIFix topic interference on
liveliness_changedstatusProperly delete builtin statistics writers upon
delete_contained_entities()Fix Latency tests
Remove doxygen warnings
Note
When upgrading to version 2.13.6 it is advisable to regenerate generated source from IDL files using Fast DDS-Gen v3.2.1.
Version 2.13.5 (EOL)¶
This release includes the following features in an ABI compatible manner:
New Maximum Message Size property to limit output datagrams size
This release includes the following improvements:
Improve ThreadSettingsQoS logging
Allow processing of AckNack submessages with
count == 0Internal refactor on port handling
Do not require
PYTHON_VERSIONto be defined in .bat filesUse
%*instead of loop in.batscriptsConsider library behavior changes as ABI breaks in the PR template checklist
Refactor IStatusQueryable and make monitor service interfaces private
Automatically unmatch remote participants on participant deletion
Handle errors when setting socket buffer sizes
Github CI management:
Refactor Github CI sanitizer related jobs
Build Fast DDS Python bindings in Fast DDS Docs Github CI job
Build ShapesDemo on Ubuntu Github CI
Fix Python Installation version in Github CI. Address failing system tests environment issues.
Fix sanitizers CI test summary report
Run selected VS tool on Windows CI
Increase sleep to miss the deadline in macOS flaky tests
Fix ShmTransport buffer recovery MacOS flaky test
Set fallback branch for
get_related_branch_from_repocorrectlyAdd DNS entries to hosts files on github workflows
This release includes the following fixes:
Add check for XML API to PR template
Use absolute paths when loading XML files
Fix some leaks in XML DynamicTypes Parser
Force unlimited ResourceLimits if lower or equal to zero
Enforce SHM ports open mode exclusions
Run
is_plainmethod with the corresponding data representationRemoved warning
Don’t require Fast CDR v2 in examples
Make reader
get_first_untaken_info()coherent withread()/take()Fix leak in
SecurityManager::participant_volatile_message_secure_writer_Fix CVE-2024-30258 / CVE-2024-30259
Fix support for
@keyannotation in Dynamic typesSet DataSharing in Writer|ReaderProxyData
Fix on_sample_lost notification on best-effort readers for fragmented samples
Correct liveliness state in a multiple reader - one writer scenario
Note
When upgrading to version 2.13.5 it is advisable to regenerate generated source from IDL files using Fast DDS-Gen v3.2.1.
Version 2.13.4 (EOL)¶
This release includes the following features in an ABI compatible manner:
This release includes the following improvements:
Monitor service properly managing instances
Effectively assert
AUTOMATIC/MANUAL_BY_PARTICIPANTlivelinessAdd catch of out-of-range exception for thread settings port
TCP transport improvements:
TCPSendResourcescleanupTCP first message loss
Set real TCP
non_blocking_sendlimitation
This release includes the following fixes:
Fix hidden overloaded virtual methods
Fix Discovery Server over TCP using logical port
Protect asio exception fix
Fix flaky Log tests
Fix CVE-2024-28231
Add missing virtual destructor for StatisticsAncillary
Increase ack waiting time in
reliable_on_unack_sample_removedFix versions in fastrtps.repos
GitHub CI fixes:
Fix CI version management
Add manual Ubuntu Github CI
Avoid running GitHub CI if PR has conflicts
Migrate apt package installation action to eProsima-CI
Only run PRs CI when review requested
Pin CMake version and
vm.mmap_rnd_bitsin sanitizer workflowsImprove filtering of DNS tests
Note
When upgrading to version 2.13.4 it is advisable to regenerate generated source from IDL files using Fast DDS-Gen v3.2.1.
Version 2.13.3 (EOL)¶
This patch release includes the following improvements:
Enabling multiple interfaces through whitelist in TCP servers
Set LARGE_DATA Participants logic with the same listening ports
Check History QoS inconsistencies
This patch release includes the following fixes:
Prevent index overflow and correctly assert the end iterator in DataSharing
Fix the shared memory cleaning script
Fix TCP reconnection after open logical port failure
Fix data race on PDP
Fix doxygen docs warnings. Prepare for compiling with Doxygen 1.10.0
Add missing TypeLookup listeners
Restore Blackbox tests names
Add macOS Github CI
Set 2.11.x as EOL
Note
When upgrading to version 2.13.3 it is advisable to regenerate generated source from IDL files using Fast DDS-Gen v3.2.1.
Version 2.13.2 (EOL)¶
This patch release includes the following fixes and improvements:
Improve environment variable substitution algorithm
Add large data to the Advanced Configuration example
Discard already processed samples on
PDPListenerIgnore
0x8007if coming from other vendorTCP unique client announced local port
TCP non-blocking send
TCP Client&Server Participant Decision-Making
Add non-throwing getters for socket info
Add a keyed fragmented change to the reader data instance only when it is completed
Include a variety of terminate process signals handlers in the discovery server
Make DataWriters always send the key hash on keyed topics
Update Fast DDS types with Fast DDS Gen to include
<cstdint>in v1 typesAdd serialization for Log::Kind to ostream
Fix wrong log info messages on TCP
Return const reference in
get_log_resourcesRemove unnecessary warning
Avoid a maybe-uninitialized warning
Add static cast to an unused variable
Prepare for v3.0.0 branch out
Windows CI fixes
Note
When upgrading to version 2.13.2 it is advisable to regenerate generated source from IDL files using Fast DDS-Gen v3.2.1.
Version 2.13.1 (EOL)¶
This release includes the following improvements:
Downgrade CMake minimum required version to 3.20.
Update PR template to include check for PR description, title and backports.
Update Fast CDR submodule to v2.1.3.
This patch release includes the following fixes:
Revert wrong fix for TCP deadlock on channel reuse.
Fix wrong history selection when removing PDP samples.
Fix data race when processing incoming PDP samples on different threads.
Fix DNS test filter in CMakeLists.
Fix deserialization of unions in generated code.
Note
When upgrading to version 2.13.1 it is advisable to regenerate generated source from IDL files using Fast DDS-Gen v3.2.1.
Version 2.13.0 (EOL)¶
This release includes the following features:
Support Monitor Service.
Enable configuration of thread settings for all threads (both through the C++ API and XML configuration files).
Support Autofill port (automatic assignment of a port) for TCP Transport listening port.
Support TCP for Discovery Server CLI and environment variable.
Usage of gtest_discover_tests.
Define a super client by environment variable.
Support adding interfaces to the interface whitelist by the name.
Add new methods to configure Builtin Transport.
Support DataRepresentationQos.
Change serialize function default behavior to omit the data representation.
Upgrade Fast CDR submodule to v2.1.2.
Update roadmap & platforms support.
This release includes the following improvements:
Rerun failed tests with ctest option instead of colcon’s.
Add CCache to all CI jobs.
This release includes the following fixes:
Fast DDS bugfixes
Fix compilation of XMLProfileParserTests when building without security.
Improve IgnoreNonExistentSegment test for Windows.
Add missing thread includes.
Fix warning in Mac rewarding unnecessary lambda capture.
Use SO_EXCLUSIVEADDRUSE for Win32 unicast listening sockets.
Fix gtest discovery timeout.
Mark on_participant_discovery overload removal.
Fix uninitialized member in BuiltinAttributes class.
Fix set affinity directive for Android.
Fix Monitor Service types & test without security.
Fix TCP deadlock on channel reuse.
Fix DNS filter in CMakeLists file for tests.
Fix memory issues related to ciphering payload.
Fix a bad-free when receiving a malformed DATA_FRAG submessage.
Fix CVE-2023-50257.
Fix compilation of Fast DDS Python tests.
Fix data race on writer destruction while sending heartbeat.
Fix build with TLS, when SECURITY=OFF and NO_TLS=OFF.
CI fixes:
Fix colcon on github CI.
Better handling of trigger events in docs CI.
Note
When upgrading to version 2.13.0 it is advisable to regenerate generated source from IDL files using Fast DDS-Gen v3.2.0.
Version 2.12 (EOL)¶
Version 2.12.2 (EOL)¶
This release includes the following features:
Methods to configure transport scenarios
Support
Autofill port(automatically set the port) for TCP TransportSupport TCP for Discovery Server CLI and environment variable
Define a super client by environment variable
Change serialize function default behaviour to omit the data representation
LARGE_DATAParticipants logic with same listening portsTCP Client&Server Participant Decision-Making logic
Enabling multiple interfaces through whitelist in TCP servers
Add macOS and Ubuntu Github CI
This release includes the following improvements:
Improve environment variable substitution algorithm
Upgrade dependency version to last patch version in .repos file
Rerun failed tests with ctest option instead of colcon’s
Remove unnecessary TCP warning
Update PR template to include check for PR description, title and backports
Improvements in GitHub CI
This release includes the following fixes:
Fix TCP reconnection after open logical port failure
TCP unique client announced local port
TCP non-blocking send
Fix wrong log info messages on TCP
Improve
IgnoreNonExistentSegmenttestUse
SO_EXCLUSIVEADDRUSEfor Win32 unicast listening socketsFix DNS filter in CMakeLists file for tests
Fix bad-free when receiving malformed DATA_FRAG submessage
Fix memory problem related to ciphering payload
Fix CVE-2023-50257
Fix build with TLS, but not security
Fix comparison in
remove_from_pdp_reader_historyFix data race in
PDPListenerandSecurityManagerDiscard already processed samples on
PDPListenerFix .repos versions
Fix the shared memory cleaning script
Fix data race on writer destruction while sending heartbeat
Return
constreference to the shared pointer instead of a copy inget_log_resourcesIgnore
0x8007if coming from other vendorFix Doxygen docs warnings and prepare for compiling with Doxygen 1.10.0
Include variety of terminate process signals handler in discovery server
Add missing
TypeLookuplistenersAdd a keyed fragmented change to the reader data instance only when its completed
Fix data race on PDP
Check History QoS inconsistencies
Make DataWriters always send the key hash on keyed topics
Prevent index overflow and correctly assert the end iterator in DataSharing
Fix uninitialized member in
RTPSParticipantAttributesRemove unnecessary
std::moveinFileWatch.hppcausing warningAdd missing thread include
Add missing virtual destructor for
StatisticsAncillaryProtect asio exception
TCPSendResourcescleanupDowngrade CMake version to 3.20
Version 2.12.1 (EOL)¶
This release includes the following improvements:
Support for linking with Fast CDR v1.
The period for the timer within the DisablePositiveACKsQosPolicy is now updatable.
Log error message upon receiver resource creation failure.
CI and repository improvements.
Simplify code in CDRMessage.
This release includes the following fixes:
Fast DDS bugfixes
Fix transient local durability for reliable readers using intra-process and data-sharing.
Use STL implementation of Timed/RecursiveTimedMutex when MSVC >= 19.36.
Fix updatability of immutable DataWriterQos.
Fix the clang build for clang 14.
Fix remote locators filtering when whitelist provided.
Fix Data Race when updating liveliness changed in WLP.
Add XML parser bit_bound bounds check.
Fix missing mandatory attribute check in XML parser struct type.
SHM transport: ignore non-existing segment on pop.
Fix: mac address overflow on Windows.
CI fixes:
Fix flow controllers unit tests compilation when using Fast CDR from thirdparty.
PubSubAsReliable test fix.
FileWatchTest fix for github windows CI.
Note
When upgrading to version 2.12.1 it is advisable to regenerate generated source from IDL files using Fast DDS-Gen v3.1.0.
Version 2.12.0 (EOL)¶
Note
This release upgrades the following Fast DDS dependencies:
Please, read also the release notes of Fast DDS-Gen v3.0.0 to be aware of every possible break in the application code.
As Fast DDS dependencies have been upgraded to new major releases, depending on the types defined in the IDL files, it might be required to modify the user application source code besides recompiling it (more information can be found in the corresponding release notes).
Note
There is a minor API break with previous v2.x versions: MEMBER_INVALID identifier was declared using #define.
In order to prevent polluting the user workspace, it has been transformed into a constexpr within
eprosima::fastrtps::types namespace.
This release includes the following features:
New participant property to configure SHM transport metatraffic behavior.
Exposed custom payload pool on DDS DataWriter and DataReader declaration.
Feature example.
Dependencies
Upgrade internal type supports using latest Fast DDS-Gen release v3.0.0. This release introduces the following features:
Support for @optional builtin annotation <optional_members>.
Support for @extensibility builtin annotation <extensibility>.
Upgrade Fast CDR submodule to v2.0.0 introducing XCDR encoding version 2.
This release includes the following improvements:
fixed_stringcomparison operators.Remove mutex from TimedEventImpl (#3745, #3760)
Performance improvements on intraprocess and datasharing.
Improve Shared Memory resilience to crashing participants.
Improve scripts shebang portability.
Use
foonathan_memoryto reduce allocations in SharedMemManager.
This release includes the following fixes:
- Fast DDS bugfixes
Fixed XMLParser null-dereference when parsing log configuration.
Allow participant XML profiles with no
<rtps>tag.Fix encapsulation format in Writer Liveliness Protocol.
Fix
DomainParticipant::register_remote_typereturn when negotiating type.Fix strict real-time feature when using Flow Controller feature.
Fix ParameterPropertyList increment operators.
Fix bad-free when receiving malformed DATA submessage.
Fix asymmetric whitelist matching.
Fix heap-use-after-free on XMLElementParser.
Fix History remove change return statement.
- CI fixes
Fix RemoteBuiltinEndpointHonoring blackbox test.
Improve repository workflows.
Use FASTRTPS_NO_LIB on unittest root folder.
Fix Windows workflow.
- Tools
Remove C++11 check in
fastdds-discovery-serverCLI tool.
- Examples
Fix HelloWorldDataSharing data type.
- Documentation
Doxygen typos.
- Repository
Remove 2.9.x as active branch.
- Non Tier 1 support
Fixed SHM in 32-bit architectures.
Fix warning on Win32 architecture.
Note
Upgrading to version 2.12.0 requires to regenerate generated source from IDL files using Fast DDS-Gen v3.0.1.
Version 2.11 (EOL)¶
Version 2.11.3 (EOL)¶
This release includes the following features in an ABI compatible manner:
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
Custom pools on DDS layer (DataWriter and DataReader)
This release includes the following improvements:
Allow participant profiles with no rtps tag
Add Log warning message upon receiver resource creation failure, instead of an error
Updatable disable_positive_acks period
Backport workflows from master
Update GitUtils.cmake
Use foonathan memory manager for reducing allocations in
SharedMemManager.hppRerun failed tests with ctest option instead of colcon’s
Add CCache to all CI jobs
Simplify code in
CDRMessageTCP unique client announced local port
Make DataWriters always send the key hash on keyed topics
Include terminate process signals handler in discovery server
This release includes the following fixes:
Fix encapsulation format in WLP used for the
ParticipantMessageDataFix
DomainParticipant::register_remote_typereturn when negotiating typeFix
RemoteBuiltinEndpointHonoringblackbox testFix .repos branches
Fix bad-free when receiving malformed DATA submessages
Fix clang warnings
Use STL implementation of
Timed/RecursiveTimedMutexwhenMSVC >= 19.36Fix the clang build for clang 14
Fix
HelloWorldDataSharingexample idlUse
FASTRTPS_NO_LIBon unittest root folderFix
Data Racewhen updating liveliness changed in WLPFix TCP sender resources creation
Fix flow controllers unit tests compilation when using
Fast CDRfrom thirdpartyAdd XML parser
bit_boundbounds checkFix branch selection on Github CI
Better handling of trigger events in docs CI
Use
SO_EXCLUSIVEADDRUSEfor Win32 unicast listening socketsFix
PubSubAsReliabletestFix
FileWatchTestfor Github windows CIFix mac address overflow on windows
Fix missing mandatory attribute check in XML parser struct type
Update TLS unit test certificates
Add missing thread include
Add tests for reconnection with same
GUIDNotify data-sharing listener at the end of a successful matching in intraprocess
Fix TCP deadlock on channel reuse
TCP non-blocking send
Fix DNS filter in CMakeLists file for tests
Fix bad-free when receiving malformed DATA_FRAG submessage
Fix memory problem when ciphering payload
Fix CVE-2023-50257
Fix build with TLS, but not security
Fix std::move warning
Update PR template to include check for PR description, title and backports
Fix data race on writer destruction while sending heartbeat
Fix comparison in
remove_from_pdp_reader_historyFix data race in PDPListener and SecurityManager
Fix an uninitialized value when building with GCC 13.2.0
Fix max clash with Windows CI
Discard already processed samples on PDPListener
Remove unnecessary TCP warning
Fix wrong log info messages on TCP
Revert “TCP deadlock on channel reuse”
Return const reference in
get_log_resourcesAdd a keyed fragmented change to the reader data instance only when it is completed
Fix and refactor Windows Github 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.
Version 2.11.2 (EOL)¶
This release includes the following improvements:
Improve Shared Memory resilience to crashing participants
User configuration for Shared Memory metatraffic
Performance improvements on intraprocess and data-sharing
This release includes the following fixes:
Remove Mutex from TimedEventImpl
Replace uint64_t by 8 in
alignasspecifierFix XMLParser null-dereference in
parseLogConfig
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.11.1 (EOL)¶
This release includes the following improvements:
Correct CONTRIBUTING.md typo
Improve validation on PID_PROPERTY_LIST deserialization
Apply eProsima brand style to Fast DDS repository
Fix spelling mistake: SUBSTRACTION to SUBTRACTION
This release includes the following fixes:
Fixed long-standing reconnection issue on SHM transport
Added missing include
Fixed Boost handle usage regression
Fix StatelessWriter locators filtering
Avoid double definition of FASTDDS_ENFORCE_LOG_INFO
Explicitly register type object in ContentFilteredTopicExample
Properly handle zero-sized payloads on dynamic memory payload pools
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.11.0 (EOL)¶
This release includes the following features:
Ignore every local endpoint within the DomainParticipant preventing local matching.
Extend DynamicDataHelper API providing a
printoverload withstd::ostreamas parameter.TypeLookup Service settings.
Static Discovery XSD Schema.
This release includes the following improvements:
- Fast DDS improvements
Assign minimum available participant ID to new participants.
Export symbols correctly on ContentFilteredTopic.
Improve content filter expression parameters check and verbosity.
Check TCP headers endianness.
Security module: distinguished names (DN) comparison.
- Fast DDS deprecation
DDS:Crypto:AES-GCM-GMAC configuration using Property Policy QoS (security vulnerability).
- CI improvements
Include BitmapRange unit tests.
Support for running some tests in parallel.
Windows workflow.
- Build system
Improve CMake target loading. Removal of
FASTDDS_STATICCMake option.Avoid auto-linkage using CMake.
- Dependencies
Upgrade internal type supports using latest Fast DDS-Gen release v2.5.1.
Upgrade Fast CDR submodule to v1.1.0.
- Examples
Admit XML configuration files in AdvanceConfigurationExample.
New Discovery Server example.
This release includes the following fixes:
- Fast DDS bugfixes
Fix crash when creating two participants with the same fixed participant ID.
Fix crash when calling
on_requested_deadline_missed()callback.Fix crashes caused by not capturing every Fast CDR exception.
Correctly resolve aliases in DDSSQLFilter.
Wait for log background thread initialization on the first queued entry.
Fix data race when accessing
WRITE_PARAM_DEFAULTstatic variable.Fix partition copy in QoS.
Fix Data-Sharing delivery when data_count is zero.
Fix API Fast DDS v2.10.0 API break calling correctly.
on_participant_discovery()callbacks.Security module: Honor Allow Unauthenticated Participants flag.
Fix concurrent access to
load_profiles().Fix UBSan (Undefined Behavior Sanitizer) issues.
Improve Doxygen documentation about DomainParticipantListener discovery callbacks.
- XSD fixes
Set TransportDescriptor kind parameter as optional.
Correctly assign QoS to the proper endpoint.
Add missing tags.
- CI fixes
Fix null dereference in fuzzer code.
Limit Thread Sanitizer memory usage to prevent runner shutdown.
Use correct time unit in latency tests.
Run communication tests.
- Examples
Correct DDS entity deletion order.
- Installer generation
Add documentation fallback when the documentation tag is not found.
- Repository
Remove 2.1.x as active branch.
Remove 2.8.x as active branch.
- Non Tier 1 support
Fix build on MSVC 19.36.
Forward compatibility with Boost inter-process 1.74+.
Include missing header files required for compiling with GCC 13.
QNX build fixes.
Fix build issues in RPM 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.10 (EOL)¶
Version 2.10.7 (EOL)¶
This release includes the following fixes:
Fix CVE-2025-24807
Release
participant_statelesssecure builtin writer history change when authentication has finishedImprove
OpenSSLlifecycle handlingFix comparison in
is_update_allowedArithmetic overflow in fragment size calculations
Fix
-Werror=template-id-cdtorFix double-locking issue in
DataSharingListenerImprove
PDPClientinitializationFix unique network flows with TCP transports
Decouple transport receivers creation using unique network flows
Fix EDP reliability timings
Fix
several_writers_on_unack_sample_removedflaky testReliable volatile change dropped when all history acked
Create initial connection for TCP initial peers
Filter interested readers on PDP writer
Fix cleanup race condition with exclusive and shared lock files
Fix TCP discovery server locators translation
Use correct algorithm strings on
PermissionsTokenandIdentityTokenFix potential deadlock between
StatefulWriterandFlowControllerFix log category name macro collision in
MacOSUnacknowledged sample removed in KeepAll mode
Fix assertion on
OutputTrafficManager
This release includes the following improvements:
Log any errors before
cancel_initImprove
max_allocationscalculation on SHM transportNew property to select preferred key agreement algorithm
Update reception timestamp when it is added to the instance
Improve Blackbox TCP tests suite
Handle socket buffer size setting when system’s maximum exceeded
Address some compilation warnings with GCC latest
Refactor builtin writers & readers creation
Update sqlite from 3.36.0 to 3.47.2
Regenerate code with Fast DDS Gen v2.5.3
Github CI management:
Force Asio thirdparty in MacOS CI
Get correct Fast CDR related branch in CI
Update submodules when cloning Fast DDS on 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.
Version 2.10.6 (EOL)¶
This release includes the following fixes:
Remove double
//in some installation pathsDiscard changes with big key-only payload and no key hash
Fix DataReaderHistory regression
Be less strict with parameter lengths
Check if
SHMtransport is disabled inLARGE_DATAmodesFix issues in Dynamic Network Interfaces
This release includes the following improvements:
Add references to new nightly jobs per supported branch in README
Update commercial support section in README
Modify help command of XML CLI tool
Github CI management:
Allow running CI on external contributions
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.10.5 (EOL)¶
This release includes the following features in an ABI compatible manner:
Add XML configuration for FlowControllerDescriptor
This release includes the following improvements:
Use
%*instead of loop in.batscriptsDocumentation improvements
Use absolute paths when loading XML files
Reduce tests flakiness
Add unsigned specification to literals
Github CI management:
Set fallback branch for
get_related_branch_from_repocorrectlyFix sanitizers CI test summary report
Run selected VS tool on Windows CI
Use token for CCache action
Refactor Fast DDS Ubuntu CI to include several tests
Avoid CCache in some Github workflows
Build profiling tests as alternate build in Ubuntu CI
Add Ubuntu weekly CI
Fix python version in sanitizers CI
Fix windows CI and add vanilla build step in Ubuntu CI
Use eProsima-CI action to install Qt
Update types regeneration script homing path
This release includes the following fixes:
Automatically unmatch remote participants on participant deletion
Only apply content filter to ALIVE changes
Fix liveliness state in a multiple reader - one writer scenario
Fix topic interference on
liveliness_changedstatusFix DS servers not connecting due to ports logic
Fix issue with exclusive ownership and unordered samples
Fix SecurityManager memory issue
Correctly initialize
MatchingFailureMaskconstants to be used with thestd::bitsetAPIFix data race in
TypeObjectFactory::get_instanceProperly delete builtin statistics writers upon
delete_contained_entities()Fix secure simple participants with initial peers not matching over TCP
Fix access violations on XML parser detected by OSS-fuzz
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.10.4 (EOL)¶
This release includes the following features in an ABI compatible manner:
TCP Client and Server Participant Decision Making.
Authentication Handshake Properties documentation.
New max_message_size property to limit output datagrams size.
This release includes the following improvements:
Return const reference in
get_log_resources.Include variety of terminate process signals handler in discovery server.
Check History QoS inconsistencies.
Make DataWriters always send the key hash on keyed topics.
LARGE_DATAParticipants logic with same listening ports.Effectively assert
AUTOMATIC/MANUAL_BY_PARTICIPANTliveliness.Improve checklist on PR template.
Allow processing of
AckNacksubmessages withcount == 0.Internal refactor on port handling.
Upgrade Fast CDR submodule to v1.0.28
TCP transport improvements:
TCP
non-blockingsend.Enabling multiple interfaces through whitelist in TCP servers.
Set real TCP
non-blocking-sendlimitation.Clean up TCP send resources on peer disconnection.
Github CI management:
Add macOS Github CI.
Avoid running GitHub CI if PR has conflicts.
Add Ubuntu Github CI.
Improve CI version management.
Pin CMake version and
vm.mmap_rnd_bitsin sanitizer workflows.Only run PRs CI when review is requested.
Refactor Github CI sanitizer related jobs.
Build
ShapesDemoon Ubuntu Github CI.Fix Python version and environment.
Add DNS entries to hosts files on Github workflows.
Build Fast DDS Python bindings in Fast DDS Docs Github CI job.
This release includes the following fixes:
Fix and refactor Windows Github CI.
Fix wrong log info messages on TCP.
Add a keyed fragmented change to the reader data instance only when complete.
Prevent index overflow and correctly assert the end iterator in DataSharing.
Fix the shared memory cleaning script.
Fix CI documentation workflow label triggering.
Add missing virtual destructor for
StatisticsAncillary.Migrate apt package installation action to
eProsima-CI.Add missing
TypeLookuplisteners.Fix doxygen docs warnings. Prepare for compiling with
Doxygen 1.10.0.Upgrade dependency version to last patch version in
.reposfile.Fix TCP reconnection after open logical port failure.
Avoid unhandled asio exceptions.
Fix
CVE-2024-28231.Fix data race on PDP.
Fix flaky Log tests.
Fix some flaky MacOS tests.
Fix hidden overloaded virtual methods.
Fix test filtering in CMake files.
Avoid first message loss in TCP.
Fix
CVE-2024-30258 / CVE-2024-30259.Enforce SHM ports open mode exclusions.
Force unlimited ResourceLimits if lower or equal to zero.
Removed warning in
ParameterList.Make
DataReader::get_first_untaken_info()coherent withread()/take().Fix leak in
SecurityManager.Fix support for
@keyannotation inDynamicTypes.Fix leaks in XML parser for
DynamicTypes.Fix Discovery Server over TCP.
Handle errors when setting socket buffer sizes.
Fix
on_sample_lostnotification on best-effort readers for fragmented samples.Fix DataSharing QoS deserialization.
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.10.3 (EOL)¶
This release includes the following features in an ABI compatible manner:
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
Custom pools on DDS layer (DataWriter and DataReader)
This release includes the following improvements:
Log warning upon receiver resource creation failure
Simplify code in
CDRMessageBackport workflows from master
Rerun failed tests with ctest option instead of colcon’s
Use foonathan memory manager for reducing allocations in
SharedMemManager.hppAdd CCache to all CI jobs
This release includes the following bugfixes:
Fix
RemoteBuiltinEndpointHonoringblackbox testFix bad-free when receiving malformed DATA submessage
Fix clang warnings
Use STL implementation of
Timed/RecursiveTimedMutexwhenMSVC >= 19.36Notify data-sharing listener at the end of a successful matching in intraprocess
Fix the clang build for clang 14
Fix
HelloWorldData-Sharing example idlFix the behaviour of
disable_positive_acksperiodFix
DomainParticipant::register_remote_typereturn when negotiating typeFix Data Race when updating liveliness changed in WLP
Fix TCP sender resources creation
Fix flow controllers unit tests compilation when using
Fast CDRfrom thirdpartyAdd XML parser
bit_boundbounds checkAdd tests for reconnection with same GUID
Fix Github Windows CI
Fix PubSubAsReliable test
Use
FASTRTPS_NO_LIBon unittest root folderFix missing mandatory attribute check in XML parser struct type
Fix mac address overflow on windows
Use
SO_EXCLUSIVEADDRUSEfor Win32 unicast listening socketsFix FileWatchTest for Github windows CI
Add missing thread include
Update TLS unit test certificates
Select correct .repos file on push events
Fix documentation CI branch
Fix TCP deadlock on channel reuse
Fix DNS filter in CMakeLists file for tests
Fix bad-free when receiving malformed DATA_FRAG submessage
Fix memory problem when ciphering payload
Fix build with TLS, but not security
Fix CVE-2023-50257
Fix data race on writer destruction while sending heartbeat
Fix comparison in
remove_from_pdp_reader_historyFix data race in PDPListener and SecurityManager
Update PR template to include check for PR description, title and backports
Fix std::move warning
Revert “TCP deadlock on channel reuse”
Fix max clash with Windows CI
Remove unnecessary TCP warning
Discard already processed samples on
PDPListenerTCP unique client announced local port
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.10.2 (EOL)¶
This release includes the following improvements:
Fix Data-Sharing delivery when data_count is zero
Improve performance of intraprocess plus data-sharing
Improve content filter expression parameters checks and verbosity
Improve validation on PID_PROPERTY_LIST deserialization
Participant ignore local endpoints
Pick smallest available participant ID for new participants
Improve endpoint QoS XML tags
Forward compatibility with boost interprocess 1.74+
Cap Thread Sanitizer memory usage to prevent runner shutdown
Allow participant XML profile with no <rtps> tag
Add unsupported note in API documentation to new ignore DomainParticipantListener callbacks
Add documentation version fallback
This release includes the following bugfixes:
Fixed long-standing reconnection issue on SHM transport
Fix null dereference when fuzzing
Fix segfault when creating two participant with same fixed id
Fix UBSan (Undefined Behavior Sanitizer) issues
Fix listener selection for on_requested_deadline_missed
Fix build on msvc 19.36.32528
Fix XML schema to set Transport descriptor kind as NOT mandatory
Fix missing includes
Fix overhead time unit
Fix request reply example spelling typo
Fix topic deletion after endpoint in examples
Fix Data-Sharing delivery when data_count is zero
Wait for log background thread initialization on the first queued entry
Fix alias resolve in DDSSQLFilter
Fix partition copy in QoS
Fix StatelessWriter locators filtering
Fix XMLParser null-dereference in parseLogConfig
Fix encapsulation format in WLP
Replace uint64_t by 8 in alignas specifier
Capture all Fast CDR exceptions
Security module: Honor allow_unauthenticated_participants flag
Explicitly register type object in ContentFilteredTopicExample
Avoid double definition of FASTDDS_ENFORCE_LOG_INFO
Fix API Fast DDS v2.10.0 API break calling correctly on_participant_discovery callbacks
Remove mutex from TimedEventImpl
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.10.1 (EOL)¶
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.
Version 2.10.0 (EOL)¶
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_typeandWriterListener::on_incompatible_typeempty API.
This release includes the following improvements:
- Fast DDS improvements
Improve behavior when
STRICT_REALTIMECMake option is not enabled.Using functors for
for_matched_readersparameter.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
SIGTERMsignal.
- 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_INDIVIDUALCMake 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 (EOL)¶
Version 2.9.2 (EOL)¶
This release includes the following ABI compatible improvements:
- Library improvements
Improve behavior when
STRICT_REALTIMECMake option is not enabled.Using functors for
for_matched_readersparameter.Improve auto GAPs in Data Sharing.
Improve content filter expression parameters check and verbosity.
Improve validation on
PID_PROPERTY_LISTdeserialization.
- Fast DDS CLI
Handle
SIGTERMsignal.
This release includes the following bugfixes:
- Security vulnerability
Fix chain of trust issues with a single CA certificate.
- Library bugfixes
Fix RTPS StatelessWriter ACK check.
UBSan (Undefined Behavior Sanitizer) fixes.
Fix backwards compatibility using SHM communication.
Correctly handle builtin endpoint mask.
Fix crash when enabling DisablePositiveACKsQosPolicy with remote best-effort readers.
Validity check for first sequence number.
ASAN (Address Sanitizer) fixes.
Correctly assign multicast port to multicast initial peers.
Protect against uncaught exception in SHM segment creation.
Initial acknack backoff.
Fix crash when calling
on_requested_deadline_missed()callback.Security module: Honor
allow_unauthenticated_participantsflag.Fix crashes caused by not capturing every Fast CDR exception.
Correctly resolve aliases in DDSSQLFilter.
Wait for log background thread initialization on the first queued entry.
Fix partition copy in QoS.
Fix Data-Sharing delivery when
data_countis zero.Fix StatelessWriter locators filtering.
Avoid double definition of
FASTDDS_ENFORCE_LOG_INFO.Fixed long-standing reconnection issue on SHM transport.
- CI fixes
Fix test building when using
GTEST_INDIVIDUALCMake option.Use correct time unit in latency tests.
- Synchronization fixes
Take mutex when removing local reader in WLP.
Fix data races in SecurityManager authentication process.
- Example fixes
Avoid creating entities within callbacks in DynamicHelloWorldExample.
Remove Asio dependency from DeadlineQosExample.
Correct DDS entity deletion order.
Explicitly register TypeObject in ContentFilteredTopicExample.
- Installer generation
Add documentation fallback when the documentation tag is not found.
- Non Tier 1 Support
Fix build for GCC5.
Fix build on MSVC 19.36.
Include right header when building for iOS.
Forward compatibility with Boost inter-process 1.74+.
Include missing header files required for compiling with GCC13.
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 (EOL)¶
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 (EOL)¶
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_WARNINGandEPROSIMA_LOG_ERROR.Add
ENABLE_OLD_LOG_MACROSCMake 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_STATISTICSCMake 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::stopwhile 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 (EOL)¶
Version 2.8.2 (EOL)¶
This release includes the following improvements:
Add ASAN CI tests for Fast DDS and Discovery Server
Mirror master onto both 2.8.x & 2.9.x
Doxygen documentation: add deprecation notice to ThroughputControllerDescriptor
Several fixes to remove warnings in Ubuntu Jammy (22.04)
Improve behavior when HAVE_STRICT_REALTIME is not set
Using functors in StatefulWriter.cpp for_matched_readers
Fix build on old compilers
Avoid creation of DynamicTypes on example
Implement a validity check for firstSN
This release includes the following bugfixes:
Fix bug in Topic creation with different Type Name
Fix tests failing with subprocess aborted error
Fix communication with asymmetric ignoreParticipantFlags
Added ignore_participant_flags() to Blackbox_FastRTPS PubSubReader.
Fix Deadlock in remove_participant (ResourceEvent thread) when compiled WITH_SECURITY
Fix failed tests when compiling with statistics enabled
Fix Windows StatistisQosTests.cpp linkage and Failed test
Fixing deadlock in WLP
Fix notification lost
Fix StatelessWriter ACK check
Fix total_unread_ consistent with reader’s history upon get_first_untaken_info()
Fix chain of trust issues
Fixed StatisticsSubmessageData unaligned access
Fix build error when GTEST_INDIVIDUAL is OFF
Correctly handle builtin endpoints mask
Added missing mutex to WLP::remove_local_reader
Handle SIGTERM in fast discovery server
Improve auto gaps in data sharing
Replaced SecurityManager temporary ProxyDatas with ProxyPools
Fix crash when disable_positive_acks is enable and the remote reader is best-effort
Protect from uncaught exception during SHM Segment creation
Fix asio dependency
Include the 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.8.1 (EOL)¶
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
SANITIZECMake option.Fixes reported by address sanitizer.
- Synchronization fixes:
Fix data races when creating DataWriters.
Ensure
shared_muteximplementation is consistent throughout supported platforms.
- Other fixes:
Include missing ReadCondition header.
Fix selection of output locators.
Fix null-dereference on
parseXMLEnumDynamicType.Include
2.8.xbranch 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 (EOL)¶
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::compareAPI tofixed_stringGet 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 (EOL)¶
Version 2.7.2 (EOL)¶
This release includes the following improvements:
Skip
writer_removedprocessing for unaccounted instances.Improve
GUID_toperator<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_muteximplementation 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:
DataWriter::write_w_timestamp()
DataWriter::register_instance_w_timestamp()
DataWriter::unregister_instance_w_timestamp()
DataWriter::dispose_w_timestamp()
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.5 (EOL)¶
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 (EOL)¶
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_REALLOCAllow 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_*_handleEnsure 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 (EOL)¶
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_toperator < 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
PDPListenerLimit
SequenceNumberSetnumber 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
LivelinessManagerFix interval loop on events
Fix run event when was cancelled
Validate sequence range on
CDRMessage::readSequenceNumberSetFix 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_tdeserializationProper 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
RTPSDomainUpdate 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:
New flow controller API
Added reception timestamp to SampleInfo
Exposing get_unread_count on DataReader
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 (EOL)¶
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 (EOL)¶
Version 2.1.4 (EOL)¶
This release includes the following improvements:
Improve auto GAPs in Data Sharing
Improve behavior when
STRICT_REALTIMECMake option is not enabledHandle SIGTERM in fast discovery server CLI
This release includes the following bugfixes:
Select correct listener for on_requested_deadline_missed
Correctly assign multicast port to multicast initial peers
Fix chain of trust issues with a single CA certificate
Correctly handle builtin endpoints mask
Fix build on MSVC 19
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.3 (EOL)¶
This release includes the following improvements:
Improve rediscovery on lossy environments.
This release includes the following bugfixes:
Fixed validation on
ParameterPropertyList_t.Fixed
SequenceNumberSet_tdeserialization.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 (EOL)¶
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 (EOL)¶
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 (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.
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 (EOL)¶
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 (EOL)¶
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 (EOL)¶
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 (EOL)¶
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 (EOL)¶
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 (EOL)¶
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 (EOL)¶
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 (EOL)¶
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 (EOL)¶
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 (EOL)¶
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.