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. Configuration Changes
2.2.3.3. API Changes
2.2.3.4.
Security Plugins SDK
2.2.4. RTI Persistence Service
2.2.4.1. Persistence Service default setting changes may increase memory utilization
2.2.4.2. Configuration parameters for data synchronization have changed
2.2.4.3. Deprecation of <use_wait_set>
2.2.5. RTI Admin Console
2.2.5.1. Remote debugging between 7.5.0 and 7.6.0 does not work
2.2.5.2. Collector Service XML profile name changes for remote debugging
2.2.6. RTI Observability Framework
2.2.6.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.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.1 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 7.3.0 to 7.3.1
5.1. General Compatibility 7.3.1
5.1.1. Wire Compatibility
5.1.1.1. RTPS Versions
5.1.1.2. New requirement if you interoperate with DDS vendors that produce multiple RTPS messages in a single datagram
5.2. Product-Specific Compatibility 7.3.1
5.2.1. RTI Connext Core Libraries
5.2.1.1. socket_monitoring_kind default changed to POLL
5.2.2. RTI
Security Plugins
5.2.2.1. Changes to Building an Application
5.2.2.2. Configuration Changes
5.2.2.3.
Security Plugins SDK
5.2.3. RTI Infrastructure Services
5.2.3.1. Persistence Service
5.2.3.2. Web Integration Service
5.2.4. RTI TLS Support
5.2.4.1. OpenSSL 3 upgrade
5.2.5. RTI Connext Observability Framework
5.2.5.1. Disallow unrealistic values of polling_period
6. Upgrading from 6.1.2 to 7.3.0
6.1. General Compatibility 7.3.0
6.1.1. Wire Compatibility
6.1.1.1. RTPS Versions
6.1.1.2. New default RTPS checksum mechanism
6.2. Product-Specific Compatibility 7.3.0
6.2.1. RTI Connext Core Libraries
6.2.1.1. Deprecations or Removals
6.2.1.2. API Compatibility
6.2.1.3. Configuration Changes
6.2.1.4. Logging Changes
6.2.1.5. Library Size
6.2.1.6. Memory Consumption
6.2.1.7. Network Performance
6.2.1.8. Discovery Performance
6.2.1.9. Transport Compatibility
6.2.1.10. Other Changes
6.2.2.
Security Plugins
6.2.2.1. Deprecations or Removals
6.2.2.2. API Compatibility
6.2.2.3. Changes to Building an Application
6.2.2.4. Changes to Shipped Examples
6.2.2.5. Configuration Changes
6.2.2.6. Logging Changes
6.2.2.7. Performance and Scalability
6.2.2.8. Wire Compatibility
6.2.3. RTI TLS Support
6.2.3.1. OpenSSL 3.0 upgrade and 1.1.1 removal
6.2.3.2. Deprecated tls.cipher.dh_param_files
6.2.3.3. New OpenSSL 3 requirement on tls.cipher.cipher_list
6.2.4. RTI Infrastructure Services
6.2.4.1. Use <domain_participant_qos> tag instead of <participant_qos> tag to be compliant with DDS-XML specification
6.2.4.2. Removals in Cloud Discovery Service
6.2.4.3. Persistence Service
6.2.5. RTI Tools
6.2.5.1. Secure BuiltinLoggingTopic renamed to BuiltinLoggingTypeV2
6.2.6. RTI System Designer
6.2.6.1. XML files from 6.1.2 or earlier may not load in release 7.3.0
6.2.6.2. Renamed shared_secret_algorithm to key_establishment_algorithm
6.2.7. RTI Limited Bandwidth Endpoint Discovery Plugin
6.2.8. RTI Connext Micro
6.2.8.1. Connext Micro 3 not compatible with DDS-level fragmentation in Connext Professional 7
6.2.8.2. Connext Professional DataWriter not compatible with Connext Micro/Cert DataReader under certain conditions
7. Upgrading from 6.1.0 to 6.1.2
7.1. General Compatibility 6.1.2
7.1.1. Potential -fPIC flag issue when using static libraries in Linux and QNX if upgrading from 6.1.0
7.2. Product-Specific Compatibility 6.1.2
7.2.1. RTI Connext Core Libraries
7.2.1.1. Removed ability to share a database connection in Persistence Service and durable writer history
7.2.1.2. Upgrading Your C# Projects
7.2.1.3. TopicQuery not Supported in C# API
7.2.2. RTI Code Generator
7.2.2.1. C# language binding introduced in 6.1.0 now used by default
7.2.3. RTI System Designer
7.2.3.1. Old types no longer accepted in group_data, user_data, or topic_data field
7.2.3.2. XML file from 6.1.1 or above may not load in previous releases
7.2.4.
Security Plugins
7.2.4.1. Problems checking whether a participant is allowed to exist
7.2.4.2. Failure loading certificates due to missing keyCertSign when a CA has the KeyUsage X.509 V3 extension
7.2.5. RTI Persistence Service
7.2.6. RTI Connext Micro
7.2.6.1. Connext Micro 3.0.3 installation package currently compatible only with Connext 6.0.1 installer
7.2.6.2. Communication failures with reliable Connext Micro 3 or 2.4 DataReader
8. Upgrading from 6.0.1 to 6.1.0
8.1. General Compatibility 6.1.0
8.1.1. Platforms
8.1.1.1. Linking static Linux or QNX libraries with object files built with -fPIC will fail
8.1.1.2. New Linux® Linker Flag
8.1.1.3. Additional Build Flags for Backtrace Feature
8.1.1.4. VxWorks Installation Changes
8.1.1.5. VxWorks Library Name Changes
8.1.1.6. Android Static Libraries no Longer Supported
8.1.2. Wire Compatibility
8.1.2.1. RTPS Versions
8.1.2.2. Protocol Changes
8.1.2.3.
DataReader
in previous release cannot receive MultiChannel or TopicQuery RTPS fragmented data from
DataWriter
in 6.1.0
8.1.3. Type System Compatibility
8.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
8.1.3.2. C/C++ applications may not interoperate for keyed types under certain conditions
8.1.4. Transport Compatibility
8.1.4.1. IP Mobility events may stop communication with applications from previous releases
8.1.5. XML Compatibility
8.1.5.1. Summary of XML schema changes for XML-Based Application Creation and QoS profiles
8.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
8.1.5.3. Use new XML tag names <participant_qos>, <filter>, and <parameter_list>
8.1.5.4. XML fields of type duration have unset tags default to 0 with a warning log message
8.1.5.5. Instance replacement changes affect XML files in Micro Application Generator (MAG)
8.2. Product-Specific Compatibility 6.1.0
8.2.1. RTI Connext Core Libraries
8.2.1.1. Configuration Changes
8.2.1.2. API Changes
8.2.1.3. Library Size
8.2.1.4. Memory Consumption
8.2.1.5. Network Performance
8.2.1.6. Discovery Performance
8.2.1.7. RTI Connext Micro Compatibility
8.2.1.8. Miscellaneous
8.2.2. RTI Code Generator
8.2.2.1. -language C++03 will soon be removed
8.2.2.2. -legacyPlugin option removed
8.2.2.3. Modern C++ API now maps enums to enum class
8.2.2.4. IDL type incompatibility: @key should no longer be set in derived structures
8.2.3. RTI Connext Tools
8.2.3.1. Tools won’t work on some operating systems
8.2.3.2. RTI Launcher: Previous releases could propagate some environment variables on macOS systems
8.2.3.3. RTI Admin Console
8.2.3.4. RTI System Designer
8.2.4.
Security Plugins
8.2.4.1. OpenSSL upgrade
8.2.4.2. Target OpenSSL bundles now distributed as .rtipkg files
8.2.4.3. Changed OpenSSL static library names
8.2.4.4. <allow_rule> pattern partitions from previous releases may no longer work
8.2.4.5. No backward interoperability if Permissions Document subject name has commas in an attribute value
8.2.4.6. authentication.crl_file property has been deprecated and replaced by authentication.crl, which requires a “file:” or “data:,” prefix
8.2.4.7.
DomainParticipant
creation will fail if either logging.distribute.enable or logging.log_file logging property is set
8.2.4.8. Deprecated logging.distribute properties
8.2.4.9. Old logging.distribute.queue threshold property names no longer work
8.2.4.10. Changed default value of max_heartbeat_retries for secure volatile channel to UNLIMITED
8.2.4.11. Improvements in Discovery Performance
8.2.5. RTI Secure WAN Transport
8.2.5.1. OpenSSL upgrade
8.2.5.2. Changed OpenSSL static library names
8.2.6. RTI TLS Support
8.2.6.1. OpenSSL upgrade
8.2.6.2. Changed OpenSSL static library names
8.2.6.3. tls.cipher.cipher_list property has no effect when using TLS 1.3
8.2.7. RTI Infrastructure Services
8.2.7.1. XML Compatibility
8.2.7.2. RTI Routing Service
8.2.7.3. RTI Recording Service
8.2.7.4. RTI Persistence Service
8.2.8. RTI Connext Micro
9. Upgrading from 6.0.0 to 6.0.1
9.1. General Compatibility 6.0.1
9.1.1. Wire Compatibility
9.1.1.1. RTPS Versions
9.1.1.2. Fragmentation is now independent of sample serialized size
9.1.2. Type System Compatibility
9.1.2.1. Wire representation of TypeObject
9.1.2.2. Incompatibility issues for Java and .Net when using XCDR2
9.1.3. Other Compatibility Issues
9.1.3.1. Large data support for Multichannel and TopicQuery has been disabled
9.2. Product-Specific Compatibility 6.0.1
9.2.1. RTI Connext Core Libraries
9.2.1.1. Durable Writer History properties prefix must contain “.builtin” substring
9.2.1.2. Durable Writer History properties cannot be set on DomainParticipant
9.2.2. RTI Code Generator
9.2.2.1. Incompatibility issues for Java and .Net when using XCDR2
9.2.2.2. Invalid XSD file from an IDL/XML file if input file contains a range annotation
9.2.3.
Security Plugins
9.2.3.1. OpenSSL upgrade
9.2.3.2. Changes to building an application
9.2.3.3. Changes to behavior of intermediate certificates
9.2.3.4. Property key_material_key now required for Secure Persistence Service
9.2.3.5. Issue related to missing keyCertSign when a CA has the KeyUsage X.509 V3 extension
9.2.4. RTI Secure WAN Transport
9.2.4.1. OpenSSL upgrade
9.2.4.2. Changes to building an application
9.2.5. RTI TLS Support
9.2.5.1. OpenSSL upgrade
9.2.5.2. Changes to building an application
10. Upgrading from 5.3.1 to 6.0.0
10.1. General Compatibility 6.0.0
10.1.1. Wire Compatibility
10.1.1.1. RTPS Versions
10.1.1.2. New default GUID generation mode
10.1.1.3. Default shared memory locator has changed
10.1.1.4. 4.2e alignment option deprecated
10.1.1.5. Changed wire representation of TypeObject
10.1.1.6. TypeCode information is not sent by default
10.1.2. Reliability Protocol
10.1.2.1. Changes in behavior of write() operation with KEEP_LAST configuration
10.1.3. Type System Compatibility
10.1.3.1. Migration to Extended CDR encoding version 2 (XCDR2)
10.1.3.2. Changed wire representation of TypeObject
10.1.3.3. TypeCode information is not sent by default
10.1.3.4. Unbounded sequences and strings in XML type representation
10.1.3.5. wchar and wstring language binding changes
10.1.3.6. Properties dds.type_consistency.ignore_member_names and dds.type_consistency.ignore_sequence_bounds have been deprecated
10.1.4. Transport Compatibility
10.1.4.1. Default shared memory locator has changed
10.1.4.2. VxWorks shared-memory transport compatibility
10.1.5. XML Compatibility
10.1.5.1. QoS Profile multiple inheritance
10.1.5.2. XSD issues
10.1.6. Other Compatibility Issues
10.1.6.1. Behavior change when retrieving QoS using topic_name (when there are multiple matching QoSes)
10.2. Product-Specific Compatibility 6.0.0
10.2.1. RTI Connext Core Libraries
10.2.1.1. APIs
10.2.1.2. Generated Code
10.2.1.3. QoS
10.2.1.4. Library Size
10.2.1.5. Memory Consumption
10.2.1.6. Performance
10.2.1.7. RTI Connext Micro Compatibility
10.2.2.
Security Plugins
10.2.2.1. Configuration
10.2.2.2. Wire Compatibility
10.2.2.3. APIs
10.2.3. RTI Secure WAN Transport
10.2.4. RTI TLS Support
10.2.5. RTI Ada Language Support
10.2.5.1. APIs
10.2.6. RTI Code Generator
10.2.6.1. Removed -stl Option
10.2.6.2. Removed Support for -notypecode
10.2.6.3. Removed -use42eAlignment
10.2.6.4. Generated code for Extended CDR Encoding Version 2 (XCDR2)
10.2.6.5. Incorrect TypeCode name for member fields whose name was a keyword in Java
10.2.6.6. Modified maximum length of sequences and strings when -unboundedSupport is not used, when converting to XML
10.2.6.7. Traditional C++ compiled with -fno-exceptions
10.2.6.8. Support for new, standard IDL, fixed-width integer types
10.2.6.9. Change in default optimization level for code generation
10.2.7. RTI Connext Micro
10.2.7.1. Connext Compatibility
10.2.8. RTI Routing Service
10.2.8.1. Application Binary Interface
10.2.8.2. APIs
10.2.8.3. Configuration
10.2.8.4. Administration and Monitoring
10.2.8.5. QoS
10.2.8.6. Performance
10.2.8.7. Library Size
10.2.8.8. Documentation
10.2.9. RTI Recording Service
10.2.9.1. APIs
10.2.9.2. Configuration
10.2.9.3. Database Format
10.2.9.4. Running Recording Service 5.3.1
10.2.9.5. Documentation
10.2.10. RTI Persistence Service
10.2.10.1. External Database Compatibility
10.2.10.2. Persistent Storage (Database) Format Compatibility
10.2.10.3. Persistence Storage (Database) Locking Compatibility
10.2.10.4. Dynamically Linked Libraries
10.2.11. RTI Database Integration Service
10.2.11.1. Database Compatibility
10.2.12. RTI Cloud Discovery Service
10.2.13. RTI Launcher
10.2.13.1. Configuration
10.2.14. RTI Administration Console
10.2.14.1. New Default GUID Generator Mode
10.2.14.2. New GTK+ and Cairo Dependencies
10.2.14.3. Connext Micro Compatibility
10.2.15. RTI Monitor
10.2.16. RTI Utilities
10.2.16.1. Dynamically Linked Libraries
11. Regressions
11.1. Regressions in 7.5.0
11.1.1. Core Libraries
11.1.1.1. Inconsistent QoS error when setting builtin discovery channels
11.1.2.
Security Plugins
11.1.2.1. Segmentation fault when creating and immediately deleting a DomainParticipant
11.1.3. Routing Service
11.1.3.1. Routing Service user library requires inclusion in correct environment variable to be loaded
11.1.4. Recording Service
11.1.4.1. Performance degradation when converting databases to CSV
11.2. Regressions in 7.4.0
11.2.1. Possible crash during Web Integration Service start-up on OS X systems
11.2.2. Unable to create input/output configurations for Routing Service in System Designer
11.3. Regressions in 7.3.0
11.3.1. Core Libraries
11.3.1.1. Duplicate network traffic captures when creating WaitSets, AsyncWaitSets, or GuardConditions
11.3.1.2. Error when setting QoS on Publisher or Subscriber without endpoints
11.3.1.3. Crash on DDS_DomainParticipantFactory_finalize_instance when using XML-Based Application Creation
11.3.1.4. Unexpected error messages when disposing of an instance while using batching and setting serialize_key_with_dispose to TRUE
11.3.1.5. RTI DDS Spy shows DDS_DataReader_get_matched_publication_participant_data error before leaking memory
11.3.1.6. Misleading warning message when one non-loopback interface doesn’t support multicast
11.3.2. Admin Console
11.3.2.1. Discovery peer changes not consistently applied or maintained
11.3.3. Routing Service
11.3.3.1. Unexpected error messages when Routing Service disposes of an instance while using batching and setting serialize_key_with_dispose to TRUE
11.4. Regressions in 7.2.0
11.4.1. Running scripts under $NDDSHOME/bin creates two processes
11.4.1.1. Core Libraries
11.4.2. Vulnerability: Potential invalid read memory access in Connext applications when subscribing to PublicationBuiltinTopicData
11.4.3. Incorrect value of an infinite duration in non-Java APIs
11.4.4. Sentinel constant for “invalid” Time contained unexpected value
11.4.5. Error message printed for each filtered sample when using writer-side filtering, FlatData, and Zero Copy over shared memory
11.4.6. RTI Monitor unable to start due to missing nddsjava.jar in rti_connext_dds-7.2.0/lib/java in LM bundles
11.4.6.1. Code Generator
11.4.7. Code generation fails if @verbatim annotation encountered
11.4.8. Erroneous warning when using -enableEscapeChar
11.4.9. Constant string defined in IDLs/XMLs may cause compilation issues if compiler set to use C++17 standard
11.4.9.1.
Security Plugins
11.4.10. Verbosity of security-related messages is per application
11.4.11. Memory leak when running Security Plugins SDK tester
11.4.12. Wrong default Governance configuration for legacy Builtin Secure Logging topic
11.5. Regressions in 7.1.0
11.5.1. Core Libraries
11.5.1.1. Possible unbounded memory growth on DataReader of keyed type after failing to match with a remote DataWriter
11.5.1.2. Possible crash when creating DomainParticipants concurrently
11.5.1.3. Potential bus error when calling print and to_string APIs in TypeCode
11.5.1.4. Running rtisetenv_<arch>.bat caused issues in PATH environment
11.5.1.5. Instance purging based on source timestamp does not work
11.5.2. Code Generator
11.5.2.1. Code Generator server not working as expected using relative paths with the -d option
11.5.2.2. Code not stored in specified output directory on Windows when IDL was in a Symlink
11.5.2.3. Command-line option tips not printed if you entered an invalid option
11.5.2.4. Include flag used without a space causes Code Generator to fail
11.6. Regressions in 7.0.0
11.6.1. Core Libraries
11.6.1.1. Memory leaks and errors when using DynamicDataReaders or FlatData DataReaders plus DDS-fragmentation and compression or encryption
11.6.1.2. Some properties no longer accept LENGTH_UNLIMITED string as valid value
11.6.1.3. Possible segmentation fault while enabling a DataWriter that enables batching
11.6.1.4. Running out of memory during DomainParticipant creation causes DomainParticipantFactory finalization to hang
11.6.1.5. Error message that is printed when failing to allocate the writer buffer pool is wrong
11.6.1.6. Arbitrary read access while parsing malicious RTPS message
11.6.1.7. Unexpected warning during DomainParticipant enablement when locator reachability enabled
11.6.1.8. DDS fragmentation leads to more fragments than expected for a sample
11.6.1.9. TCP transport won’t run with Windows debug libraries if socket_monitoring_kind is IOCP
11.6.2.
Security Plugins
11.6.2.1. Segmentation fault in Java while enabling a DataWriter that protects payloads and enables batching
11.6.2.2. Unexpected “Fragment data not supported by this writer” error when using Security
11.6.2.3. Session keys not renewed as often as they should when using RTPS SIGN protection
11.6.3. Persistence Service
11.6.3.1. Persistence Service XSD schema broken
11.7. Regressions in 6.1.1/6.1.2
11.7.1. Core Libraries
11.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
11.7.1.2. Reliable DataReader may stop receiving samples from DataWriter using durable writer history and DDS fragmentation
11.7.1.3. Thread names longer than 15 characters on QNX platforms cause errors in API calls
11.7.1.4. Unexpected precondition error with debug libraries on a reliable
DataWriter
while sending a GAP
11.7.1.5. Unexpected warning during discovery when multicast disabled
11.7.2.
Security Plugins
11.7.2.1. Lack of origin authentication leads to unnecessary allocation and possible discovery failure
11.7.2.2. Potential crash while decoding protected submessages
11.7.3. Persistence Service
11.7.3.1. Vulnerability: Stack buffer write overflow while parsing malicious environment variable on non-Windows systems
11.7.3.2. Rare non-recoverable failure when acknowledging samples and committing transactions with non-zero <writer_ack_period> and <writer_checkpoint_period>
11.7.4. Limited Bandwidth Plugins
11.7.4.1. Limited Bandwidth ZRTPS transport crashes if an external compression library fails to load
11.8. Regressions in 6.1.0
11.8.1. Core Libraries
11.8.1.1. Possible to create a DomainParticipant in a DomainID > 232 without getting error or warning
11.8.1.2. Segmentation fault if application runs out of memory while generating a log message
11.8.1.3. Possible memory leak when initializing and finalizing the DomainParticipantFactory concurrently
11.8.1.4. max_samples resource limit not honored in some cases when using an unkeyed Topic and TopicQueries
11.8.1.5. DomainParticipant with non-default metatraffic_transport_priority QoS does not complete discovery
11.8.1.6. Broken communication when DataWriter with transport priority discovers DataReader with multicast receive address
11.8.1.7. No more than 100 asynchronous publisher threads can be created
11.8.1.8. Linking static Linux or QNX libraries with object files built with -fPIC will fail
11.8.1.9. Invalid serialization of samples with types containing nested structures with primitive members that require padding
11.8.1.10. Significant performance degradation when using MultiChannel DataWriters
11.8.1.11. Significant performance regression on Windows when using OpenSSL 1.1.1 libraries in 6.1.0
11.8.1.12. ReadCondition may incorrectly stay enabled after sample in READ sample state removed from the DataReader’s queue
11.8.1.13. Missing SampleInfo.ReceptionTimestamp property (C# API only)
11.8.1.14. Source code bundle missing critical piece of code related to UDP multicast support
11.8.1.15. Significant performance regression on Windows systems when using OpenSSL 1.1.1k libraries provided in 6.1.0
11.8.1.16. Support removed for ARMv8 and x64 processors, cxx and gpp compilers, for QNX platform
11.8.1.17. Support removed for ARMv8 Linux architecture
11.8.2. Code Generator
11.8.2.1. Generated code may contain mixed line breaks
11.8.2.2. @default annotation for wstring members in C++11 is not applied
11.8.2.3. Java subscriber may not preserve union discriminator value, when discriminator is enum
11.8.2.4. Compile-time error when using -constructor with types containing sequence of pointers
11.8.2.5. Invalid serialization of samples with types containing nested structures with primitive members that require padding
11.8.2.6. Invalid code generated for unions in C++98
11.8.3. Admin Console
11.8.3.1. High CPU usage by Admin Console
11.8.3.2. Admin Console does not correctly delete Publisher and Subscriber entities
11.8.4. TLS Support
11.8.4.1. hello_world_tcp example root and intermediate CAs expire too early
11.8.4.2. Significant performance regression on Windows when using OpenSSL 1.1.1 libraries in 6.1.0
11.8.5.
Security Plugins
11.8.5.1. Significant performance regression on Windows when using OpenSSL 1.1.1 libraries in 6.1.0
11.8.5.2. use_530_partitions incorrectly allowed any non-empty partitions
11.8.5.3. Permissions document incorrectly disallows unescaped special characters in a subject name
11.8.6. Routing Service
11.8.6.1. Routing Service Socket Adapter example does not properly resolve hostname
11.8.6.2. Crash in Routing Service executable when providing the same -Dname=value pair twice
11.8.7. Recording Service
11.8.7.1. <content_filter> tags do not work for Topic groups
11.8.7.2. Exception reported when recording or replaying type registered as a union
11.8.7.3. Replay Service’s Monitoring ServicePeriodic topic shows wrong timestamp
11.8.8. Cloud Discovery Service
11.8.8.1. Restricting domains using command-line arguments requires use of both -allowDomain and -denyDomain arguments
11.9. Regressions in 6.0.1
11.9.1. Core Libraries
11.9.1.1. Samples lost if multiple readers created in same locator and push_on_write is set to false
11.9.1.2. XML parser crashes from infinite recursion when XML QoS configuration contains inheritance loop
11.9.1.3. Possible issues with communication and enabling DomainParticipant on Windows systems if network interface has multiple IP addresses
11.9.1.4. Failure to allocate memory larger than 2 GB
11.9.2. Routing Service
11.9.2.1. Fourth digit of product version not logged at startup
11.9.3. Recording Service
11.9.3.1. Crash if monitoring enabled and TopicGroup matches with Topic name containing ‘/’ character
11.9.4. Prototyper
11.9.4.1. Prototyper broken in 6.0.1
11.9.5.
Security Plugins
11.9.5.1. Properties “com.rti.serv.secure.license_string” and “com.rti.serv.secure.license_file” not validated properly
11.9.5.2. Using properties “dds.license.license_string” or “dds.license.license_file” leads to DomainParticipant creation failure
11.10. Regressions in 6.0.0
11.10.1. Core Libraries
11.10.1.1. Non-Java register_type fails if the maximum size is greater than 2 GB
11.10.1.2. XCDR serialization of a mutable union with an unknown discriminator value is not compliant with OMG specification
11.10.1.3. Participant may receive RTPS traffic over SHMEM transport not intended for participant
11.10.1.4. Instance handling on a DataReader and filtering operations in ContentFilteredTopics, QueryConditions, TopicQueries, and Multi-Channel DataWriters may fail
11.10.1.5. Creating DynamicDataTypePlugin with TypeCode from discovery and using content filtering causes segmentation fault
11.10.1.6. Crash with NULL listeners and non-none status masks in C applications that mix types with and without Zero Copy
11.10.1.7. Application using Monitoring Libraries produces segmentation fault during DataReader creation
11.10.1.8. Continuous creation of TopicQueries may lead to unnecessary memory fragmentation in OS memory allocator
11.10.1.9. Unbounded memory growth in Spy when discovering multiple endpoints with the same Topics and types
11.10.1.10. Types Containing Typedefs sent without the typedefs in discovery when using DynamicData
11.10.1.11. XSD issue: order enforced in <publisher> tag
11.10.1.12. Invalid key deserialization for mutable derived types with key members
11.10.1.13. Malformed samples with invalid strings not dropped by DataReader in C, traditional C++, and modern C++
11.10.1.14. VxWorks kernel mode shared memory doesn’t work after restarting an application
11.10.1.15. Serialization of string members does not check for null-terminated strings in C, traditional C++, and modern C++
11.10.1.16. Discovery issues when reusing shared memory segments
11.10.1.17. Unexpected log message when calling DataWriter::get_matched_subscription_data or DataReader::get_matched_publication_data on unmatched endpoints
11.10.1.18. XSD issues
11.10.1.19. Dynamic Data issues
11.10.1.20. Discovery does not complete, and there is no error
11.10.1.21. Crash when deserialized_type_object_dynamic_allocation_threshold set to 0
11.10.1.22. Wrong return code for DDS::DataWriter::get_matched_subscription_data and DDS::DataReader::get_matched_publication_data
11.10.1.23. DataReader reports incorrect sample lost and rejected when receiving coherent set
11.10.1.24. QoS policies not resolved to correct values
11.10.2.
Security Plugins
11.10.2.1. Discovery time scales poorly
11.10.2.2. Possible lack of SUBSCRIPTION_MATCHED_STATUS if a DataWriter loses liveliness with the DataReader
11.10.2.3. Applications directly calling OpenSSL APIs after DomainParticipant deletion may crash
11.10.2.4.
DataWriter
does not report PUBLICATION_MATCHED_STATUS for
DataReaders
that are inactive when it receives their key material
11.10.3. Code Generator
11.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
11.10.3.2. -d64 flag missing in generated Java makefile for Red Hat Enterprise Linux 8.0
11.10.3.3. Invalid key deserialization for mutable derived types with key members
11.10.3.4. Malformed samples with invalid strings not dropped by DataReader in C, traditional C++, and modern C++
11.10.3.5. Invalid serialization of samples with types containing primitive members that require padding
11.10.3.6. Java exception during serialization/deserialization of keyed types whose key is an unkeyed nested type with unbounded members
11.10.3.7. Incorrect deserialization in .Net of samples from certain types when published from a writer with disable_inline_keyhash set to true
11.10.3.8. Generated code in traditional C++ with namespaces for an IDL containing a nested module called “rti” will not compile
11.10.4. Persistence Service
11.10.4.1. RTICdrTypeCodeUtils_type_has_external_members:!get member error when running Persistence Service
11.10.5. Routing Service
11.10.5.1. Vulnerability: Potential stack corruption in Routing Service when using malicious XML configuration document
11.10.5.2. Unbounded memory growth when restarting Service or creating/deleting DomainRoutes
11.10.5.3. Large per-sample memory usage in Routing Service
11.10.5.4. Routing Service remote shell: Adding to initial peers list does not work, possible segmentation fault
11.10.5.5. Incorrect content filtering and “RTICdrTypeCodeUtils_type_has_external_members:!get member” error
11.10.5.6. Create method in Service API fails to parse XML snippets that start with ‘str://’
11.10.5.7. Memory leak if malformed configuration file prevents Routing Service creation
11.10.5.8. Executable ignores logging QoS
11.10.6. Recording Service
11.10.6.1. Segmentation fault after discovering application that uses UserData QoS Policy
11.10.6.2. Executable does not log build ID for DDS libraries
11.10.6.3. Legacy deserialized database table cannot be replayed or converted if it contains compact byte sequences or arrays
11.10.6.4. Segmentation fault in
Replay Service
or
Converter
if recorded topics have “::” in their names
11.10.7. Cloud Discovery Service
11.10.7.1. Cloud Discovery Service executable does not log build ID for DDS libraries
11.10.8. Queuing Service
11.10.8.1. RTICdrTypeCodeUtils_type_has_external_members:!get member error when running Queuing Service
12. Changes to This Document
Copyrights and Notices
RTI Connext Migration Guide
5.
Upgrading from 7.3.0 to 7.3.1
5.2.
Product-Specific Compatibility 7.3.1
View page source
5.2.
Product-Specific Compatibility 7.3.1
5.2.1. RTI Connext Core Libraries
5.2.1.1. socket_monitoring_kind default changed to POLL
5.2.2. RTI
Security Plugins
5.2.2.1. Changes to Building an Application
5.2.2.1.1. OpenSSL 3 upgrade
5.2.2.1.2. wolfSSL 5 upgrade
5.2.2.1.3. New API to get Lightweight Builtin Security Plugins library version
5.2.2.2. Configuration Changes
5.2.2.2.1. Changes to Additional Authenticated Data (AAD) configurability
5.2.2.3.
Security Plugins SDK
5.2.3. RTI Infrastructure Services
5.2.3.1. Persistence Service
5.2.3.1.1. Writer-side filtering disabled in 7.3.0 and earlier for DataWriters with Persistence Service synchronization enabled
5.2.3.2. Web Integration Service
5.2.3.2.1. OpenSSL 3 upgrade
5.2.4. RTI TLS Support
5.2.4.1. OpenSSL 3 upgrade
5.2.5. RTI Connext Observability Framework
5.2.5.1. Disallow unrealistic values of polling_period