8. Release Notes¶
- 8.1. Supported Platforms and Programming Languages
- 8.2. What’s New in 2.4.14
- 8.2.1. Important Interoperability Changes
- 8.2.2. Port Validation for Connext DDS Micro
- 8.2.3. New Documentation on Compiling Connext DDS Micro for Connext DDS Micro Cert Compatibility
- 8.2.4. ThreadX CMake Files and New Documentation on Building Connext DDS Micro for ThreadX + NetX
- 8.2.5. Updated Example CMakeLists.txt to Automatically Regenerate Code when IDL or XML File Changes
- 8.2.6. Message Logged when Samples Received Out of Order
- 8.2.7. Message Logged when Sequence Numbers Received More than Once
- 8.2.8. Ability to Send Logs over UDP
- 8.2.9. rtime-make Provides Help for a Specific Target
- 8.2.10. FreeRTOS CMake Files
- 8.2.11. Improved Documentation on Building Connext DDS Micro for AUTOSAR Systems
- 8.2.12. Examples Used Undocumented APIs
- 8.2.13. New CMake Option to Enable Real-Time Timers on QNX and Linux Systems
- 8.2.14. New -showTemplates and -exampleTemplate options for Code Generator
- 8.3. What’s Fixed in 2.4.14
- 8.3.1. Small Enums Caused Serialization Errors
- 8.3.2. -Wcast-function-type and -Wdeprecated Compiler Warnings
- 8.3.3. Documentation did not list all Entities that Support Transport QosPolicy
- 8.3.4. Generated Examples Registered Wrong Type Name
- 8.3.5. For C++ Types Generated by rtiddsgen that have Inheritance, the ParentCclass was also Declared in the Class as Another Member
- 8.3.6. DomainParticipant not Rediscovered if Terminated and Restarted Before its Lease Duration Expired
- 8.3.7. OSAPI_Log_clear did not Zero Out Log Buffer Memory
- 8.3.8. Error in Generated C/C++ Code when Two Members of Different Enumerations had Same Name
- 8.3.9. Incorrect Documentation Regarding Changeability of QoS
- 8.3.10. Unexpected Behavior when Copying a DDS_UnsignedShortSeq with 0 Length
- 8.3.11. Incorrect Range Documented for DDS_ResourceLimitsQosPolicy.max_samples
- 8.3.12. Wrong Compiler Option for AUTOSAR Elektrobit Platform caused ‘double’ to Compile as 4 Bytes instead of 8
- 8.3.13. Log Message with Random Characters Printed
- 8.3.14. Event Masks of Semaphores in AUTOSAR Port were Calculated Incorrectly
- 8.4. Previous Releases
- 8.4.1. What’s New in 2.4.12.1
- 8.4.1.1. Dynamic memory allocations removed from Dynamic Discovery Plugin
- 8.4.1.2. Support for AUTOSAR Classic
- 8.4.1.3. Support for detecting corrupted RTPS messages
- 8.4.1.4. Reduced default socket send/receive buffer size for QNX systems
- 8.4.1.5. For AUTOSAR the IP address is now used to generate a unique DomainParticipant ID
- 8.4.2. What’s Fixed in 2.4.12.1
- 8.4.2.1. PUBLICATION_MATCHED_STATUS and SUBSCRIPTION_MATCHED_STATUS may never have triggered a WaitSet if the status was enabled _after_ the DomainParticipant was enabled
- 8.4.2.2. Unicast DataReader stopped receiving samples after DataWriter matched with a multicast DataReader
- 8.4.2.3. A RTPS max_window_size not divisible by 32 may have resulted in retransmission of wrong sequence number
- 8.4.2.4. POSIX mutex implementation did not conform with FACE Safety Profile
- 8.4.2.5. Waitset with timeout of 0 did not return immediately
- 8.4.3. What’s New in 2.4.12
- 8.4.3.1. Shared UDP port for discovery and user-data in a DomainParticipant
- 8.4.3.2. DomainParticipants no longer allocate dynamic memory during deletion
- 8.4.3.3. New QoS parameter to set maximum outstanding samples allowed for remote DataWriter
- 8.4.3.4. New QoS parameter to adjust preemptive ACKNACK period
- 8.4.3.5. Deserialization of Presentation QoS policy
- 8.4.4. What’s Fixed in 2.4.12
- 8.4.4.1. Examples used DomainParticipant_register_type instead of FooTypeSupport_register_type
- 8.4.4.2. A DataReader and DataWriter with incompatible liveliness kind and infinite lease_duration matched
- 8.4.4.3. Warning at compilation time for FreeRTOS port
- 8.4.4.4. Using DDS_NOT_ALIVE_INSTANCE_STATE caused compilation error in C and C++
- 8.4.4.5. Seq_copy() did not work when the source sequence is a loaned/discontiguous sequence
- 8.4.4.6. Warnings when compiling the example generated by Code Generator
- 8.4.4.7. Unable to generate code for XML or XSD defined types
- 8.4.4.8. Linker error in C++ application when C types were used
- 8.4.4.9. Failure to link for VxWorks RTP using shared libraries compiled with CMake
- 8.4.4.10. rtiddsgen may have failed on Windows systems when -jre was specified
- 8.4.4.11. rtime-make did not work when it was started from different shell than Bash
- 8.4.4.12. Linker error when using shared libraries on VxWorks systems
- 8.4.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.4.14. Entity ID generation was not thread-safe
- 8.4.4.15. DomainParticipant creation failed if active interface had invalid IP
- 8.4.4.16. rtime-make did not work when there was a space in the installation path
- 8.4.4.17. Sample filtering methods were always added to the subscriber code for C
- 8.4.4.18. ‘Failure to give mutex’ error
- 8.4.4.19. UDP interface warning using valid interfaces
- 8.4.4.20. A DataReader May Stop Receiving Samples When Filtering Callbacks Are Used
- 8.4.4.21. DDS_WaitSet_wait() returned DDS_RETCODE_ERROR if unblocked with no active conditions
- 8.4.4.22. Large timeout values may have caused segmentation fault
- 8.4.4.23. HelloWorld_dpde_waitset C++ example uses wrong loop variable for printing data
- 8.4.4.24. WaitSet_wait returned generic error when returned condition sequence exceeded capacity
- 8.4.4.25. Publication handle not set in SampleInfo structure when on_before_sample_commit() called
- 8.4.4.26. Duplicate DATA messages are sent to multicast in some cases
- 8.4.4.27. GUID generation on QNX for processes run one after another may lead to duplicate GUIDs
- 8.4.4.28. Read/take APIs returned more than depth samples if an instance returned to alive without application reading NOT_ALIVE sample
- 8.4.4.29. Segmentation fault if OSAPI_Semaphore_give() was called from one thread while another called OSAPI_Semaphore_delete()
- 8.4.4.30. Communication problems between Connext DDS Professional 6 and Connext DDS Micro 2.4.11
- 8.4.4.31. OSAPI_System_get_ticktime() not implemented for FreeRTOS
- 8.4.5. What’s New in 2.4.11
- 8.4.5.1. Support for ThreadX/NetX
- 8.4.5.2. Batching (reception only)
- 8.4.5.3. UDP Transformations
- 8.4.5.4. Optionally exclude builtin UDP Transport from compilation
- 8.4.5.5. Publication handle of DataWriter now provided upon DataReaderListener sample loss
- 8.4.5.6. DataWriters offer TOPIC presentation
- 8.4.5.7. New warning if a configured UDP transport does not have any interface
- 8.4.6. What’s Fixed in 2.4.11
- 8.4.6.1. MICRO-1814 Incorrect thread ID returned for VxWorks RTP
- 8.4.6.2. NULL listener and non-empty status mask not allowed for C++ DataReader
- 8.4.6.3. accept_unknown_peers did not work when Shared Memory transport was enabled in RTI Connext DDS Pro
- 8.4.6.4. Calling FooSeq_set_maximum() repeatedly with the same maximum size results in seg-fault
- 8.4.6.5. CMake reports error if CMake version 2.8.10.2 or 2.8.10.1 is used
- 8.4.6.6. OS error code (errno) not logged if sendto() returned error
- 8.4.6.7. Codegen might generate an incorrect pub/sub example if opction “-create typefiles” is not used
- 8.4.6.8. Generated examples use always the last structure in the idl
- 8.4.6.9. Instance might not have been disposed or unregistered under some conditions
- 8.4.6.10. Reliable Endpoints with only multicast locators may not communicate
- 8.4.6.11. Access to DDSEntity instance handles from C++ API
- 8.4.6.12. Syntax changed for initial peer participant index range
- 8.4.6.13. lookup_instance() is not thread safe
- 8.4.6.14. CMakeLists.txt and README.txt created when they should not
- 8.4.6.15. No communication when DomainParticipant used same GUID as another DomainParticipant in different domain
- 8.4.6.16. Compiler error might happen when lwIP is used
- 8.4.6.17. Wrong C++ code generated for unkeyed types when using IDL modules and -namespace option
- 8.4.6.18. DDS_WaitSet_wait does not work if OSAPI_Semaphore_take() returns an error
- 8.4.6.19. Log buffer could overflow on 64-bit architectures, causing application crash
- 8.4.6.20. Fix API realloc in Windows OSAPI
- 8.4.6.21. New samples for an instance may not be received if an instance goes back to ALIVE when using read()
- 8.4.6.22. INTRA transport caused subscription matches to use additional resources
- 8.4.6.23. Resolved memory leak in class RTRegistry
- 8.4.6.24. Windows Debug DLLs are built without debug information
- 8.4.6.25. Use hardcoded build ID when not compiling with CMake
- 8.4.6.26. Example makefiles do not support 64bit compilation
- 8.4.6.27. Compilation error might happen when code is generated using option -namespace
- 8.4.7. What’s New in 2.4.10.4
- 8.4.8. What’s Fixed in 2.4.10.4
- 8.4.8.1. Improve KEEP_LAST
- 8.4.8.2. Locator might be duplicated when NAT is configured
- 8.4.8.3. Segmentation fault might happen when a DataReader cannot be created
- 8.4.8.4. CMake reports error if CMake version 2.8.10.2 or 2.8.10.1 is used
- 8.4.8.5. Wrong TUDP locator kind sent when using UDP transformations
- 8.4.8.6. Compile shipped examples for a 64 bits architecture
- 8.4.8.7. OSAPI_Heap_realloc() Windows implementation fixed
- 8.4.8.8. Use API DDSDomainParticipant::delete_contained_entities() in C++ examples
- 8.4.8.9. Memory leak in shipped examples fixed
- 8.4.8.10. C++ shipped examples might release an object twice.
- 8.4.9. What’s New in 2.4.10.1
- 8.4.10. What’s Fixed in 2.4.10.1
- 8.4.11. What’s New in 2.4.10
- 8.4.12. What’s Fixed in 2.4.10
- 8.4.12.1. Linker Warning for Missing PDB Files
- 8.4.12.2. Linking with Dynamic Windows C Run-Time (CRT)
- 8.4.12.3. DDS_Publisher_create_datawriter() May Fail to Create a New Datawriter
- 8.4.12.4. DataReader May Not Reclaim NOT_ALIVE Instances when DataWriter Deleted or Liveliness Lost
- 8.4.12.5. A Datawriter may fail to release instance resources if a peer is inactive while the Participant liveliness expires
- 8.4.12.6. A Reliable DataWriter With max_samples_per_instance = 1 May Run Out of Resources After Multiple Unregistrations of Single Instance
- 8.4.12.7. Connext Micro Fails to Discover Endpoints created by Connext Core if the Endpoints are Deleted or Modified
- 8.4.12.8. Incorrect Log Output in a Complete Log Message could not be Stored
- 8.4.12.9. Possible Segmentation Fault when Unregistering TRANSIENT_LOCAL Instance
- 8.4.12.10. Support to map IDL modules to C++ namespaces in generated type-plugins
- 8.4.12.11. Possible Memory Access Violation when Receiving Malformed RTPS Message
- 8.4.12.12. In Some Cases an Incorrect Timeout Calculation Caused 100% CPU Load
- 8.4.13. What’s New in 2.4.9
- 8.4.13.1. Improved Support for adding new Ports
- 8.4.13.2. Updated Build Environment to Build RTI Connext Micro
- 8.4.13.3. Example CMake Tool-chain Files for Cross-Compilation
- 8.4.13.4. Host Bundle without the Java RunTime Available
- 8.4.13.5. Support for 64-bit Platforms
- 8.4.13.6. POSIX Compliance Improvements
- 8.4.13.7. C++ Support for find_topic()
- 8.4.13.8. Types Are Automatically Unregistered Upon Deleting Contained Entities
- 8.4.14. What’s Fixed in 2.4.9
- 8.4.14.1. Improved Documentation
- 8.4.14.2. Losing Participant Liveliness Stops Communication
- 8.4.14.3. DDSTopic::narrow() Returned Incorrect Value in C++
- 8.4.14.4. PRECONDITION_NOT_MET Returned by deleted_topic() When Topic Is Not Use
- 8.4.14.5. Instance Resources Not Reclaimed When Unregistered
- 8.4.14.6. Invalid Memory Read Reported in Log.c
- 8.4.14.7. Unsupported Functions When Compiling With RTI_CERT Has Been Removed From Generated Code
- 8.4.14.8. The HelloWorld_cert Example Now Compiles When Linked Against a Library Built With RTI_CERT
- 8.4.14.9. Hostnames Are No Longer Validated
- 8.4.14.10. A Participant May Not Be Rediscovered In Case Of Asymmetric Liveliness Loss
- 8.4.14.11. A Non-keyed Endpoint Matches a Keyed Endpoint
- 8.4.15. What’s New in 2.4.8
- 8.4.16. What’s Fixed in 2.4.8
- 8.4.17. What’s New in 2.4.7
- 8.4.18. What’s Fixed in 2.4.7
- 8.4.18.1. Statuses are passed as pointers instead of references to DDSDomainParticipantListeners
- 8.4.18.2. Missing assignment operator = in RT_ComponentFactoryId
- 8.4.18.3. CMAKE_C_FLAGS_ORIGINAL in CMakeLists.txt misspelled
- 8.4.18.4. Missing const qualifier for the sequence [] operator
- 8.4.18.5. Missing primitive IDL sequences in C++
- 8.4.19. What’s New in 2.4.6
- 8.4.19.1. Important API Changes
- 8.4.19.2. Run-time Memory Footprint Has Been Significantly Reduced
- 8.4.19.3. New FooTypeSupport operations
- 8.4.19.4. All public C API now natively available to C++ users
- 8.4.19.5. Status data passed by reference to C++ listeners
- 8.4.19.6. TheParticipantFactory now available to C++ users
- 8.4.19.7. Status types now available in DDS:: C++ namespace
- 8.4.19.8. Foo::copy_data() takes const argument
- 8.4.19.9. ConditionSeq added to C++ DDS namespace
- 8.4.19.10. First 2-Bytes Of GUID Assigned to Vendor ID
- 8.4.20. What’s Fixed in 2.4.6
- 8.4.20.1. POSIX Threads Were Created Without Names
- 8.4.20.2. Prerequisite for HelloWorld_android updated in README.txt
- 8.4.20.3. CPP/HelloWorld_dpde example does not overwrite RTIMEHOME
- 8.4.20.4. Transport Not Supporting Multicast Did Not Ignore Multicast
- 8.4.20.5. Discovery Messages Incorrectly Dropped When Containing Non-Standard Locators
- 8.4.20.6. HEARTBEAT Not Sent in Response To Initial ACKNACK
- 8.4.20.7. Incorrect Return Code From DataReader’s Read or Take APIs When Max_Outstanding_Reads Exceeded
- 8.4.20.8. DataReader Did Not Replace Historical Samples When max_samples_per_instance Equaled History Depth
- 8.4.20.9. A Disposed Instance Could Be Updated By A DataWriter That Is Not Its Exclusive Owner
- 8.4.20.10. Fixed code generation for user-defined enum constants.
- 8.4.20.11. Hostname is verified as specified in RFC-952 and RFC-1123
- 8.4.20.12. DDS_<Foo>Seq APIs Were Missing
- 8.4.20.13. DataReader Could Reject All Subsequent Samples From a DataWriter
- 8.4.20.14. POSIX Thread Priorities Not Changeable
- 8.4.20.15. RTPS DATA Submessages with K-flag Set Were Dropped
- 8.4.1. What’s New in 2.4.12.1
- 8.5. Known Issues
- 8.5.1. Maximum Number of Components Limited to 58
- 8.5.2. CMake version 3.6 or Higher is Required to Build VxWorks with CMake
- 8.5.3. Endpoint Discovery Requires Unique Object IDs Across All Remote Endpoints
- 8.5.4. Compiler warnings on VxWorks
- 8.5.5. OSAPI Does Not Always Detect Endianess
- 8.5.6. Missing Checks for max_routes_per reader and max_routes_per_writer