5.1. What’s New in 7.6.0
This section describes what’s new in the Core Libraries compared to release 7.5.0 (see Previous Releases).
RTI® Connext® 7.6.0 is an early access release. See the Connext Versions and Lifecycle page for more information on RTI’s software release model.
For what’s new and fixed in other products in the Connext suite, see those products’ release notes on the RTI Community Portal or in your installation. Or start with the RTI Connext What’s New for a launchpad to all products.
Note
For backward compatibility information between 7.6.0 and previous releases, see the Migration Guide on the RTI Community Portal.
5.1.1. Updated default heartbeat periods for faster repairs of lost samples
The out-of-the-box default values for the
RtpsReliableWriter::heartbeat_period, fast_heartbeat_period, and
late_joiner_heartbeat_period for DataWriters have been changed
from 3 seconds to 200 milliseconds. The
RtpsReliableWriter::max_heartbeat_retries QoS has also been changed
from 10 to 150 in order to maintain the same amount of time it takes
before a DataReader is considered inactive (30 seconds).
These changes affect only reliable DataWriters. The heartbeat period controls how fast samples can be repaired. Previously, user-created DataWriters sent heartbeats every 3 seconds by default; it therefore took up to 3 seconds before a DataReader requested a repair for a lost sample. The new defaults speed up the repair process. The faster heartbeat periods could mean that you may notice an increase in network traffic because there are more heartbeats and acknowledgments being sent. You may choose to slow down the defaults if your network is not lossy and you can wait longer for samples to be repaired if they are lost.
See DDS_RtpsReliableWriterProtocol_t, in the RTI Connext Core Libraries User’s Manual, for more information.
5.1.2. DNS tracker now enabled by default to reduce chance of discovery problems when using hostnames in peer lists
Connext allows the use of hostnames instead of IP addresses when configuring peers for specific transports (e.g., UDPv4 and UDPv6). The DNS tracker keeps the IP addresses of these hostnames updated after DomainParticipant creation. The DNS tracker does this by creating a thread that regularly polls the DNS service. This thread detects changes in the IP address that a hostname is resolved to and updates the related peers accordingly.
Previous to this release, the DNS tracker was disabled by default and
had to be enabled by setting the
DiscoveryConfigQosPolicy::dns_tracker_polling_period to a finite
value. Now, that QoS setting is set to 20 seconds out-of-the-box, so
Connext will discover any changes in hostname IP address resolution by
default. Otherwise, a participant will continue to reach out to the
outdated IP address to try and discover other participants, potentially
preventing discovery from ever occurring with those peers.
See Using DNS Tracker to Keep Peer List Updated, in the RTI Connext Core Libraries User’s Manual, for more information.
5.1.3. Extensible Types compliance mask added to all APIs
The Extensible Types compliance mask and its corresponding APIs have been added to the Java, C#, and Python APIs, having previously been only in the C, Traditional C++, and Modern C++ APIs. See Extensible Types Compliance Mask in the Connext Core Libraries Extensible Types Guide for more information.
5.1.4. Updated code generation for 8-bit integer types
The code generation process for 8-bit integer types (octet, int8, and uint8) defined in IDL now distinguishes their internal representations within the TypeCode. While this update does not affect the functionality or usage of the generated code, we are providing this information for users who may observe these internal differences.
Specifically, in the Python API, the IDL octet type now generates a
distinct type: idl.octet. This new type is functionally equivalent
to idl.uint8. This change was necessary to accurately represent the
different 8-bit integer types in internal structures such as the
TypeCode.
5.1.5. Application no longer fails if platform does not support SOCKET_BUFFER_SIZE_OS_MAX
Attempts to use the send_socket_buffer_size
SOCKET_BUFFER_SIZE_OS_MAX option (for example,
NDDS_TRANSPORT_UDPV4_SOCKET_BUFFER_SIZE_OS_MAX) on platforms that do not
support it caused the application to fail.
Now, when you set the SOCKET_BUFFER_SIZE_OS_MAX option on an unsupported platform, the application will log an error message and fall back to using the default socket buffer size. This change ensures that platform-specific configurations do not disrupt execution or prevent configuration profiles from being shared across environments.
See Setting Builtin Transport Properties with the
PropertyQosPolicy
in the RTI Connext Core Libraries User’s Manual for more information
on the send_socket_buffer_size options.
5.1.6. Improved throughput when disable_positive_acks field in DataReaderProtocol QoS policy set to TRUE
This release improves application throughput when there are
DataReaders configured with the disable_positive_acks field in
the DataReaderProtocol QoS policy set to TRUE.
The performance improvement is more noticeable with transient local configurations when there are a large number of samples in the DataWriter queue.
5.1.7. New metadata fields for custom filters in modern C++, Java, and Python
This release introduces support for filtering based on the following metadata fields when developing custom filters in modern C++, Java, and Python:
sample_identitysource_guidrelated_source_guidrelated_reader_guid
See Custom Content Filters in the RTI Connext Core Libraries User’s Manual for more information.
5.1.8. TCP Transport now uses POLL socket monitoring by default on Linux systems, offering significantly better responsiveness
This release changes the default socket monitoring mechanism for the TCP
Transport on Linux architectures from SELECT to POLL . The new
POLL-based socket monitoring (currently only supported for Linux
architectures) offers significantly better responsiveness when handling
socket events and raises the maximum number of sockets supported by TCP
Transport on Linux architectures from 1024 to 32768 (see related
fix COREPLG-756 in the Transports section of “What’s Fixed in 7.6.0”).
See socket_monitoring_kind in
TCP/TLS Transport Properties,
in the RTI Connext Core Libraries User’s Manual, for more information.
5.1.9. Decreased bandwidth usage when not actively debugging remote systems
Previously when using the Remote Debugging feature in Admin Console, Monitoring Library 2.0 sent all telemetry data generated by a Connext application to Collector Service. Now, telemetry data is sent only if an active Admin Console session requests the data, reducing unnecessary network traffic and improving system efficiency.
See Remote Debugging, in the Admin Console User’s Manual, for more information.
5.1.10. New built-in profile makes it easier to monitor Connext applications across geographically separated networks
This release introduces a new built-in profile called
BuiltinQosLib::Generic.Monitoring2.WAN, which allows connecting to a
Collector Service instance over the WAN using the RTI Real-Time WAN
Transport. Connecting over the WAN enables you to use Observability
Framework to monitor and collect telemetry data from Connext
applications that are distributed across geographically separated
networks, even when they are behind NATs. The new profile makes it
easier to set up the connection over the WAN.
For example:
<qos_library name="MyQosLibrary">
<qos_profile name="MyApplicationProfile" is_default_participant_factory_profile="true">
<participant_factory_qos>
<monitoring>
<enable>true</enable>
<distribution_settings>
<dedicated_participant>
<collector_initial_peers>
<element>udpv4_wan://38.21.45.34:4500</element>
</collector_initial_peers>
<participant_qos_profile_name>
BuiltinQosLib::Generic.Monitoring2.WAN
</participant_qos_profile_name>
</dedicated_participant>
</distribution_settings>
</monitoring>
</participant_factory_qos>
</qos_profile>
</qos_library>
For additional information, see Connecting to a Collector Service Over a WAN in the Observability Framework User’s Manual.
5.1.11. Third-Party Software Changes
The following third-party software is now used by Connext:
Third-Party Software |
Version |
|---|---|
BearHttpsClient |
0.2.8 |
json-builder |
Commit ID fffd849 |
The following third-party software used by Connext has been upgraded:
Third-Party Software |
Old Version |
New Version |
|---|---|---|
Expat |
2.6.3 |
2.7.1 |
SQLite |
3.39.4 |
3.50.2 |
For information on third-party software used by Connext products, see the “3rdPartySoftware” documents in your installation: <NDDSHOME>/doc/manuals/connext_dds_professional/release_notes_3rdparty.