v3.0.0
Fast DDS v3.0.0
This release includes the following API breaks:
- XTypes refactor (#4042, #3974, #4496, #4497, #4190, #4368, #4640, #4240, #4712, #4626, #4746, #4901, #4874, #4969, #4970, #4985, #5000, #4780, #4787, #5092, #4768, #5091)
- Regenerated IDL files with types header-only fastddsgen version (#4042)
- Implementation of
DynamicType
(#4190) - Implementation of
TypeLookup
listeners (#4240) - Implementation of
DynamicTypeBuilderFactoryImpl::create_type_w_type_object
(#4368) - Re-implementation of
TypeObjectRegistry
andTypeObjectUtils
classes (#3974) - Partial implementation of X-Types1.3 (#4640)
- Structure
DynamicType
inheritance fromTypeObject
(#4712) - Automatic
TypeObject
representation registration forDynamicTypes
(#4746) - Refactor
TypeObjectRegistry
(#4874) - Fix proxy block in
TypeLookup
service (#4901) - Added Annotation dependencies (#4497)
- Dynamic language binding tests (#4626)
- Improve X-Types interoperability (#4985)
- Only signed integers are allowed in Dynamic Language Binding enumerations (#4969)
- Refactor XML Parser to return
DynamicTypeBuilder
instead ofDynamicType
(#4970) - Make more flexible
EDP::valid_matching
withTypeInformation
(#5000) - Implementation of
DynamicData
to JSON serializer (#4780) - Implementation of
DynamicType
to IDL serializer (#4787) - Fixes for indirect hashes dependencies (#4496)
- Add missing
DynamicType
includes (#5092) - Add new tests for testing new key hash calculation according to DDS-XTypes 1.3 (#5091)
- Support
Type-Lookup
Service with new new GUID-less Discovery Server (#4768)
- Migration from RTPS to DDS (#4288, #4270, #4269, #4518, #4872, #4898, #4962, #4930, #5065)
- Migrate fastrtps namespace to fastdds (#4898)
- Migrate classes from
include/fastrtps
toinclude/fastdds
(#4518) - Remove
include/fastrtps
(#4930) - Migrate
fixed_size_string
file from fastrtps to fastcdr (#4269) - Migrate
ResourceManagement
to rtps attributes API (#4962) - Remove
RTPSParticipant
listener overloaded callbacks (#4872) - Move
Time_t
to dds namespace and some attributes toxmlparser
(#5065) - Migrate communication tests (#4288)
- Remove deprecated fastrtps tests (#4270)
- Make private previously public API (#4318, #4545, #4671, #4546, #4727, #4657, #4674, #4705, #4792, #4701, #4869, #4923, #4953, #5052, #5078, #5085)
- Make private the necessary headers from
include/fastrtps
(#4545) - Make XML Parser API private (#4318)
- Remove all redundant headers from
include/fastrtps
(#4546) - Make RTPS messages headers private (#4657)
- Make RTPS reader implementations private (#4674)
- Make RTPS writer impl private (#4869)
- Make security private (#4792)
- Make
NetworkConfiguration
private (#4671) - Make
ResourceEvent
private (#4705) - Make
TimedEvent
private (#4727) - Remove
WriterProxyData
from public APIs (#5052) - Remove
ReaderProxyData
from public APIs (#5078) - Remove
TopicAttributes
from public APIs and make it private inxmlparser
(#5085) - Remove unnecessary header and make private
SecurityException
andException
(#4701) - Make
ChangeForReader
,ReaderLocator
, andReaderProxy
private (#4923) - Make Blackbox tests not include any private API (#4953)
- Make private the necessary headers from
- Fastrtps package name migration to fastdds (#4251, #4500, #4576, #4963)
- GUIDLess Discovery Server (#4716)
- Gather-send implementation (#4537)
- Refactor IPayloadPool (#4892)
- Participant discovery structures refactor (#5042)
- Make all public headers .hpp (#4958)
const
qualify all data related inputs in DataWriter APIs (#4960)- Refactor RTPS reader APIs (#4875)
- Refactor RTPS writer APIs (#5028)
- Refactor RTPS
WriterHistory
(#4966) - Refactor
TopicDataType
(#5066) - Make
StdoutErrConsumer
defaultLogConsumer
(#4873) - All
DataWriter::write
overloads returnReturnCode_t
type (#5049) - Add XML configuration for
FlowControllerDescriptor
and removeThroughputController
(#4837) - Move
DataReader::TypeConsistencyEnforcement
andDataReader::DataRepresentation
fromTypeConsistency
toDataReaderQos
(#4823) - Migrate
BuiltinEndpoints
defines to variables (#4851) - Remove
string_convert
header and source (#4890) - Update Fast DDS docs QoS examples (#4842)
- Link SHM locator kind with Fast DDS major version (#5116)
- Discard local SHM locators that cannot be opened (#5118)
- Examples refactor for a more clear, homogeneous, and didactic explanation of several features (#4547, #4570, #4921, #4889, #4924, #4859, #4959, #5010, #4913, #5001, #5006, #5014, #5047, #4999, #5084, #5033, #5086, #5142, #5173)
- Examples refactor: Hello World (#4547)
- X-Types examples (#4924)
- Examples refactor: Configuration (#4570)
- Example refactor: Content filter (#4859)
- Example refactor: Custom payload pool (#4889)
- Examples refactor: Delivery mechanisms (#4959)
- Example refactor: Discovery Server (#4913)
- Examples refactor: Flow Controller (#4999)
- Example Refactor: Request-Reply (#5014)
- Examples refactor: Static EDP discovery (#5047)
- Example refactor: Security (#5006)
- Examples refactor: Topic Instances (#5033)
- Example refactor: RTPS (#5086)
- Fix non-defined duration Qos in configuration example (#5001)
- Fix flakiness on test with participants in the same container (#5010)
- Split example tests in different CTest tests (#4921)
- Fix lack of entity argument issue in configuration example (#5084)
- Fix windows issue with flow controller example (#5142)
- Remove unexisting links in example READMEs (#5173)
This release includes the following features:
- Type propagation policy (#5081)
- Create Participant with default profile (use environment XML configuration) (#4534)
- Create
DomainParticipantExtendedQos
class (#4779) - Add product version on Participant Discovery information (#4964)
- Automatically unmatch remote participants on participant deletion (#4817)
- Refactor Statistics module IDL (#4638)
- Change PDP discovery database backup restore order (#4740)
- Create
InitialConnection
for TCP initial peers (#4946) - New
max_message_size
property to limit output datagrams size (#4777) - Use
PID_DOMAIN_ID
during PDP (#4888) - Ubuntu example testing automation infrastructure (#4466)
- Update versions in fastdds.repos file (#4621)
This release includes the following improvements:
- Make
DataReader::return_loan
returnRETCODE_OK
on loanable sequences without loans (#4503) - Use absolute paths when loading XML files (#4751)
- Remove
FASTCDR_VERSION_MAJOR == 1
related code (#5073) - Setting
vendor_id
on receivedCacheChange_t
(#4978) - Builtin data related improvements (#5117)
- GitHub repository management (#4723, #4758, #4775, #4785, #4990, #5031, #5061, #5057, #5123, #5102, #5137)
- Prepare 3.0.x development branch to become master (#4723)
- Switch master to 3.0.x (#4758)
- Update .repos to use master branches (#4785)
- Migration guide (#5102)
- Update fastcdr thirdparty (#5123)
- Consider library behavior changes as ABI breaks in the PR template checklist (#4775)
- Update release support table (#4990)
- Update release support for v2.6.9 release (#5031)
- Update roadmap, release support and platform support docs (#5137)
- Set 2.13.x as EOL (#5061)
- Update 2.14 latest release in RELEASE_SUPPORT.md (#5057)
- GitHub CI improvements (#4294, #4322, #4323, #4358, #4450, #4791, #4776, #4815, #4816, #4771, #4853, #4931, #4860, #4971, #4979, #4986,#5009, #5023, #5036, #5038, #5035, #5051, #5074, #5083)
- Include CI workflows for 3.0.x branch (#4294)
- Fix 3.0.x workflows (#4322)
- Fix 3.0.x rebase workflow (#4323)
- GitHub CI for 3.0.x (#4358)
- Update mirror job (#4791)
- Remove
head_ref
branch for discovery server in Github action (#4450) - Add DNS entries to hosts files on GitHub CI workflows (#4776)
- Set fallback branch for
get_related_branch_from_repo
correctly (#4816) - Refactor Fast DDS Ubuntu CI to include several tests (#4860)
- Remove Windows v141 / VS 2017 build from master CI (#4853)
- Use token for CCache action (#4931)
- CI - Avoid CCache in workflows and nightly jobs (#4971)
- Add Ubuntu weekly CI (#5038)
- Migrate 2.6.x ci from nighty jobs to weekly jobs (#5023)
- Fix weekly CI cron expression (#5036)
- Remove Valgrind build dependency for profiling tests (#4986)
- Fix sanitizers CI test summary report (#4815)
- Fix build issues and update CI infrastructure to detect them (#5083)
- Fix python version in sanitizers CI (#5074)
- Fix flaky latency tests on MacOS (#5009)
- Fix
ShmTransport
buffer recovery MacOS flaky test (#4771) - Mitigate buffer recover test flakiness on MacOS (#5035)
- Mitigate
LogTests.flush_n
flakiness (#5051) - Update README.md with GitHub actions Ubuntu CI nightly (#4979)
This release includes the following fixes:
- Handle errors when setting socket buffer sizes (#4760)
- Do not require
PYTHON_VERSION
to be defined in .bat files (#4770) - Use
%*
instead ofloop
in .bat scripts (#4814) - Set DataSharing in
WriterProxyData
andReaderProxyData
(#4761) - Minor fix in
DDSBlackboxTestsBasic.cpp
(#4862) - Fix PDP and EDP unittest compilation (#4871)
- Fix
AllocTest
compilation (#4843) - Correct liveliness state in a multiple reader and one writer scenario (#4822)
- Only apply content filter to ALIVE changes (#4835)
- Fix compilation when building static library (#4813)
- Properly delete builtin statistics writers upon
delete_contained_entities()
(#4891) - Correctly initialize
MatchingFailureMask
constants to be used with thestd::bitset
API (#4922) - Change monitor service writer entity id (#5070)
- Fix EDP build warning without security (#4932)
- Fix compilation warning (#4945)
- Fix discovery server not connecting due to ports logic (#4941)
- Fix assertion in
TopicPayloadPool::release_history
(#5008) - Fix topic interference on
liveliness_changed
status (#4988) - Fix typo in CMakeLists.txt (#5039)
- Solve SecurityManager memory issue (#5115)
- Fix installation of some examples (#5108, #5111, #5113)
- Address some warnings when generating windows installer for v3.0.0 (#5152)
- Add unsigned specification to literals (#5162)
- Fuzzer regressions (#4939, #4961, #5007, #5080, #5122, #5163)
- Address build issues for documentation and different platforms (#4700, #4896, #4987, #5011, #5040, #5041)
- Changes in doxygen to fix warnings on documentation (#4700)
- Fix Doxygen errors for Doxygen versions prior to 1.8.19 (#4896)
- Remove Doxygen directive
@group
in enumerations andtypedefs
(#5011) - Fix compilation in Ubuntu 24.04 platforms (#4987)
- Fix Doxygen on Ubuntu 24.04 (#5041)
- Fix compilation on VS 2022 in Debug (#5040)
This release includes the following documentation updates:
- release_support.md, platform_support.md and roadmap.md (#5137)
PRs in merged order:
#4042, #3974, #4288, #4294, #4322, #4323, #4358, #4251, #4450, #4270, #4269, #4466, #4318, #4496, #4500, #4576, #4497, #4518, #4190, #4621, #4545, #4534, #4368, #4638, #4640, #4240, #4503, #4712, #4723, #4700, #4758, #4626, #4775, #4785, #4791, #4760, #4770, #4761, #4671, #4777, #4776, #4746, #4546, #4547, #4814, #4751, #4727, #4815, #4657, #4816, #4823, #4674, #4817, #4771, #4705, #4853, #4792, #4862, #4570, #4701, #4871, #4869, #4822, #4835, #4843, #4837, #4872, #4851, #4813, #4873, #4896, #4890, #4891, #4921, #4901, #4922, #4923, #4875, #4931, #4932, #4892, #4888, #4939, #4740, #4889, #4537, #4874, #4945, #4924, #4941, #4859, #4860, #4898, #4962, #4930, #4963, #4961, #4842, #4971, #4979, #4969, #4960, #4779, #4986, #4987, #4953, #4990, #4946, #4958, #4959, #4966, #5010, #5008, #5007, #5009, #4716, #5023, #4970, #4913, #4978, #5031, #4988, #5011, #5036, #5001, #4985, #5040, #5041, #5000, #5039, #5028, #4780, #5049, #5038, #5035, #5057, #5051, #4787, #5006, #5061, #5014, #5074, #5052, #5080, #5047, #4999, #5066, #5078, #5070, #5084, #5092, #5033, #5083, #5065, #5086, #5042, #5073, #5081, #5108, #4768, #5106, #5111, #4964, #5113, #5085, #5102, #5116, #5115, #5117, #5122, #5123, #5091, #5118, #5137, #5124, #5152, #5163, #5162, #5173, #5141