Skip to content

v3.0.0

Compare
Choose a tag to compare
@JesusPoderoso JesusPoderoso released this 26 Aug 08:25
· 49 commits to 3.0.x since this release

Fast DDS v3.0.0

This release includes the following API breaks:

  1. 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 and TypeObjectUtils classes (#3974)
    • Partial implementation of X-Types1.3 (#4640)
    • Structure DynamicType inheritance from TypeObject (#4712)
    • Automatic TypeObject representation registration for DynamicTypes (#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 of DynamicType (#4970)
    • Make more flexible EDP::valid_matching with TypeInformation (#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)
  2. 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 to include/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 to xmlparser (#5065)
    • Migrate communication tests (#4288)
    • Remove deprecated fastrtps tests (#4270)
  3. 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 in xmlparser (#5085)
    • Remove unnecessary header and make private SecurityException and Exception (#4701)
    • Make ChangeForReader, ReaderLocator, and ReaderProxy private (#4923)
    • Make Blackbox tests not include any private API (#4953)
  4. Fastrtps package name migration to fastdds (#4251, #4500, #4576, #4963)
    • Branch-out to v3.0.0 (#4251)
    • Migrate DLL API exporter and auto linkage to fastdds (#4500)
    • Change windows file names (#4576)
    • Migrate fastrtps.rc to fastdds.rc (#4963)
  5. GUIDLess Discovery Server (#4716)
  6. Gather-send implementation (#4537)
  7. Refactor IPayloadPool (#4892)
  8. Participant discovery structures refactor (#5042)
  9. Make all public headers .hpp (#4958)
  10. const qualify all data related inputs in DataWriter APIs (#4960)
  11. Refactor RTPS reader APIs (#4875)
  12. Refactor RTPS writer APIs (#5028)
  13. Refactor RTPS WriterHistory (#4966)
  14. Refactor TopicDataType (#5066)
  15. Make StdoutErrConsumer default LogConsumer (#4873)
  16. All DataWriter::write overloads return ReturnCode_t type (#5049)
  17. Add XML configuration for FlowControllerDescriptor and remove ThroughputController (#4837)
  18. Move DataReader::TypeConsistencyEnforcement and DataReader::DataRepresentation from TypeConsistency to DataReaderQos (#4823)
  19. Migrate BuiltinEndpoints defines to variables (#4851)
  20. Remove string_convert header and source (#4890)
  21. Update Fast DDS docs QoS examples (#4842)
  22. Link SHM locator kind with Fast DDS major version (#5116)
  23. Discard local SHM locators that cannot be opened (#5118)
  24. 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:

  1. Type propagation policy (#5081)
  2. Create Participant with default profile (use environment XML configuration) (#4534)
  3. Create DomainParticipantExtendedQos class (#4779)
  4. Add product version on Participant Discovery information (#4964)
  5. Automatically unmatch remote participants on participant deletion (#4817)
  6. Refactor Statistics module IDL (#4638)
  7. Change PDP discovery database backup restore order (#4740)
  8. Create InitialConnection for TCP initial peers (#4946)
  9. New max_message_size property to limit output datagrams size (#4777)
  10. Use PID_DOMAIN_ID during PDP (#4888)
  11. Ubuntu example testing automation infrastructure (#4466)
  12. Update versions in fastdds.repos file (#4621)

This release includes the following improvements:

  1. Make DataReader::return_loan return RETCODE_OK on loanable sequences without loans (#4503)
  2. Use absolute paths when loading XML files (#4751)
  3. Remove FASTCDR_VERSION_MAJOR == 1 related code (#5073)
  4. Setting vendor_id on received CacheChange_t (#4978)
  5. Builtin data related improvements (#5117)
  6. 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)
  7. 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:

  1. Handle errors when setting socket buffer sizes (#4760)
  2. Do not require PYTHON_VERSION to be defined in .bat files (#4770)
  3. Use %* instead of loop in .bat scripts (#4814)
  4. Set DataSharing in WriterProxyData and ReaderProxyData (#4761)
  5. Minor fix in DDSBlackboxTestsBasic.cpp (#4862)
  6. Fix PDP and EDP unittest compilation (#4871)
  7. Fix AllocTest compilation (#4843)
  8. Correct liveliness state in a multiple reader and one writer scenario (#4822)
  9. Only apply content filter to ALIVE changes (#4835)
  10. Fix compilation when building static library (#4813)
  11. Properly delete builtin statistics writers upon delete_contained_entities() (#4891)
  12. Correctly initialize MatchingFailureMask constants to be used with the std::bitset API (#4922)
  13. Change monitor service writer entity id (#5070)
  14. Fix EDP build warning without security (#4932)
  15. Fix compilation warning (#4945)
  16. Fix discovery server not connecting due to ports logic (#4941)
  17. Fix assertion in TopicPayloadPool::release_history (#5008)
  18. Fix topic interference on liveliness_changed status (#4988)
  19. Fix typo in CMakeLists.txt (#5039)
  20. Solve SecurityManager memory issue (#5115)
  21. Fix installation of some examples (#5108, #5111, #5113)
  22. Address some warnings when generating windows installer for v3.0.0 (#5152)
  23. Add unsigned specification to literals (#5162)
  24. Fuzzer regressions (#4939, #4961, #5007, #5080, #5122, #5163)
    • Address XMLDynamicParser Fuzzer regressions (#4939)
    • Fix parse XML dynamic type fuzzer issue (#4961)
    • Fix parse XML member dynamic type fuzzer issue (#5007)
    • Handle nullptr in parseXMLStructDynamicType (#5080)
    • Fix oss-fuzz build (#5122)
    • Fix warning in oss fuzz build (#5163)
  25. 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 and typedefs (#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:

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