What's New in 2.4.14.2 ====================== New multicast feature available on AUTOSAR platforms ---------------------------------------------------- This release introduces support for multicast sockets on AUTOSAR platforms. Previously, only unicast sockets were supported. For more information, see :ref:`building_autosar` in this document and :link_connextmicro_dds_api_c_up_one:`OSAPI AutoSAR ` in the API Reference. The port property ``local_addr_id`` has been renamed to ``max_local_addr_id``, and must be set to the maximum address id configured in the TcpIp BSW module. [RTI Issue ID MICRO-3338] What's Fixed in 2.4.14.2 ======================== DataReader on a Topic using an appendable type may receive samples with incorrect value --------------------------------------------------------------------------------------- A *DataReader* subscribing to a *Topic* on an appendable type may have received incorrect samples from a matching *DataWriter*. The problem only occurred when the *DataWriter* published a type with fewer members than the *DataReader* type. For example, consider a *DataWriter* on FooBase and a *DataReader* on FooDerived: .. code-block:: css @appendable struct FooBase { sequencebase_value; }; @appendable struct FooDerived { sequence base_value; @default(12) uint8 derived_value; }; In this case, the serialized sample stream would be padded with extra bytes to align the stream to 4 bytes as required by the `OMG 'Extensible and Dynamic Topic Types for DDS' specification, version 1.3 `_. However, the additional padding bytes were incorrectly interpreted as part of the data and ``derived_value`` may have been set to a random value. For example, in the case above, when the *DataWriter* published a sample with type FooBase, the *DataReader* should drop the sample instead of interpreting the padding bytes as data. .. note:: |me| does not support the ``@default`` annotation. [RTI Issue ID MICRO-6402] Building for FreeRTOS failed when using RTIME_CERT flag ------------------------------------------------------- When building |me| with the ``RTIME_CERT`` flag enabled, the build would fail and output warnings. [RTI Issue ID MICRO-5954] Potential segmentation fault while creating entities ---------------------------------------------------- A segmentation fault could occur while creating certain entities if |me| ran out of memory. |me| will now detect this condition and return an error. This issue only affected non-CERT profiles. [RTI Issue ID MICRO-3396] Incorrect generated code when using IDL whose name starts with a number ----------------------------------------------------------------------- The generated code for an IDL whose name started with a number was incorrect and did not compile. The generated code contained some ifdef instructions that started with a number, which was not valid because an identifier must start with a letter (or underscore). Now, invalid identifier characters are converted to '_' in the ifdef instruction. [RTI Issue ID MICRO-2066] Code Generator could not parse a file preprocessed with GCC 11 -------------------------------------------------------------- GCC 11 produced unexpected output when used as a preproccesor. This unexpected output caused an error in *Code Generator*. *Code Generator* will now work correctly with the output generated by GCC 11. [RTI Issue ID CODEGENII-1508] Race condition and memory corruption in logger ---------------------------------------------- The following issues have been fixed in the logger: - Processing log-messages in a log handler was not thread-safe. - Memory corruption may have occurred. - Conversion of INT_MIN was incorrect. .. note:: The ``OSAPI_Log_clear`` API must not be called outside a log-handler since it is no longer thread-safe. [RTI Issue ID MICRO-5854] Generated example CMakeLists.txt required -udp_intf option to be specified -------------------------------------------------------------------------- The generated example ``CMakeLists.txt`` file did not use the default interfaces on macOS, Linux, and Windows, and it was necessary to use the ``-udp_intf`` option when running the example. [RTI Issue ID MICRO-6969]