6.2.13. APIs (Multiple Languages)

6.2.13.1. [Major] Looking up a DataReader using the wrong class in Modern C++ or Python did not raise clear exception *

In Modern C++, when using the find_datareader_by_topic_name or find_datawriter_by_topic_name functions and the wrong DataReader type, the function may have returned an invalid entity. Now, it will throw a dds::core::InvalidArgumentError. For example:

auto dr =
    rti::sub::find_datareader_by_topic_name<DataReader<Foo>>(
    dds::sub::builtin_subscriber(participant),
    dds::topic::publication_topic_name());

In Python, the following code now throws a dds.InvalidArgumentError:

dr = dds.DataReader.find_by_topic(
           participant.builtin_subscriber, dds.PublicationBuiltinTopicData.topic_name)

since the right DataReader class for the built-in PublicationBuiltinTopicData reader is dds.PublicationBuiltinTopicData.DataReader, not dds.DataReader.

[RTI Issue ID CORE-13800]

6.2.13.2. [Minor] Alias type not obtainable using a QosProvider

Alias types were not obtainable using a QosProvider. This problem affected all language bindings that support a QosProvider. This problem has been fixed.

[RTI Issue ID CORE-13830]



* This bug does not affect you if you are upgrading from 6.1.x or earlier.