RTI Connext Migration Guide
7.6.0
1. Important: How to Use this Guide
1.1. Upgrade Path
1.2. Upgrade Steps
1.3. Regenerating Code and Updating Your Projects
1.3.1. Generated code compatibility
1.3.2. Updating your projects
1.3.2.1. C and C++ applications
1.3.2.2. Java applications
1.3.2.3. C# applications
1.3.2.4. Python applications
1.3.3. Updating your source code
2. Upgrading from 7.5.0 to 7.6.0
2.1. General Compatibility 7.6.0
2.1.1. Wire Compatibility
2.1.1.1. Configure compatibility with Java keyhash calculation in previous releases
2.2. Product-Specific Compatibility 7.6.0
2.2.1. RTI Connext Core Libraries
2.2.1.1. API Compatibility
2.2.1.2. Configuration Changes
2.2.1.3. Logging Changes
2.2.2. RTI Code Generator
2.2.2.1. Changed default mapping for Modern C++ to “IDL4 to C++”
2.2.3. RTI
Security Plugins
2.2.3.1. Wire Compatibility
2.2.3.2. Changes to Building an Application
2.2.3.3. Configuration Changes
2.2.3.4. API Changes
2.2.3.5.
Security Plugins SDK
2.2.4. RTI TLS Support
2.2.4.1. OpenSSL 3 upgrade
2.2.5. RTI Infrastructure Services
2.2.5.1. Persistence Service
2.2.5.2. Web Integration Service
2.2.6. RTI Admin Console
2.2.6.1. Remote debugging between 7.5.0 and 7.6.0 does not work
2.2.6.2. Collector Service XML profile name changes for remote debugging
2.2.7. RTI Observability Framework
2.2.7.1. Remote debugging between 7.5.0 and 7.6.0 does not work
3. Upgrading from 7.4.0 to 7.5.0
3.1. General Compatibility 7.5.0
3.1.1. Wire Compatibility
3.1.1.1. DataReader in 7.5.0 may not interoperate with DataWriter in previous release when using XCDR and mutable unions
3.1.1.2. New requirement if you interoperate with DDS vendors that produce multiple RTPS messages in a single datagram
3.2. Product-Specific Compatibility 7.5.0
3.2.1. RTI Connext Core Libraries
3.2.1.1. Incompatibility between Python API and other APIs when using int8 type
3.2.1.2. New discovery protocol APIs for RPC and Request-Reply in Python
3.2.1.3. Changed C function signatures could cause signed/unsigned warnings when compiling application code
3.2.2. RTI
Security Plugins
3.2.2.1. Configuration Changes
3.2.2.2. SDK Changes
3.2.3. RTI Persistence Service
3.2.3.1. Creation of Persistence Service instance using Persistence Service library will change DomainParticipantFactoryQos settings by default
3.2.3.2. Errors when using Persistence Service with DataWriters from some previous releases, when Persistence Service synchronization is enabled
3.2.4. RTI Connext Observability Framework
3.2.4.1. Optionally disable distribution and collection of remote debugging data
4. Upgrading from 7.3.0 to 7.4.0
4.1. General Compatibility 7.4.0
4.1.1. Wire Compatibility
4.1.1.1. RTPS Versions
4.1.1.2. Best-effort
DataReader
from before 6.1.0 cannot receive MultiChannel RTPS fragmented data from synchronous
DataWriter
in 7.4.0
4.1.2. Transport Compatibility
4.1.2.1. Real-Time WAN Transport updated message_size_max value may cause messages to be dropped from previous versions
4.2. Product-Specific Compatibility 7.4.0
4.2.1. RTI Connext Core Libraries
4.2.1.1. Properties dds.sample_assignability.accept_unknown_enum_value and dds.sample_assignability.accept_unknown_union_discriminator have been deprecated
4.2.1.2. Sample assignability default value changed in from_cdr_buffer APIs
4.2.1.3. Can no longer use “DDS_” prefix with KEEP_LAST_HISTORY_QOS and KEEP_ALL_HISTORY_QOS enumeration values in XML files
4.2.1.4. New discovery protocol APIs for RPC and Request-Reply in Modern C++
4.2.2. RTI
Security Plugins
4.2.2.1. Interoperability with
DomainParticipants
that have a domain tag or partitions
4.2.2.2. HMAC-Only mode removed from the
Builtin Security Plugins
4.2.2.3. Use new property in place of authentication.key_establishment_algorithm
4.2.3. RTI Connext Observability Framework
5. Upgrading from 6.1.2 to 7.3.0
5.1. General Compatibility 7.3.0
5.1.1. Wire Compatibility
5.1.1.1. RTPS Versions
5.1.1.2. New default RTPS checksum mechanism
5.2. Product-Specific Compatibility 7.3.0
5.2.1. RTI Connext Core Libraries
5.2.1.1. Deprecations or Removals
5.2.1.2. API Compatibility
5.2.1.3. Configuration Changes
5.2.1.4. Logging Changes
5.2.1.5. Library Size
5.2.1.6. Memory Consumption
5.2.1.7. Network Performance
5.2.1.8. Discovery Performance
5.2.1.9. Transport Compatibility
5.2.1.10. Other Changes
5.2.2.
Security Plugins
5.2.2.1. Deprecations or Removals
5.2.2.2. API Compatibility
5.2.2.3. Changes to Building an Application
5.2.2.4. Changes to Shipped Examples
5.2.2.5. Configuration Changes
5.2.2.6. Logging Changes
5.2.2.7. Performance and Scalability
5.2.2.8. Wire Compatibility
5.2.3. RTI TLS Support
5.2.3.1. OpenSSL 3.0 upgrade and 1.1.1 removal
5.2.3.2. Deprecated tls.cipher.dh_param_files
5.2.3.3. New OpenSSL 3 requirement on tls.cipher.cipher_list
5.2.4. RTI Infrastructure Services
5.2.4.1. Use <domain_participant_qos> tag instead of <participant_qos> tag to be compliant with DDS-XML specification
5.2.4.2. Removals in Cloud Discovery Service
5.2.4.3. Persistence Service
5.2.5. RTI Tools
5.2.5.1. Secure BuiltinLoggingTopic renamed to BuiltinLoggingTypeV2
5.2.6. RTI System Designer
5.2.6.1. XML files from 6.1.2 or earlier may not load in release 7.3.0
5.2.6.2. Renamed shared_secret_algorithm to key_establishment_algorithm
5.2.7. RTI Limited Bandwidth Endpoint Discovery Plugin
5.2.8. RTI Connext Micro
5.2.8.1. Connext Micro 3 not compatible with DDS-level fragmentation in Connext Professional 7
5.2.8.2. Connext Professional DataWriter not compatible with Connext Micro/Cert DataReader under certain conditions
6. Upgrading from 6.1.0 to 6.1.2
6.1. General Compatibility 6.1.2
6.1.1. Potential -fPIC flag issue when using static libraries in Linux and QNX if upgrading from 6.1.0
6.2. Product-Specific Compatibility 6.1.2
6.2.1. RTI Connext Core Libraries
6.2.1.1. Removed ability to share a database connection in Persistence Service and durable writer history
6.2.1.2. Upgrading Your C# Projects
6.2.1.3. TopicQuery not Supported in C# API
6.2.2. RTI Code Generator
6.2.2.1. C# language binding introduced in 6.1.0 now used by default
6.2.3. RTI System Designer
6.2.3.1. Old types no longer accepted in group_data, user_data, or topic_data field
6.2.3.2. XML file from 6.1.1 or above may not load in previous releases
6.2.4.
Security Plugins
6.2.4.1. Problems checking whether a participant is allowed to exist
6.2.4.2. Failure loading certificates due to missing keyCertSign when a CA has the KeyUsage X.509 V3 extension
6.2.5. RTI Persistence Service
6.2.6. RTI Connext Micro
6.2.6.1. Connext Micro 3.0.3 installation package currently compatible only with Connext 6.0.1 installer
6.2.6.2. Communication failures with reliable Connext Micro 3 or 2.4 DataReader
7. Upgrading from 6.0.1 to 6.1.0
7.1. General Compatibility 6.1.0
7.1.1. Platforms
7.1.1.1. Linking static Linux or QNX libraries with object files built with -fPIC will fail
7.1.1.2. New Linux® Linker Flag
7.1.1.3. Additional Build Flags for Backtrace Feature
7.1.1.4. VxWorks Installation Changes
7.1.1.5. VxWorks Library Name Changes
7.1.1.6. Android Static Libraries no Longer Supported
7.1.2. Wire Compatibility
7.1.2.1. RTPS Versions
7.1.2.2. Protocol Changes
7.1.2.3.
DataReader
in previous release cannot receive MultiChannel or TopicQuery RTPS fragmented data from
DataWriter
in 6.1.0
7.1.3. Type System Compatibility
7.1.3.1. Connext applications from previous releases will not interoperate with 6.1.0 and later, for types containing optional primitive members, when data representation is XCDR2
7.1.3.2. C/C++ applications may not interoperate for keyed types under certain conditions
7.1.4. Transport Compatibility
7.1.4.1. IP Mobility events may stop communication with applications from previous releases
7.1.5. XML Compatibility
7.1.5.1. Summary of XML schema changes for XML-Based Application Creation and QoS profiles
7.1.5.2.
Connext
applications from 6.1.0 and later may fail to parse XML configuration files from previous releases if <group_data>, <user_data>, or <topic_data> tags are used
7.1.5.3. Use new XML tag names <participant_qos>, <filter>, and <parameter_list>
7.1.5.4. XML fields of type duration have unset tags default to 0 with a warning log message
7.1.5.5. Instance replacement changes affect XML files in Micro Application Generator (MAG)
7.2. Product-Specific Compatibility 6.1.0
7.2.1. RTI Connext Core Libraries
7.2.1.1. Configuration Changes
7.2.1.2. API Changes
7.2.1.3. Library Size
7.2.1.4. Memory Consumption
7.2.1.5. Network Performance
7.2.1.6. Discovery Performance
7.2.1.7. RTI Connext Micro Compatibility
7.2.1.8. Miscellaneous
7.2.2. RTI Code Generator
7.2.2.1. -language C++03 will soon be removed
7.2.2.2. -legacyPlugin option removed
7.2.2.3. Modern C++ API now maps enums to enum class
7.2.2.4. IDL type incompatibility: @key should no longer be set in derived structures
7.2.3. RTI Connext Tools
7.2.3.1. Tools won’t work on some operating systems
7.2.3.2. RTI Launcher: Previous releases could propagate some environment variables on macOS systems
7.2.3.3. RTI Admin Console
7.2.3.4. RTI System Designer
7.2.4.
Security Plugins
7.2.4.1. OpenSSL upgrade
7.2.4.2. Target OpenSSL bundles now distributed as .rtipkg files
7.2.4.3. Changed OpenSSL static library names
7.2.4.4. <allow_rule> pattern partitions from previous releases may no longer work
7.2.4.5. No backward interoperability if Permissions Document subject name has commas in an attribute value
7.2.4.6. authentication.crl_file property has been deprecated and replaced by authentication.crl, which requires a “file:” or “data:,” prefix
7.2.4.7.
DomainParticipant
creation will fail if either logging.distribute.enable or logging.log_file logging property is set
7.2.4.8. Deprecated logging.distribute properties
7.2.4.9. Old logging.distribute.queue threshold property names no longer work
7.2.4.10. Changed default value of max_heartbeat_retries for secure volatile channel to UNLIMITED
7.2.4.11. Improvements in Discovery Performance
7.2.5. RTI Secure WAN Transport
7.2.5.1. OpenSSL upgrade
7.2.5.2. Changed OpenSSL static library names
7.2.6. RTI TLS Support
7.2.6.1. OpenSSL upgrade
7.2.6.2. Changed OpenSSL static library names
7.2.6.3. tls.cipher.cipher_list property has no effect when using TLS 1.3
7.2.7. RTI Infrastructure Services
7.2.7.1. XML Compatibility
7.2.7.2. RTI Routing Service
7.2.7.3. RTI Recording Service
7.2.7.4. RTI Persistence Service
7.2.8. RTI Connext Micro
8. Upgrading from 6.0.0 to 6.0.1
8.1. General Compatibility 6.0.1
8.1.1. Wire Compatibility
8.1.1.1. RTPS Versions
8.1.1.2. Fragmentation is now independent of sample serialized size
8.1.2. Type System Compatibility
8.1.2.1. Wire representation of TypeObject
8.1.2.2. Incompatibility issues for Java and .Net when using XCDR2
8.1.3. Other Compatibility Issues
8.1.3.1. Large data support for Multichannel and TopicQuery has been disabled
8.2. Product-Specific Compatibility 6.0.1
8.2.1. RTI Connext Core Libraries
8.2.1.1. Durable Writer History properties prefix must contain “.builtin” substring
8.2.1.2. Durable Writer History properties cannot be set on DomainParticipant
8.2.2. RTI Code Generator
8.2.2.1. Incompatibility issues for Java and .Net when using XCDR2
8.2.2.2. Invalid XSD file from an IDL/XML file if input file contains a range annotation
8.2.3.
Security Plugins
8.2.3.1. OpenSSL upgrade
8.2.3.2. Changes to building an application
8.2.3.3. Changes to behavior of intermediate certificates
8.2.3.4. Property key_material_key now required for Secure Persistence Service
8.2.3.5. Issue related to missing keyCertSign when a CA has the KeyUsage X.509 V3 extension
8.2.4. RTI Secure WAN Transport
8.2.4.1. OpenSSL upgrade
8.2.4.2. Changes to building an application
8.2.5. RTI TLS Support
8.2.5.1. OpenSSL upgrade
8.2.5.2. Changes to building an application
9. Upgrading from 5.3.1 to 6.0.0
9.1. General Compatibility 6.0.0
9.1.1. Wire Compatibility
9.1.1.1. RTPS Versions
9.1.1.2. New default GUID generation mode
9.1.1.3. Default shared memory locator has changed
9.1.1.4. 4.2e alignment option deprecated
9.1.1.5. Changed wire representation of TypeObject
9.1.1.6. TypeCode information is not sent by default
9.1.2. Reliability Protocol
9.1.2.1. Changes in behavior of write() operation with KEEP_LAST configuration
9.1.3. Type System Compatibility
9.1.3.1. Migration to Extended CDR encoding version 2 (XCDR2)
9.1.3.2. Changed wire representation of TypeObject
9.1.3.3. TypeCode information is not sent by default
9.1.3.4. Unbounded sequences and strings in XML type representation
9.1.3.5. wchar and wstring language binding changes
9.1.3.6. Properties dds.type_consistency.ignore_member_names and dds.type_consistency.ignore_sequence_bounds have been deprecated
9.1.4. Transport Compatibility
9.1.4.1. Default shared memory locator has changed
9.1.4.2. VxWorks shared-memory transport compatibility
9.1.5. XML Compatibility
9.1.5.1. QoS Profile multiple inheritance
9.1.5.2. XSD issues
9.1.6. Other Compatibility Issues
9.1.6.1. Behavior change when retrieving QoS using topic_name (when there are multiple matching QoSes)
9.2. Product-Specific Compatibility 6.0.0
9.2.1. RTI Connext Core Libraries
9.2.1.1. APIs
9.2.1.2. Generated Code
9.2.1.3. QoS
9.2.1.4. Library Size
9.2.1.5. Memory Consumption
9.2.1.6. Performance
9.2.1.7. RTI Connext Micro Compatibility
9.2.2.
Security Plugins
9.2.2.1. Configuration
9.2.2.2. Wire Compatibility
9.2.2.3. APIs
9.2.3. RTI Secure WAN Transport
9.2.4. RTI TLS Support
9.2.5. RTI Ada Language Support
9.2.5.1. APIs
9.2.6. RTI Code Generator
9.2.6.1. Removed -stl Option
9.2.6.2. Removed Support for -notypecode
9.2.6.3. Removed -use42eAlignment
9.2.6.4. Generated code for Extended CDR Encoding Version 2 (XCDR2)
9.2.6.5. Incorrect TypeCode name for member fields whose name was a keyword in Java
9.2.6.6. Modified maximum length of sequences and strings when -unboundedSupport is not used, when converting to XML
9.2.6.7. Traditional C++ compiled with -fno-exceptions
9.2.6.8. Support for new, standard IDL, fixed-width integer types
9.2.6.9. Change in default optimization level for code generation
9.2.7. RTI Connext Micro
9.2.7.1. Connext Compatibility
9.2.8. RTI Routing Service
9.2.8.1. Application Binary Interface
9.2.8.2. APIs
9.2.8.3. Configuration
9.2.8.4. Administration and Monitoring
9.2.8.5. QoS
9.2.8.6. Performance
9.2.8.7. Library Size
9.2.8.8. Documentation
9.2.9. RTI Recording Service
9.2.9.1. APIs
9.2.9.2. Configuration
9.2.9.3. Database Format
9.2.9.4. Running Recording Service 5.3.1
9.2.9.5. Documentation
9.2.10. RTI Persistence Service
9.2.10.1. External Database Compatibility
9.2.10.2. Persistent Storage (Database) Format Compatibility
9.2.10.3. Persistence Storage (Database) Locking Compatibility
9.2.10.4. Dynamically Linked Libraries
9.2.11. RTI Database Integration Service
9.2.11.1. Database Compatibility
9.2.12. RTI Cloud Discovery Service
9.2.13. RTI Launcher
9.2.13.1. Configuration
9.2.14. RTI Administration Console
9.2.14.1. New Default GUID Generator Mode
9.2.14.2. New GTK+ and Cairo Dependencies
9.2.14.3. Connext Micro Compatibility
9.2.15. RTI Monitor
9.2.16. RTI Utilities
9.2.16.1. Dynamically Linked Libraries
10. Regressions
10.1. Regressions in 7.5.0
10.1.1. Core Libraries
10.1.1.1. Inconsistent QoS error when setting builtin discovery channels
10.1.2.
Security Plugins
10.1.2.1. Segmentation fault when creating and immediately deleting a DomainParticipant
10.1.3. Routing Service
10.1.3.1. Routing Service user library requires inclusion in correct environment variable to be loaded
10.1.4. Recording Service
10.1.4.1. Performance degradation when converting databases to CSV
10.2. Regressions in 7.4.0
10.2.1. Possible crash during Web Integration Service start-up on OS X systems
10.2.2. Unable to create input/output configurations for Routing Service in System Designer
10.3. Regressions in 7.3.0
10.3.1. Core Libraries
10.3.1.1. Duplicate network traffic captures when creating WaitSets, AsyncWaitSets, or GuardConditions
10.3.1.2. Error when setting QoS on Publisher or Subscriber without endpoints
10.3.1.3. Crash on DDS_DomainParticipantFactory_finalize_instance when using XML-Based Application Creation
10.3.1.4. Unexpected error messages when disposing of an instance while using batching and setting serialize_key_with_dispose to TRUE
10.3.1.5. RTI DDS Spy shows DDS_DataReader_get_matched_publication_participant_data error before leaking memory
10.3.1.6. Misleading warning message when one non-loopback interface doesn’t support multicast
10.3.2. Admin Console
10.3.2.1. Discovery peer changes not consistently applied or maintained
10.3.3. Routing Service
10.3.3.1. Unexpected error messages when Routing Service disposes of an instance while using batching and setting serialize_key_with_dispose to TRUE
10.4. Regressions in 7.2.0
10.4.1. General
10.4.1.1. Running scripts under $NDDSHOME/bin creates two processes
10.4.2. Core Libraries
10.4.2.1. Vulnerability: Potential invalid read memory access in Connext applications when subscribing to PublicationBuiltinTopicData
10.4.2.2. Incorrect value of an infinite duration in non-Java APIs
10.4.2.3. Sentinel constant for “invalid” Time contained unexpected value
10.4.2.4. Error message printed for each filtered sample when using writer-side filtering, FlatData, and Zero Copy over shared memory
10.4.2.5. RTI Monitor unable to start due to missing nddsjava.jar in rti_connext_dds-7.2.0/lib/java in LM bundles
10.4.3. Code Generator
10.4.3.1. Code generation fails if @verbatim annotation encountered
10.4.3.2. Erroneous warning when using -enableEscapeChar
10.4.3.3. Constant string defined in IDLs/XMLs may cause compilation issues if compiler set to use C++17 standard
10.4.4.
Security Plugins
10.4.4.1. Verbosity of security-related messages is per application
10.4.4.2. Memory leak when running Security Plugins SDK tester
10.4.4.3. Wrong default Governance configuration for legacy Builtin Secure Logging topic
10.5. Regressions in 7.1.0
10.5.1. Core Libraries
10.5.1.1. Possible unbounded memory growth on DataReader of keyed type after failing to match with a remote DataWriter
10.5.1.2. Possible crash when creating DomainParticipants concurrently
10.5.1.3. Potential bus error when calling print and to_string APIs in TypeCode
10.5.1.4. Running rtisetenv_<arch>.bat caused issues in PATH environment
10.5.1.5. Instance purging based on source timestamp does not work
10.5.2. Code Generator
10.5.2.1. Code Generator server not working as expected using relative paths with the -d option
10.5.2.2. Code not stored in specified output directory on Windows when IDL was in a Symlink
10.5.2.3. Command-line option tips not printed if you entered an invalid option
10.5.2.4. Include flag used without a space causes Code Generator to fail
10.6. Regressions in 7.0.0
10.6.1. Core Libraries
10.6.1.1. Memory leaks and errors when using DynamicDataReaders or FlatData DataReaders plus DDS-fragmentation and compression or encryption
10.6.1.2. Some properties no longer accept LENGTH_UNLIMITED string as valid value
10.6.1.3. Possible segmentation fault while enabling a DataWriter that enables batching
10.6.1.4. Running out of memory during DomainParticipant creation causes DomainParticipantFactory finalization to hang
10.6.1.5. Error message that is printed when failing to allocate the writer buffer pool is wrong
10.6.1.6. Arbitrary read access while parsing malicious RTPS message
10.6.1.7. Unexpected warning during DomainParticipant enablement when locator reachability enabled
10.6.1.8. DDS fragmentation leads to more fragments than expected for a sample
10.6.1.9. TCP transport won’t run with Windows debug libraries if socket_monitoring_kind is IOCP
10.6.2.
Security Plugins
10.6.2.1. Segmentation fault in Java while enabling a DataWriter that protects payloads and enables batching
10.6.2.2. Unexpected “Fragment data not supported by this writer” error when using Security
10.6.2.3. Session keys not renewed as often as they should when using RTPS SIGN protection
10.6.3. Persistence Service
10.6.3.1. Persistence Service XSD schema broken
10.7. Regressions in 6.1.1/6.1.2
10.7.1. Core Libraries
10.7.1.1. Stack smashing error when serializing strings with RTI_CDR_SIZEOF_LONG_DOUBLE set to 16 in C++11 in release mode using GCC compiler
10.7.1.2. Reliable DataReader may stop receiving samples from DataWriter using durable writer history and DDS fragmentation
10.7.1.3. Thread names longer than 15 characters on QNX platforms cause errors in API calls
10.7.1.4. Unexpected precondition error with debug libraries on a reliable
DataWriter
while sending a GAP
10.7.1.5. Unexpected warning during discovery when multicast disabled
10.7.2.
Security Plugins
10.7.2.1. Lack of origin authentication leads to unnecessary allocation and possible discovery failure
10.7.2.2. Potential crash while decoding protected submessages
10.7.3. Persistence Service
10.7.3.1. Vulnerability: Stack buffer write overflow while parsing malicious environment variable on non-Windows systems
10.7.3.2. Rare non-recoverable failure when acknowledging samples and committing transactions with non-zero <writer_ack_period> and <writer_checkpoint_period>
10.7.4. Limited Bandwidth Plugins
10.7.4.1. Limited Bandwidth ZRTPS transport crashes if an external compression library fails to load
10.8. Regressions in 6.1.0
10.8.1. Core Libraries
10.8.1.1. Possible to create a DomainParticipant in a DomainID > 232 without getting error or warning
10.8.1.2. Segmentation fault if application runs out of memory while generating a log message
10.8.1.3. Possible memory leak when initializing and finalizing the DomainParticipantFactory concurrently
10.8.1.4. max_samples resource limit not honored in some cases when using an unkeyed Topic and TopicQueries
10.8.1.5. DomainParticipant with non-default metatraffic_transport_priority QoS does not complete discovery
10.8.1.6. Broken communication when DataWriter with transport priority discovers DataReader with multicast receive address
10.8.1.7. No more than 100 asynchronous publisher threads can be created
10.8.1.8. Linking static Linux or QNX libraries with object files built with -fPIC will fail
10.8.1.9. Invalid serialization of samples with types containing nested structures with primitive members that require padding
10.8.1.10. Significant performance degradation when using MultiChannel DataWriters
10.8.1.11. Significant performance regression on Windows when using OpenSSL 1.1.1 libraries in 6.1.0
10.8.1.12. ReadCondition may incorrectly stay enabled after sample in READ sample state removed from the DataReader’s queue
10.8.1.13. Missing SampleInfo.ReceptionTimestamp property (C# API only)
10.8.1.14. Source code bundle missing critical piece of code related to UDP multicast support
10.8.1.15. Significant performance regression on Windows systems when using OpenSSL 1.1.1k libraries provided in 6.1.0
10.8.1.16. Support removed for ARMv8 and x64 processors, cxx and gpp compilers, for QNX platform
10.8.1.17. Support removed for ARMv8 Linux architecture
10.8.2. Code Generator
10.8.2.1. Generated code may contain mixed line breaks
10.8.2.2. @default annotation for wstring members in C++11 is not applied
10.8.2.3. Java subscriber may not preserve union discriminator value, when discriminator is enum
10.8.2.4. Compile-time error when using -constructor with types containing sequence of pointers
10.8.2.5. Invalid serialization of samples with types containing nested structures with primitive members that require padding
10.8.2.6. Invalid code generated for unions in C++98
10.8.3. Admin Console
10.8.3.1. High CPU usage by Admin Console
10.8.3.2. Admin Console does not correctly delete Publisher and Subscriber entities
10.8.4. TLS Support
10.8.4.1. hello_world_tcp example root and intermediate CAs expire too early
10.8.4.2. Significant performance regression on Windows when using OpenSSL 1.1.1 libraries in 6.1.0
10.8.5.
Security Plugins
10.8.5.1. Significant performance regression on Windows when using OpenSSL 1.1.1 libraries in 6.1.0
10.8.5.2. use_530_partitions incorrectly allowed any non-empty partitions
10.8.5.3. Permissions document incorrectly disallows unescaped special characters in a subject name
10.8.6. Routing Service
10.8.6.1. Routing Service Socket Adapter example does not properly resolve hostname
10.8.6.2. Crash in Routing Service executable when providing the same -Dname=value pair twice
10.8.7. Recording Service
10.8.7.1. <content_filter> tags do not work for Topic groups
10.8.7.2. Exception reported when recording or replaying type registered as a union
10.8.7.3. Replay Service’s Monitoring ServicePeriodic topic shows wrong timestamp
10.8.8. Cloud Discovery Service
10.8.8.1. Restricting domains using command-line arguments requires use of both -allowDomain and -denyDomain arguments
10.9. Regressions in 6.0.1
10.9.1. Core Libraries
10.9.1.1. Samples lost if multiple readers created in same locator and push_on_write is set to false
10.9.1.2. XML parser crashes from infinite recursion when XML QoS configuration contains inheritance loop
10.9.1.3. Possible issues with communication and enabling DomainParticipant on Windows systems if network interface has multiple IP addresses
10.9.1.4. Failure to allocate memory larger than 2 GB
10.9.2. Routing Service
10.9.2.1. Fourth digit of product version not logged at startup
10.9.3. Recording Service
10.9.3.1. Crash if monitoring enabled and TopicGroup matches with Topic name containing ‘/’ character
10.9.4. Prototyper
10.9.4.1. Prototyper broken in 6.0.1
10.9.5.
Security Plugins
10.9.5.1. Properties “com.rti.serv.secure.license_string” and “com.rti.serv.secure.license_file” not validated properly
10.9.5.2. Using properties “dds.license.license_string” or “dds.license.license_file” leads to DomainParticipant creation failure
10.10. Regressions in 6.0.0
10.10.1. Core Libraries
10.10.1.1. Non-Java register_type fails if the maximum size is greater than 2 GB
10.10.1.2. XCDR serialization of a mutable union with an unknown discriminator value is not compliant with OMG specification
10.10.1.3. Participant may receive RTPS traffic over SHMEM transport not intended for participant
10.10.1.4. Instance handling on a DataReader and filtering operations in ContentFilteredTopics, QueryConditions, TopicQueries, and Multi-Channel DataWriters may fail
10.10.1.5. Creating DynamicDataTypePlugin with TypeCode from discovery and using content filtering causes segmentation fault
10.10.1.6. Crash with NULL listeners and non-none status masks in C applications that mix types with and without Zero Copy
10.10.1.7. Application using Monitoring Libraries produces segmentation fault during DataReader creation
10.10.1.8. Continuous creation of TopicQueries may lead to unnecessary memory fragmentation in OS memory allocator
10.10.1.9. Unbounded memory growth in Spy when discovering multiple endpoints with the same Topics and types
10.10.1.10. Types Containing Typedefs sent without the typedefs in discovery when using DynamicData
10.10.1.11. XSD issue: order enforced in <publisher> tag
10.10.1.12. Invalid key deserialization for mutable derived types with key members
10.10.1.13. Malformed samples with invalid strings not dropped by DataReader in C, traditional C++, and modern C++
10.10.1.14. VxWorks kernel mode shared memory doesn’t work after restarting an application
10.10.1.15. Serialization of string members does not check for null-terminated strings in C, traditional C++, and modern C++
10.10.1.16. Discovery issues when reusing shared memory segments
10.10.1.17. Unexpected log message when calling DataWriter::get_matched_subscription_data or DataReader::get_matched_publication_data on unmatched endpoints
10.10.1.18. XSD issues
10.10.1.19. Dynamic Data issues
10.10.1.20. Discovery does not complete, and there is no error
10.10.1.21. Crash when deserialized_type_object_dynamic_allocation_threshold set to 0
10.10.1.22. Wrong return code for DDS::DataWriter::get_matched_subscription_data and DDS::DataReader::get_matched_publication_data
10.10.1.23. DataReader reports incorrect sample lost and rejected when receiving coherent set
10.10.1.24. QoS policies not resolved to correct values
10.10.2.
Security Plugins
10.10.2.1. Discovery time scales poorly
10.10.2.2. Possible lack of SUBSCRIPTION_MATCHED_STATUS if a DataWriter loses liveliness with the DataReader
10.10.2.3. Applications directly calling OpenSSL APIs after DomainParticipant deletion may crash
10.10.2.4.
DataWriter
does not report PUBLICATION_MATCHED_STATUS for
DataReaders
that are inactive when it receives their key material
10.10.3. Code Generator
10.10.3.1. Change in behavior in C and traditional C++ for sequences of bounded strings under certain conditions when code is generated with optimization level 1 or 2
10.10.3.2. -d64 flag missing in generated Java makefile for Red Hat Enterprise Linux 8.0
10.10.3.3. Invalid key deserialization for mutable derived types with key members
10.10.3.4. Malformed samples with invalid strings not dropped by DataReader in C, traditional C++, and modern C++
10.10.3.5. Invalid serialization of samples with types containing primitive members that require padding
10.10.3.6. Java exception during serialization/deserialization of keyed types whose key is an unkeyed nested type with unbounded members
10.10.3.7. Incorrect deserialization in .Net of samples from certain types when published from a writer with disable_inline_keyhash set to true
10.10.3.8. Generated code in traditional C++ with namespaces for an IDL containing a nested module called “rti” will not compile
10.10.4. Persistence Service
10.10.4.1. RTICdrTypeCodeUtils_type_has_external_members:!get member error when running Persistence Service
10.10.5. Routing Service
10.10.5.1. Vulnerability: Potential stack corruption in Routing Service when using malicious XML configuration document
10.10.5.2. Unbounded memory growth when restarting Service or creating/deleting DomainRoutes
10.10.5.3. Large per-sample memory usage in Routing Service
10.10.5.4. Routing Service remote shell: Adding to initial peers list does not work, possible segmentation fault
10.10.5.5. Incorrect content filtering and “RTICdrTypeCodeUtils_type_has_external_members:!get member” error
10.10.5.6. Create method in Service API fails to parse XML snippets that start with ‘str://’
10.10.5.7. Memory leak if malformed configuration file prevents Routing Service creation
10.10.5.8. Executable ignores logging QoS
10.10.6. Recording Service
10.10.6.1. Segmentation fault after discovering application that uses UserData QoS Policy
10.10.6.2. Executable does not log build ID for DDS libraries
10.10.6.3. Legacy deserialized database table cannot be replayed or converted if it contains compact byte sequences or arrays
10.10.6.4. Segmentation fault in
Replay Service
or
Converter
if recorded topics have “::” in their names
10.10.7. Cloud Discovery Service
10.10.7.1. Cloud Discovery Service executable does not log build ID for DDS libraries
10.10.8. Queuing Service
10.10.8.1. RTICdrTypeCodeUtils_type_has_external_members:!get member error when running Queuing Service
11. Changes to This Document
Copyrights and Notices
RTI Connext Migration Guide
2.
Upgrading from 7.5.0 to 7.6.0
2.2.
Product-Specific Compatibility 7.6.0
View page source
2.2.
Product-Specific Compatibility 7.6.0
2.2.1. RTI Connext Core Libraries
2.2.1.1. API Compatibility
2.2.1.2. Configuration Changes
2.2.1.3. Logging Changes
2.2.2. RTI Code Generator
2.2.2.1. Changed default mapping for Modern C++ to “IDL4 to C++”
2.2.3. RTI
Security Plugins
2.2.3.1. Wire Compatibility
2.2.3.2. Changes to Building an Application
2.2.3.3. Configuration Changes
2.2.3.4. API Changes
2.2.3.5.
Security Plugins SDK
2.2.4. RTI TLS Support
2.2.4.1. OpenSSL 3 upgrade
2.2.5. RTI Infrastructure Services
2.2.5.1. Persistence Service
2.2.5.2. Web Integration Service
2.2.6. RTI Admin Console
2.2.6.1. Remote debugging between 7.5.0 and 7.6.0 does not work
2.2.6.2. Collector Service XML profile name changes for remote debugging
2.2.7. RTI Observability Framework
2.2.7.1. Remote debugging between 7.5.0 and 7.6.0 does not work