8. Release Notes¶
- 8.1. Supported Platforms and Programming Languages
 - 8.2. Compatibility
 - 8.3. What’s New in 2.4.12
- 8.3.1. Shared UDP port for discovery and user-data in a DomainParticipant
 - 8.3.2. DomainParticipants no longer allocate dynamic memory during deletion
 - 8.3.3. New QoS parameter to set maximum outstanding samples allowed for remote DataWriter
 - 8.3.4. New QoS parameter to adjust preemptive ACKNACK period
 - 8.3.5. Deserialization of Presentation QoS policy
 
 - 8.4. What’s Fixed in 2.4.12
- 8.4.1. Examples used DomainParticipant_register_type instead of FooTypeSupport_register_type
 - 8.4.2. A DataReader and DataWriter with incompatible liveliness kind and infinite lease_duration matched
 - 8.4.3. Warning at compilation time for FreeRTOS port
 - 8.4.4. Using DDS_NOT_ALIVE_INSTANCE_STATE caused compilation error in C and C++
 - 8.4.5. Seq_copy() did not work when the source sequence is a loaned/discontiguous sequence
 - 8.4.6. Warnings when compiling the example generated by Code Generator
 - 8.4.7. Unable to generate code for XML or XSD defined types
 - 8.4.8. Linker error in C++ application when C types were used
 - 8.4.9. Failure to link for VxWorks RTP using shared libraries compiled with CMake
 - 8.4.10. rtiddsgen may have failed on Windows systems when -jre was specified
 - 8.4.11. rtime-make did not work when it was started from different shell than Bash
 - 8.4.12. Linker error when using shared libraries on VxWorks systems
 - 8.4.13. A run-time error may have occurred on Windows or when compiling for FACE when using hostnames in the peer list
 - 8.4.14. Entity ID generation was not thread-safe
 - 8.4.15. DomainParticipant creation failed if active interface had invalid IP
 - 8.4.16. rtime-make did not work when there was a space in the installation path
 - 8.4.17. Sample filtering methods were always added to the subscriber code for C
 - 8.4.18. ‘Failure to give mutex’ error
 - 8.4.19. UDP interface warning using valid interfaces
 - 8.4.20. A DataReader May Stop Receiving Samples When Filtering Callbacks Are Used
 - 8.4.21. DDS_WaitSet_wait() returned DDS_RETCODE_ERROR if unblocked with no active conditions
 - 8.4.22. Large timeout values may have caused segmentation fault
 - 8.4.23. HelloWorld_dpde_waitset C++ example uses wrong loop variable for printing data
 - 8.4.24. WaitSet_wait returned generic error when returned condition sequence exceeded capacity
 - 8.4.25. Publication handle not set in SampleInfo structure when on_before_sample_commit() called
 - 8.4.26. Duplicate DATA messages are sent to multicast in some cases
 - 8.4.27. GUID generation on QNX for processes run one after another may lead to duplicate GUIDs
 - 8.4.28. Read/take APIs returned more than depth samples if an instance returned to alive without application reading NOT_ALIVE sample
 - 8.4.29. Segmentation fault if OSAPI_Semaphore_give() was called from one thread while another called OSAPI_Semaphore_delete()
 - 8.4.30. Communication problems between Connext DDS Professional 6 and Connext DDS Micro 2.4.11
 - 8.4.31. OSAPI_System_get_ticktime() not implemented for FreeRTOS
 
 - 8.5. Previous Releases
- 8.5.1. What’s New in 2.4.11
- 8.5.1.1. Support for ThreadX/NetX
 - 8.5.1.2. Batching (reception only)
 - 8.5.1.3. UDP Transformations
 - 8.5.1.4. Optionally exclude builtin UDP Transport from compilation
 - 8.5.1.5. Publication handle of DataWriter now provided upon DataReaderListener sample loss
 - 8.5.1.6. DataWriters offer TOPIC presentation
 - 8.5.1.7. New warning if a configured UDP transport does not have any interface
 
 - 8.5.2. What’s Fixed in 2.4.11
- 8.5.2.1. MICRO-1814 Incorrect thread ID returned for VxWorks RTP
 - 8.5.2.2. NULL listener and non-empty status mask not allowed for C++ DataReader
 - 8.5.2.3. accept_unknown_peers did not work when Shared Memory transport was enabled in RTI Connext DDS Pro
 - 8.5.2.4. Calling FooSeq_set_maximum() repeatedly with the same maximum size results in seg-fault
 - 8.5.2.5. CMake reports error if CMake version 2.8.10.2 or 2.8.10.1 is used
 - 8.5.2.6. OS error code (errno) not logged if sendto() returned error
 - 8.5.2.7. Codegen might generate an incorrect pub/sub example if opction “-create typefiles” is not used
 - 8.5.2.8. Generated examples use always the last structure in the idl
 - 8.5.2.9. Instance might not have been disposed or unregistered under some conditions
 - 8.5.2.10. Reliable Endpoints with only multicast locators may not communicate
 - 8.5.2.11. Access to DDSEntity instance handles from C++ API
 - 8.5.2.12. Syntax changed for initial peer participant index range
 - 8.5.2.13. lookup_instance() is not thread safe
 - 8.5.2.14. CMakeLists.txt and README.txt created when they should not
 - 8.5.2.15. No communication when DomainParticipant used same GUID as another DomainParticipant in different domain
 - 8.5.2.16. Compiler error might happen when lwIP is used
 - 8.5.2.17. Wrong C++ code generated for unkeyed types when using IDL modules and -namespace option
 - 8.5.2.18. DDS_WaitSet_wait does not work if OSAPI_Semaphore_take() returns an error
 - 8.5.2.19. Log buffer could overflow on 64-bit architectures, causing application crash
 - 8.5.2.20. Fix API realloc in Windows OSAPI
 - 8.5.2.21. New samples for an instance may not be received if an instance goes back to ALIVE when using read()
 - 8.5.2.22. INTRA transport caused subscription matches to use additional resources
 - 8.5.2.23. Resolved memory leak in class RTRegistry
 - 8.5.2.24. Windows Debug DLLs are built without debug information
 - 8.5.2.25. Use hardcoded build ID when not compiling with CMake
 - 8.5.2.26. Example makefiles do not support 64bit compilation
 - 8.5.2.27. Compilation error might happen when code is generated using option -namespace
 
 - 8.5.3. What’s New in 2.4.10.4
 - 8.5.4. What’s Fixed in 2.4.10.4
- 8.5.4.1. Improve KEEP_LAST
 - 8.5.4.2. Locator might be duplicated when NAT is configured
 - 8.5.4.3. Segmentation fault might happen when a DataReader cannot be created
 - 8.5.4.4. CMake reports error if CMake version 2.8.10.2 or 2.8.10.1 is used
 - 8.5.4.5. Wrong TUDP locator kind sent when using UDP transformations
 - 8.5.4.6. Compile shipped examples for a 64 bits architecture
 - 8.5.4.7. OSAPI_Heap_realloc() Windows implementation fixed
 - 8.5.4.8. Use API DDSDomainParticipant::delete_contained_entities() in C++ examples
 - 8.5.4.9. Memory leak in shipped examples fixed
 - 8.5.4.10. C++ shipped examples might release an object twice.
 
 - 8.5.5. What’s New in 2.4.10.1
 - 8.5.6. What’s Fixed in 2.4.10.1
 - 8.5.7. What’s New in 2.4.10
 - 8.5.8. What’s Fixed in 2.4.10
- 8.5.8.1. Linker Warning for Missing PDB Files
 - 8.5.8.2. Linking with Dynamic Windows C Run-Time (CRT)
 - 8.5.8.3. DDS_Publisher_create_datawriter() May Fail to Create a New Datawriter
 - 8.5.8.4. DataReader May Not Reclaim NOT_ALIVE Instances when DataWriter Deleted or Liveliness Lost
 - 8.5.8.5. A Datawriter may fail to release instance resources if a peer is inactive while the Participant liveliness expires
 - 8.5.8.6. A Reliable DataWriter With max_samples_per_instance = 1 May Run Out of Resources After Multiple Unregistrations of Single Instance
 - 8.5.8.7. Connext Micro Fails to Discover Endpoints created by Connext Core if the Endpoints are Deleted or Modified
 - 8.5.8.8. Incorrect Log Output in a Complete Log Message could not be Stored
 - 8.5.8.9. Possible Segmentation Fault when Unregistering TRANSIENT_LOCAL Instance
 - 8.5.8.10. Support to map IDL modules to C++ namespaces in generated type-plugins
 - 8.5.8.11. Possible Memory Access Violation when Receiving Malformed RTPS Message
 - 8.5.8.12. In Some Cases an Incorrect Timeout Calculation Caused 100% CPU Load
 
 - 8.5.9. What’s New in 2.4.9
- 8.5.9.1. Improved Support for adding new Ports
 - 8.5.9.2. Updated Build Environment to Build RTI Connext Micro
 - 8.5.9.3. Example CMake Tool-chain Files for Cross-Compilation
 - 8.5.9.4. Host Bundle without the Java RunTime Available
 - 8.5.9.5. Support for 64-bit Platforms
 - 8.5.9.6. POSIX Compliance Improvements
 - 8.5.9.7. C++ Support for find_topic()
 - 8.5.9.8. Types Are Automatically Unregistered Upon Deleting Contained Entities
 
 - 8.5.10. What’s Fixed in 2.4.9
- 8.5.10.1. Improved Documentation
 - 8.5.10.2. Losing Participant Liveliness Stops Communication
 - 8.5.10.3. DDSTopic::narrow() Returned Incorrect Value in C++
 - 8.5.10.4. PRECONDITION_NOT_MET Returned by deleted_topic() When Topic Is Not Use
 - 8.5.10.5. Instance Resources Not Reclaimed When Unregistered
 - 8.5.10.6. Invalid Memory Read Reported in Log.c
 - 8.5.10.7. Unsupported Functions When Compiling With RTI_CERT Has Been Removed From Generated Code
 - 8.5.10.8. The HelloWorld_cert Example Now Compiles When Linked Against a Library Built With RTI_CERT
 - 8.5.10.9. Hostnames Are No Longer Validated
 - 8.5.10.10. A Participant May Not Be Rediscovered In Case Of Asymmetric Liveliness Loss
 - 8.5.10.11. A Non-keyed Endpoint Matches a Keyed Endpoint
 
 - 8.5.11. What’s New in 2.4.8
 - 8.5.12. What’s Fixed in 2.4.8
 - 8.5.13. What’s New in 2.4.7
 - 8.5.14. What’s Fixed in 2.4.7
- 8.5.14.1. Statuses are passed as pointers instead of references to DDSDomainParticipantListeners
 - 8.5.14.2. Missing assignment operator = in RT_ComponentFactoryId
 - 8.5.14.3. CMAKE_C_FLAGS_ORIGINAL in CMakeLists.txt misspelled
 - 8.5.14.4. Missing const qualifier for the sequence [] operator
 - 8.5.14.5. Missing primitive IDL sequences in C++
 
 - 8.5.15. What’s New in 2.4.6
- 8.5.15.1. Important API Changes
 - 8.5.15.2. Run-time Memory Footprint Has Been Significantly Reduced
 - 8.5.15.3. New FooTypeSupport operations
 - 8.5.15.4. All public C API now natively available to C++ users
 - 8.5.15.5. Status data passed by reference to C++ listeners
 - 8.5.15.6. TheParticipantFactory now available to C++ users
 - 8.5.15.7. Status types now available in DDS:: C++ namespace
 - 8.5.15.8. Foo::copy_data() takes const argument
 - 8.5.15.9. ConditionSeq added to C++ DDS namespace
 - 8.5.15.10. First 2-Bytes Of GUID Assigned to Vendor ID
 
 - 8.5.16. What’s Fixed in 2.4.6
- 8.5.16.1. POSIX Threads Were Created Without Names
 - 8.5.16.2. Prerequisite for HelloWorld_android updated in README.txt
 - 8.5.16.3. CPP/HelloWorld_dpde example does not overwrite RTIMEHOME
 - 8.5.16.4. Transport Not Supporting Multicast Did Not Ignore Multicast
 - 8.5.16.5. Discovery Messages Incorrectly Dropped When Containing Non-Standard Locators
 - 8.5.16.6. HEARTBEAT Not Sent in Response To Initial ACKNACK
 - 8.5.16.7. Incorrect Return Code From DataReader’s Read or Take APIs When Max_Outstanding_Reads Exceeded
 - 8.5.16.8. DataReader Did Not Replace Historical Samples When max_samples_per_instance Equaled History Depth
 - 8.5.16.9. A Disposed Instance Could Be Updated By A DataWriter That Is Not Its Exclusive Owner
 - 8.5.16.10. Fixed code generation for user-defined enum constants.
 - 8.5.16.11. Hostname is verified as specified in RFC-952 and RFC-1123
 - 8.5.16.12. DDS_<Foo>Seq APIs Were Missing
 - 8.5.16.13. DataReader Could Reject All Subsequent Samples From a DataWriter
 - 8.5.16.14. POSIX Thread Priorities Not Changeable
 - 8.5.16.15. RTPS DATA Submessages with K-flag Set Were Dropped
 
 
 - 8.5.1. What’s New in 2.4.11
 - 8.6. Known Issues