APIs (Multiple Languages) ========================= 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: .. code:: c++ auto dr = rti::sub::find_datareader_by_topic_name>( dds::sub::builtin_subscriber(participant), dds::topic::publication_topic_name()); In Python, the following code now throws a ``dds.InvalidArgumentError``: .. code:: python 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] 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]