Release Notes
- 1. System Requirements
- 2. Compatibility
- 3. What’s New in 8.0.0
- 3.1. Transports
- 3.2. Reliability Protocol and Wire Representation
- 3.3. Performance and Scalability
- 3.3.1. Performance improvement in write() operation when exceeding DataWriter resource limits
- 3.3.2. Expanded writer-side filtering support for better scalability, when using a finite LivelinessQos::lease_duration and AUTOMATIC LivelinessQos::kind
- 3.3.3. Better concurrency across multiple receive threads on Linux
- 3.4. Content Filters and Query Conditions
- 3.5. Logging
- 3.6. Dynamic Data
- 3.7. APIs (Multiple Languages)
- 3.8. XML Configuration
- 3.9. Deprecations and Removals
- 3.10. Third-Party Software Changes
- 3.11. Other
- 4. What’s Fixed in 8.0.0
- 4.1. Callbacks and Waitsets
- 4.2. Discovery
- 4.2.1. [Critical] Incorrect locators used on newly created DataWriters or DataReaders after a Locator Reachability event and a DomainParticipant QoS update
- 4.2.2. [Critical] Discovery may not have completed when using Tools and Infrastructure Services with TypeLookup Service
- 4.2.3. [Critical] Locator reachability stopped communication with other DataReaders if one of them was deleted
- 4.2.4. [Critical] Locator reachability updates may not have been received by all DomainParticipants
- 4.2.5. [Major] Using multicast led to “!goto WR srw remote reader” log messages
- 4.2.6. [Major] Discovery failed to complete between Connext 7.x and Connext 5.3.1 (and older) over shared memory
- 4.3. Usability
- 4.4. Transports
- 4.4.1. [Critical] Data may not be sent through all multicast-capable interfaces
- 4.4.2. [Critical] Shared memory communication failed between containers with isolated PID namespaces
- 4.4.3. [Major] MultichannelQosPolicy addresses incorrectly validated against reception routes instead of sending routes
- 4.4.4. [Major] Existing DataReaders and DataWriters did not start using multicast after a network interface gained multicast capability
- 4.4.5. [Major] Multicast locators were not correctly identified for custom UDPv4 transports using a non-default network address
- 4.4.6. [Minor] A reliable writer’s FlowController failed to control the data flow over UDPv4 for a SHMEM_REF type
- 4.5. Reliability Protocol and Wire Representation
- 4.5.1. [Critical] Late joiner DataReader may not have received all historical samples from durable DataWriters with required subscriptions
- 4.5.2. [Major] Error messages and missing Header Extensions when enabling Header Extension
- 4.5.3. [Major] Some samples needing fragmentation could not be sent when using Header Extension
- 4.5.4. [Major] DataReader permanently stopped sending APP_ACK messages after one exceeded message_size_max
- 4.6. Performance and Scalability
- 4.7. Debuggability
- 4.8. TopicQueries
- 4.9. Logging
- 4.10. Dynamic Data
- 4.10.1. [Major] DDS_DynamicData_from_string incorrectly converted some long double values
- 4.10.2. [Major] Floating-point-to-string algorithm used by DDS_DynamicDataFormatter introduced precision errors
- 4.10.3. [Minor] Incorrect TypeSupport-to-JSON conversion for an empty structure with a non-empty parent
- 4.11. APIs (Modern C++ API)
- 4.12. APIs (C or Traditional C++)
- 4.13. APIs (Multiple Languages)
- 4.13.1. [Minor] DDS_DataReaderProtocolStatus.dropped_fragment_count incremented twice when a DataReader received a fragmented sample with a sequence number lower than all previously received fragments and it had already received max_fragmented_samples_per_remote_writer
- 4.13.2. [Minor] DDS_DataReaderProtocolStatus.last_committed_sample_sequence_number not updated on best-effort DataReaders when using fragmentation
- 4.14. XML Configuration
- 4.14.1. [Major] Constant (<const>) referencing a qualified enumerator name failed to load from an XML type
- 4.14.2. [Minor] Updated Optimization.Transport.LargeBuffers QoS snippet to align with higher default socket buffer sizes
- 4.14.3. [Minor] Negation operator did not work properly in unsigned long long XML constants
- 4.15. Instances
- 4.16. Entities
- 4.17. Crashes
- 4.17.1. [Critical] Possible double-free with shared TypeCodes during garbage collection
- 4.17.2. [Critical] Using map<string, …> with the Modern C++ Protocol Buffers mapping may have caused crashes
- 4.17.3. [Critical] Potential crash in UDP transport during sequential IP Mobility events
- 4.17.4. [Critical] Crash when sending data to multicast destinations with UDP during IP mobility events
- 4.17.5. [Critical] Potential crash due to race condition when cleaning up type lookup requests
- 4.17.6. [Critical] Potential crash during DomainParticipant initialization in weak memory models
- 4.17.7. [Critical] Potential crash if DDS_DomainParticipant_remove_peer was called while the DNS tracker was enabled
- 4.17.8. [Critical] Crash if a builtin participant was created twice
- 4.17.9. [Critical] Rare race condition led to a crash in weak memory models
- 4.17.10. [Critical] ABI incompatibility prevented Modern C++ applications from building with C++20
- 4.17.11. [Critical] Crash or errors when Modern C++ FlowController object went out of scope
- 4.17.12. [Critical] Possible crash or precondition when logger finalized before DomainParticipant created
- 4.17.13. [Critical] Potential crash working with Status Conditions
- 4.17.14. [Major] Heap corruption when changing request_types_filter failed due to lack of memory
- 4.17.15. [Major] Crash or incorrect success when ContentFilteredTopic operations failed due to lack of memory
- 4.17.16. [Major] Crash when DomainParticipant creation failed due to lack of memory
- 4.17.17. [Critical] Potential crash while creating multiple DomainParticipants concurrently in architectures using weak memory models
- 4.17.18. [Major] Segmentation fault when failing to enable a participant with a Zero-Copy writer due to lack of memory
- 4.18. Hangs
- 4.19. Data Corruption
- 4.20. OMG Specification Compliance
- 4.20.1. [Major] LifespanQosPolicy’s behavior was inconsistent with DDS specification and documentation
- 4.20.2. [Major] on_offered_incompatible_qos/on_requested_incompatible_qos was not delivered for endpoints matched with incompatible QoS while type resolution was pending
- 4.20.3. [Major] OwnershipStrength QoS policy upper limit did not comply with DDS Specification
- 4.21. Vulnerabilities
- 4.21.1. [Critical] Potential infinite loop in Connext Professional applications when parsing malicious XML
- 4.21.2. [Critical] Potential NULL pointer dereference in Connext Professional applications when parsing malicious XML configuration files
- 4.21.3. [Critical] Potential double-free when deleting a Topic for the second time after creating and finding the Topic
- 4.21.4. [Critical] Potential out-of-bounds read in Connext Professional applications when internal logging properties set in the QoS configuration
- 4.21.5. [Critical] Potential log loss in Distributed Logger DDSAppender when using XmlLayout
- 4.21.6. [Critical] Potential heap-based buffer overflow in Connext Professional applications when receiving samples containing unbounded strings
- 4.21.7. [Critical] Potential heap-based buffer overflow in 64-bit Connext Professional applications when parsing malicious XML configuration files
- 4.21.8. [Critical] Potential denial of service in 64-bit Connext Professional applications when parsing malicious XML configuration files
- 4.21.9. [Critical] Potential out-of-bounds read in Connext Professional applications when internal properties set in the QoS configuration
- 4.21.10. [Critical] Potential denial of service in Connext Professional applications when parsing malicious XML configuration files
- 4.21.11. [Critical] Potential out-of-bounds read in Connext Professional applications when a particular field was set in the QoS configuration
- 4.21.12. [Critical] Potential hash-collision denial of service in Connext Professional applications when parsing malicious XML configuration files
- 4.21.13. [Critical] Potential stack buffer write overflow when loading malicious initial peers
- 4.21.14. [Critical] Potential shared memory namespace collision in Connext applications using large domain IDs
- 4.21.15. [Major] Potential information disclosure and memory corruption in DDS Spy
- 4.21.16. [Critical] Potential heap-based buffer overflow in Connext Professional applications while resizing internal database buffer for Durable Writer History
- 4.21.17. [Critical] Potential heap-based buffer overflow in Connext Professional applications when matching many content-filtered DataReaders
- 4.21.18. [Critical] Potential heap-based buffer overflow in Connext Professional applications while compiling content filter expressions
- 4.21.19. [Critical] Potential heap-based buffer overflow in Connext Professional applications when processing a discovered type
- 4.21.20. [Critical] Potential infinite loop in Connext Professional applications when using a Listener and a WaitSet in the same DataReader
- 4.21.21. [Critical] Potential denial of service in Connext applications using the Java API
- 4.21.22. [Critical] Potential out-of-bounds write in Connext Professional applications when updating locators
- 4.22. Other
- 4.22.1. [Major] Missing DDS Spy output on VxWorks RTP with LLVM toolchain
- 4.22.2. [Major] DDS_DynamicData::from_string failed parsing a JSON string with unknown members
- 4.22.3. [Minor] Unexpected “get remote reader” warning in DataWriters configured for APPLICATION_ACKNOWLEDGMENT
- 4.22.4. [Minor] Issue with XML profile lookup when reapplying factory QoS
- 4.22.5. [Minor] Certain license-free tools may have failed to start with expired licenses
- 5. Known Issues
- 5.1. Known Issues with Discovery
- 5.2. Known Issues with Serialization and Deserialization
- 5.3. Known Issues with Usability
- 5.3.1. Cannot open USER_QOS_PROFILES.xml in rti_workspace/examples from Visual Studio
- 5.3.2. DataWriter’s Listener callback on_application_acknowledgment() not triggered by late-joining DataReaders
- 5.3.3. HighThroughput and AutoTuning built-in QoS Profiles may cause communication failure when writing small samples
- 5.3.4. Memory leak if Foo:initialize() called twice
- 5.3.5. Wrong error code after timeout on write() from Asynchronous Publisher
- 5.3.6. Type Consistency enforcement disabled for structs with more than 10000 members
- 5.3.7. Escaping special characters in regular/filter expressions not supported in some cases
- 5.3.8. Non-English Unicode (UTF-8) file names and paths not supported
- 5.4. Known Issues with Code Generation
- 5.5. Known Issues with Instance Lifecycle
- 5.6. Known Issues with Reliability
- 5.7. Known Issues with Content Filters and Query Conditions
- 5.8. Known Issues with TopicQueries
- 5.9. Known Issues with C# API
- 5.10. Known Issues with Transports
- 5.10.1. AppAck messages cannot be greater than underlying transport message size
- 5.10.2. DataReader cannot persist AppAck messages greater than 32767 bytes
- 5.10.3. Discovery with Connext Micro fails when shared memory transport enabled
- 5.10.4. Communication may not be reestablished in some IP mobility scenarios
- 5.10.5. Corrupted samples may be forwarded through Routing Service when using Zero-Copy transfer over shared memory
- 5.10.6. Network Capture does not support frames larger than 65535 bytes
- 5.10.7. Shared memory transport in QNX 7.0 and earlier can result in priority inversion
- 5.10.8. Ungracefully terminated QNX processes using SHMEM transport prevents startup of new processes due to unclosed POSIX semaphores (QNX 7.0 and earlier)
- 5.11. Known Issues with FlatData
- 5.12. Known Issues with Coherent Sets
- 5.13. Known Issues with Dynamic Data
- 5.14. Known Issues with RTI Monitoring Library
- 5.15. Known Issues with RTI Monitoring Library 2.0
- 5.16. Known Issues with Logging
- 5.17. Other Known Issues
- 5.17.1. Possible Valgrind still-reachable leaks when loading dynamic libraries
- 5.17.2. 64-bit discriminator values greater than (2^31-1) or smaller than (-2^31) not supported
- 5.17.3. Creating multiple DataReaders for the same Topic under the same Subscriber configured with Group Ordered Access is not supported
- 5.17.4. With DISALLOW_TYPE_COERCION and Types containing unbounded members, other vendor DataWriters/DataReaders will not match Connext DataWriters/DataReaders
- 5.17.5. find_datawriters/readers APIs when used with XML-Based Application Creation is not supported on systems that use older GCC versions
- 5.17.6. C++26 is not supported