RTI Connext Migration Guide
7.3.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 6.1.2 to 7.3.0
2.1. General Compatibility 7.3.0
2.1.1. Wire Compatibility
2.1.1.1. New default RTPS checksum mechanism
2.2. Product-Specific Compatibility 7.3.0
2.2.1. RTI Connext Core Libraries
2.2.1.1. Deprecations or Removals
2.2.1.2. API Compatibility
2.2.1.3. Configuration Changes
2.2.1.4. Logging Changes
2.2.1.5. Library Size
2.2.1.6. Memory Consumption
2.2.1.7. Network Performance
2.2.1.8. Discovery Performance
2.2.1.9. Transport Compatibility
2.2.1.10. Other Changes
2.2.2.
Security Plugins
2.2.2.1. Deprecations or Removals
2.2.2.2. API Compatibility
2.2.2.3. Changes to Building an Application
2.2.2.4. Changes to Shipped Examples
2.2.2.5. Configuration Changes
2.2.2.6. Logging Changes
2.2.2.7. Performance and Scalability
2.2.2.8. Wire Compatibility
2.2.3. RTI TLS Support
2.2.3.1. OpenSSL 3.0 upgrade and 1.1.1 removal
2.2.3.2. Deprecated tls.cipher.dh_param_files
2.2.3.3. New OpenSSL 3 requirement on tls.cipher.cipher_list
2.2.4. RTI Infrastructure Services
2.2.4.1. Use <domain_participant_qos> tag instead of <participant_qos> tag to be compliant with DDS-XML specification
2.2.4.2. Removals in Cloud Discovery Service
2.2.4.3. Persistence Service
2.2.5. RTI Tools
2.2.5.1. Secure BuiltinLoggingTopic renamed to BuiltinLoggingTypeV2
2.2.6. RTI System Designer
2.2.6.1. XML files from 6.1.2 or earlier may not load in release 7.3.0
2.2.6.2. Renamed shared_secret_algorithm to key_establishment_algorithm
2.2.7. RTI Limited Bandwidth Endpoint Discovery Plugin
2.2.8. RTI Connext Micro
2.2.8.1. Connext Micro 3 not compatible with DDS-level fragmentation in Connext Professional 7
2.2.8.2. Connext Professional DataWriter not compatible with Connext Micro/Cert DataReader under certain conditions
3. Upgrading from 6.1.0 to 6.1.2
3.1. General Compatibility 6.1.2
3.1.1. Potential -fPIC flag issue when using static libraries in Linux and QNX if upgrading from 6.1.0
3.2. Product-Specific Compatibility 6.1.2
3.2.1. RTI Connext Core Libraries
3.2.1.1. Removed ability to share a database connection in Persistence Service and durable writer history
3.2.1.2. Upgrading Your C# Projects
3.2.1.3. TopicQuery not Supported in C# API
3.2.2. RTI Code Generator
3.2.2.1. C# language binding introduced in 6.1.0 now used by default
3.2.3. RTI System Designer
3.2.3.1. Old types no longer accepted in group_data, user_data, or topic_data field
3.2.3.2. XML file from 6.1.1 or above may not load in previous releases
3.2.4.
Security Plugins
3.2.4.1. Problems checking whether a participant is allowed to exist
3.2.4.2. Failure loading certificates due to missing keyCertSign when a CA has the KeyUsage X.509 V3 extension
3.2.5. RTI Persistence Service
3.2.6. RTI Connext Micro
3.2.6.1. Connext Micro 3.0.3 installation package currently compatible only with Connext 6.0.1 installer
3.2.6.2. Communication failures with reliable Connext Micro 3 or 2.4 DataReader
4. Upgrading from 6.0.1 to 6.1.0
4.1. General Compatibility 6.1.0
4.1.1. Platforms
4.1.1.1. Linking static Linux or QNX libraries with object files built with -fPIC will fail
4.1.1.2. New Linux® Linker Flag
4.1.1.3. Additional Build Flags for Backtrace Feature
4.1.1.4. VxWorks Installation Changes
4.1.1.5. VxWorks Library Name Changes
4.1.1.6. Android Static Libraries no Longer Supported
4.1.2. Wire Compatibility
4.1.2.1. RTPS Versions
4.1.2.2. Protocol Changes
4.1.2.3.
DataReader
in previous release cannot receive MultiChannel or TopicQuery RTPS fragmented data from
DataWriter
in 6.1.0
4.1.3. Type System Compatibility
4.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
4.1.3.2. C/C++ applications may not interoperate for keyed types under certain conditions
4.1.4. Transport Compatibility
4.1.4.1. IP Mobility events may stop communication with applications from previous releases
4.1.5. XML Compatibility
4.1.5.1. Summary of XML schema changes for XML-Based Application Creation and QoS profiles
4.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
4.1.5.3. Use new XML tag names <participant_qos>, <filter>, and <parameter_list>
4.1.5.4. XML fields of type duration have unset tags default to 0 with a warning log message
4.1.5.5. Instance replacement changes affect XML files in Micro Application Generator (MAG)
4.2. Product-Specific Compatibility 6.1.0
4.2.1. RTI Connext Core Libraries
4.2.1.1. Configuration Changes
4.2.1.2. API Changes
4.2.1.3. Library Size
4.2.1.4. Memory Consumption
4.2.1.5. Network Performance
4.2.1.6. Discovery Performance
4.2.1.7. RTI Connext Micro Compatibility
4.2.1.8. Miscellaneous
4.2.2. RTI Code Generator
4.2.2.1. -language C++03 will soon be removed
4.2.2.2. -legacyPlugin option removed
4.2.2.3. Modern C++ API now maps enums to enum class
4.2.2.4. IDL type incompatibility: @key should no longer be set in derived structures
4.2.3. RTI Connext Tools
4.2.3.1. Tools won’t work on some operating systems
4.2.3.2. RTI Launcher: Previous releases could propagate some environment variables on macOS systems
4.2.3.3. RTI Admin Console
4.2.3.4. RTI System Designer
4.2.4.
Security Plugins
4.2.4.1. OpenSSL upgrade
4.2.4.2. Target OpenSSL bundles now distributed as .rtipkg files
4.2.4.3. Changed OpenSSL static library names
4.2.4.4. <allow_rule> pattern partitions from previous releases may no longer work
4.2.4.5. No backward interoperability if Permissions Document subject name has commas in an attribute value
4.2.4.6. authentication.crl_file property has been deprecated and replaced by authentication.crl, which requires a “file:” or “data:,” prefix
4.2.4.7.
DomainParticipant
creation will fail if either logging.distribute.enable or logging.log_file logging property is set
4.2.4.8. Deprecated logging.distribute properties
4.2.4.9. Old logging.distribute.queue threshold property names no longer work
4.2.4.10. Changed default value of max_heartbeat_retries for secure volatile channel to UNLIMITED
4.2.4.11. Improvements in Discovery Performance
4.2.5. RTI Secure WAN Transport
4.2.5.1. OpenSSL upgrade
4.2.5.2. Changed OpenSSL static library names
4.2.6. RTI TLS Support
4.2.6.1. OpenSSL upgrade
4.2.6.2. Changed OpenSSL static library names
4.2.6.3. tls.cipher.cipher_list property has no effect when using TLS 1.3
4.2.7. RTI Infrastructure Services
4.2.7.1. XML Compatibility
4.2.7.2. RTI Routing Service
4.2.7.3. RTI Recording Service
4.2.7.4. RTI Persistence Service
4.2.8. RTI Connext Micro
5. Upgrading from 6.0.0 to 6.0.1
5.1. General Compatibility 6.0.1
5.1.1. Wire Compatibility
5.1.1.1. RTPS Versions
5.1.1.2. Fragmentation is now independent of sample serialized size
5.1.2. Type System Compatibility
5.1.2.1. Wire representation of TypeObject
5.1.2.2. Incompatibility issues for Java and .Net when using XCDR2
5.1.3. Other Compatibility Issues
5.1.3.1. Large data support for Multichannel and TopicQuery has been disabled
5.2. Product-Specific Compatibility 6.0.1
5.2.1. RTI Connext Core Libraries
5.2.2. RTI Code Generator
5.2.2.1. Incompatibility issues for Java and .Net when using XCDR2
5.2.2.2. Invalid XSD file from an IDL/XML file if input file contains a range annotation
5.2.3.
Security Plugins
5.2.3.1. OpenSSL upgrade
5.2.3.2. Changes to building an application
5.2.3.3. Changes to behavior of intermediate certificates
5.2.3.4. Property key_material_key now required for Secure Persistence Service
5.2.3.5. Issue related to missing keyCertSign when a CA has the KeyUsage X.509 V3 extension
5.2.4. RTI Secure WAN Transport
5.2.4.1. OpenSSL upgrade
5.2.4.2. Changes to building an application
5.2.5. RTI TLS Support
5.2.5.1. OpenSSL upgrade
5.2.5.2. Changes to building an application
6. Upgrading from 5.3.1 to 6.0.0
6.1. General Compatibility 6.0.0
6.1.1. Wire Compatibility
6.1.1.1. RTPS Versions
6.1.1.2. New default GUID generation mode
6.1.1.3. Default shared memory locator has changed
6.1.1.4. 4.2e alignment option deprecated
6.1.1.5. Changed wire representation of TypeObject
6.1.1.6. TypeCode information is not sent by default
6.1.2. Reliability Protocol
6.1.2.1. Changes in behavior of write() operation with KEEP_LAST configuration
6.1.3. Type System Compatibility
6.1.3.1. Migration to Extended CDR encoding version 2 (XCDR2)
6.1.3.2. Changed wire representation of TypeObject
6.1.3.3. TypeCode information is not sent by default
6.1.3.4. Unbounded sequences and strings in XML type representation
6.1.3.5. wchar and wstring language binding changes
6.1.3.6. Properties dds.type_consistency.ignore_member_names and dds.type_consistency.ignore_sequence_bounds have been deprecated
6.1.4. Transport Compatibility
6.1.4.1. Default shared memory locator has changed
6.1.4.2. VxWorks shared-memory transport compatibility
6.1.5. XML Compatibility
6.1.5.1. QoS Profile multiple inheritance
6.1.5.2. XSD issues
6.1.6. Other Compatibility Issues
6.1.6.1. Behavior change when retrieving QoS using topic_name (when there are multiple matching QoSes)
6.2. Product-Specific Compatibility 6.0.0
6.2.1. RTI Connext Core Libraries
6.2.1.1. APIs
6.2.1.2. Generated Code
6.2.1.3. QoS
6.2.1.4. Library Size
6.2.1.5. Memory Consumption
6.2.1.6. Performance
6.2.1.7. RTI Connext Micro Compatibility
6.2.2.
Security Plugins
6.2.2.1. Configuration
6.2.2.2. Wire Compatibility
6.2.2.3. APIs
6.2.3. RTI Secure WAN Transport
6.2.4. RTI TLS Support
6.2.5. RTI Ada Language Support
6.2.5.1. APIs
6.2.6. RTI Code Generator
6.2.6.1. Removed -stl Option
6.2.6.2. Removed Support for -notypecode
6.2.6.3. Removed -use42eAlignment
6.2.6.4. Generated code for Extended CDR Encoding Version 2 (XCDR2)
6.2.6.5. Incorrect TypeCode name for member fields whose name was a keyword in Java
6.2.6.6. Modified maximum length of sequences and strings when -unboundedSupport is not used, when converting to XML
6.2.6.7. Traditional C++ compiled with -fno-exceptions
6.2.6.8. Support for new, standard IDL, fixed-width integer types
6.2.6.9. Change in default optimization level for code generation
6.2.7. RTI Connext Micro
6.2.7.1. New Installation Procedure
6.2.7.2. Change In Documentation
6.2.7.3. Application Binary Interface
6.2.7.4. APIs
6.2.7.5. Connext Compatibility
6.2.8. RTI Routing Service
6.2.8.1. Application Binary Interface
6.2.8.2. APIs
6.2.8.3. Configuration
6.2.8.4. Administration and Monitoring
6.2.8.5. QoS
6.2.8.6. Performance
6.2.8.7. Library Size
6.2.8.8. Documentation
6.2.9. RTI Recording Service
6.2.9.1. APIs
6.2.9.2. Configuration
6.2.9.3. Database Format
6.2.9.4. Running Recording Service 5.3.1
6.2.9.5. Documentation
6.2.10. RTI Persistence Service
6.2.10.1. External Database Compatibility
6.2.10.2. Persistent Storage (Database) Format Compatibility
6.2.10.3. Persistence Storage (Database) Locking Compatibility
6.2.10.4. Dynamically Linked Libraries
6.2.11. RTI Database Integration Service
6.2.11.1. Database Compatibility
6.2.12. RTI Cloud Discovery Service
6.2.13. RTI Launcher
6.2.13.1. Configuration
6.2.14. RTI Administration Console
6.2.14.1. New Default GUID Generator Mode
6.2.14.2. New GTK+ and Cairo Dependencies
6.2.14.3. Connext Micro Compatibility
6.2.15. RTI Monitor
6.2.16. RTI Utilities
6.2.16.1. Dynamically Linked Libraries
7. Regressions
7.1. Regressions in 7.3.0
7.1.1. Core Libraries
7.1.1.1. Durable Writer History properties prefix must contain “.builtin” substring
7.1.1.2. Durable Writer History properties cannot be set on DomainParticipant
7.1.1.3. Some properties no longer accept LENGTH_UNLIMITED string as valid value
7.2. Regressions in 7.2.0
7.2.1. Core Libraries
7.2.1.1. Durable Writer History properties prefix must contain “.builtin” substring
7.2.1.2. Durable Writer History properties cannot be set on DomainParticipant
7.2.1.3. Some properties no longer accept LENGTH_UNLIMITED string as valid value
7.2.1.4. Fixed in 7.3.0
7.2.2.
Security Plugins
7.2.2.1. Fixed in 7.3.0
7.2.3. Limited Bandwidth Plugins
7.2.3.1. Fixed in 7.3.0
7.3. Regressions in 7.1.0
7.3.1. Core Libraries
7.3.1.1. Durable Writer History properties prefix must contain “.builtin” substring
7.3.1.2. Durable Writer History properties cannot be set on DomainParticipant
7.3.1.3. Some properties no longer accept LENGTH_UNLIMITED string as valid value
7.3.1.4. Fixed in 7.3.0
7.3.1.5. Fixed in 7.2.0
7.3.2. Code Generator
7.3.2.1. Fixed in 7.2.0
7.3.3.
Security Plugins
7.3.3.1. Fixed in 7.2.0
7.3.4. Limited Bandwidth Plugins
7.3.4.1. Fixed in 7.3.0
7.4. Regressions in 7.0.0
7.4.1. Core Libraries
7.4.1.1. Durable Writer History properties prefix must contain “.builtin” substring
7.4.1.2. Durable Writer History properties cannot be set on DomainParticipant
7.4.1.3. Some properties no longer accept LENGTH_UNLIMITED string as valid value
7.4.1.4. Fixed in 7.1.0
7.4.2. Code Generator
7.4.2.1. Fixed in 7.1.0
7.4.3.
Security Plugins
7.4.3.1. Fixed in 7.2.0
7.4.3.2. Fixed in 7.1.0
7.4.4. Recording Service
7.4.4.1. Fixed in 7.1.0
7.4.5. Persistence Service
7.4.5.1. Fixed in 7.1.0
7.4.6. Limited Bandwidth Plugins
7.4.6.1. Fixed in 7.3.0
7.5. Regressions in 6.1.1/6.1.2
7.5.1. Core Libraries
7.5.1.1. Durable Writer History properties prefix must contain “.builtin” substring
7.5.1.2. Durable Writer History properties cannot be set on DomainParticipant
7.5.1.3. Fixed in 7.1.0
7.5.1.4. Fixed in 7.1.0 and 6.1.2
7.5.1.5. Fixed in 7.0.0 and 6.1.2
7.5.2. Code Generator
7.5.2.1. Fixed in 7.1.0
7.5.3.
Security Plugins
7.5.3.1. Fixed in 7.2.0
7.5.3.2. Fixed in 7.1.0
7.5.4. Recording Service
7.5.4.1. Fixed in 7.1.0
7.5.5. Limited Bandwidth Plugins
7.5.5.1. Fixed in 7.3.0
7.6. Regressions in 6.1.0
7.6.1. Core Libraries
7.6.1.1. Durable Writer History properties prefix must contain “.builtin” substring
7.6.1.2. Durable Writer History properties cannot be set on DomainParticipant
7.6.1.3. Fixed in 7.1.0 and 6.1.2
7.6.1.4. Fixed in 7.0.0 and 6.1.2
7.6.1.5. Fixed in 6.1.1
7.6.2. Code Generator
7.6.2.1. Fixed in 7.1.0
7.6.2.2. Fixed in 6.1.1
7.6.3. Admin Console
7.6.3.1. Fixed in 6.1.1
7.6.4. TLS Support
7.6.4.1. Fixed in 6.1.1
7.6.5.
Security Plugins
7.6.5.1. Fixed in 7.2.0
7.6.5.2. Fixed in 6.1.1
7.6.6. Routing Service
7.6.6.1. Fixed in 6.1.1
7.6.7. Recording Service
7.6.7.1. Fixed in 7.1.0
7.7. Regressions in 6.0.1
7.7.1. Core Libraries
7.7.1.1. Durable Writer History properties prefix must contain “.builtin” substring
7.7.1.2. Durable Writer History properties cannot be set on DomainParticipant
7.7.1.3. Fixed in 7.1.0 and 6.1.2
7.7.1.4. Fixed in 7.0.0 and 6.1.2
7.7.1.5. Fixed in 6.1.1
7.7.1.6. Fixed in 6.1.0
7.7.2.
Security Plugins
7.7.2.1. Fixed in 7.2.0
7.7.3. Code Generator
7.7.3.1. Fixed in 6.1.1
7.7.4. Routing Service
7.7.4.1. Fixed in 6.1.1
7.7.4.2. Fixed in 6.1.0
7.7.5. Recording Service
7.7.5.1. Fixed in 6.1.0
7.7.6. Prototyper
7.7.6.1. Fixed in 6.1.0
7.8. Regressions in 6.0.0
7.8.1. Core Libraries
7.8.1.1. Fixed in 7.1.0 and 6.1.2
7.8.1.2. Fixed in 7.0.0 and 6.1.2
7.8.1.3. Fixed in 6.1.1
7.8.1.4. Fixed in 6.1.0
7.8.1.5. Fixed in 6.0.1
7.8.2.
Security Plugins
7.8.2.1. Fixed in 7.2.0
7.8.2.2. Fixed in 6.0.1
7.8.3. Code Generator
7.8.3.1. Fixed in 6.1.1
7.8.3.2. Fixed in 6.0.1
7.8.4. Routing Service
7.8.4.1. Fixed in 6.1.1
7.8.4.2. Fixed in 6.1.0
7.8.4.3. Fixed in 6.0.1
7.8.5. Recording Service
7.8.5.1. Fixed in 6.0.1
7.8.6. Cloud Discovery Service
7.8.6.1. Fixed in 6.0.1
8. Changes to This Document
9. Copyrights and Notices
RTI Connext Migration Guide
Index
Index