Release Notes
- 1. System Requirements
- 2. Compatibility
- 3. What’s New in 7.6.0
- 3.1. Updated default heartbeat periods for faster repairs of lost samples
- 3.2. DNS tracker now enabled by default to reduce chance of discovery problems when using hostnames in peer lists
- 3.3. Extensible Types compliance mask added to all APIs
- 3.4. Updated code generation for 8-bit integer types
- 3.5. Application no longer fails if platform does not support SOCKET_BUFFER_SIZE_OS_MAX
- 3.6. Improved throughput when disable_positive_acks field in DataReaderProtocol QoS policy set to TRUE
- 3.7. New metadata fields for custom filters in modern C++, Java, and Python
- 3.8. TCP Transport now uses POLL socket monitoring by default on Linux systems, offering significantly better responsiveness
- 3.9. Decreased bandwidth usage when not actively debugging remote systems
- 3.10. New built-in profile makes it easier to monitor Connext applications across geographically separated networks
- 3.11. Third-Party Software Changes
- 4. What’s Fixed in 7.6.0
- 4.1. Discovery
- 4.2. Serialization and Deserialization
- 4.3. Usability
- 4.3.1. [Critical] Locator Reachability DataReader could not receive assertions from more than four DomainParticipants
- 4.3.2. [Minor] DDS_RTPS_AUTO_ID_FROM_MAC failed if MAC address had all zeros for first 4 bytes or last 4 bytes
- 4.3.3. [Minor] Inconsistent QoS error when enabling Monitoring Library 2.0 with a default profile (is_default_qos = TRUE)
- 4.4. Transports
- 4.5. Reliability Protocol and Wire Representation
- 4.6. Performance and Scalability
- 4.7. Debuggability
- 4.8. Content Filters and Query Conditions
- 4.9. TopicQueries
- 4.10. Logging
- 4.11. Dynamic Data
- 4.12. APIs (C or Traditional C++)
- 4.13. APIs (Java)
- 4.14. APIs (Python)
- 4.15. APIs (Multiple Languages)
- 4.15.1. [Major] The result of cdr_serialized_sample_max_size was too small if the maximum size was greater than 4 GB
- 4.15.2. [Major] Non-Java register_type failed if the maximum size was greater than 2 GB
- 4.15.3. [Minor] Enum label not printed when there was only one enum member
- 4.15.4. [Minor] Inconsistent QoS error when setting builtin discovery channels
- 4.16. XML Configuration
- 4.17. Entities
- 4.18. Crashes
- 4.18.1. [Critical] Potential stack overflow in Connext applications when parsing XML files with a custom DTD with deeply nested entity references
- 4.18.2. [Critical] Possible crash when accessing information about a remote endpoint at the same time that the endpoint was being removed
- 4.18.3. [Major] Changes in RTI Connext logging behavior for Windows desktop applications
- 4.18.4. [Critical] Modern C++ Distributed Logger may have crashed upon instance finalization
- 4.18.5. [Critical] Segmentation fault when using Network Capture APIs concurrently with DomainParticipantFactory deletion
- 4.18.6. [Critical] Potential crash while printing the log message after an error
- 4.18.7. [Critical] Segmentation fault when a DomainParticipant failed to be created
- 4.18.8. [Critical] Segmentation fault and precondition errors with Monitoring Library 2.0 when Entities were deleted
- 4.18.9. [Critical] Possible crash when metric value changed when Monitoring Library 2.0 was being disabled
- 4.19. Hangs
- 4.19.1. [Critical] Calling ignore_participant during a ParticipantBuiltinTopicDataDataReader on_data_available callback triggered by the deletion of a remote DomainParticipant led to a hang or unexpected error message
- 4.19.2. [Critical] Potential deadlock when calling DDS_DomainParticipantFactory_set_qos and DDS_DomainParticipantFactory_finalize_instance
- 4.19.3. [Critical] Potential deadlock when using Network Capture utility APIs concurrently with DDS calls
- 4.19.4. [Critical] Hang of QNX application using shared memory if one of the shared semaphores was in an unusable state
- 4.19.5. [Major] Calling ignore_participant when using the on_data_available callback to process a ParticipantBuiltinTopicData with partial_configuration led to a hang during DomainParticipant deletion
- 4.20. Memory Leaks/Growth
- 4.20.1. [Critical] Spike in memory usage when creating a DataWriter using Durable Writer History to restore samples
- 4.20.2. [Major] RTI DDS Spy showed DDS_DataReader_get_matched_publication_participant_data error before leaking memory
- 4.20.3. [Major] DomainParticipantFactory finalization failed even if all the DomainParticipants were deleted
- 4.20.4. [Minor] Memory leak upon Transport TCP creation failure because of invalid configuration
- 4.21. Data Corruption
- 4.22. OMG Specification Compliance
- 4.23. Vulnerabilities
- 4.23.1. [Critical] Potential heap buffer read overflow in Connext applications when using a malicious license string
- 4.23.2. [Critical] Potential invalid read memory access in Connext applications when subscribing to PublicationBuiltinTopicData
- 4.23.3. [Critical] Potential invalid read memory access in Connext applications during endpoint discovery
- 4.24. Other
- 4.24.1. [Critical] Possible Connext validation error while using a valid license
- 4.24.2. [Critical] Data races on architectures with weak memory models
- 4.24.3. [Major] DomainParticipantFactoryQos could not be retrieved from QosProvider
- 4.24.4. [Major] Incorrect hexadecimal formatting for uint8 and octet
- 4.24.5. [Major] Printing to XML missed quotes for external union members
- 4.24.6. [Major] Printing an IDL or XML enum with a default literal produced incorrect output
- 4.24.7. [Major] Printing an enum default literal printed the ordinal value instead of enumerator name
- 4.24.8. [Major] XML parser rejected external members with ranges excluding zero
- 4.24.9. [Major] Incorrect string representation of union DynamicType with arrays of sequences
- 4.24.10. [Major] Error parsing an XML with an external typedef
- 4.24.11. [Major] Invalid escaping of special characters in default strings for XML and IDL output
- 4.24.12. [Major] DynamicType with default string value incorrectly formatted for XML format
- 4.24.13. [Minor] Multiple attachments of same Condition to a WaitSet
- 4.24.14. [Major] Error when parsing an XML with a struct that has an enum member with a default enumerator
- 4.24.15. [Major] XML string literal interpretation divergence between Core Libraries and Code Generator
- 4.24.16. [Major] XML parser did not parse scientific notation when exponent included an explicit positive sign
- 4.24.17. [Major] Error when parsing an XML with a union that has a member with a default value
- 4.24.18. [Minor] Building a Connext application with Wundef warning category could generate unexpected warnings
- 5. Previous Releases
- 5.1. What’s New in 7.5.0
- 5.1.1. Python RPC API now fully productized and supported
- 5.1.2. More efficient endpoint discovery for RPC and Request-Reply
- 5.1.3. Improved DataWriter queue sample memory management eliminates required configuration for unbounded types
- 5.1.4. Enhanced out-of-the-box network performance with updated socket buffer sizes
- 5.1.5. Improved scalability for applications using writer-side content filtering
- 5.1.6. Initial discovery performance improvements in large systems with participants containing many endpoints
- 5.1.7. Eliminated requirement to manually clean up thread resources on platforms that support automatic thread-specific storage (TSS) cleanup
- 5.1.8. Improved flow control of fragmented sample repairs
- 5.1.9. RTPS messages containing a malformed inline Qos now trigger a warning, to avoid deserialization errors downstream
- 5.1.10. Capture periodic DomainParticipant announcements in DISCOVERY logging category to enhance debugging of discovery
- 5.1.11. Print incompatible QoS policies in a discovery snapshot for improved discovery debugging
- 5.1.12. Updated default value for socket_monitoring_kind to more performant WINDOWS_IOCP value on Windows systems
- 5.1.13. Support for new metadata fields in content filter expressions
- 5.1.14. InstanceHandle now provides a default constructor
- 5.1.15. Parameter type change to more convenient/appropriate size_t in pluggable transport’s to_string APIs
- 5.1.16. Deprecations and Removals
- 5.1.17. Third-Party Software Changes
- 5.2. What’s Fixed in 7.5.0
- 5.2.1. Discovery
- 5.2.2. Usability
- 5.2.3. Transports
- 5.2.4. Reliability Protocol and Wire Representation
- 5.2.5. Performance and Scalability
- 5.2.6. Debuggability
- 5.2.7. Content Filters and Query Conditions
- 5.2.8. Request-Reply and Remote Procedure Calls
- 5.2.9. Logging
- 5.2.10. APIs (C or Traditional C++)
- 5.2.11. APIs (Java)
- 5.2.12. APIs (C# API)
- 5.2.13. APIs (Python)
- 5.2.14. APIs (Multiple Languages)
- 5.2.15. XML Configuration
- 5.2.16. Instances
- 5.2.17. Crashes
- 5.2.18. Hangs
- 5.2.19. Memory Leaks/Growth
- 5.2.20. Data Corruption
- 5.2.21. Entities
- 5.2.22. Interoperability
- 5.2.23. Vulnerabilities
- 5.2.24. Other
- 5.3. What’s New in 7.4.0
- 5.3.1. Set up reliable communications for fragmented data more easily and with better performance, by removing asynchronous publishing requirement
- 5.3.2. Modern C++ RPC API now fully productized and supported
- 5.3.3. Discover relevant QoS more easily through categorizations added to API Reference HTML documentation
- 5.3.4. Easier QoS configuration for Request-Reply and RPC with new built-in QoS profile
- 5.3.5. Write Python applications faster with reactive subscriptions
- 5.3.6. New Ping built-in type helps debug and prototype with the Python API
- 5.3.7. DDS Spy now prints full timestamps (with date and fractions of a second) and epoch timestamps
- 5.3.8. New DynamicData APIs get and set a union’s discriminator value
- 5.3.9. Deprecations and Removals
- 5.4. What’s Fixed in 7.4.0
- 5.4.1. Discovery
- 5.4.2. Serialization and Deserialization
- 5.4.3. Usability
- 5.4.4. Transports
- 5.4.5. Reliability Protocol and Wire Representation
- 5.4.6. Bandwidth Sensitivity
- 5.4.7. Debuggability
- 5.4.8. Content Filters and Query Conditions
- 5.4.9. TopicQueries
- 5.4.10. Request-Reply and Remote Procedure Calls
- 5.4.11. Logging
- 5.4.12. Dynamic Data
- 5.4.13. APIs (Modern C++ API)
- 5.4.14. APIs (Java)
- 5.4.15. APIs (Python)
- 5.4.16. APIs (Multiple Languages)
- 5.4.17. XML Configuration
- 5.4.18. Crashes
- 5.4.19. Hangs
- 5.4.20. Memory Leaks/Growth
- 5.4.21. Data Corruption
- 5.4.22. OMG Specification Compliance
- 5.4.23. Interoperability
- 5.4.24. Vulnerabilities
- 5.4.25. Other
- 5.1. What’s New in 7.5.0
- 6. Known Issues
- 6.1. Known Issues with Discovery (SPDP2)
- 6.2. Known Issues with Serialization and Deserialization
- 6.3. Known Issues with Usability
- 6.3.1. Cannot open USER_QOS_PROFILES.xml in rti_workspace/examples from Visual Studio
- 6.3.2. DataWriter’s Listener callback on_application_acknowledgment() not triggered by late-joining DataReaders
- 6.3.3. HighThroughput and AutoTuning built-in QoS Profiles may cause communication failure when writing small samples
- 6.3.4. Memory leak if Foo:initialize() called twice
- 6.3.5. Wrong error code after timeout on write() from Asynchronous Publisher
- 6.3.6. Type Consistency enforcement disabled for structs with more than 10000 members
- 6.3.7. Escaping special characters in regular/filter expressions not supported in some cases
- 6.3.8. Non-English Unicode (UTF-8) file names and paths not supported
- 6.4. Known Issues with Code Generation
- 6.5. Known Issues with Instance Lifecycle
- 6.6. Known Issues with Reliability
- 6.7. Known Issues with Content Filters and Query Conditions
- 6.8. Known Issues with TopicQueries
- 6.9. Known Issues with C# API
- 6.10. Known Issues with Transports
- 6.10.1. AppAck messages cannot be greater than underlying transport message size
- 6.10.2. DataReader cannot persist AppAck messages greater than 32767 bytes
- 6.10.3. Discovery with Connext Micro fails when shared memory transport enabled
- 6.10.4. Communication may not be reestablished in some IP mobility scenarios
- 6.10.5. Corrupted samples may be forwarded through Routing Service when using Zero-Copy transfer over shared memory
- 6.10.6. Network Capture does not support frames larger than 65535 bytes
- 6.10.7. Shared memory transport in QNX 7.0 and earlier can result in priority inversion
- 6.10.8. Ungracefully terminated QNX processes using SHMEM transport prevents startup of new processes due to unclosed POSIX semaphores (QNX 7.0 and earlier)
- 6.11. Known Issues with FlatData
- 6.12. Known Issues with Coherent Sets
- 6.13. Known Issues with Dynamic Data
- 6.14. Known Issues with RTI Monitoring Library
- 6.15. Known Issues with RTI Monitoring Library 2.0
- 6.16. Other Known Issues
- 6.16.1. Possible Valgrind still-reachable leaks when loading dynamic libraries
- 6.16.2. 64-bit discriminator values greater than (2^31-1) or smaller than (-2^31) not supported
- 6.16.3. Creating multiple DataReaders for the same Topic under the same Subscriber configured with Group Ordered Access is not supported
- 6.16.4. With DISALLOW_TYPE_COERCION and Types containing unbounded members, other vendor DataWriters/DataReaders will not match Connext DataWriters/DataReaders