RTI Connext Migration Guide Logo
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
  • Upgrading Connext
  • View page source

Upgrading Connext

When upgrading to a new version of Connext, consider the following:

  • 1. Important: How to Use this Guide
    • 1.1. Upgrade Path
    • 1.2. Upgrade Steps
    • 1.3. Regenerating Code and Updating Your Projects
  • 2. Upgrading from 7.5.0 to 7.6.0
    • 2.1. General Compatibility 7.6.0
    • 2.2. Product-Specific Compatibility 7.6.0
  • 3. Upgrading from 7.4.0 to 7.5.0
    • 3.1. General Compatibility 7.5.0
    • 3.2. Product-Specific Compatibility 7.5.0
  • 4. Upgrading from 7.3.0 to 7.4.0
    • 4.1. General Compatibility 7.4.0
    • 4.2. Product-Specific Compatibility 7.4.0
  • 5. Upgrading from 6.1.2 to 7.3.0
    • 5.1. General Compatibility 7.3.0
    • 5.2. Product-Specific Compatibility 7.3.0
  • 6. Upgrading from 6.1.0 to 6.1.2
    • 6.1. General Compatibility 6.1.2
    • 6.2. Product-Specific Compatibility 6.1.2
  • 7. Upgrading from 6.0.1 to 6.1.0
    • 7.1. General Compatibility 6.1.0
    • 7.2. Product-Specific Compatibility 6.1.0
  • 8. Upgrading from 6.0.0 to 6.0.1
    • 8.1. General Compatibility 6.0.1
    • 8.2. Product-Specific Compatibility 6.0.1
  • 9. Upgrading from 5.3.1 to 6.0.0
    • 9.1. General Compatibility 6.0.0
    • 9.2. Product-Specific Compatibility 6.0.0
  • 10. Regressions
    • 10.1. Regressions in 7.5.0
    • 10.2. Regressions in 7.4.0
    • 10.3. Regressions in 7.3.0
    • 10.4. Regressions in 7.2.0
    • 10.5. Regressions in 7.1.0
    • 10.6. Regressions in 7.0.0
    • 10.7. Regressions in 6.1.1/6.1.2
    • 10.8. Regressions in 6.1.0
    • 10.9. Regressions in 6.0.1
    • 10.10. Regressions in 6.0.0
  • 11. Changes to This Document
  • Copyrights and Notices
Next

© Copyright 2019-2025, Real-Time Innovations, Inc.

Built with Sphinx using a theme provided by Read the Docs.

Send feedback about this document to documentation@rti.com.